XKBでいくつかのキーをシャッフルしたいと思います。 (なぜですか?いくつかのキーが不便に配置されているラップトップで。)私は現在xmodmapを使用しています:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
代わりに、特定のキーコードに異なるキーシムを割り当てるのではなく、XKBを使用して、特定の物理キーに異なる記号名を割り当てたいと思います。 (これが理由です。)キーコード110にPGUP
を送信させたい HOME
の代わりに 、DELE
を送信するためのキーコード115 END
の代わりに 、など。残りの構成は影響を受けてはなりません(したがって、PGUP
keysym Prior
を送信し続けることです 、など、および他のすべてのキーはそのままです。
これらの特定のキーコードの割り当てを変更するにはどうすればよいですか? xkbcomp somefile.xkb $DISPLAY
を使用してファイルをロードします 、somefile.xkb
に何を入れる必要がありますか ?
承認された回答:
キーコードの変更を含むファイルを作成し、(たとえば)~/.xkb/keycodes/local
として保存します。 。 (keycodes
ディレクトリはハードコーディングされています。ベースディレクトリは別のものにすることができ、ファイル名も含めることができます。)これにはあなたの場合が含まれます
xkb_keycodes {
<PGUP> = 110;
<PGDN> = 112;
<DELE> = 115;
<INS> = 117;
<HOME> = 118;
<END> = 119;
};
これをロードするには、
を実行しますsetxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY
これにより、現在の設定が出力され、+local
が追加されます xkb_keycodes
に include
ステートメントを作成し、XKBコンパイラにロードして、~/.xkb
を追加します。 インクルードパスへ。 (ファイルに~/.xkb/keycodes/local
以外の名前を付けた場合 、明らかに+local
を変更する必要があります および-I${HOME}/.xkb}
。)そうすれば、他のすべての設定が保持されます。