你能重新映射特定键盘的键吗?

Vil*_*lx- 7 windows keyboard-hook raw-input

我有两个键盘连接到我的电脑上.普通的全尺寸键盘和数字键盘.我想"重新映射"数字小键盘上的按键,但只留下全键盘.因此,当用户按下"5"键上它会得到重新映射到"媒体播放"键,但如果同样的"5"按下了全键盘的键盘上,我会得到一个"5".本质上,我想将该单独的数字小键盘转换为媒体控制设备.

不幸的是,我不确定如何使这项工作.Windows的"原始输入"功能允许区分键盘,但只允许读取键 - 而不是重新映射键.键盘挂钩(低电平和高电平)可以重新映射击键,但它们不区分键盘.

我可以将两种方法组合起来吗?为此,我必须确保在键盘钩子开始之前处理原始输入消息.是这样吗?

另外,我读过Windows出于某种原因不允许在同一进程中使用Raw Input和Keyboard Hooks.我可以通过制作2个不同的进程来解决这个问题,但由于通信延迟而变得更加脆弱(键盘钩子在他们必须完成工作的时间非常有限).

这可行吗?

Vil*_*lx- 5

最后,我需要一个自定义键盘驱动程序来完成此操作。幸运的是,我找到了一个可以接受的——拦截。该应用程序已准备就绪并且可以完美运行。:)

  • 我找到了另一个使用 Interception 驱动程序的项目,并发现了编写 .ini 样式配置所需的信息,它非常方便,我在大约半小时内启动并运行。[拦截器多键盘重映射二进制文件和源代码在这个_Orbiter_论坛帖子](http://orbiter-forum.com/showthread.php?t=30829),需要在他们的论坛注册才能下载。 (2认同)
  • 这年头的孩子们!您需要使用命令行并运行“install-interception.exe /install”。 (2认同)