Java6 应用程序位于系统托盘中。它需要使用热键(例如 Super-G 或 Ctrl-Shift-L 等)激活并执行某些操作(例如显示输入框)。
我该怎么做:
- Windows(XP 或 Vista)
- 操作系统/X
- Linux(Gnome 或 KDE)
我已经使用 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 功能扩展它......
如果不使用本机接口,这似乎无法以跨平台方式实现。
在 Windows 上,您可以使用免费的JIntellitype库。
If anyone wants to do the OSX or Linux versions of the JNI part of Jintellitype I would be more than happy to add those to the JIntellitype library.
Melloware
我发现这个解决方案在 Windows 上工作得很好。它不需要您安装任何软件,例如 JIntelliType。请注意,这是 32 位 dll,您可以为 64 位 JVM 重新编译。所有学分归于博客的原作者。
我在这里为全局键/鼠标事件编写了一个 Java 库。这适用于 Windows、Linux X11 和 OSX。