Linux

我可以在 xkbconfig 中創建額外的鍵盤快捷鍵來切換到特定語言,而不是循環嗎?

  • June 15, 2018

我目前的鍵盤配置非常複雜,但相關行是:

setxkbmap -option -option 'grp:rshift_toggle, compose:rctrl' dmru,ru,ua &  

Rshift 現在在 dmru、ru 和 ua 之間循環。當我的螢幕被鎖定時,我無法知道我使用哪種佈局來輸入我的密碼,一般來說,擁有一個讓我回到英語的快捷方式會很棒。(在本例中為 dmru,它是自定義佈局。)我無法在每次切換時執行 setxkbmap $language,因為它破壞了我的 xcape 和 xmodmap 設置;每次執行它們都需要幾秒鐘,而且不實用。

是否可以切換到特定語言,而無需每次都執行 setxkbmap?

組切換選項使用 4 個鍵符操作:ISO_First_GroupISO_Last_GroupISO_Next_GroupISO_Prev_Group。您使用的選項grp:rshift_toggle, 僅提供ISO_Next_Group,因此您所看到的只是循環瀏覽佈局。

您正在尋找的行為(選擇特定佈局)存在於ISO_First_GroupISO_Last_Group鍵符上。您想找到一個現有的(或編寫一個新的)選項,該選項至少提供其中一個鍵符。

快速瀏覽man xkeyboard-config一下,這些現有選項似乎包括ISO_First_Group

  • grp:shift_caps_switch大寫鎖定到第一個佈局;Shift+Caps 鎖定到最後一個佈局
  • grp:win_menu_switch左贏到第一個佈局;右鍵 Win/菜單到最後一個佈局
  • grp:lctrl_rctrl_switch左 Ctrl 到第一個佈局;右 Ctrl 到最後一個佈局
  • grp:lctrl_lwin_rctrl_menu: Left Ctrl+Left Win 到第一個佈局;右 Ctrl+Menu 到第二個佈局

這些選項在 中定義/usr/share/X11/xkb/symbols/group。您可以使用其中之一。如果它們不能準確提供您想要的,您可以使用定義來定制您的鍵盤映射以滿足您的需求。

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