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 |