USキーボードではWSLに変換・無変換キーは通らないのであきらめた話

WindowsではUSキーボードでもAutoHotKeyを使って変換・無変換が通っているのですよ。ErgoDox EZのConfigureは変換・無変換キーはデフォルトでは無いので、F23とF24キーを用意して、

``` end: ``` lang: filename: option:
F23::
  Send {vk1D}
  Return
F24::
  Send {vk1Csc079}
  Return
+F24::
  Send {blind}{vkF0sc03A}
  Return

と書いておくとF23で無変換、F24で変換キー、シフトキー+F24で英数キーのあつかいになります。送っているキーの作法がまちまちなのは、いろいろ試した名残で意味はありません。WindowsでIMEのオンオフをトグル以外でやるにはこの設定が簡単です。AutoHotKeyでIMEをオンオフするという手もありますが。これでGoogle日本語入力の「キー設定の選択」でちゃんと認識します。

しかし、これだとWSLのMozcで同じ様に「キー設定の選択」で入力しようとしても反応しません。setxkbmap jpとかいろいろ試したのですが、だめでした。

いったんあきらめていたのですが、あるときErgoDox EZのConfigureのAdvanced Configuration SettingsにJapanese keycodesというオプションがあるのを発見しました。これをオンにするとConfigureで変換・無変換などのキーが選べるようになりました。さっそく設定して試してみるも全然効きません。ほとんど何も起きないのですが、一部のキーでバッククォートが出るようです。USキーボードでIMEのオンオフにalt+バッククォートに関係するやつかなと思いまして、Windowsのキーボードの設定を日本語にしたら通りました。

しかし、日本語キーボードにしてしまうと記号がずれてしまいます。でもErgoDox EZなので、いままでの位置に設定するだけでいいのです……と思ったのですが、コロンとセミコロンだけがどうにもなりませんでした。USキーボードだとセミコロンをシフトキーとともに押すとコロンが出てくるのですが、日本語キーボードだと別のキーになってしまうんです。Configureでもシフトキーとこのキーを押したらこの記号という設定はできません。

そもそもなんで変換・無変換キーをWSLのMozcで使いたかったかと思い起こすと、Google日本語入力とMozcの設定を共通化したかっただけなんです。同じキーで日本語入力をオンオフできれば設定はすっきりしますから。WSL側に統一するという選択肢もありましたが、ファンクションキーの13以降がWSLでは通りませんでした。しかたがないので、F12とモディファイアキーを使ったのですが、これだとなぜかWindows Terminalでチルダとかが出てしまうんです。なので変換・無変換キーで統一できればと思ったんですが、使いなれたセミコロンとコロンの位置がすんなりとは使えない。

どちらを取るかですが、いままでの環境と違いの少ないUSキーボードにしました。同じキーを押したときに場合分けするだけですから。

Google日本語入力の設定は変換・無変換でもF12でも同じ動作をするようにして共通化はできました。いろいろ試した結果、元のままなんですけど、状況は整理できたのでよかったです。

コメント

このブログの人気の投稿

五十音配列付き新下駄配列

WSLでの親指シフトはどうやらMozcで実現可能と気がつくまで

親指シフト新下駄配列の可能性