X11

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

  • April 4, 2020

我的戴爾 Latitude 上有這個鍵盤佈局

鍵盤佈局

HomeEndKeys 映射到復合鍵真的讓我很吃驚Fn。所以我設法通過添加這個來交換PageUp(實際上,它是一個德語變體HomePageDown``End``/usr/share/X11/xkb/symbols/de

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

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

操作此 xkb 符號文件需要重新啟動(或至少重新啟動桌面環境)。是否有可能在執行時切換行為?甚至可能是自動化的,比如看到 USB-C 擴展塢的 udev 掛鉤?

您可以使用 切換佈局setxkbmap。例如,我使用 Dvorak 佈局,我將您的更改應用到我的本地 /usr/share/X11/xkb/symbols/de並切換到德國佈局:

setxkbmap de

我檢查了 PGUP 是否作為 Home 工作,確實如此。然後我切換回 dvorak:

setxkbmap dvorak

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

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

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