2022年10月19日水曜日

Windows11 クソIME ON/OFF問題 回避?

先日勢いだけで愚痴った内容の続編となります。

今まで結構凌いできたのですが、どうしても回避できなくなったので色々足掻くことにしました。

そもそも使用しているのが英語キーボードレイアウトでIMEのOn/Offは[Shift]+[Caps]で行っています。使い勝手は悪いのですが、サポートのアプリを特に使わずそのまま(我慢して?)使っています。

問題点となるWindows10とWindows11の動作の違い

普通は問題ないのですが次の一点だけどうしてもキーボード操作だけでは回避できませんでした。

IMEがかな入力状態で何らかの方法で英数字を入力し、変換で全角で入力します。

たとえば「あいうえお」と入力してF9キーを押して「aiueo」と入力してエンターキーなどで確定させます。その後[Shift]+[Caps]キーを押してIMEをOffにすると…

Windows10ではIMEがOffになり(設定によっては半角英数字入力モードなのかもしれない)、半角英数字の入力が行え、再びIMEをOnにすると普通にかな入力モードになります。

Windows11ではIMEがOffにならずに全角英数字入力モードになり、再度[Shift]+[Caps]キーを押すと、かな入力モードへ切り替わります。この状態から半角英数字を入力するためには入力状態にしてからF10キーを押して半角英数字に変換して確定させてからIME入力モードを切り替えるか、マウス操作などで入力モードを切り替える必要があり、これが非常にストレスに。

ちなみにこの不可解なクソ仕様は、Bluetoothで日本語レイアウトキーボードを接続し、[半角/全角]キーを使用して確認したところ問題は発生しませんでした。

IME関連のキー設定を変更しても結局上手く行かず。設定項目と処理の内容を考えつつ設定してみました。しかし直接入力の使用のOn/Offも効果もなく、IME On/Offや[Shift]+ImeOffの絡みを変更しても効果がありませんでした。可能な限り設定変更してみましたがそれでも全く効果がありませんでした。(正直バグ臭い)



記憶の片隅に[Ctrl]+[SPACE]でIME On/Offができた気がするのですが、その設定も見当たらなかったので設定の画面から辿ってみると、Windows10の時に設定しておいた「前のバージョンのIMEを使用する」と言う項目が生きていたようで、それをオフにすることで[Ctrl]+[Space]でIMEのOn/Offを切り替えられるように。

(旧バージョンのIMEの使用のチェックを変えると、IMEのオプション設定画面が挿げ変わるのでこの辺は非常に錯覚する。)

早速この状態で「aiueo」と入力してIMEをOffにして入力してみると…Windows11で半角英数字入力ができるようになりました。

そもそも論としてなぜ旧バージョンのIMEをあえて使用していたかと言えば、設定項目が少なすぎるのです。なんていうか…単刀直入に言えばクソです。がWindows11と旧バージョンのIMEの組み合わせも腐っているのでこれで満足する事にしよう。

 

 

そしてさらなる致命的なことに気づくことに…私にとって[Ctrl]+[Space]は結構重要だった。

 

[Ctrl]+[Space]はAndroid Studioでよく使うショートカットキーだった…

コード入力時のプロパティー名などの補完を強制的に表示させるためのショートカットで、Delphiで初めてこの機能を使い始め、Visual Studioではクラスやメソッド/プロパティ名がまったく想像できない環境では必須な機能だった(結構使いづらいが)。現状一番使っている時間が長い環境のAndroid Studioでももちろんないと困る機能だと思う。

 

ダメもとで[Shift]+[Space]を使ってみたがIMEのOn/Offが切り替わるだけでAndroid Studio上では反応なしw

この機能の名前がAndroid Studioでは何なのか分からないが、SettingsのKeymapをチェックしてみたところ[Shift]+[スペース]を見つけるのは非常に手間がかかったが、次の機能が該当してそうだった。

Code Completion/Basic [Ctrl+スペース] 

これに近いショートカットとして

Code Completion/Type-Matching [Ctrl+Shift+スペース]
Version Control Systems/Set Active Changelist [Ctrl+スペース]
Other/Second Basic Completion [Ctrl+Alt+スペース]

が、登録されていた。

何も設定していないが、連想できそうなショートカットを試したところ、[Ctrl+Alt+スペース]や[Ctrl+Shift+スペース]でも反応してくれた。

動作がおかしければCode Completion/Basicに何らかのショートカットを割り当てる必要があるかもしれないが、当面問題なさそうなのでこのまま使ってみることにする。IMEがOnの状態で[Ctrl+Shift+Space]を押すと全角スペースが入力されたりするが、このぐらいなら我慢できそう。

Visual Studioは気が向いたら確認してみよう。

0 件のコメント:

コメントを投稿