首先找出所有可选的布局(layout)方案:
$ man xkeyboard-config
可以看到 us 下有很多常见的布局方案(以下为节选):
LAYOUTS ┌─────────────────────────────────────────────────────────────────────────────────────────────────┐ │Layout(Variant) Description │ ├─────────────────────────────────────────────────────────────────────────────────────────────────┤ │us English (US) │ │us(colemak) English (Colemak) │ │us(dvorak) English (Dvorak) │ │us(dvorak-intl) English (Dvorak,international with dead keys) │ │us(dvorak-alt-intl) English (Dvorak alternative international no dead keys) │ │us(dvorak-l) English (left handed Dvorak) │ │us(dvorak-r) English (right handed Dvorak) │ │us(dvorak-classic) English (classic Dvorak) │ │us(dvp) English (Programmer Dvorak) │ │us(mac) English (Macintosh) │ │us(workman) English (Workman) │ │ │ ├─────────────────────────────────────────────────────────────────────────────────────────────────┤
但文档可能不全,比如早在 13 年加入的 norman 方案就未在 man 手册列出。
$ grep xkb_symbols /usr/share/X11/xkb/symbols/us $ grep norman /usr/share/X11/xkb/symbols/us
更改布局方案:
$ setxkbmap us -variant colemak $ setxkbmap us -variant workman $ setxkbmap us -variant norman
$ setxkbmap us -variant norman -v
Warning! Multiple definitions of layout variant Using command line,ignoring X server Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+us(norman)+inet(evdev) geometry: pc(pc105)
切换回主流的 QWERTY 方案:
$ setxkbmap us
其他需要考虑在图形界面、文字终端切换的方法参考:
Unix - Colemak
本文基于 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 发布,欢迎引用、转载或演绎,但是必须保留本文的署名 BlackStorm 以及本文链接 http://www.cnblogs.com/BlackStorm/p/Ubuntu-Switch-Keyboard-Layouts-Such-As-Colemak-Workman-Norman.html ,且未经许可不能用于商业目的。如有疑问或授权协商请 与我联系 。