USキーボードではWSLに変換・無変換キーは通らないのであきらめた話
WindowsではUSキーボードでもAutoHotKeyを使って変換・無変換が通っているのですよ。ErgoDox EZのConfigureは変換・無変換キーはデフォルトでは無いので、F23とF24キーを用意して、
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でも同じ動作をするようにして共通化はできました。いろいろ試した結果、元のままなんですけど、状況は整理できたのでよかったです。
コメント
コメントを投稿