最近、テストのために Ubuntu 19.04 にアップグレードしたのですが、ラップトップ キーボードのパイプ文字 (|) が正しく認識されないことにすぐに気付きました。代わりに、シングル クォート (') が挿入されます。私は GS65 ノートブックを使用していますが、このノートブックには SteelSeries キーボードが搭載されており、キーのレイアウトがかなり変わっています。私が使用しているレイアウトはドイツ語です。(参考画像:https://www.notebookcheck.com/fileadmin/Notebooks/MSI/GS65_8RF-019DE_Stealth_Thin/gs65_15.jpg)
通常通りdpkg-reconfigure keyboard-layout
+ 「Gerneric w/ 105 keys」 + 再起動を試しましたが、問題は解決しませんでした。他のすべてのキーは正常に機能します (ドイツ語の特殊文字 ä、ö、ü、ß を含む)。問題を引き起こすのはこのキーだけです。
この問題は内蔵キーボードでのみ発生します。USB キーボードを使用するとすべて正常に動作します。それ以外では、tty とグラフィカル インターフェイスの両方で問題が発生します。
興味深いことに、これは私のシングルクォートが 2 回マッピングされていることを意味します。1 つは ENTER キーの上にあり、もう 1 つは ALT-GR の横の "<、>、|" に誤って割り当てられています。これは、英語 (米国) などの他のキーボード レイアウトにも当てはまります。
間違ったキーボードレイアウトを選択してしまったのでしょうか? もしそうなら、正しいオプションは何でしょうか?
ちなみに、この問題は 18.04 LTS から 19.04 にアップグレードした後にのみ発生しました。
答え1
答え2
見つかったこれ問題のノートブックに関連する Arch Wiki にあります。私のドイツ語キーボードではうまくいきました。おそらく他のデバイスにも適用できるでしょう。
この回答を書いている時点では、Ubuntu 19.04 はバグのある systemd v240 を使用しています。公式リポジトリでパッケージがアップグレードされるまで、リンクした wiki からの回避策を以下に示します。
イギリスのキーボードではバックスラッシュ/パイプキーであり、スキャンコードとキーコードのマッピングを次のように修正できます。
# setkeycodes 56 86
注: 私はそれsetkeycodes 56 86
が入力したx11 セッションが作成される前に実行します。wiki では、このコマンドをスクリプト ファイルに入れて、起動時に systemd 経由で呼び出すことを推奨しています。