Ubuntu 切换键盘布局(colemak / workman / norman)

首先找出所有可选的布局(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 手册列出。

可以通过搜索 symbol 文件找到:

$ 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

加上 -v / -verbose 选项会显示输出信息:

$ 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 ,且未经许可不能用于商业目的。如有疑问或授权协商请 与我联系

posted @ 2017-09-06 13:07  BlackStorm  阅读(...)  评论(... 编辑 收藏