xev で ALT-R または ALT-L を使用してキーボード キーを再マップする方法

xev で ALT-R または ALT-L を使用してキーボード キーを再マップする方法

私はまだ Linux の初心者ですが、本当に困ったことがあります。それは、何をしてもキーボードのレイアウトが希望どおりにならないことです。さまざまな解決策を試しましたが、私はカナダフランス語 (FC) キーボードを使用しており、Linux FC レイアウトは Windows のレイアウトとは異なるため、どこでも同じレイアウトを使用できるのは私にとって大きな利点です。

私が試してみたのは次のとおりです。

まず最初に、次のように入力しました:

xev

次に、変更したいのは「z」キーなので、これを押します。基本的に、「z」キーは通常どおり機能し続けますが、右の ALT キーをクリックすると、「«」と表示されるようにしたいのです (guillemotleft)

KeyRelease event, serial 37, synthetic NO, window 0x5c00001,
root 0x526, subw 0x0, time 4040472, (-215,198), root:(536,634),
state 0x10, keycode 52 (keysym 0x7a, z), same_screen YES,
XLookupString gives 1 bytes: (7a) "z"
XFilterEvent returns: False

では、キーは52番です。

それから私はこう書きます:

xmodmap -pm

そして、これが示すものは次のとおりです。

  xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

つまり、基本的に、私の ALT 右キーは ISO_Level3_Shift (0x5c) だと思います。今必要なのは、ALT 右キーを 'z' キーと一緒にクリックすると '«' が表示されるように動作させる方法を見つけることです。これが行き詰まっているところです。

私はいろいろなことを試しました。

xmodmap -e "keycode 52 mod5 = guillemotleft z"

しかし、うまくいきませんでした。ある時点で「«」を取得できましたが、その後「z」は機能しなくなりました。

これを動作させるにはどうしたらいいでしょうか? z Z 設定を変更せずに mod5 を変更するコマンドは何ですか? もっと正確に言うと、右の ALT キー + z を押して「«」を取得するにはどうすればよいですか?

ありがとう

答え1

xmodmap徐々に時代遅れになりつつあり、Wayland を実行している Ubuntu では動作しません。一方、キーボード レイアウト ファイルを直接編集するのはかなり複雑です。

«代わりに、z に AltGr の組み合わせ、»x に がある「フランス語 (カナダ、レガシー)」キーボード レイアウトを試してみるとよいでしょう。

関連情報