Shift+ファンクションキーが、ファンクションキーのみ押したときと同じ動作だ
掲載日:2005年1月18日
回答
  通常のLinuxのコンソール環境では、Shift+ファンクションキー、Ctrl+ファンクションキー、Shift+矢印キー、Ctrl+矢印キーなどが、ShiftやCtrlを同時に押さないときと同じキー入力コードしか発生しないためです。




ここからはLinuxのシステムに詳しい方向けの追加情報です。

下記のキー操作は通常のLinuxのコンソール環境(通常のキーマップ定義環境)では入力できないため、MIFESでデフォルトのカスタマイズ・ファイルのキー定義では使用していませんが、内部構造上はキー入力できれば使用可能になっています。

Shift+F1〜Shift+F12
Ctrl+F1〜Ctrl+F12
Shift+↑、Shift+↓、Shift+←、Shift+→
Ctrl+↑、Ctrl+↓、Ctrl+←、Ctrl+→
Shift+PageUp、Shift+PageDown
Ctrl+PageUp、Ctrl+PageDown
Shift+Insert、Shift+Delete
Ctrl+Insert、Ctrl+Delete
Shift+Home、Shift+End
Ctrl+Home、Ctrl+End

 これらのキー操作を使用可能にするためには、Linuxのシステムのキーマップ定義ファイルを書き換え、これらのキーを押した時に ^[[n~ (^[ はエスケープコード、n は 0〜99)というパターンのCSIシーケンスを発生させるようにします。そして、カスタマイズファイル中で、CSI_SF1〜CSI_SF12、CSI_CF1〜CSI_CF12、CSI_EXKEY11〜CSI_EXKEY30キーワードを用いて、これらのキーを押した時に発生するCSIシーケンス ^[[n~ の n の部分をキーワードの数値に指定します。さらに、VK_SF1〜VK_SF12、VK_CF1〜VK_CF12、VK_EXKEY11〜VK_EXKEY30キーワードを用いて、これらのキーを押した時に実行する機能番号を指定します。

 なお、キーマップ定義ファイルのあるディレクトリ位置、ファイル名、ファイル書式などは、環境によって異なるので注意してください。また、キーマップを変更すると他のアプリケーションに影響を与える場合もありますので、十分ご注意ください。

 現在のキーマップ環境において、ファンクションキーなどを押した時にどんなキーコードが発生しているのかを調べたい場合には、「生のキー入力コードを出力する」機能(Ctrl+Q,Kキー)を実行してください。

 
一覧に戻る
テキストエディタ MIFES 製品情報