2012-08-09 73 views
3

Java有沒有一種方法可以確定在Java桌面應用程序之外是否定義了全局可訪問的快捷方式?Java可以確定是否有全局/ OS鍵盤快捷鍵?

其目的是爲了使用鍵盤快捷鍵配置UI,我們可能會警告用戶他們正在覆蓋操作系統快捷方式,並可能想要選擇不同的按鍵。

+1

你的目標是什麼操作系統? – 2012-08-09 20:38:41

+1

我不知道這可以用任何語言來完成......如果你可以找到一個資源來回答你的問題,如C++等本地編譯語言,那麼你可以使用像JNA這樣的庫來適應相同的概念。當然,這假設你是針對Windows的。如果你試圖保持多平臺(就像你使用Java時那樣),那麼你可能只是運氣不好。 – 2012-08-09 20:40:23

回答

1

恐怕不會是可能的,因爲:

  • 太多不同的操作系統或桌面環境(因爲它是在Linux的情況下),因爲它們不是存儲在
  • 未接通明文

我認爲你最好的辦法是定義它們(或者至少是非常重要的)。在所有的捷徑清單都可用之後。我還發現Table of keyboard shortcuts,因爲它們概述了不同操作系統上的快捷方式。

對於GNOME,我發現了以下問題:Where are GNOME keyboard shortcuts stored?

根據您的發行版本,鍵盤快捷鍵的應用 可以在GUI,但在命令行上調用不同的東西它 應該被稱爲「侏儒-keybinding的屬性。事實證明,這個整潔的小應用程序將所有的快捷方式合併到一個方便用戶編輯的地方。

此外,對於您的應用程序中定義的快捷方式不會覆蓋操作系統快捷方式,他們只是沒有在您的應用程序的功能。

0

我不認爲這是可能的,可能有些事情可以使用RunTime類來運行本機命令。但通過Java執行本地操作系統級別的命令通常不是一個好主意。

但是,它可能值得顯示常用快捷方式列表,警告您的用戶根據他們的操作系統可能無法使用這些快捷方式。但是,您可以添加一個快速測試,以警告他們是否覆蓋了常用的測試。