WSL2(WSLg) 日本語環境で記号が入力できない。ダブルクォートでなく”2″が入力されてしまう

概要

過去にあった不具合について、履歴として残しています。

WSL2(WSLg)でX Window版のEmacsを使い始め、便利なのですが日本語環境が不十分で下記の問題がありました。

  • 記号が入力できない。例えばダブルクォート(SHIFT + 2)を入力したいのですが”2″が入力されてしまう

経緯

試したこと

WSLのキーボードが英語配列になってしまふ - Qiita
周期的にハマって忘れてググるので自分用のメモ。なんかの拍子にWSLのキーボード配列がascii配列になることがある。まぁそれ自体は、そもそも日本語キーボードが希少な時代からキーボードに触っているか…

当初、上記を試しましたが、これだけですと下記の現象になりました。

  • xterm ではダブルクォートが入力できる
  • Emacs では 左SHIFT + 2 だとダブルクォートが入力できる。右SHIFT + 2 だと “2” になってしまう

下記のやり方で行うことで一旦は所望の入力ができるようになりました。

やはり右SHIFT + 2 だと “2” になってしまう

ただし、Emacsを起動すると、右SHIFT + 2 だと “2” になってしまう状態に戻ってしまいます。

Emacsが起動した状態で下記を実行するとダブルクォートが入力できるようになるので、面倒ですがとりあえずそれで対応していました。

$ sudo localectl set-keymap jp106

原因

しばらくして分かったことですがこちらはWSLのバグということでした。WSLをバージョンアップすることでこの不具合は発生しなくなりました(2023.4.8)

Copied title and URL