如何在Java中获取键盘扫描代码?

我想编写一个应用程序,其中的键绑定特定于键盘上键的位置,而不是键映射到的字符。例如,在美国键盘上位于t和u之间的键应执行特定的功能,而不管它在美国是Y还是在德国是Z。

我认为这样做的方法是获取键盘给操作系统的实际扫描代码,以代表按下的键。如何在Java中执行此操作?

还是有另一种方法可以实现相同的功能?

回答:

正如 MadProgrammer 所说:您必须使用JNA或JNI。您还可以查看这些项目:

  • (仅Windows)

JIntellitype是用于与Microsoft Intellitype命令进行交互以及在Java应用程序中注册全局热键的Java

API。该API是Java JNI库,它使用C ++ DLL与Windows进行所有通信。

有类似的项目Linux和Mac

OSX。


  • (Windows,Linux和Mac OS?)

JNativeHook是一个提供Java全局键盘和鼠标侦听器的库。这将使您能够侦听全局快捷方式或鼠标移动,而使用纯Java则无法实现。为了完成此任务,JNativeHook通过Java的本机接口利用依赖于平台的本机代码来创建低级系统范围的钩子,并将这些事件传递给您的应用程序。


  • (仅Windows)

仅Windows,能够运行Win 7/8(32和64位)


以上是 如何在Java中获取键盘扫描代码? 的全部内容, 来源链接: utcz.com/qa/404060.html

回到顶部