有條件地交換鍵盤上的按鍵(Debian、X11、KDE ​​Plasma)

有條件地交換鍵盤上的按鍵(Debian、X11、KDE ​​Plasma)

我的 Dell Latitude 上有這種鍵盤佈局

鍵盤佈局

HomeEnd鍵映射到複合鍵確實讓我很苦惱Fn。所以我設法通過添加這個來交換PageUpwithHomePageDownwith (實際上,這是一個德語變體)End/usr/share/X11/xkb/symbols/de

xkb_symbols "basic" {
  ...
  key <HOME> {    [  Prior        ]   };
  key <PGUP> {    [  Home         ]   };
  key  <END> {    [  Next         ]   };
  key <PGDN> {    [  End          ]   };
  ...
}

它按預期工作。然而,我經常在筆記型電腦和辦公桌之間切換,使用擴充座和完整的鍵盤,這種駭客行為很煩人。

操作此 xkb 符號檔案需要重新啟動(或至少重新啟動桌面環境)。是否有可能在運行時切換行為?甚至可能是自動化的,就像 udev 鉤子看到 USB-C 底座一樣?

答案1

您可以使用 在佈局之間切換setxkbmap。例如,我使用 Dvorak 佈局,我將您的變更套用到我的本地 /usr/share/X11/xkb/symbols/de並切換到德語佈局:

setxkbmap de

我檢查了 PGUP 是否作為 Home 工作,確實如此。然後我又切換回德弗札克:

setxkbmap dvorak

如果您想在原始佈局和自訂佈局之間切換,我認為最好的方法是從原始佈局文件中刪除您在問題中顯示的 4 行de並創建一個新的自訂佈局文件,例如/usr/share /X11/ xkb/symbols/de-modified 新增了修改。在兩種佈局之間切換無需重新啟動,也無需重新啟動 X:

setxkbmap de # PGUP wouldn't work as home
setxkbmap de-modified # PGUP would work as home

相關內容