キー‐マッピング【key mapping】
読み方:きーまっぴんぐ
キー・マッピング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/19 17:13 UTC 版)
「X Window System コアプロトコル」の記事における「キー・マッピング」の解説
このキーが生成する keycode は常に同じだが、keysyms が異なる3つのシンボル /, 7, { が対応している。 X Window System では、全ての個々の物理キー(キーボードのキー)に 8 から 255 の数が割り当てられていて、これを keycode と呼ぶ。keycode はキーを特定するだけであり、そのキーに印字されている特定の文字や用語(例えば "Page Up")の識別はできない。それら文字や用語は keysym で識別される。keycode は実際の1つのキーに対応しているが、keysym は、例えばシフトキーなどの修飾キーが同時に押されたかどうかに対応して決定される。 キーが押下されたり、解放されたとき、サーバは KeyPress イベントあるいは KeyRelease イベントを適当なクライアントに送信する。これらのイベントには以下の情報が含まれる。 押下されたキーの keycode 現在の修飾状態(シフト、コントロールなど)とマウスボタンの状態 つまりサーバは、keycode と修飾状態を特定の文字に変換せずに送信する。この変換をするのは、クライアントの役割である。例えば、クライアントがあるキーとシフト修飾キーが押下されていることをイベントで通知されたとする。通常このキーが "a" という文字を生成するなら、クライアントは、このイベントによって文字 "A" を得る。 keycode から keysym へのクライアントでの変換には、サーバが用意した対応表を使う。この表をどこか全クライアントから参照可能なところに置けばよい。典型的なクライアントは、このマッピングを要求し、キーイベントの内容(keycode と修飾状態)から keysym への変換を行う。ただし、クライアントはこのマッピングを自由に変更できる。 修飾キーは、押下されると他のキーの解釈を変化させる。シフトキーは、一般に "a" のような小文字を "A" のような大文字に変化させる。他の修飾キーとしては、「コントロールキー」、「Altキー」、「Metaキー」などがある。 Xサーバは、最大8種類の修飾キーを扱える。ただし、各修飾キーは必ずしも1つの物理キーに対応したものとは限らない。キーボードには、同じ修飾キーが複数個存在する場合があるからである。例えば、多くのキーボードには2つのシフトキーがある(左端と右端)。これらの keycode は異なるが、Xサーバはどちらもシフト修飾キーと認識する。 8個の修飾キーについて、Xサーバはその修飾キーと認識される keycode の一覧を持っている。例えば、第一修飾キー(シフト)の keycode 一覧で 0x37 が記載されている場合、その keycode 0x37 に対応したキーをXサーバがシフト修飾キーであると認識する 修飾キーと解釈されるキーのマッピングはXサーバが管理するが、任意のクライアントが変更できる。例えば、クライアントからF1キーをシフト修飾キーとして解釈されるキー一覧に追加することができる。このような修正を加えると、F1キーが第3のシフトキーとして機能するようになる。しかし、F1キーを押下した場合の keycode はそのままである。したがって、F1キーを従来通りに解釈することもできるし(例えば、F1キー押下でヘルプウィンドウを開くなど)、同時にシフトキーとしても機能する("a" キーを押下したときにF1キーが押下されていると "A" と解釈される)。 Xサーバは、マウスボタンについてもマッピングを管理し、使用する。ただし、ボタンはボタン同士での入れ替えだけが可能となっている。これは、左利きのユーザ向けに左端のボタンと右端のボタンを入れ替えるのに便利である。 xmodmap プログラムは、キー/修飾キー/マウスボタンのマッピングを表示・変更する。
※この「キー・マッピング」の解説は、「X Window System コアプロトコル」の解説の一部です。
「キー・マッピング」を含む「X Window System コアプロトコル」の記事については、「X Window System コアプロトコル」の概要を参照ください。
- キー‐マッピングのページへのリンク