table of contents
other languages
KEYMAPS(5) | File Formats Manual | KEYMAPS(5) |
NAME¶
keymaps - 对键盘映射文件的描述描述 (DESCRIPTION)¶
loadkeys(1) 能够 通过 调入 指定的 文件 修改 键盘翻译表, 键盘翻译表 通常 用于 内核的 键盘驱动程序; 另外 dumpkeys(1) 可以 根据 键盘翻译表 产生 这些文件. 这些文件 的 结构 大体上 和 xmodmap(1) 的 输入文件 类似. 文件 由 字符集(charset), 键定义(key), 和 串定义 组成, 可以 包含 注释. 注释行 以 ! 或 # 字符 开始, 到 行尾 结束, 忽略 其中 任何 字符. 注意, 注释行 不需要 从 第一列 开始, 而 xmodmap(1) 有 这个 要求. 键盘映射(keymap)文件 是 面向行 定义 的; 一个 完整的定义 必须 在 一个 逻辑行 上 阐明. 不过 逻辑行 可以 分割 在 多个 物理行 上, 只需 在 各个 物理行尾 添加 一个 反斜杠 (\) 即可.包含文件 (INCLUDE FILES)¶
一个 键盘映射表 可以 包含 其他 键盘映射表, 就象这样:include "pathname"
字符集定义 (CHARSET DEFINITIONS)¶
字符集 定义 的 格式 是:charset "iso-8859-x"
它 指出 如何 解释
后面的 keysym. 例如, 在 iso-8859-1
中, 符号 mu (或 micro) 的
代码是 0265, 而 iso-8859-7 中的 mu
是 0354.
键值的完整定义 (COMPLETE KEYCODE DEFINITIONS)¶
键值(keycode) 的 完整定义 形式 如下:keycode keynumber = keysym keysym keysym...
keycode 30 = +a A
- 修饰键
- 权值
- Shift
-
1
- AltGr
-
2
- Control
-
4
- Alt
-
8
- ShiftL
-
16
- ShiftR
-
32
- CtrlL
-
64
- CtrlR
- 128
keymaps 0-2,4-5,8,12
表明 键定义行 并不
使用 全部的 256 列, 而
只用 指定的 列. (本例为:
映射 plain, Shift, AltGr, Control, Control+Shift, Alt 和
Control+Alt, 只有 7 列, 而非 256 列.)
如果 没有 定义 这样的
映射说明行, 将 产生
缺省 定义 keymaps 0-M, 此处的 M+1
是 所有 键定义行 中
发现 的 最大项数.
其次, 键定义行尾 的 VoidSymbol
项 可以 不出现. VoidSymbol
表示 一个 键盘动作, 它
不产生 输出, 也不出现
其他 效果. 例如, 把 30
号键 定义为 输出 'a',
按下 Shift 时 输出 'A', 按下
其他 修饰键 如 AltGr 之类
则 什么都 不做, 你 可以
写成
keycode 30 = a A
keycode 30 = a A VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol ...
- modifier
- symbol
- none
- x Y
- Shift
- X y
- AltGr
- x Y
- Shift+AltGr
- X y
- Control
- Control_x Control_y
- Shift+Control
- Control_x Control_y
- AltGr+Control
- Control_x Control_y
- Shift+AltGr+Control
- Control_x Control_y
- Alt
- Meta_x Meta_Y
- Shift+Alt
- Meta_X Meta_y
- AltGr+Alt
- Meta_x Meta_Y
- Shift+AltGr+Alt
- Meta_X Meta_y
- Control+Alt
- Meta_Control_x Meta_Control_y
- Shift+Control+Alt
- Meta_Control_x Meta_Control_y
- AltGr+Control+Alt
- Meta_Control_x Meta_Control_y
- Shift+AltGr+Control+Alt
- Meta_Control_x Meta_Control_y
单一修饰键定义 (SINGLE MODIFIER DEFINITIONS)¶
上述 键定义行 的 格式 总要 定义 全部 M+1 个 可能的 组合, 无论 该行 是不是 真的 有 那么多 动作. 然而 还有 另一种 语法定义, 用来说明 只产生 一个 动作 的 特定键组合. 如果 你的 键盘映射 只有 少数 不符合 需要, 如 AltGr+function 键, 这个 功能 就特别 有用. 你 可以 制作 一个 小型文件, 在 调入 键盘映射文件 后 重定义 所需的 映射. 这种 形式 的 语法 是: { plain | <modifier sequence> } keycode keynumber = keysym 例如:plain keycode 14 = BackSpace control alt keycode 83 = Boot alt keycode 105 = Decr_Console alt keycode 106 = Incr_Console
字符串定义 (STRING DEFINITIONS)¶
除了 注释 和 键定义行, 键盘映射表 还包含 字符串定义. 它们 用于 定义 各个 功能键(function key) 的 动作码 输出 些 什么. 字符串定义 的 语法 是:string keysym =
"text"
text 包括 文本字符,
八进制字符, 或者 三个
escape 序列: \n, \\, 和 \",
分别 代表 换行, 反斜杠,
和 引号. 八进制字符 的
格式 是 反斜杠 后面
列出的 八进制数字,
最多 三个 八进制数字.
组合定义 (COMPOSE DEFINITIONS)¶
组合(键)定义 的 语法 是:compose 'char' 'char' to
'char'
描述 两个 字节 怎样
组合成 第三者 (当 使用
少见的 声调符 或
组合键 时). 它 常用来 在
标准键盘 上 输入
声调符 之类.
缩写 (ABBREVIATIONS)¶
从 kbd-0.96 开始 可以 使用 多种 缩写.- strings as usual
- 定义 常用 字符串 (而不是 它们 编联的 键).
- compose as usual for "iso-8859-1"
- 定义 常用 compose 组合.
dumpkeys --long-info
示例 (EXAMPLES)¶
(小心 使用 keymaps 行, 如 `dumpkeys` 显示的 第一行, 或者 "keymaps 0-15" 之类) 下面的 输入项 交换 左侧 Control 键 和 Caps Lock 键 的 功能:keycode 58 = Control keycode 29 = Caps_Lock
keycode 42 = Uncaps_Shift keycode 54 = Uncaps_Shift keycode 58 = Caps_On
keycode 102 = Insert keycode 104 = Remove keycode 107 = Prior shift keycode 107 = Scroll_Backward keycode 110 = Find keycode 111 = Select control alt keycode 111 = Boot control altgr keycode 111 = Boot
altgr keycode 32 = F100 string F100 = "du\ndf\n"
另见 (SEE ALSO)¶
loadkeys(1), dumpkeys(1), showkey(1), xmodmap(1)[中文版维护人]¶
徐明 <xuming@users.sourceforge.net>[中文版最新更新]¶
2003/05/13《中国Linux论坛man手册页翻译计划》¶
http://cmpp.linuxforum.net24 April 1998 |