xmodmap が Alt-a で動作しない

xmodmap が Alt-a で動作しない

そこで、私は右矢印にマッピングしようとしています。私は「xevとxmodmap」のアプローチに従いましたAltAここそして、次のような結論に至りました。

xmodmap -e "keycode 38 mod1 = Right"

Altこれは悲惨な失敗をします。 -を押すとACが印刷されます。 そして、 を単に押すとA、カーソルは確かに右に移動します。

xmodmap -pmmod1の出力は次のようになります。

mod1  Alt_L (0x40), Meta_L (0xcd)

何が間違っているのでしょうか?

答え1

マニュアルページに記載されている通り、またはxmodmap -pke表示される通りです:

キーコード番号 = キーシンボル名...

キーシムのリストは、指定されたキーコードに割り当てられます (キーコードは 10 進数、16 進数、または 8 進数で指定でき、xev プログラムを実行することで決定できます)。キーには最大 8 つのキーシムを割り当てることができますが、最後の 4 つは主要な X サーバー実装では使用されません。最初のキーシムは、このキーと一緒に修飾キーが押されていない場合に使用され、2 番目は Shift キーと一緒に使用され、3 番目は Mode_switch キーがこのキーと一緒に使用され、4 番目は Mode_switch キーと Shift キーの両方が使用されている場合に使用されます。

この意味は

keycode 38 mod1 = ...

不正な構文です。

また、 ではxkbd4 つ以上のキーシムが存在する可能性があり、追加のキーシムは指定されたとおりに動作します。たとえば、level3(ralt_switch)xkb オプションが有効になっている場合 (これは私のディストリビューションのデフォルトです)、右の alt キーは にマップされISO3_Level_Shift、5 番目から 8 番目のキーシムは が追加で押されたときの結果を記述しますRAlt。したがって、その場合、次のようにすることができます。

keycode 38 = a A a A Right Right Right Right

または、作成したいものShiftAltAなどに応じて、同様のものになります。

関連情報