IT用語集 › プログラミング › トランスレーションテーブル(Xt)

トランスレーションテーブル(Xt)

プログラミング Svenska → 更新: 2026-10-23

Xt でキーやマウスボタンをウィジェット内の名前付きアクションに結び付けるテキスト形式。プログラムに手を触れず ~/.Xresources から差し替えられる。

Xt のウィジェットはどれも translations リソースを持つ。左辺がイベント列、右辺が一つ以上のアクションというテーブルで、<Key>q: quit()、Ctrl<Key>s: search(forward)、Shift<Btn1Down>: select-start() のように書く。イベントは修飾キー、種類、詳細の順で記し、ダブルクリックや複数キーの並びのために連結もできる。アクションはウィジェットクラスが定義するか、プログラムが XtAppAddActions で登録し、イベントが届くたびに Xt の Translation Manager が照合する。

要点は、このテーブルが他と同じリソースだということだ。#override、#augment、#replace の指示子で、ユーザーの行をウィジェット本来の定義の上に重ねるか、下に敷くか、置き換えるかを決められる。例えば XTerm*VT100.translations: #override Shift <KeyPress> Insert: insert-selection(PRIMARY) と書けば、再コンパイルなしに xterm の挙動が変わる。これは設定可能なショートカットに対する1980年代の答えで、並外れて強力だった。xterm は string() で任意の文字列を送れ、Athena のエディタはキー単位で再割り当てできた。ただ構文は脆く、リソースファイルの \n\ を一つ忘れるだけでテーブル全体が黙って消えたため、大半の人は Usenet から行を貼り付けるだけで済ませた。GTK や Qt はこの仕組みを丸ごと捨て、バインドはハードコードされ、代わりに設定ダイアログが与えられる。

← 用語集に戻る