Linux

將 AltGr 映射到左控制項

  • August 15, 2013

我使用以下命令將AltGr密鑰映射到:Ctrl

setxkbmap -option ctrl:ralt_rctrl

但是,當顯示綁定時

xmodmap -pke

我可以看到鍵碼與

  keycode 108 = Control_R Control_R Control_R Control_R

**我想綁定AltGr到左控制項。**是否可以?

這對 Emacs 很重要,否則在使用原始 Left Control 或 AltGr 按下 CSb 時,我不會得到相同的輸入。

它映射到Control_R它在XKB符號中的配置方式CTRL。更改配置應導致Alt_R映射到Control_L. 請注意,使用此方法,您的自定義配置將被任何未來的升級覆蓋xkeyboard-config(至少是/usr/share/X11/xkb/symbols/ctrlArchlinux 中擁有的包)。

打開/usr/share/X11/xkb/symbols/ctrl,向下滾動到此部分:

// right alt functions as another ctrl key
partial modifier_keys 
xkb_symbols "ralt_rctrl" {
   replace key <RALT> { type[Group1]    = "TWO_LEVEL",
                        symbols[Group1] = [ Control_R, Control_R ] };
   modifier_map Control { <RALT> }; 
};

並替換Control_RControl_L

// right alt functions as another ctrl key
partial modifier_keys 
xkb_symbols "ralt_rctrl" {
   replace key <RALT> { type[Group1]    = "TWO_LEVEL",
                        symbols[Group1] = [ Control_L, Control_L ] };
   modifier_map Control { <RALT> }; 
};

保存並重新啟動 X 然後執行:

setxkbmap -option ctrl:ralt_rctrl

檢查xmodmap

xmodmap -pke | grep 108
keycode 108 = Control_L Control_L Control_L Control_L

使其永久添加setxkbmap -option ctrl:ralt_rctrl到您的會話啟動中。

或者,添加ctrl:ralt_rctrl到您的xorg.conf.d配置文件中,例如:

Section "InputClass"
   Identifier         "Keyboard Defaults"
   MatchIsKeyboard    "yes"
   Driver             "evdev"
   Option             "XkbLayout" "us"
   Option             "XkbRules"  "evdev"
   Option             "XkbOptions" "ctrl:ralt_rctrl"
EndSection

使用者注意GnomeGnome覆蓋xorg XKB選項,因此必須ctrl:ralt_rctrl通過gsettings(或dconf-editor)添加:

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:ralt_rctrl']"

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