【发布时间】:2012-12-25 16:36:53
【问题描述】:
这可能是一个奇怪的问题,但是鼠标软件是如何工作的? (特别是在 OSX 上)
如果我想在 OSX 上移动鼠标,我一直在使用以下代码:
CGAssociateMouseAndMouseCursorPosition(0);
CGWarpMouseCursorPosition(point); // point is of type NSPoint
CGAssociateMouseAndMouseCursorPosition (1);
但这会导致光标跳跃(有时甚至会滞后)。鼠标(或触控板)如何使它如此流畅?他们使用什么 API?
同样,如果我使用此代码将光标移动到停靠栏上,例如,停靠栏不会放大(放大已打开),即使通常使用触控板将光标移动到那里也可以正常工作。为什么?
【问题讨论】:
-
您想模拟用户鼠标移动(可能会触发 UI 上的所有效果)还是想知道操作系统实际如何跟踪、处理和调度鼠标事件?
-
@Thilo 我想模拟它,但正如你所说,它触发的所有 UI 效果和更改,因为我在上面发布的代码模拟了它,但有时只能工作并且不能触发所有 UI 更改。
标签: objective-c macos mouse-cursor