#ifdef XXE #else (4)Xの設定。 (4A) KDE 環境. . konsoleのショートカット設定は メニュから Settings->Configure shortcuts です。 Shift+InsertのPasteへの割り当てもここから解除します。 xeの機能キーを十分利用できるようにするには keytabファイルを設定する必要があります (8)-(j) xe.keytab を見てください。 (4B) GNOME 環境. . X では xmodmap コマンドで キーコードと機能の割り当てを設定できますが キーに文字列を設定できません。代わりに xterm,kterm 等のターミナル エミュレーターが文字列を発生します。ターミナルエミュレーターの 生成する文字列の種類は限られていて xe には十分ではないので 、 Shiftキーとの組み合わせなどは X のリソースとして追加設定する必要が あります。 以下はxterm,ktermの場合でgnome-terminal,konsoleの場合は ".gnome-terminalの場合" へ進んでください 添付の ファイル xelnxres.xxx を xrdb コマンドで Xリソースに マージしてください。xxxはディストリビュションID。 このファイルはxterm,kterm で動く他のApplと干渉しないように アプリケーション名をxeとして作成しているので、 それを 次のようにxterm/ktermに通知する必要があります。 例えば、 "kterm -name xe -e xe"の -name はアプリケーション名で -e は起動するプルログラム名です。 -name の "xe" が 次に示すようにxelnxres.xxx の中の xeに対応しています。 xe*cursorColor: blue xe*vt100.Translations: #override \n\ Shift<Key>F1: string(0x1b) string("~54001")\n\ : : 次のような xe 起動シェル を作っておくと良いでしょう。 xrdb -merge /g/src/xe/xelnxres.xxx kterm -name xe -e xe $1 $2 $3 ==>(6)章のサンプル xekt,xextを参照してください。 xe 専用の設定をするには次の様な方法もあります。 プログラム名ktermのコピー、例えば ktermxe を作成し、 xelnxres.xxx のアプリケーション名を ktermxe に変更し kterm をその ktermxe で起動する。 コピー先のプログラム名の一部にはxterm,ktermを残してください。 xeがターミナルエミュレーターを判断するときに実行モジュール名に xterm,kterm等の文字列があるかをChkしています。 他のアプリケーションとの干渉が問題とならない場合、 次のようにすることも出来ます。 アプリケーション名を KTerm*vt100.Translations .. の様に (KTermはアプリケーションクラス名でketrmはアプリケーション名です、 linuxの版によっては一方のみ有効のものもあるようです)変更すれば kterm を起動したときにリソースの設定は終っているので kterm 上で 単に プログラム名 xe を入力するだけで全ての機能キーを使用できます。 KTermと修正したものをxelnxres.xxx とした場合、xe 起動シェルを xrdb -merge /g/src/xe/xelnxres.xxx xe $1 $2 $3 尚、xekbchk --sfnm で xe が認識するキー入力文字列を表示しますが ^[~xxyyz (DOS scan+char+shiftid)形式の文字列はxekbchkの出力に なくても認識します。^[~xxyyz 形式以外の他のアプリケーションと 共用できる文字列でxeが認識できるものが表示されます。 ==>(9)-(b)表参照 . gnome-terminalの場合。 gnome-terminalはXリソースを見てないのでこのような設定はできません。 F1はHelpキーに割り当てられているので、メニューの Edit-->Keybindings で Help を Disableにしてください。 F10のメニューショートカット割り当ても無効にしてください FedoraCore4ではShift+F10でポップアップメニューがでますが、 これはGTKにhardcodeされていてgnome-terminalがそのまま使っているので 変更できないようです。 更に、gnome-terminalはvteに依存しています。 vteはいくつかのキーの組み合わせを自分で処理します。(vte SRPMのvte.cを参照) 例えばShift+InsertはPRIMARYクリップボードからペーストします。 Shift+PgDb/PgUp/Home/Endも自前の処理をしています。 これを回避するにはxmodmapで別の割り当てをしてください。 sample file (e)xelnxkey.xxx を参照。 #endif