我使用的是 Deco Pro 平板電腦隨附的 XP Pen Shortcut Remote,它有一個旋鈕和 10 個按鍵。預設情況下,每個鍵(和轉盤)都會對應到鍵盤敲擊。例如,按左上角的鍵會發送 Ctrl+O 擊鍵。
使用sudo evtest
您可以看到單一按鈕按下時的兩個不同的鍵碼:
Event: time 1711486381.107788, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1711486381.107788, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1711486381.107788, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70012
Event: time 1711486381.107788, type 1 (EV_KEY), code 24 (KEY_O), value 1
Event: time 1711486381.107788, -------------- SYN_REPORT ------------
^OEvent: time 1711486381.197735, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1711486381.197735, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1711486381.197735, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70012
Event: time 1711486381.197735, type 1 (EV_KEY), code 24 (KEY_O), value 0
Event: time 1711486381.197735, -------------- SYN_REPORT ------------
所以我不太確定如何重新映射這個特定的按鈕(以及其他類似的按鈕)。因為據我所知,像 xkb、kmonad 甚至 evdev 重新映射這樣的方法都是透過按一下按鈕發送的唯一鍵碼來工作的。
XP-Pen 在其網站上有一個與 Linux 相容的驅動程序,允許您重新映射這些按鈕,但僅當驅動程式運行時,它不允許您將這些配置保存到鍵盤遙控器本身。
我想知道是否可以繞過這個,因為我不想求助於他們的專有軟體。有沒有辦法知道正在單擊哪個按鈕並重新映射它?