2020年12月28日

【薙刀式】アプリをまたいでIMEのオンオフを維持できない理由

がやっとわかった。
Win10日本語版は、ワードやパワポなど、
特定のアプリのときは、IMEを強制的にオンにするそうだ。
https://answers.microsoft.com/ja-jp/windows/forum/all/アプリウイ/dd70bd74-df83-466e-b30c-fff8b2496e6b


なるほど、
このせいで、キー入力変更エミュレータは、
「今現在のIMEのオンオフを取得して、
オフならば直接入力配列に、
オンならば日本語用配列に状態を変える」
を定期的(僕のDvorakJ設定だと500msおき)に、
やらないといけないのか。
これのせいで少しレスポンスが遅くなる(2ms遅れたって文字入力では分かるもの)
のね…

コマンドプロンプトやパスワード入力画面で、
強制的にIMEオフになるのは理解するけど、
強制的にオンになる場面もあると。

Google検索でたまに英語で検索しようとして、
勝手にDvorakJが薙刀式になるのはそういう理屈か…

命令系統としてはアプリがIMEより上にいるとは、
なんともおかしな上下逆転だな。


一度IMEをオンにしたらどのアプリでもオンを継続、
一度オフにしたらどのアプリでも継続、
という簡単そうにできることが、
Windowsでは出来ないという結論でいいのかしら。

QMKを本格的に導入しようとして、
まずここでつまづくとは。


回避策としては、Mac方式のように、
「英数もしくはかなを明示的に押してから入力開始」
にするしかなく、
それにはFG同時押し、HJ同時押しは負担がでかい。

LowerとRaiseに英数とかなを割り振るしかなさそうだな…


(追記)
さらに分かりやすい説明。
https://moms-pc.com/jp_ime/page_07.htm
「Windowsは半角英数が基本」言われてもねえ。
日本用に適用してんだから、「日本語が基本」モードが欲しいよな。
posted by おおおかとしひこ at 11:50| Comment(2) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
Windows側で定期的にIMEの情報を取得して、QMK側で読める情報を出力するアプリを作る。
QMK側で読める情報にはRAW_HIDかCapslock, Numlockなどの情報を表すUSB_LEDのうち使ってないどれかを使う。
その情報に合わせてQMK側でレイヤーを切り替えるってやれば実装できるとは思います。

やっかいな仕様ですね。
Posted by 福光洋平 at 2020年12月29日 23:13
>福光洋平さん
まさにエンジニアの言う「技術的には可能」なやつですね。
情報ありがとうございます。

AHKでIMEの情報を得る関数があったような…
やっぱLowerとRaiseに英数/かなを置くのが一番簡単そう。

生殺与奪の権をアプリに渡すな!って感じ。


Posted by おおおかとしひこ at 2020年12月29日 23:32
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。