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

标签 macos keyboard hid

Possible Duplicate:
OSX HID Filter for Secondary Keyboard?

我想编写一个 Mac OSX 应用程序来捕获第二个键盘上的键盘事件并在其他应用程序收到通知之前使用它们?我不让我的应用程序收到主计算机键盘上的击键通知,而只收到第二次击键通知。而且我不希望其他应用程序获得击键,我想使用它。这里有人知道解决这个问题的最佳方法吗?

最佳答案

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

代码为 KeyRemap4MacBook有相当多的低级代码用于设备读取和拦截。

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

我建议你查看一下代码,看看他是如何拦截按键,根据用户配置重新映射它们并将它们发送到用户空间的。

关于macos - 如何在 Mac OSX 中仅使用具有特定 HID 的键盘上的按键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8664587/

相关文章:

macos - Swift _ABSearchComparison 不可转换为 ABSearchComparison

macos - 关于“应用程序”框,是否已将代理(UIElement)设置为"is"?

android - 如何在 react-native 中将 TextInput 附加到键盘

linux - 控制 USB HID 设备可用控件的子集

javascript - 使用 node-addon-api 将 C 库回调传递给 NodeJS EventEmitter

usb - 推出我自己的 Windows 操纵杆 HID 驱动程序?

php - Apple 推送通知服务

C++ 程序无法通过 system() 函数调用找到 latex 命令

java - 键盘向上推页脚

ios - keytoolbar 上的下一个按钮将最后一个字段设置为第一响应者,