Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何存储(和使用)当前鼠标位置?_Cocoa_Events_Mouse_Macos Carbon_Nsevent - Fatal编程技术网

Cocoa 如何存储(和使用)当前鼠标位置?

Cocoa 如何存储(和使用)当前鼠标位置?,cocoa,events,mouse,macos-carbon,nsevent,Cocoa,Events,Mouse,Macos Carbon,Nsevent,存储当前鼠标位置(系统范围)然后(稍后)将鼠标放置在该存储点的最佳方式是什么 获取位置,我可以用a移动鼠标,但它们都使用不同的坐标系(我相信y=0是NSEvent的顶部,CGEvent的底部) 我担心捕获屏幕高度并使用它在两者之间转换的健壮性——或者这是最好的方法吗?是的,使用主屏幕高度是翻转屏幕坐标的标准方法。您可以使用鼠标来获取鼠标事件,而不是NSEvent。然后,在活动到达时,您可以选择翻页或不翻页 (我认为y=0是NSEvent的顶部,是CGEvent的底部) 你搞错了。石英使用翻转,即

存储当前鼠标位置(系统范围)然后(稍后)将鼠标放置在该存储点的最佳方式是什么

获取位置,我可以用a移动鼠标,但它们都使用不同的坐标系(我相信y=0是NSEvent的顶部,CGEvent的底部)


我担心捕获屏幕高度并使用它在两者之间转换的健壮性——或者这是最好的方法吗?

是的,使用主屏幕高度是翻转屏幕坐标的标准方法。

您可以使用鼠标来获取鼠标事件,而不是NSEvent。然后,在活动到达时,您可以选择翻页或不翻页

(我认为y=0是NSEvent的顶部,是CGEvent的底部)


你搞错了。石英使用翻转,即y=0=top。AppKit使用unfliped,即y=0=bottom。(编辑:对于事件,即图形API Quartz 2D,使用不间断坐标,与AppKit相同。)

但点击不只是捕获事件吗?也许我理解错了。当我想将鼠标捕捉到一个新位置并再次返回时,鼠标可能是静止的(事实上很可能是静止的)。这样做的必要性不是由另一个键盘或鼠标事件决定的,而是周期性发生的事情。哦,你不是在监视事件,而是在特定时间获取并保存鼠标位置?那就别管水龙头了。不过,关于原点的部分仍然有效。您知道我如何获得用户的屏幕分辨率以翻转y轴吗?是的,请参阅
NSScreen
的各种方法。