Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Objective c 鼠标是如何工作的?_Objective C_Macos_Cursor_Mouse - Fatal编程技术网

Objective c 鼠标是如何工作的?

Objective c 鼠标是如何工作的?,objective-c,macos,cursor,mouse,Objective C,Macos,Cursor,Mouse,这可能是一个奇怪的问题,但用于鼠标的软件是如何工作的呢?(特别是在OSX上) 如果我想在OSX上移动鼠标,我一直在使用以下代码: CGAssociateMouseAndMouseCursorPosition(0); CGWarpMouseCursorPosition(point); // point is of type NSPoint CGAssociateMouseAndMouseCursorPosition (1); 但这会导致光标跳转(甚至偶尔出现延迟)。鼠标(或触控板)是如何让它如此

这可能是一个奇怪的问题,但用于鼠标的软件是如何工作的呢?(特别是在OSX上)

如果我想在OSX上移动鼠标,我一直在使用以下代码:

CGAssociateMouseAndMouseCursorPosition(0);
CGWarpMouseCursorPosition(point); // point is of type NSPoint
CGAssociateMouseAndMouseCursorPosition (1);
但这会导致光标跳转(甚至偶尔出现延迟)。鼠标(或触控板)是如何让它如此流畅的?他们使用什么API


类似地,如果我使用此代码在dock上移动光标,例如,dock不会放大(放大已打开),即使通常使用轨迹板将光标移动到那里也可以。为什么?

你的问题应该是“鼠标设备驱动程序是如何工作的?”

你应该看一看,尤其是这个


如果您只想模拟鼠标移动,还可以尝试使用创建鼠标事件,然后使用发布

你想模拟用户鼠标的移动(这可能会触发UI上的所有效果),还是想知道操作系统实际上是如何跟踪、处理和调度鼠标事件的?@Thilo我想模拟它,但正如你所说,它会触发所有UI效果和更改,正如我上面发布的代码模拟的那样,但只在某些时候起作用,不会触发所有UI更改。