Ubuntu 下 Swap left ctrl and alt

摘要 传统xmodmap已被废弃,只好setxkbmap,自造option解决
Linux setxkbmap ctrl alt

目录[-]

  • 1. 在/usr/share/X11/xkb下面新增option: swap_lalt_lctrl
  • 2. dconf-editor 调用此option
  • 因为我的笔记本Ctrl被Fn键隔的大老远,必须换之!

    Caps 跟 Esc 互换,左边的Ctrl 和Alt 互换,这是我个人用的映射。这样,Esc在A的左边,Ctrl在空格左边,不常用的Alt在空格右边(偶尔也用左下角),Super原样,适用一个月下来,我是蛮习惯的。

    被淘汰的xmodmap就不提了,那个在有中文输入法存在的地方完全废掉。

    完美解决,只能是setxkbmap.

    直接放步骤了(这已经是最简化的了):

    1. 在/usr/share/X11/xkb下面新增option: swap_lalt_lctrl

    cd /usr/share/X11/xkb/symbols/ 
    sudo vim ctrl
    

    在末尾添加如下代码:

    // swap left alt and left ctrl  
    partial modifier_keys  
    xkb_symbols "swap_lalt_lctrl" {  
        key <LALT> { [ Control_L, Control_L ] };  
        key <LCTL> { [ Alt_L, Meta_L ] };  
        modifier_map Control { <LALT>, <RCTL> };  
        modifier_map Mod1 { <LCTL>, <RALT> };  
    };
    

    然后切换到目录 /usr/share/X11/xkb/rules/

    sudo vim evdev
    

    在ctrl下面添加:(在! option = symbols 下面)

    ctrl:swap_lalt_lctrl    =   +ctrl(swap_lalt_lctrl)
    

    同一目录

    sudo vim evdev.lst
    

    在ctrl下面添加:(在! option 下面)

    ctrl:swap_lalt_lctrl   Swap left Ctrl and Alt
    

    到此,一个新的ctrl键的option, swap_lalt_lctrl成功添加出来。

    2. dconf-editor 调用此option

    dconf-editor, 在org.gnome.desktop.inputsources下面,
    xkboptions选项,添加如下:['ctrl:swap_lalt_lctrl'],OK.

    若需立即生效,终端键入 setxkbmap -print即可。



    PS: 我的显示:

    xkb_keymap {
        xkb_keycodes    { include "evdev+aliases(qwerty)" };
        xkb_types       { include "complete" };
        xkb_compat      { include "complete" };
        xkb_symbols     { include "pc+us+inet(evdev)+capslock(swapescape)+ctrl(swap_lalt_lctrl)" };
        xkb_geometry    { include "pc(pc105)" };
    };
    



    改键位其实还有更简单的方法。

    贴出来以供参考。无需新建ctrl键的option,而是修改原有的无用选项的值来实现。

    [SOLVED]How to use 'gnome-tweak-tool' swap Control-R and Alt-R ?

    First : Run Terminal
    sudo gvim /usr/share/X11/xkb/symbols/ctrl

    Sceond :
    Move cursor to the 'line 7', and Replace Original Value.

    // replace left control with Meta
    partial modifier_keys
    xkb_symbols "lctrl_meta" {
    replace key <RALT> { symbols[Group1] = [ Control_R, Control_R ] };
    modifier_map Control { <RALT>, Control_L };
    // replace key <LCTL> { [ Meta_L ] };
    };

    Third: Run Tweak Tool, Switch to 'Typing' tab.

    Look right interface, Find 'ctrl key position' optional, click it and choose
    "left Ctrl as Meta".

    That's All , Thx.

    你可能感兴趣的:(Ubuntu 下 Swap left ctrl and alt)