3

Is there a way for Java to figure out if there are globally accessible shortcuts defined outside of a java desktop application?

The purpose is for a keyboard shortcut configuration UI, we might warn the user that they are overriding OS shortcuts and might want to choose a different keystroke.

4

2 回答 2

1

恐怕这是不可能的,因为:

  • 太多不同的操作系统或桌面环境(Linux 就是这种情况)
  • 无法访问,因为它们不是以纯文本形式存储的

我认为你最好的办法是定义它们(或至少定义非常重要的)。毕竟捷径列表是可用的。我还找到了键盘快捷键表,因为它们概述了不同操作系统的快捷键。

对于 GNOME,我发现了以下问题:GNOME 键盘快捷键存储在哪里?

根据您的发行版本,键盘快捷键应用程序可能在 GUI 中被称为不同的东西,但在命令行上它应该被称为“gnome-keybinding-properties”。事实证明,这个简洁的小应用程序将所有快捷方式集中到一个方便用户编辑的地方。

此外,为您的应用程序定义快捷方式不会覆盖操作系统快捷方式,它们只是在您的应用程序中不起作用。

于 2012-08-09T20:38:15.017 回答
0

我认为这是不可能的,也许可以做一些事情来使用RunTime类运行本机命令。但是通过 Java 执行本机操作系统级别的命令通常不是一个好主意。

但是,可能值得显示常用快捷方式列表,警告您的用户这些可能不可用,具体取决于他们的操作系统。但是,如果它们覆盖了常用的测试,您可以添加一个快速测试警告它们。

于 2012-08-09T20:49:48.717 回答