Arch manual pages

LOADKEYS(1) Linux User's Manual LOADKEYS(1)

NAME

loadkeys - 調入鍵盤翻譯表
 

總覽 (SYNOPSIS)

loadkeys [ -d --default ] [ -h --help ] [ -q --quiet ] [ -v --verbose [ -v --verbose ]...] [ -m --mktable ] [ -c --clearcompose ] [ -s --clearstrings ] [ filename... ]
 

描述 (DESCRIPTION)

Loadkeys 讀取 由 filename... 指定的 文件 內容. 它的 主要目的 是 爲 控制檯 調入 內核鍵盤映射表(kernel keymap).
 

設爲缺省 (RESET TO DEFAULT)

如果 指定了 -d (或 --default ) 選項, loadkeys 調入 缺省的 鍵盤映射 文件 defkeymap.map, 可能 在 /usr/share/keymaps/usr/src/linux/drivers/char 目錄 下. (前者 可能是 用戶定義的, 而 後者 是 針對 PC 機 qwerty 鍵盤 的 映射 - 也許 你 不需要.) 某些情況下, 如果 遇上 奇怪的 鍵盤映射 (把 減號 '-' 弄成了 某種 陌生的 修飾組合), 你 只要 輕鬆的 鍵入 `loadkeys defkeymap' 就 可以了.
 
(譯註: qwerty 是一種常用的 PC 鍵盤佈局, 由 鍵盤 字母區 左上角 的 連續 橫向 六個 字母鍵 得名)
 

調入內核鍵盤映射 (KERNEL KEYMAP)

loadkeys 的 主要作用 是 調入 或 修改 鍵盤驅動程序 的 翻譯表. 當 指出了 文件名 的 時候, 標準輸入 用 短橫線(-) 表示. 如果 沒有 指出 文件名, loadkeys 就 從 標準輸入 讀取 數據.
對於 許多 國家 和 各種 鍵盤類型, 系統 已經 提供了 對應的 鍵盤映射表, 只需 用一條 諸如 `loadkeys uk' 的 命令 就可以 滿足 需要. 而且 很容易 設計 自己的 鍵盤映射表. 用戶 必須 識別 哪些 符號 屬於 哪些 鍵. 可以 用 showkey(1) 命令 查出 鍵值(keycode), 手冊頁 keymaps(5) 對 鍵盤映射表 格式 做了 說明, 也可以 參考 dumpkeys(1) 命令 輸出 的 內容.
 

調入內核 ACCENT 表

如果 輸入文件 沒有 定義 任何 組合鍵(compose key), 內核 accent 表 就 保持 不變, 除非 使用了 -c (或 --clearcompose ) 選項, 此時 內核 accent 表 被 清空. 如果 輸入文件 定義了 組合鍵, 那麼 清除 原有 定義, 換成 新的 定義. 內核 accent 表 是 一組 表項 (缺省爲 68 項), 用來 描述 區分符(dead diacritical sign) 和 組合鍵 怎麼 工作. 例如, 這行
compose ',' 'c' to ccedilla
表示 <ComposeKey><,><c> 組合 產生 <ccedilla>. 使用 命令 `dumpkeys --compose-only' 能夠 查看 當前 accent 表.
 
(譯註: Compose 鍵 可以 用 dumpkeys 命令 查出, 我的 系統上 是 ctrl+句號, 因此 相繼 按下 'ctrl-.', ',', 'c' 就可以 產生 上述的 'ccedilla'.)
 

調入內核字符串表 (KERNEL STRING TABLE)

選項 -s (或 --clearstrings ) 用於 清除 內核字符串表. 如果 不使用 這個 選項, loadkeys 只會 添加 或 調換 字符串, 而不是 清除 它們. (因而 需要 選項 -s 實現 友好定義 狀態.) 內核字符串表 是 一組 命名 字符串, 就象 F31. 例如, 你 可以 使 功能鍵 F5 (普通 PC 鍵盤上 有) 產生 字符串 `Hello!', 使 Shift+F5 產生 `Goodbye!':
keycode 63 = F70 F71
 
string F70 = "Hello!"
 
string F71 = "Goodbye!"
把 這三行 加進 鍵盤映射表 即可. 缺省的 功能鍵 定義 大多是 來自 VT100 終端 的 轉碼序列 (escape sequence).
 

創建內核源文件表 (KERNEL SOURCE TABLE)

如果 給出了 -m (或 --mktable ) 選項, loadkeys 在 標準輸出 產生 一個文件, 可以 用做 /usr/src/linux/drivers/char/defkeymap.c, 它 定義了 內核的 缺省 鍵盤編聯 (但 不影響 當前 鍵盤映射).
 

選項 (OPTION)

-h --help
在 標準錯誤 上 顯示 版本號 和 簡短 的 用法, 然後 結束.
 
-v --verbose
顯示 更新 細節, 用的越多, 細節越細.
 
-q --quiet
不要 顯示 一般信息.
 
-c --clearcompose
清除 內核的 組合鍵表 (就是 accent 表). 如果 沒有 使用 這個選項, 而且 輸入文件 沒有 定義 組合鍵, 內核組合鍵表 保持 不變.
 
-s --clearstrings
清除 內核的 字符串表. 如果 沒有 使用 這個選項, loadkeys 將 添加 或 調換 字符串, 而不是 刪除 它們.
 

文件 (FILE)

/usr/lib/kbd/keymaps/ 鍵盤映射文件 的 缺省目錄.
 
/usr/lib/kbd/keymaps/defkeymap.kmap-d 選項 調入的 缺省 鍵盤映射文件. (譯註: 對於 比較 新的 系統 請查看 /usr/lib/kbd/keymaps/i386/qwerty/, 注意 這裏 最後面的 兩個 目錄, 前者 是 系統平臺, 後者 是 鍵盤類型)
 

BUGS

任何人 只要有 對 /dev/console 的 讀訪問權 就能夠 運行 loadkeys , 從而 改變 鍵盤佈局, 使 它 可能 無法使用. 鍵盤翻譯表 由 所有 虛擬控制檯 共用, 所以 任何 對 鍵盤編聯 的 改變 會 同時 影響 所有的 虛擬控制檯.
 
注意, 由於 改變 能夠 影響 所有的 虛擬控制檯, 因此 它 比 用戶的 會話期 更長. 這意味着 即使 在 登錄 提示 階段, 鍵值編聯 也會 影響 用戶 的 使用.
 
缺省的 鍵盤映射 應該 編譯在 內核中. ( /usr/src/linux/drivers/char/defkeymap.c ).
 

另見 (SEE ALSO)

dumpkeys(1), kbd_mode(1), keymaps(5).
 
 

[中文版維護人]

徐明 <xuming@users.sourceforge.net>

[中文版最新更新]

2003/05/13 第一版

《中國Linux論壇man手冊頁翻譯計劃》

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh
09 Oct 1997 Console tools