名 前
xmodmap - X上 で キ ー マ ッ プ や 、 ポ イ ン タ ボ タ ン の 割 り 当 て を 変 更 す る ユ ー テ ィ リ テ ィ
書 式
xmodmap [-options ...] [filename]
説 明
xmodmap は ク ラ イ ア ン ト の ア プ リ ケ ー シ ョ ン 上 で 、 イ ベ ン ト の キ ー コ ー ド を キ ー シ ム へ 変 換 す る 時 に 使 わ れ る キ ー ボ ー ド modifier マ ッ プ と keymap テ ー ブ ル を 、 表 示 し た り 編 集 す る 時 に 使 わ れ る 。 通 常 こ れ は ユ ー ザ セ ッ シ ョ ン の 起 動 ス ク リ プ ト か ら 、 キ ー ボ ー ド を ユ ー ザ が 自 分 の 好 み の キ ー 配 列 に す る 時 に 実 行 さ れ る 。
オ プ シ ョ ン
以 下 の オ プ シ ョ ン が xmodmap で は 使 わ れ る 。
−display display 使 用 す る ホ ス ト 名 と デ ィ ス プ レ イ を 指 定 す る 。
−help 標 準 エ ラ ー 出 力 に コ マ ン ド 行 の 簡 潔 な 説 明 を 表 示 す る 。 |
xmodmap が 処 |
理 で き な い 文 字 列 が 渡 さ れ た 場 合 に は 常 時 実 行 さ れ る 。
−grammar こ の オ プ シ ョ ン は フ ァ イ ル の 中 、 お よ び −e expressions で 用 い ら れ る 表 現 の 文 法 の ヘ ル プ メ ッ セ ー ジ を 標 準 エ ラ ー 出 力 に 表 示 す る .
−verbose こ の オ プ シ ョ ン は xmodmap が 入 力 を 解 析 す る 際 の ロ グ 情 報 を 出 力 す る 。
−quiet 冗 長 な ロ グ の 出 力 を し な い ( デ フ ォ ル ト ) |
||
−n こ の オ プ シ ョ ン を 指 定 す る と |
xmodmap は 実 際 に は キ ー の マ ッ ピ ン グ を 変 更 し な い が 、 make(1) の −n オ プ シ ョ ン の よ う に ど の よ う に 変 更 さ れ る の か を 表 示 す る 。
−e expression こ の オ プ シ ョ ン は 実 行 さ れ る 表 現 を 指 定 す る 。 コ マ ン ド 行 か ら 任 意 の 数 の 表 現 を 指 定 す る 事 が 出 来 る 。
−pm こ の オ プ シ ョ ン は 現 在 の |
modifier マ ッ プ の 状 態 を 標 準 出 力 に 表 示 す |
る 。
−pk こ の オ プ シ ョ ン は 現 在 の キ ー マ ッ プ テ ー ブ ル を 標 準 出 力 に 表 示 す る 。 | |
−pke こ の オ プ シ ョ ン は 現 在 の キ ー マ ッ プ テ ー ブ ル を |
xmodmap に フ ィ ー ド バ ッ ク 出 来 る 形 式 で 標 準 出 力 に 表 示 す る 。
−pp こ の オ プ シ ョ ン は 現 在 の ポ イ ン タ ボ タ ン の マ ッ プ の 割 り 当 て 状 況 を 表 示 す る 。 | |
− ダ ッ シ ュ ( |
-) だ け を 指 定 す る と 入 力 フ ァ イ ル に 標 準 入 力 が 使 用 さ れ る 。
filename は 実 行 さ れ る xmodmap の 表 現 が 記 述 さ れ た フ ァ イ ル を 指 定 す る 。 こ の フ ァ イ ル は 通 常 は ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に .xmodmaprc の 名 前 で 保 存 さ れ る 。
表 現 文 法
xmodmap プ ロ グ ラ ム は 表 現 の リ ス ト を 実 行 す る 前 に そ れ ら の 表 現 を 一 旦 全 て 読 み 込 ん で 解 析 を 行 う 。 こ の こ と に よ り 普 通 の 方 法 で は 再 定 義 さ れ て し ま う キ ー シ ム 名 を 、 名 前 の 衝 突 に つ い て は そ れ ほ ど 気 に か け る こ と な く 参 照 す る こ と が 可 能 で あ る 。
keycode NUMBER = KEYSYMNAME ... キ ー シ ム の リ ス ト を 指 示 さ れ た キ ー コ ー ド に 割 り 当 て る 。 ( こ れ は 10,16,8進 数 で 指 定 す る こ と が で き 、 xev プ ロ グ ラ ム を 起 動 し て 決 め る 事 が 出 来 る 。 )
keycode any = KEYSYMNAME ... も し 、 キ ー が そ れ 自 身 を 指 定 す る キ ー シ ム に つ い て の 特 定 の リ ス ト を 持 た な い 場 合 、 キ ー ボ ー ド 上 で 代 わ り の キ ー が 選 択 さ れ て 、 そ の キ ー シ ム が 指 定 さ れ る 。 キ ー シ ム の リ ス ト は 10か 16、 あ る い は 8進 数 で 指 定 さ れ る 。
keysym KEYSYMNAME = KEYSYMNAME ... 左 辺 の KEYSYMNAME は 、 該 当 す る keycode 表 現 の 組 合 せ を 実 行 す る 際 に 使 わ れ る 、 そ れ に 適 合 し た キ ー コ ー ド へ 変 換 さ れ る 。 キ ー シ ム 名 の リ ス ト は ヘ ッ ダ ー フ ァ イ ル <X11/keysymdef.h>( XK_ プ レ フ ィ ッ ク ス な し ) 中 か あ る い は キ ー シ ム の デ ー タ ベ ー ス フ ァ イ ル <XRoot>/lib/X11/XKeysymDB 、 こ こ で <XRoot> は X11 の イ ン ス ト ー ル ツ リ ー の ル ー ト 、 に 見 出 さ れ る で あ ろ う 。 複 数 の キ ー に 同 じ キ ー シ ム が 結 び つ け ら れ て い る 時 は 、 表 現 は そ れ ぞ れ の 適 合 す る キ ー コ ー ド に 対 し て 実 行 さ れ る こ と に 注 意 す る こ と 。
clear MODIFIERNAME こ れ は modifier マ ッ プ か ら 与 え ら れ た modifier の 全 て の エ ン ト リ を 消 去 す る 。 有 効 な modifier 名 は : Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, そ し て Mod5 で あ る 。 ( 他 の 名 前 に は 大 文 字 小 文 字 の 区 別 が あ る が 、 modifier 名 に は な い ) 例 え ば 、 clear Lock は shift lock modifier に 結 合 さ れ て い る あ ら ゆ る キ ー エ ン ト リ を 無 効 に す る で あ ろ う 。
add MODIFIERNAME = KEYSYMNAME ... 与 え ら れ た キ ー シ ム を 含 む 全 て の キ ー を 指 定 さ れ た modifier マ ッ プ に 加 え る 。 キ ー の 入 れ 換 え の 表 現 の 記 述 を 容 易 に す る た め 、 キ ー シ ム 名 は 入 力 さ れ た 表 現 を 全 て 読 み 込 ん だ 後 で 評 価 さ れ る ( EXAMPLEの 節 を 参 照 ) 。
remove MODIFIERNAME = KEYSYMNAME ... 与 え ら れ た キ ー シ ム を 含 む 全 て の キ ー を 指 定 さ れ た modifier マ ッ プ か ら 消 去 す る 。 add と は 異 な り 、 キ ー シ ム 名 は 行 が 読 み 込 ま れ る た び に 評 価 さ れ る 。 こ の こ と に よ り 、 キ ー が ダ ブ っ て 指 定 さ れ は し な い だ ろ う か と い う 不 安 を 抱 く こ と な く modifier か ら キ ー を 消 去 す る こ と が で き る 。
pointer = default ポ イ ン タ ボ タ ン の マ ッ プ を デ フ ォ ル ト 値 に 戻 す 。 ( ボ タ ン 1 は コ ー ド 1 を 生 成 、 ボ タ ン 2 は コ ー ド 2 を 生 成 …等 々 )
pointer = NUMBER ... 指 定 さ れ た ボ タ ン コ ー ド を ポ イ ン タ マ ッ プ に 含 ま せ る 。 リ ス ト は 常 に 物 理 ボ タ ン の 一 番 目 か ら 指 定 す る こ と 。 エ ク ス ク ラ メ ー シ ョ ン マ ー ク ( !) か ら 始 ま る 行 は コ メ ン ト 行 と し て 扱 わ れ る 。 も し 、 modifer キ ー の バ イ ン デ ィ ン グ を 変 更 し た い 時 は 、 適 当 な modifer マ ッ プ か ら そ の modifier キ ー の 消 去 も し な け れ ば い け な い 。
例
多 く の ポ イ ン タ は 第 1ボ タ ン を 右 手 の 人 差 し 指 を 使 っ て 押 す よ う に 設 計 さ れ て い る 。 左 利 き の 人 は 時 に 、 良 く 使 う ボ タ ン を 左 手 の 人 差 し 指 で 押 せ る よ う に 、 ボ タ ン に 割 り 当 て ら れ て い る ボ タ ン コ ー ド の 順 序 を ひ っ く り 返 す と よ り 使 い 心 地 が 良 く な る と い う こ と に 気 づ く 。 こ の こ と は 3 ボ タ ン ポ イ ン タ で は 次 の よ う に す れ ば た ぶ ん 出 来 る だ ろ う 。
% xmodmap -e "pointer
= 3 2 1" 多 く の ア
プ リ ケ ー シ ョ
ン は メ タ キ ー
( コ ン ト ロ ー
ル の 代 わ り に
メ タ が 押 さ れ
る 場 合 を 除 く
と 、 コ ン ト ロ
ー ル キ ー と 似
て い る ) の 概
念 を サ ポ ー ト
し て い る 。 し
か し な が ら 幾
つ か の サ ー バ
は デ フ ォ ル ト
の キ ー マ ッ プ
テ ー ブ ル に メ
タ キ ー の キ ー
シ ム を 持 っ て
い な い の で 、
手 で 追 加 す る
必 要 が あ る 。
以 下 の コ マ ン
ド は メ タ キ ー
に 多 国 語 キ ー
( 時 に は 組 版
文 字 が 印 字 さ
れ て い る ) の
機 能 を 付 加 す
る 。 メ タ キ ー
を 必 要 と す る
ア プ リ ケ ー シ
ョ ン は キ ー コ
ー ド の み を 必
要 と し 、 キ ー
マ ッ プ テ ー ブ
ル の 第 1 カ ラ ム
に 記 述 さ れ て
い る キ ー シ ム
は 必 要 と し な
い と い う 事 実
も 利 用 す る 。
こ れ は Multi_key ( デ
フ ォ ル ト の modifier
マ ッ プ を 含 む
) を 探 し て い
る ア プ リ ケ ー
シ ョ ン が キ ー
シ ム の い か な
る 置 き 換 え に
対 し て も 気 が
付 か な い で あ
ろ う と い う こ
と を 意 味 す る
。
% xmodmap -e "keysym Multi_key = Multi_key
Meta_L" 同 様 に 、
あ る キ ー ボ ー
ド は メ タ キ ー
を 持 た な い か
わ り に ALT キ ー を
持 っ て い る 。
こ の 場 合 に は
以 下 の コ マ ン
ド が 便 利 で あ
る 。
% xmodmap -e "keysym Alt_L = Meta_L Alt_L"
最 も 単 純 で 、
そ れ で い て 便
利 な xmodmap の 利 用
法 の 一 つ は キ
ー ボ ー ド の "抹
消 " キ ー を も う
一 つ の キ ー シ
ム で 代 替 す る
こ と で あ る 。
こ の こ と は ユ
ー ザ に と っ て
よ り 快 適 に な
る 、 BS キ ー を DELETE
キ ー と 入 れ 換
え る と い う こ
と も 含 ん で い
る 。 さ ら に 、
も し xterm で の ttyModes
リ ソ ー ス が 設
定 さ れ て い る
場 合 に は 、 全
て の タ ー ミ ナ
ル エ ミ ュ レ ー
タ の ウ ィ ン ド
ウ は 同 じ キ ー
を 使 っ て 文 字
を 消 去 す る 。
% xmodmap -e "keysym BackSpace = Delete" % echo "XTerm*ttyModes: erase ^?" | xrdb -merge幾 つ か の キ ー ボ ー ド は 「 コ ン マ
+ shift」 と 「 ピ リ オ ド + shift」 に 対 し て 自 動 的 に 「 <」 と 「 >」 を 与 え な い 。 こ れ は コ ン マ と ピ リ オ ド の キ ー バ イ ン デ ィ ン グ を 以 下 の ス ク リ プ ト に よ っ て リ セ ッ ト す る こ と に よ り xmodmap で 矯 正 す る こ と が で き る 。
! ! make shift-, be < and shift-. be > ! keysym comma = comma less keysym period = period greaterキ ー ボ ー ド の 違 い で 、 よ り 苛 立 た せ ら れ る こ と の 一 つ は コ ン ト ロ ー ル キ ー と シフ ト ロ ッ ク キ ー の 位 置 で あ る 。
xmodmap の あ り ふ れ た 使 い 方 は こ れ ら 2 つ の キ ー を 以 下 の コ マ ン ド で 入 れ 換 え る こ と で あ る 。
! ! Caps_Lock と 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
keycode コ マ ン ド は 複 数 の キ ー コ ー ド に 同 じ キ ー シ ム を 指 定 す る 際 便 利 で あ る 。 移 植 性 は よ く な い も の の 、 キ ー ボ ー ド を 、 あ る 知 ら れ た 状 態 に リ セ ッ ト す る ス ク リ プ ト を 書 く こ と が で き る 。 以 下 の ス ク リ プ ト は BS キ ー に Delete の 機 能 を 持 た せ ( 上 記 を 参 照 ) 、 今 あ る caps lock の バ イ ン デ ィ ン グ を 全 て 消 去 し 、 Capslock キ ー を Control キ ー に 換 え 、 F5 キ ー に Escape の 機 能 を 持 た せ 、 Break/Reset を shift lock に す る 。
! ! HP で は 以 下 の keycode は 下 記 に 挙 げ る key cap を 持 つ : ! ! 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
環 境 変 数
DISPLAY は デ フ ォ ル ト の ホ ス ト 名 と デ ィ ス プ レ イ 番 号 を 得 る 。 |
関 連 項 目
X(7), xev(1), Xlib の キ ー と ポ イ ン タ イ ベ ン ト に 関 す る ド キ ュ メ ン ト 。
バ グ
keycode 表 現 が 評 価 さ れ る た び に サ ー バ は 各 々 の ク ラ イ ア ン ト に 対 し て MappingNotify イ ベ ン ト を 生 成 す る 。 こ の こ と が 幾 ら か の 問 題 を 起 こ す 。 全 て の 変 換 は ま と め て バ ッ チ 処 理 さ れ 、 同 時 に 実 行 さ れ て し ま う 。 キ ー ボ ー ド 入 力 を 受 取 り 、 MappingNotify イ ベ ン ト を 無 視 す る ク ラ イ ア ン ト は キ ー ボ ー ド マ ッ ピ ン グ に 対 し て な さ れ た 如 何 な る 変 化 に も 気 が 付 か な い 。 あ る modifier に 規 定 さ れ て い る キ ー コ ー ド が 変 更 さ れ た 場 合 は 何 時 で も Xmodmap は "add" と "remove" 表 現 を 自 動 的 に 生 成 し て し ま う 。 表 現 は マ ッ ピ ン グ を 台 無 し に し て し ま っ た 時 の た め に キ ー シ ム と 同 様 に キ ー コ ー ド も remove 表 現 が 受 け 付 け ら れ る よ う な 方 法 を 用 意 す べ き で あ る 。
著 者
Jim Fulton, MIT X コ ン ソ ー シ ア ム 。 初 期 の バ ー ジ ョ ン は サ ン マ イ ク ロ シ ス テ ム ズ 社 の David Rosenthal に よ っ て 書 か れ た 。