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

我有两个键盘连接到我的电脑。 一个普通的全尺寸键盘和一个数字键盘。 我想“重新映射”数字小键盘上的按键,但是单独留下全键盘。 所以,当用户在键盘上按下“5”时,它将被重新映射到“媒体播放”键,但是如果在全键盘的键盘上按下相同的“5”,我会得到一个“5”。 本质上,我想把这个单独的数字键盘变成媒体控制设备。

不幸的是我不知道如何做这个工作。 有一个Windows的“原始input”function,它允许区分键盘,但只允许读取键 – 不重新映射它们。 有键盘挂钩(低级别和高级别),可以重新映射按键,但不区分键盘。

我可以结合使用这两种方法吗? 为此,我必须确保原始input消息在键盘钩入之前被处理。是这样吗?

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

这是可行的吗?

Solutions Collecting From Web of "你能重新映射特定键盘的键吗?"