私はUbuntu Server 16.04を実行しています。これが重要かどうかはわかりませんが、次を使用して画面をブラウザに渡しています。XPRA。
いくつかの迷惑なキーの組み合わせを除いて、すべてがうまく機能します。私はSHIFTとZキーの間にbackslash
and(パイプ)を持つキーを持つ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