Man page - xmodmap(1)
Packages contains this manual
apt-get install x11-xserver-utils
Available languages:
en fr ro zh_TW zh_CNManual
XMODMAP
NAME總 覽 (SYNOPSIS)
描 述 (DESCRIPTION)
選 項 (OPTIONS)
語 法 (EXPRESSION GRAMMAR)
示 例 (EXAMPLE)
環 境 變 數 (ENVIRONMENT)
另 見 (SEE ALSO)
BUGS
作 者 (AUTHOR)
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》
跋
NAME
xmodmap - 在 X 環 境 中 調 節 鍵 盤 對 映 和 滑 鼠 鍵 對 映
總 覽 (SYNOPSIS)
xmodmap [-options ...] [filename]
描 述 (DESCRIPTION)
xmodmap 用 來 編 輯 或 顯 示 鍵 盤 的 修 飾 鍵 對 映 (modifier map) 和 鍵 盤 對 映 表 (keymap table) , 客 戶 程 式 用 它 們 把 鍵 碼 (keycode) 事 件 轉 換 為 keysym. 通 常 在 使 用 者 會 話 的 啟 動 指 令 碼 中 使 用 xmodmap , 把 鍵 盤 配 置 成 使 用 者 喜 愛 的 風 格 .
選 項 (OPTIONS)
xmodmap
可 以 使 用 下 列
選 項 :
-display
display
這 個 選 項 指 定 主 機 和 顯 示 器 .
|
-help |
這 個 選 項 在 標 準 錯 誤 裝 置 顯 示 命 令 列 引 數 的 說 明 . 如 果 出 現 了 無 法 識 別 的 引 數 , xmodmap 也 會 執 行 這 個 功 能 . |
-grammar
這 個 選 項 在 標 準 錯 誤 裝 置 顯 示 表 示 式 的 語 法 . 該 語 法 適 用 於 檔 案 或 -e expression 選 項 .
-verbose
這 個 選 項 要 求 xmodmap 在 分 析 輸 入 資 料 的 時 候 顯 示 日 誌 資 訊 .
|
-quiet |
這 個 選 項 要 求 關 閉 verbose 日 誌 資 訊 . 這 是 預 設 選 項 . |
|||
|
-n |
這 個 選 項 不 要 求 xmodmap 真 的 改 變 (鍵 盤 ,滑 鼠 ) 對 映 , 而 只 是 顯 示 出 它 可 能 做 什 麼 , 如 同 make(1) 的 相 同 選 項 一 樣 . |
-e expression
這 個 選 項 執 行 一 個 給 定 的 表 示 式 . 命 令 列 上 可 以 指 定 任 何 數 量 的 表 示 式 .
|
-pm |
這 個 選 項 要 求 在 標 準 輸 出 裝 置 顯 示 當 前 的 修 飾 鍵 (modifier)對 映 . |
||
|
-pk |
這 個 選 項 要 求 在 標 準 輸 出 裝 置 顯 示 當 前 的 鍵 盤 對 映 表 (keymap). |
||
|
-pke |
這 個 選 項 要 求 在 標 準 輸 出 裝 置 顯 示 當 前 的 鍵 盤 對 映 表 (keymap). 輸 出 格 式 能 夠 作 為 xmodmap 的 輸 入 . |
||
|
-pp |
這 個 選 項 要 求 在 標 準 輸 出 裝 置 顯 示 當 前 的 滑 鼠 (pointer)對 映 . |
||
|
- |
單 獨 的 短 橫 線 (-) 說 明 把 標 準 輸 入 裝 置 作 為 輸 入 檔 案 使 用 . |
filename 指 定 一 個 檔 案 , 其 中 包 含 xmodmap 將 要 執 行 的 表 示 式 . 這 個 檔 案 通 常 命 名 為 .xmodmaprc , 存 放 在 使 用 者 的 根 目 錄 下 .
語 法 (EXPRESSION GRAMMAR)
xmodmap
讀 入 一 連 串 的
表 示 式 , 在 執 行
它 們 以 前 , 對 所
有 表 示 式 進 行
分 析 . 這 樣 就 可
以 不 用 擔 心 重
定 義 的 keysym 出 現 名
字 衝 突 .
keycode
NUMBER
=
KEYSYMNAME ...
把 這 一 串 keysym 賦 於 指 定 的 鍵 碼 . (鍵 碼 可 以 是 十 進 位 制 數 , 十 六 進 位 制 數 , 八 進 位 制 數 , 可 以 用 xev 程 式 測 出 .)
keycode any = KEYSYMNAME ...
如 果 不 存 在 分 配 了 上 述 keysym 序 列 的 鍵 , xmodmap 就 選 擇 鍵 盤 上 的 空 閒 鍵 , 把 這 些 keysym 分 配 給 它 . keysym 可 以 是 十 進 位 制 數 , 十 六 進 位 制 數 或 者 八 進 位 制 數 .
keysym KEYSYMNAME = KEYSYMNAME ...
左 邊 的 KEYSYMNAME 翻 譯 為 對 應 的 鍵 碼 , 該 鍵 碼 應 用 於 相 應 的 鍵 碼 錶 達 式 集 . 你 可 以 在 標 頭 檔 案 <X11/keysymdef.h> 中 找 到 keysym 的 名 稱 列 表 (去 掉 XK_ 字 首 ), 也 可 以 查 keysym 資 料 庫 <XRoot>/lib/X11/XKeysymDB , 這 裡 的 <XRoot> 指 X11 的 安 裝 樹 . 注 意 , 如 果 多 個 鍵 碼 編 聯 (bind)了 相 同 的 keysym, 那 麼 每 個 對 應 的 鍵 碼 都 要 執 行 這 個 表 示 式 .
clear MODIFIERNAME
刪 除 給 定 修 飾 鍵 在 修 飾 鍵 對 映 表 中 的 所 有 表 項 , 修 飾 鍵 的 名 字 有 : Shift , Lock , Control , Mod1 , Mod2 , Mod3 , Mod4 , 和 Mod5 (修 飾 鍵 名 字 不 分 大 小 寫 , 但 是 其 他 名 字 對 大 小 寫 敏 感 ). 例 如 , ‘‘clear Lock’’ 將 刪 除 所 有 編 聯 為 shift lock 的 鍵 .
add MODIFIERNAME = KEYSYMNAME ...
這 條 語 句 把 所 有 包 含 給 定 keysym 的 鍵 加 入 到 指 定 的 修 飾 鍵 對 映 表 中 . 讀 取 完 全 部 輸 入 表 示 式 之 後 , xmodmap 才 分 析 這 些 keysym, 這 樣 有 利 於 編 寫 一 些 交 換 鍵 位 的 表 示 式 . (見 EXAMPLES 節 )
remove MODIFIERNAME = KEYSYMNAME ...
這 條 語 句 在 指 定 的 修 飾 鍵 對 映 表 中 刪 除 所 有 包 含 指 定 keysym 的 鍵 . 和 add 不 同 , xmodmap 每 讀 取 一 行 就 執 行 一 行 . 這 樣 可 以 避 免 考 慮 這 些 鍵 是 否 被 重 分 配 過 .
pointer = default
這 條 語 句 把 滑 鼠 對 映 設 定 為 預 設 值 (按 鍵 1 產 生 程 式 碼 1, 按 鍵 2 產 生 程 式 碼 2, 等 等 ).
pointer = NUMBER ...
這 條 語 句 把 滑 鼠 對 映 設 定 為 指 定 的 按 鍵 程 式 碼 . 這 個 程 式 碼 列 表 總 是 從 第 一 個 按 鍵 開 始 .
註 釋 行 以 感 嘆 號 (!) 開 始 .
如 果 你 打 算 改 變 某 個 修 飾 鍵 的 編 聯 , 你 必 須 把 它 從 相 應 的 修 飾 鍵 對 映 表 中 同 時 刪 除 .
示 例 (EXAMPLE)
大
多 數 滑 鼠 設 計
成 右 手 食 指 按
第 一 個 鍵 , 左 撇
子 卻 覺 得 如 果
把 按 鍵 程 式 碼
反 過 來 , 使 左 手
食 指 按 上 主 鍵
會 更 舒 服 些 . 對
於 三 鍵 滑 鼠 可
以 這 樣 :
% xmodmap -e "pointer = 3 2 1"
很
多 應 用 程 式 支
援 Meta 鍵 , 然 而 , 有
些 伺 服 器 的 鍵
盤 對 映 表 中 沒
有 提 供 Meta keysym, 因 此
需 要 手 工 新 增 .
下 面 的 命 令 將
把 Meta 附 加 到 Multi-language
鍵 上 (有 時 也 稱
為 Compose Character). 另 一 個
有 利 方 面 是 , 需
要 Meta 鍵 的 程 式 只
是 要 求 獲 得 鍵
碼 , 不 要 求 keysym 位
於 鍵 盤 對 映 表
的 第 一 列 . 這 意
味 著 需 要 Multi_key 的
程 式 不 會 發 覺
有 任 何 變 化 .
% xmodmap -e "keysym Multi_key = Multi_key
Meta_L"
類
似 的 , 有 些 鍵 盤
只 有 Alt 鍵 , 而 沒 有
Meta 鍵 . 這 種 情 況 下
可 以 用 :
% xmodmap -e "keysym Alt_L = Meta_L Alt_L"
xmodmap
最 簡 單 , 也 是 最
合 適 的 用 途 之
一 是 設 定 鍵 盤
的 "rubout" 鍵 , 產 生
替 換 的 keysym. 它 經
常 用 於 交 換 Backspace
和 Delete 鍵 . 如 果
xterm
的
ttyModes
資 源 也 做
了 同 樣 的 設 定 ,
所 有 的 終 端 模
擬 視 窗 將 用 相
同 的 鍵 刪 除 字
元 .
% xmodmap -e "keysym BackSpace = Delete"
% echo "XTerm*ttyModes: erase ˆ?" | xrdb
-merge
有
些 鍵 盤 按 下 shift 鍵
和 逗 號 , 句 號 鍵
時 , 不 能 產 生 小
於 號 和 大 於 號 .
這 個 現 象 可 以
透 過 重 新 編 聯
逗 號 鍵 和 句 號
鍵 矯 正 :
!
! make shift-, be < and shift-. be >
!
keysym comma = comma less
keysym period = period greater
鍵
盤 間 最 煩 人 的
區 別 之 一 就 是
Control 和 Shift Lock 鍵 的 位
置 .
xmodmap
的 一 個
常 用 功 能 就 是
交 換 這 兩 個 鍵 ,
象 這 樣 :
!
! Swap Caps_Lock and Control_L
!
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
如
果 要 對 多 個 鍵
碼 分 配 同 一 個
keysym, 可 以 使 用
keycode
命 令 . 儘 管 這 個
做 法 不 能 移 植 ,
但 是 你 可 以 用
它 寫 一 段 指 令
碼 , 把 鍵 盤 復 位
為 已 知 狀 態 . 下
面 的 指 令 碼 把
backspace 設 為 Delete (如 上
所 示 ), 清 除 cap lock 的
編 聯 , 把 CapsLock 設 為
Control 鍵 , F5 設 為 Escape, Break/Reset
設 為 shift lock.
!
! On the HP, the following keycodes have key caps as listed:
!
! 101 Backspace
! 55 Caps
! 14 Ctrl
! 15 Break/Reset
! 86 Stop
! 89 F5
!
keycode 101 = Delete
keycode 55 = Control_R
clear Lock
add Control = Control_R
keycode 89 = Escape
keycode 15 = Caps_Lock
add Lock = Caps_Lock
環 境 變 數 (ENVIRONMENT)
|
DISPLAY |
指 示 預 設 的 主 機 和 顯 示 器 號 . |
另 見 (SEE ALSO)
X(1), xev(1), Xlib 關 於 鍵 盤 和 滑 鼠 事 件 的 文 件 .
BUGS
伺 服 器 每 執 行 一 個 keycode 表 示 式 , 就 要 在 每 一 個 客 戶 機 上 產 生 一 個 MappingNotify 事 件 . 這 可 能 導 致 某 些 異 常 情 況 . 所 有 的 改 變 都 應 該 收 集 在 一 起 , 然 後 一 次 完 成 . 那 些 接 收 了 鍵 盤 輸 入 , 卻 忽 略 了 MappingNotify 事 件 的 客 戶 機 將 無 法 注 意 到 對 鍵 盤 對 映 的 任 何 改 變 .
如 果 編 聯 了 某 個 修 飾 鍵 的 鍵 碼 發 生 變 化 , Xmodmap 將 自 動 產 生 "add" 和 "remove" 表 示 式 .
應 該 有 某 種 辦 法 , 當 你 確 實 搞 亂 了 鍵 盤 對 映 的 時 候 , 使 remove 表 示 式 接 受 鍵 碼 以 及 keysym.
作 者 (AUTHOR)
Jim Fulton, MIT X 協 會 , 根 據 David Rosenthal 在 Sun Microsystems 中 的 早 期 版 本 改 寫 .
[中 文 版 維 護 人 ]
徐 明 <xuming@users.sourceforge.net>
[中 文 版 最 新 更 新 ]
2003/05/13
《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》
http://cmpp.linuxforum.net
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh