ubuntu交换Ctrl和win键(xkb版本)
之前使用了xmodmap来交换win和ctrl键盘,但在莫名情况下或者锁屏之后,就要重新设置,比较麻烦,然后我的fcitx在切换中英文之后,总会自动重置,实在不厌其烦。
这个版本的修改没有在fcitx下测试,我的fcitx被我搞乱了,通知图标不会出来了
在/usr/share/X11/xkb/symbols下创建一个名为myswap的文件,内容如下
partial modifier_keys xkb_symbols "swap_win_ctrl" { replace key <LWIN> { [ Control_L ] }; replace key <LCTL> { [ Super_L ] }; replace key <RWIN> { [ Control_R ] }; replace key <RCTL> { [ Super_R ] }; modifier_map Control { <LWIN>, <RWIN> }; modifier_map Mod4 { <LCTL> }; // 这里没有交换右Ctrl键,如果想要的话,添加上 <RCTL> };
在/usr/share/X11/xkb/rules/evdev的(! option = symbols)中添加下面一行:
myswap:swap_win_ctrl = +myswap(swap_win_ctrl)
可选: 在/usr/share/X11/xkb/rules/evdev.lst中添加下面一行
myswap:swap_win_ctrl win swap to ctrl,lctrl swap to lwin
然后调用下面的命令即可生效
setxkbmap -option "myswap:swap_win_ctrl"
如果想要一劳永逸,推荐使用dconf-editor修改org::gnome::desktop::input-sources中的xkb-options选项,添加上”myswap:swap_win_ctrl”即可,重启lightdm生效,或者重启系统。
PS: 使用 nautilus可以添加自定义的右键菜单,我将emacs添加到里面,用起来很舒服