这可能是一个奇怪的问题,但鼠标的软件如何工作? (特别是在OSX上)
如果我想在OSX上移动鼠标,我一直在使用这段代码:
CGAssociateMouseAndMouseCursorPosition(0);
CGWarpMouseCursorPosition(point); // point is of type NSPoint
CGAssociateMouseAndMouseCursorPosition (1);
但是这会导致光标跳跃(甚至偶尔会滞后)。鼠标(或触控板)如何使它如此流畅?他们使用什么API?
同样,如果我使用此代码将光标移动到底座上,例如,底座不会放大(放大打开),即使使用触控板正常移动光标也可以正常工作。为什么呢?
答案 0 :(得分:3)
您的问题应该是“鼠标设备驱动程序如何工作?”
您应该查看IOKit,尤其是HID family。
如果您只想模拟鼠标移动,还可以尝试使用CGEventCreateMouseEvent
创建鼠标事件,然后使用CGEventPost
发布。