マイナスとアンダースコアの入れ替え方法 Debian 11

マイナスとアンダースコアの入れ替え方法 Debian 11

私は以前、この中で提案されている方法を使っていました答えUbuntu 16 でマイナスとアンダースコアを交換するには、次のようになります。

xmodmap -e "keycode 20 = underscore minus underscore minus"

これは Debian 11 では機能しません。別の方法がありますか?

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:    11
Codename:   bullseye

$ echo $XDG_CURRENT_DESKTOP
GNOME

これはキーボードです: キーボード

答え1

質問で言及された方法は、Ubuntu 20.04 では機能します。

ただし、keysymsコマンドで「マイナス」と「アンダースコア」の代わりに指定して、機能するかどうか試してみてください。

xmodmap -e "keycode 20 = 0x5f 0x2d"

0x2dは「マイナス」のキーシンボルであり、0x5f「アンダースコア」である必要があります。 コマンドを使用して、これがシステムで当てはまるかどうかを確認できますxev

コマンドの最初のキーシムは、キーコード 20 が押されたときにどのキーを実行するかをシステムに指示し、2 番目のキーシムは、キーコード 20 が Shift キーと一緒に押されたときに何を実行するかをシステムに指示します。

答え2

オプション1/usr/share/X11/xkb/symbols/:レイアウトのファイルを直接編集します。たとえば、次のようになります/usr/share/X11/xkb/symbols/usマイナス、検索:
key <AE11> {[ minus, underscore, quotedbl, plusminus ]}; // - _ " ±
これを次のように置き換えます:
key <AE11> {[ underscore, minus, quotedbl, plusminus ]}; // - _ " ±
ログアウト、ログイン。

オプション2: xkbを使用する
これunix.stackexchange の回答 (Pablo Saratxaga による)

  1. 以下を使用してファイルを作成します~/.xkb/keymap/mykbd
    setxkbmap -print > ~/.xkb/keymap/mykbd

  2. ~/.xkb/symbols/myswap次の内容を含むファイルを作成します(ここでも AE11 を編集する必要があるものと仮定します)。
    hidden partial alphanumeric_keys
    xkb_symbols "swap_minus_undersco" {
    key <AE11> {[ underscore, minus, quotedbl, plusminus ]};
    };

  3. ファイルを編集し~/.xkb/keymap/mykbd、次xkb_symbolsの行を追加します。
    +myswap(swap_minus_undersco)

  4. ロードします:
    xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY

関連情報