java – 游戏键盘上宏键的关键代码是什么?

我正在寻找游戏键盘上G1-G18微距键的关键代码,即Corsair K90键盘或罗技游戏键盘.

我想将全局键侦听器放在C中的那组键上.

G1-G18不是标准多媒体密钥代码列表的一部分.

Java中的测试代码:

public void keyTyped(KeyEvent e){
 System.out.println("Keycode pressed: "+e.getKeyCode());

}

当我按下任何G1-G18微距键时,这将永远不会发生关键事件.我希望能够从这些键中获取关键事件.

最佳答案 宏键通常是发送到键盘驱动程序的专有键,它们执行管理软件本身硬编码的某些操作.

因此,系统实际上并不处理任何这些事件.

如果您需要与宏键接口,请查找制造商的SDK或标题包含.它们随管理实用程序一起发货并不罕见;查看实用程序应用程序所在的目录并检查C/C++头文件.但是,您需要编写JNI绑定或使用JNA以便将它们与Java一起使用.

在不直接与驱动程序连接的情况下获得这些密钥的最佳方法是将它们设置为运行系统将分派给Java的特定宏序列,并在Java程序中针对该特定序列做出反应.这是一个黑客,是的,但这些密钥并不打算以这种方式使用(通常).

将这些密钥实现为joystick interfaces并不是闻所未闻,因此检查它们是否以这种方式发送可能是值得的.如果是,那么这可能就是你想要与它们交互的方式.

点赞