最近换了联想小新 13 Air,携带轻便多了,但键盘的布局给写代码带来很多不便,尤其是 向上键 与 右Shift键的位置,为了提高生产效率,得改!

用惯了 VIM, 目前很多工具都安装了支持 VIM 模拟插件, chrome, atom 等都有个对应插件, 所以改了方向键映射对日常使用影响也不大.这里要将 Up与右Shift键位置进行调换.

1. 修改 xkb 的按键映射

$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+cn+us:2+inet(evdev)"	};
	xkb_geometry  { include "pc(pc105)"	};
};

这里只需要修改 pc 文件就可以了,cn文件是一些字符的映射,不用管.

2. 修改 /usr/share/X11/xkb/symbols/pc 文件

xkb_symbols "pc105" {
  ...
  // key <RTSH> { [ Shift_R ] };
  key <RTSH> {  [ Up ] };
  ...
}

xkb_symbols "editing" {
	...
  // key  <UP> { [ Up ] };
  key <UP> { [ Shift_R ] };
  ...
};

3. 应用新的映射

sudo dpkg-reconfigure xkb-data

感谢这篇文章的作者: Ubuntu 14.04 下通过 XKB 修改键盘映射, 实现自定义按键