您可能已经阅读了我的earlier question关于将我的键盘重新映射到Java的低级别,我确实找到了解决方案。
说实话,我过分简化了我试图解决的问题。我不仅希望将NumericKeypad 1-3与7-9匹配,反之亦然,我想重新映射整个数字键盘。特别是,我需要重新映射NumLock键,它是键盘的一部分。这似乎是在系统级别截获的,我不能只是映射它以发出一些字符。
我想要的是,在运行我的应用程序时,NumLock键不会切换系统NumLock设置,而是发出一些其他键。
我是否超越了Java中可能存在的范围?或者是否有某些方法我可以深入到这个低级别并完成此任务。
答案 0 :(得分:1)
我不确定这是您想要的,但您可以查看此game's关键事件编辑器,如screenshot所示,并在org.gcs.robot.RCKeys
中实施。
答案 1 :(得分:1)
我提出的解决方案不适用于所有人,但它在我们的用例中实际上是最佳的:
使用Windows注册表进行键盘重映射。
它是永久性的,不需要JNI或设备驱动程序编写,在我们的例子中,我们不用担心会为其他应用程序弄乱键盘。非常简单。
如果您需要这样做并且能够摆脱这种黑客攻击,那么这是一种经济有效的解决方案。