X Window System資料一覧

キーボードマッピングの仕組み

2007/7/29更新

X Window Systemではキーボードのマッピングをkeycodeとkeysymの組み合わせで管理している。

keycodeとはキーボード上のキーと一対一に対応している番号で、キーボードが変わればkeycodeも変わる可能性がある。

keysymとはそのキーがどういう意味を持つかという論理的な識別子である。

例えばkeycode 9 = Escapeは「keycode 9のkeysymはEscape」であることを表している。

つまり、キーボード上のESCキーのkeycodeは9で、そのキーを押すと「Escape」というkeysymが発生することを表している。

また、keycode 10 = 1 exclamのように、2つのkeysymが設定されているものはそれぞれ「普通にキーを押した場合のkeysym」「Shiftキーを押しながらキーを押した場合のkeysym」を表す。

現在のkeycodeとkeysymのマッピング状態は以下のコマンドで調べることができる。

% xmodmap -pke
:
keycode   9 = Escape
keycode  10 = 1 exclam kana_NU
keycode  11 = 2 quotedbl kana_FU
keycode  12 = 3 numbersign kana_A kana_a
:
keycode  37 = Control_L
:
keycode 100 = Left
:
keycode 102 = Right
:

また、どのキーがどのkeycodeなのかを調べるにはxevコマンドを使用する。