Debian
如何在滑鼠上映射擴展按鈕?
我正在嘗試按照本指南使用 Logitech G600。我已經(使用 Windows 電腦)將滑鼠上的每個鍵組合映射到普通鍵盤上的某個東西。我在 /etc/udev/hwdb.d/ 中設置了一些規則來將掃描碼映射到一些擴展鍵碼(在此處找到)。所有這些都可以正常工作,除了 X 不能辨識大於 255 的鍵碼。所以,行
KEYBOARD_KEY_7001d=zenkakuhankaku
導致滑鼠按鈕吐出keycode 400(通過showkey)並且xev根本無法辨識該鍵。
我還嘗試執行
xmodmap -pke | grep "= XF86"
以顯示應該可用的小於 255 的鍵碼,但無法弄清楚如何將掃描碼映射到這些鍵碼(即KEYBOARD_KEY_7001d=XF86Explorer
,將鍵映射到“z”)。有沒有辦法將掃描碼直接映射到數字鍵碼(在 hwdb 文件中 - 我不想將發出字母“a”的所有內容映射到 XF86Calculator)?
是否有其他方法可以將掃描程式碼映射到未使用的 XF86 程式碼之一?
好的,這就是我最終要做的。我從 /usr/include/linux/input.h 中提取了實際的鍵名。有一個部分定義了鍵碼名稱,如下所示:
#define KEY_RIGHTMETA 126 #define KEY_COMPOSE 127 #define KEY_STOP 128 /* AC Stop */ #define KEY_AGAIN 129 #define KEY_PROPS 130 /* AC Properties */
我在 KEY_xxx 中使用了小寫的 xxx(所以,“compose”、“stop”等)作為鍵名。我選擇了看起來不會真正在其他地方使用的東西(比如 KEY_LEFTCTRL)。
然後,就像連結的文章所建議的那樣,我曾經
xbindkeys -km
獲取適當的鍵碼編號並使用 xbindkeys 來映射它們。