Java6应用程序位于系统托盘中。需要使用热键(例如Super-G或Ctrl-Shift-L等)激活它并执行某些操作(例如显示输入框)。
答案 0 :(得分:25)
我使用JNA在java中为全局热键编译了一个库。它目前支持Windows,Linux和Mac OSX。它还支持Windows和Linux上的媒体键。
如果有人有兴趣,请尝试https://github.com/tulskiy/jkeymaster
我将不胜感激。
谢谢。
答案 1 :(得分:7)
对于Linux(X11),有JXGrabKey:http://sourceforge.net/projects/jxgrabkey/
还有一个在Linux上抓取全局热键的教程:http://ubuntuforums.org/showthread.php?t=864566
我还没有为OS X找到解决方案。
要为所有3个平台构建一些东西,我建议将JIntellitype(它的Apache许可证)剥离到它的全局热键功能,并使用OS X和X11功能扩展它......
答案 2 :(得分:6)
似乎在不使用本机接口的情况下,这在跨平台方式下是不可行的。
在Windows上,您可以使用免费的JIntellitype库。
答案 3 :(得分:5)
如果有人想要使用Jintellitype的JNI部分的OSX或Linux版本,我会非常乐意将它们添加到JIntellitype库中。
Melloware
答案 4 :(得分:1)
我发现this解决方案在Windows上运行得非常好。它不需要您安装任何软件,如JIntelliType。请注意,这是32位dll,您可以重新编译64位JVM。所有归功于该博客的原作者。
答案 5 :(得分:0)
我在这里编写了一个用于全局键/鼠标事件的Java库。这适用于Windows,Linux X11和OSX。