Fedora:選定的聯想熱鍵在 Fedora 26 上不起作用(鍵碼 > 255)
聯想“增強性能”USB 鍵盤在頂行有一些有用的快速啟動熱鍵。奇怪的是,在我的帶有 XFCE 的 Fedora 26 系統上,其中一些鍵有效,而另一些則無效——沒有任何明顯的邏輯。
以下是哪些鍵有效,哪些鍵無效的情況:
如何讓剩餘的熱鍵(電子表格、鎖定桌面)工作?
原則上,可以在兩個地方配置熱鍵:使用
xfwm4-settings
和xfce4-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_WORDPROCESSOR
和KEY_SPREADSHEET
) 重寫為鍵 prog2 和 prog3,它們在 X11 的允許範圍內。然後執行
udevadm hwdb --update udevadm trigger --sysname-match="event*"
並使用 evtest 驗證這兩個密鑰現在是否有效。
現在可以使用 XFCE 鍵盤設置將程序分配給這些鍵。
獎勵:如果應用程序已經在執行,請關注其最近使用的視窗
熱鍵的期望行為 - 對我來說 - 是切換回最近使用的應用程序視窗(如果它已經在執行),或者啟動新的應用程序並專注於它。在這個答案中使用 shell 腳本很容易做到這一點