22

Java6 应用程序位于系统托盘中。它需要使用热键(例如 Super-G 或 Ctrl-Shift-L 等)激活并执行某些操作(例如显示输入框)。

我该怎么做:

  • Windows(XP 或 Vista)
  • 操作系统/X
  • Linux(Gnome 或 KDE)
4

6 回答 6

25

我已经使用 JNA 为 java 中的全局热键编译了一个库。它目前支持 Windows、Linux 和 Mac OSX。它还支持 windows 和 linux 上的媒体键。

如果有人有兴趣,请尝试https://github.com/tulskiy/jkeymaster

我将不胜感激任何反馈。

谢谢你。

于 2011-06-21T07:56:12.113 回答
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 功能扩展它......

于 2008-10-14T18:29:52.220 回答
6

如果不使用本机接口,这似乎无法以跨平台方式实现。

在 Windows 上,您可以使用免费的JIntellitype库。

于 2008-09-17T03:33:04.243 回答
5

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

http://www.melloware.com

于 2008-10-27T17:31:43.667 回答
1

我发现这个解决方案在 Windows 上工作得很好。它不需要您安装任何软件,例如 JIntelliType。请注意,这是 32 位 dll,您可以为 64 位 JVM 重新编译。所有学分归于博客的原作者。

于 2011-05-23T10:48:42.397 回答
0

我在这里为全局键/鼠标事件编写了一个 Java 库。这适用于 Windows、Linux X11 和 OSX。

https://github.com/repeats/SimpleNativeHooks

于 2020-11-29T23:54:23.077 回答