XKBを使っていくつかのキーをスクランブルしたいです。 (なぜ?ノートブックでは、いくつかのキーの位置が不便です。)現在、xmodmapを使用しています。
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
代わりに、XKBを使用して特定のキーコードに異なるキーシンボルを割り当てるのではなく、特定の物理キーに異なるシンボル名を割り当てたいと思います。 (これだから。 )キーコード110をPGUP
代わりに転送したい、キーコード115を代わりにHOME
送信したいと思います。残りの設定は影響を受けてはいけません(したがってkeyymなどは送信され続け、他のすべてのキーはそのまま残ります)。DELE
END
PGUP
Prior
これらの特定のキーコードの割り当てをどのように変更できますか?ファイルをロードしようとしていますxkbcomp somefile.xkb $DISPLAY
。ファイルに何を入れるべきですかsomefile.xkb
?
ベストアンサー1
キーコードの変更を含むファイルを作成し(たとえば)保存します~/.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}