问题描述
|
更改USB键盘的击键
我的问题与上面的问题非常相似(没有明确的答案)
我有一个很好的USB键盘,我想用它来控制我正在编写的音频/视频程序。我无法让USB键盘输入干扰常规的操作系统界面-
因此,我需要让操作系统将其识别为某种通用HID设备,MIDI设备或发送OSC消息的设备。
我正在OSX上编写程序,但想找出一个跨平台的解决方案,该解决方案不涉及我如何破解键盘的硬件-希望我可以使用某种程序或脚本。原因是我想分发此程序供他人轻松使用。
关于从哪里开始的任何想法?我想我可能需要编写一个单独的程序供用户选择USB设备并将其重新路由到我的程序中...
任何语言都可以-我用Python(有时是C)和Java / Processing编写代码。
解决方法
不幸的是,您将发现很难做到这一点:大多数现代操作系统将自动检测HID配置文件并为其加载驱动程序,通常来说,覆盖默认行为非常困难。
如果不对硬件进行黑客攻击,您将需要以某种方式覆盖该特定USB VID(供应商ID)和PID(产品ID)的操作系统默认行为,并指示操作系统加载您自己的自定义内核扩展?我建议先从http://www.opensource.apple.com/source/IOUSBFamily/IOUSBFamily-206.4.1/AppleUSBKeyboard/的AppleUSBKeyboard驱动程序源开始,然后再确定如何将自定义版本安装为首选特定键盘的VID和PID的USB驱动程序。在那之后,应该只是将密钥发送到您的应用程序而不发送给其他任何东西,这应该是一个混乱的混乱问题。
, 有可能写一个
禁用常规功能
的操作系统键盘输入
除ESC之类的键以外的所有键
我的程序是重点吗? –杰弗里·梅
24在21:59
是的,这应该很有可能,我不知道Mac,但是在Win32上,您需要全局键盘挂钩(查找SetWindowsHookEx)