2021/03/07

IMEがアプリごとに入力モードを記憶してしまっている件

前回、IMEが勝手に日本語入力モードに切り替える件 という記事で、 Windows10でテキスト入力欄にフォーカスするとIMEが日本語入力モードに勝手に切り替えてしまう挙動をオフにしたのだけど、まだなんかすると勝手に日本語入力モードになってしまうことがあった。

まだIMEが勝手に日本語入力モードになる

再現手順は以下の通り。

  1. ブラウザのURL欄に日本語で何か入力する
  2. 検索結果表示される
  3. 別のアプリに行き、直接入力モードで何か入力する
  4. ブラウザのURL欄にフォーカスする

別のアプリに行って直接入力に切り替えた設定が、ブラウザの入力欄にフォーカスすると、以前ブラウザで入力してた時の日本語入力モードに勝手に切り替えられている。

この挙動は自分はまったく期待していない。IMEの設定はグローバルで、自分が切り替えた状態でいつもいて欲しい。一応、世の中的には大多数の人がほとんどの時間を日本語入力モードですごすことは承知の上ですが、これは入力モードが日本語入力モードデフォルトか、直接入力か、というはなしではありません。IMEの入力モード切替がアプリ間で共通かどうか、です。複数のアプリで個別に入力モードを切り替えながら作業しているとき、あるアプリの入力モードが最後なにだったかなんて記憶できる人いないですよね?記憶しないとなると、つまりアプリを切り替えるごとに入力モードを確認しないといけなくなって面倒なのです。入力モードはアプリケーション横断で共通の方が人間の頭の中がシンプルで済むのですよ。

結論:Windows10では入力モードはアプリごと

ちょっと調べてみたわかったのは、Windows10において、入力モードはアプリごとに保存され、OSの設定でこれをグローバルにすることは不可能そう、という残念な結果だった。

アプリケーションを終了しない限りは、最後に利用していた入力モードが利用できます。挙げられた例の様に「一旦メールを閉じて、再度メールを開く」場合は、英数字入力モードとなりますが、「一旦メールアプリから別のアプリに移動してから、再度メールアプリに戻る」場合は、前回入力していたのが日本語であれば、引き続き日本語を入力するモードとなります。

上に引用したページでも言及されているが、Windows10には アプリウィンドウごとに異なる入力方式を設定する というまさに私が欲している設定のように見える設定項目がありますが、これは残念ながら期待するものではありません。この アプリウィンドウごとに異なる入力方式を設定する をオンにしてできることは、あるアプリケーションでは日本語入力、あるアプリケーションではロシア語入力、という使い方をしたい人のためのもので、入力方式、というのは、いわゆる全角入力・半角入力というような入力モードではないようです。(「使用言語」とかの方が正しい気がしますが)

というわけで、Microsoft IME開発チームの人が、IMEの切り替えはアプリごとだと言っているのでこれはもう仕様ですね。私の期待がまちがっているという結論みたいです。

ふーむ、困った。これ、Windowsで開発してる人にとってかなり不便じゃないかと思うんだけどどうなんだろうなー。オプションでいいから、グローバルにさせてくれよ、、

サイト内検索