IT用語集 › プログラミング › 仮想バインディング(Motif)

仮想バインディング(Motif)

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

物理キーとウィジェットの動作の間に置かれたMotifの中間層。コードはEscapeやF1ではなくosfCancelやosfHelpを待ち受け、その意味はバインディングファイルが目の前のキーボードに合わせて決める。

Motifは、DECのLK201、SunのType 4、HPやIBMのキーボードなど、ヘルプや削除、ナビゲーションのキーがそれぞれ異なり、同じキー名でもキーシムが違う環境で動く必要があった。OSFはこれを、スタイルガイドと各ウィジェットの変換テーブルを仮想キーシムで記述することで解決した。osfActivate、osfCancel、osfHelp、osfMenuBar、osfBackSpace、osfDelete、osfPageUp、osfPrimaryPasteなど30ほどである。起動時にこれらは、ルートウィンドウの_MOTIF_DEFAULT_BINDINGSプロパティ、ホームの.motifbindファイル、defaultVirtualBindingsリソースの順に実際のキーシムへ変換され、どれもなければXサーバーのベンダー文字列で選ばれるベンダー別テーブルが使われる。

xmbindツールはバインディングファイルを読んでルートウィンドウに設定し、Motifはベンダー別の既成ファイルを同梱していた。おかげで同じバイナリが異なるハードウェアで正しく動き、Escapeの位置が違うユーザーもosfCancel : <Key>Escapeの一行で直せた。一方で古典的な悩みの種でもあった。MotifプログラムでBackspaceが逆方向に削除するなら、ほぼ必ずosfBackSpaceとosfDeleteがそのキーボードで違うキーシムを指している。原因が一層上にあるためxmodmapでは直せなかった。

← 用語集に戻る