Fedora

Fedora:選定的聯想熱鍵在 Fedora 26 上不起作用(鍵碼 > 255)

  • August 8, 2017

聯想“增強性能”USB 鍵盤在頂行有一些有用的快速啟動熱鍵。奇怪的是,在我的帶有 XFCE 的 Fedora 26 系統上,其中一些鍵有效,而另一些則無效——沒有任何明顯的邏輯。

以下是哪些鍵有效,哪些鍵無效的情況:

Fedora XFCE:聯想鍵盤上的一些熱鍵可以工作,而有些則不能

如何讓剩餘的熱鍵(電子表格、鎖定桌面)工作?

原則上,可以在兩個地方配置熱鍵:使用xfwm4-settingsxfce4-keyboard-settings,具體取決於所需的功能。在那裡,我可以配置為標記為綠色的鍵啟動的應用程序 - 但不是為標記為紅色的鍵(對話框根本不註冊按鍵)。

診斷至今

Arch 熱鍵文章之後,我驗證了:

  • 所有熱鍵都已正確註冊evtest,包括上面標記為紅色的按鈕
  • 只有xev標記為綠色的鍵被註冊。

因此,對於某些鍵,在 evtest 之後和 xev 之前,按鍵在堆棧中的某處失去。

該問題似乎與X11不支持> 255的鍵碼有關

以下是有問題的鍵:

Event code 421 (KEY_WORDPROCESSOR)
Event code 423 (KEY_SPREADSHEET)

我怎樣才能解決這個問題?

這些鍵在預設配置中不起作用,因為它們映射到 > 255 的鍵碼。由於歷史原因,X11 將鍵碼限制在範圍內

$$ 8, 255 $$這真的很難解決。 解決方法是將關鍵程式碼重新映射到 255以下仍然可用的範圍,如上面連結的答案所示。

獲取 Lenovo Enhanced Performance USB 鍵盤的所有熱鍵以在 Fedora 上工作

創建一個新文件/lib/udev/hwdb.d/61-keyboard-custom.hwdb(名稱很重要:預設鍵映射在60-keyboard.hwdb文件中,我們要覆蓋它),包含此內容

evdev:input:b0003v04B3p301B*
KEYBOARD_KEY_90004=prog2
KEYBOARD_KEY_90005=prog3

這會將字處理器和電子表格鍵 (KEY_WORDPROCESSORKEY_SPREADSHEET) 重寫為鍵 prog2 和 prog3,它們在 X11 的允許範圍內。

然後執行

udevadm hwdb --update
udevadm trigger --sysname-match="event*"

並使用 evtest 驗證這兩個密鑰現在是否有效。

現在可以使用 XFCE 鍵盤設置將程序分配給這些鍵。

獎勵:如果應用程序已經在執行,請關注其最近使用的視窗

熱鍵的期望行為 - 對我來說 - 是切換回最近使用的應用程序視窗(如果它已經在執行),或者啟動新的應用程序並專注於它。在這個答案中使用 shell 腳本很容易做到這一點

引用自:https://unix.stackexchange.com/questions/384492