在 Windows/Linux/Mac 上的 Java 程序中对全局热键做出反应?
Java6 应用程序位于系统托盘中。它需要使用热键(例如Super-G或Ctrl-Shift-L等)激活并执行某些操作(例如显示输入框)。
我如何在以下情况下执行此操作:
- Windows(XP 或 Vista)
- 操作系统/X
- Linux (Gnome or KDE)
Java6 应用程序位于系统托盘中。它需要使用热键(例如Super-G或Ctrl-Shift-L等)激活并执行某些操作(例如显示输入框)。
我使用JNA在java中编译了一个全局热键库。它目前支持Windows,Linux和Mac OSX。它还支持Windows和Linux上的媒体键。
如果有人感兴趣,请尝试 https://github.com/tulskiy/jkeymaster
我将不胜感激任何反馈。
谢谢。
对于Linux(X11),有JXGrabKey:http://sourceforge.net/projects/jxgrabkey/
还有一个在Linux上获取全局热键的教程:http://ubuntuforums.org/showthread.php?t=864566
我还没有找到OS X的解决方案。
为了为所有3个平台构建一些东西,我建议将JIntellitype(它是Apache许可证)剥离到其全局热键功能,并使用OS X和X11功能对其进行扩展...