Keyboard Configuration in Console (简体中文)
From ArchWiki
| Summary |
|---|
| 虚拟控制台的键盘布局基本配置。 |
| 相关 |
| Keyboard Configuration in Xorg |
| Extra Keyboard Keys |
基本配置
虚拟终端的键盘布局、字体和对照表是通过/etc/vconsole.conf配置的。kbd软件包提供键盘表文件。/etc/vconsole.conf 的示例如下:
/etc/vconsole.conf
KEYMAP=us FONT=lat9w-16 FONT_MAP=8859-1_to_uni
还可以通过命令设置键盘布局:
# localectl set-keymap de
localectl 也可以设置X11的键盘布局:
# localectl set-x11-keymap de
详情参见 man 1 localectl 和 man 5 vconsole.conf。
键盘布局
以下是目前可用的键盘布局的列表。所有可用键盘布局可以在/usr/share/kbd/keymaps/i386/布局(布局指“qwerty”、“azerty”、“dvorak”等键盘类型)目录找到。通常说键盘布局时。
Arch亦支持一些不太常见的键盘布局,这些布局文件在/usr/share/kbd/keymaps/平台(平台:ppc、mac等)中。
获取键盘布局的更多信息:
$ less /usr/share/X11/xkb/rules/base.lst
在Xorg图形界面中,可以使用setxkbmap即时更改键盘布局:
$ setxkbmap -layout dvorak
可以通过这个方法修改单独的按键,例如setxkbmap -option 'compose:caps'可以将大小写键映射为复合按键,setxkbmap -option 'compose:rwin' 可以将右Win键映射为复合按键。
如果这些键盘布局不工作,使用 find: find /usr/share/kbd/keymaps/ -name "*[你需要的键盘布局]*" 确认该键盘布局文件存在于 /usr/share/kbd/keymaps/}}
键盘映射的包里面包含了映射文档:
$ zless /usr/share/kbd/keymaps/.../.../xx.map.gz
| 键盘 | 键盘布局设置 |
|---|---|
| Armenian | KEYMAP=am
|
| Armenian (Eastern) | KEYMAP=am -variant eastern
|
| 比利时 | KEYMAP=be-latin1
|
| 巴西葡萄牙语 | KEYMAP=br-abnt2
|
| 加拿大法语 | KEYMAP=cf
|
| 加拿大多语种(仅在AUR提供) | KEYMAP=ca_multi
|
| Colemak (US) | KEYMAP=colemak
|
| 克罗地亚语 | KEYMAP=croat
|
| 捷克 | KEYMAP=cz-lat2
|
| Danish | KEYMAP=dk
|
| 德沃夏克(Dvorak) | KEYMAP=dvorak
|
| 芬兰语 | KEYMAP=fi-latin1
|
| 法语 | KEYMAP=fr-latin1
|
| Georgian | KEYMAP=ge
|
| 德语 | KEYMAP=de-latin1
|
| 德语 (无死键) | KEYMAP=de-latin1-nodeadkeys
|
| Greek | KEYMAP=gr
|
| 意大利语 | KEYMAP=it
|
| 立陶宛语 (qwerty) | KEYMAP=lt.baltic
|
| 挪威语 | KEYMAP=no-latin1
|
| 波兰语 | KEYMAP=pl
|
| 葡萄牙语 | KEYMAP=pt-latin9
|
| 罗马尼亚语 | KEYMAP=ro_win
|
| 俄语 | KEYMAP=ru4
|
| 新加坡语 | KEYMAP=sg-latin1
|
| 斯洛文尼亚语 | KEYMAP=slovene"
|
| 瑞士语 | KEYMAP=sv-latin1
|
| 瑞士法语 | KEYMAP=fr_CH-latin1
|
| 瑞士德语 | KEYMAP=de_CH-latin1
|
| 西班牙语 Spanish Spaniard | KEYMAP=es
|
| 拉美西班牙语 | KEYMAP=la-latin1
|
| Spanish Dvorak | KEYMAP=dvorak-es
|
| 土耳其语 | KEYMAP=tr_q-latin5
|
| 乌克兰语 | KEYMAP=ua
|
| 英语 | KEYMAP=uk
|
配置终端键盘
cd到/usr/share/kbd/keymaps/i386/qwerty- 将默认键盘 (
us.map.gz) 复制到新文件personal.map.gz gunzip解压新布局文件- 编辑
personal.map,例如:- 将右Alt改成和左Alt一样(Emacs)
将include "linux-with-alt-and-altgr"改成include "linux-with-two-alt-keys" - 交换大小写和 Esc (Vim)
设置keycode 1 = Caps_Lock,keycode 58 = Escape - 大小写成为 CTRL
将keycode 58 = Caps_Lock改为keycode 58 = Control - 交换大小写与左 CTRL
设置keycode 29 = Caps_Lock、keycode 58 = Control
- 将右Alt改成和左Alt一样(Emacs)
gzip重新压缩文件- 在
/etc/vconsole.conf中修改默认键盘布局,将KEYMAP=us改成KEYMAP=personal - 重启后就会使用新设置