2

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

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

CGAssociateMouseAndMouseCursorPosition(0);
CGWarpMouseCursorPosition(point); // point is of type NSPoint
CGAssociateMouseAndMouseCursorPosition (1);

但这会导致光标跳跃(甚至偶尔滞后)。鼠标(或触控板)如何使它如此流畅?他们使用什么 API?

同样,如果我使用此代码将光标移动到停靠栏上,例如,停靠栏不会放大(放大已打开),即使使用触控板正常移动光标也可以正常工作。为什么?

4

1 回答 1

3

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

您应该看看IOKit,尤其是HID 系列

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

于 2013-01-11T06:12:27.183 回答