xmodmapを使用したキーマッピングを使用すると、複数のキーが変更されます。

xmodmapを使用したキーマッピングを使用すると、複数のキーが変更されます。

私はUbuntu Server 16.04を実行しています。これが重要かどうかはわかりませんが、次を使用して画面をブラウザに渡しています。XPRA

いくつかの迷惑なキーの組み合わせを除いて、すべてがうまく機能します。私はSHIFTとZキーの間にbackslashand(パイプ)を持つキーを持つGBキーボードを使用しますbar。これを「バキ」と呼びます。キーボードの左上隅には「墓鍵」と呼ばれるgraveキーがあります。notsign

これらのキーは、クライアントオペレーティングシステムとSSHを使用してサーバーに接続すると正しく機能します。ただし、渡されたアプリケーション(xtermなど)で使用すると、無効な文字が表示されます。

「Bar Key」は、「\」(正しいもの)と「Ø」(間違ったもの、「|」でなければならない)を示します。

「grave key」は、墓「`」(正しい)とnotsign「Ø」(正しい)を表示します。

だから私はキーコードを見つけてマッピングするために一般的なxev&組み合わせを試しました。xmodmap

xev を実行すると、「bar key」に対して次のような出力が表示されます。

backslash (\): keycode 94 
bar (|): keycode 49

そして次の「墓の鍵」

grave (`): keycode 49 
notsign (¬): keycode 49

複数の物理キーにマップされるキーコード49を使用すると、多くのことが起こっているようです。

物事がどこにマッピングされているかを確認するために、次のコマンドを実行しました。

xmodmap -e "keycode 49 = 1 2 3 4 5 6"

いろいろなキーを入力すると

\ = is still \ because we didn't remap 94
| = 2
` = 1
¬ = 2 (also 2 ... brilliant)

それでは、2つの文字が同じキーコード/位置の組み合わせにマッピングされている場合、どのように再マッピングしますか? (@key出力Qのように再マップする必要があるいくつかの異なる項目がありますが、最初の最初の項目から見てみましょう。)

以下は、いくつかの追加診断情報です。

~$ setxkbmap -query
rules: evdev
mode: pc105
layout: gb

~$ localectl status
   System Locale: LANG=en_GB.UTF-8
                  LANGUAGE=en_GB:en
       VC Keymap: n/a
      X11 Layout: gb
       X11 Model: pc101

関連情報