如何在Mac OSX中仅在具有特定HID的键盘上使用关键事件?

时间:2011-12-29 06:11:24

标签: macos keyboard hid

  

可能重复:
  OSX HID Filter for Secondary Keyboard?

我想编写一个Mac OSX应用程序,在第二个键盘上捕获键盘事件并在其他应用程序得到通知之前使用它们吗?我没有通知我的应用程序主计算机键盘上的按键通知,只是第二个。我不希望其他应用程序获得击键,我想要消耗它。这里的任何人都知道最好的方法吗?

1 个答案:

答案 0 :(得分:0)

您需要IOKit才能执行此操作。该代码将涉及编写kext并拦截键盘事件并选择是否将它们传递到用户空间。在这里编写整个方法会过于复杂和庞大,但我可以提出一些参考。

KeyRemap4MacBook处的代码有很多用于设备读取和拦截的低级代码。

以下是作者撰写的自定义kext:https://github.com/tekezo/KeyRemap4MacBook/tree/master/src/core/kext

我建议您查看代码,了解他是如何拦截密钥的,根据用户配置重新映射密码并将其发送到用户空间。