Linux下修改键盘映射

时间:2024-01-02 10:22:51

  一篇关于修改键盘映射比较靠谱的文章,收藏一下!

  原文地址:http://www.07net01.com/2016/04/1436249.html

-------------------------------------------------------------------------------------------------------------------

最近把可乐倒进键盘把,把 ctl 变得阻力超大。。。所以把 ctrl 和 capslock 两个键兑换了。顺便学习一下黑客精神…不过结合我一直把中文英文切换成ctl的习惯,超级方便。
emacswiki 的的方法,可以在任何 desktop environment ,所以可以通用在 GNOME 和 KDE 其他平台。



第一种Ctrl与Capslock交换:
$ gedit ~/.xmodmap

把如下复制进去


remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

立即生效终端输入:(或者你想重启用户也行。)


$ xmodmap ~/.xmodmap

三键盘交换:
esc ——> 大小写

caps ——> ctl

ctl ——> esc


remove Lock = Caps_Lock
remove Control = Control_L
keycode 9 = Caps_Lock NoSymbol Caps_Lock
keycode 66 = Control_L NoSymbol Control_L
keycode 37 = Escape NoSymbol Escape
add Lock = Caps_Lock
add Control = Control_L

稍微研究了一下 xmodmap。语法是 keycode <actual key number> = <target key> 命令能查看键盘现在每个键的功能。例如 keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab,键盘代码为23就是 tab,如果你想改成 tab 改成字母 Q,可以 keycode 23 = q Q q Q 。想 CAPS 和 Control 键还要先 remove 原来的功能,最后再加上功能。


参考
https://penglb.net/posts/2011/12/xmodmap-howto.html

http://askubuntu.com/questions/296155/how-can-i-remap-keyboard-keys

http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_XWindows

https://www.emacswiki.org/emacs/MovingTheCtrlKey#toc5

-------------------------------------------------------------------------------------------------------------------

  要更加深入的了解就搜索:xmodmap,一个在 X 图形环境下用于修改键盘和鼠标按钮映射的工具。