如何在Mac OS X下防止/更改系统范围的键盘/鼠标事件?

时间:2016-10-16 14:49:49

标签: objective-c swift macos

我找到两种方法来处理Mac OS上的全局事件:

  1. NSEvent.addGlobalMonitorForEvents只获取原始事件的副本,可以监视,但不能更改或阻止。
  2. How to Capture / Post system-wide Keyboard / Mouse events under Mac OS X?问题的答案一样使用InstallEventHandler。但只有GetEventMonitorTarget()工作,所以我只监视事件。
  3. 那么,如何预防/改变系统范围的事件? KeyboardCleanTool应用程序(http://blog.boastr.net/?p=2452)可以这样做,所以我认为这是可能的。

1 个答案:

答案 0 :(得分:1)

您可以使用Quartz Event Taps。为了监控/更改/阻止键盘事件,您需要信任您的流程以进行辅助功能访问。