【デスクトップ版】特定のページでIME入力操作をした後アドレスバーの編集ができなくなる
-
■Vivaldi ご利用環境、OS と Vivaldi のバージョン(何bit版か含め)
OS: Windows 11 Version 23H2 (Build 22631.4037)
Vivaldi: Vivaldi 6.8.3381.53 (Stable channel) (32-bit)■再現手順(ステップ・バイ・ステップ)
①SKK日本語入力FEP(http://coexe.web.fc2.com/programs.html)をインストールしIMEを使用可能にした状態で、Vivaldiでyoutube.comの任意の動画のページを開きます。
②動画を再生し、カーソルキーの左右で動画の早送り、早戻しができることを確認します。
③CTRL+Jを押し、タスクバーの言語表示が「A」から「あ」に変わったことを確認します。この時点ではまだカーソルキーで動画の操作が可能です。
④適当なキー、たとえばAのキーを押し、IME内部に「あ」の文字を生成します。(この時、画面は何も変化しません)
⑤この状態ではカーソルキーの左右を押しても何も反応しません。(これはIMEのコンポジション内に文字が存在しているためであり、正常な挙動であると考えます)
⑥この時、アドレスバーをクリックしてアドレスバーの編集を行なおうとすると、操作を受け付けずアドレスバーの文字を編集することができません。
⑦この状態に陥った場合は、いったん別のウィンドウをクリックするなどしてウィンドウフォーカスを別のプロセスに移動させることで直るようです。■本来あるべき挙動
参考までに同じ操作を他のブラウザで実施した場合は以下のようになりました。Google Chrome 127.0.6533.120(Official Build)(64 ビット):⑤までは同様の動作ですが、⑥でアドレスバーをクリックすれば問題なくアドレスバーを編集できます。アドレスバーを編集した後、また動画側にフォーカスを戻せば、再びカーソルキーでの早送り、早戻し操作を行うことができます。
(これは憶測なのですが、Google Chromeでは⑥でアドレスバーをクリックしてフォーカスが変更された際に、ITfComposition::EndCompositionを呼ぶなどしているのではないかと思います)Firefox 129.0.2 (64 ビット): 上記③の時点で、IME側のアイコンが×となっており、IMEオン操作ができないように制御されているようです。
Vivaldiでは上記⑥の所でアドレスバーの操作ができなくなってしまう点が問題ではないかと思います。
■補足
SKK日本語入力FEP作者のcoと申します。
上記⑤の状況で、IME側から動作を観測したところ、Vivaldi側からIMEに対して大量のAPIが発行され続けているようでした。タスクマネージャーで見ると⑤の後数秒ほどvivaldiのCPU使用率が上昇しているようでした。
③の時点で入力モードの変更ができるIMEは珍しいかもしれませんが、IMEの実装としては可能であり、こうしたIMEと組み合わせた場合でも操作不能にならないよう考慮いただければと思います。
よろしくお願いします。 -
報告ありがとうございます
こちらでもテストさせていただきましたが、ご記載の通りの挙動には至りませんでした。
念の為、以下、確認させてください。CTRL+Jを押し、タスクバーの言語表示が「A」から「あ」に変わったことを確認します。
このステップでは、フォーカスは動画にあたっている、という認識で合っていますか?
こちらの環境では IME のアイコンが × となっており、CTRL + J では言語表示の変更が行えませんでした。
アドレス欄をクリックし、フォーカスがアドレス欄にある時のみ、CTRL + J での言語表示の変更が確認できました。
CTRL + J 押下時には、デフォルトのキーボードショートカットにより、パネルが開きました。ちなみに、本件は新しいプロファイルでも挙動は同じでしょうか?
もし検証がまだの場合、新規プロファイルにて拡張機能を全て無効にした状態
(vivaldi://extensions/) で、再現可能かを確認いただければと思います。また、私の検証方法に誤りがある可能性も十分にありえますので、可能であれば、実際の様子がわかる動画を共有いただけると助かります。
-
@ahojo ご確認いただき、ありがとうございます。
このステップでは、フォーカスは動画にあたっている、という認識で合っていますか?
はい、そうです。
新規プロファイルを作成した上で、再現手順を動画にしましたので、以下のURLの動画をご参照ください。
https://38.gigafile.nu/1206-c43d2fbba43fe1d64ad1b27383fb847d5動画冒頭のテキストの内容と同じ内容を以下に記しておきます。
- Vivaldiの情報
MacType適用のため起動は"vivaldi.exe --no-sandbox"としています。(無関係とは思いますが念のため) https://github.com/snowie2000/MacType - Windowsの情報 【註釈】これは動画内では最後にやっています
- まず、IMEをOFF(言語アイコンは「-」になる)にしてCTRL+Jを入力し、ダウンロードパネルのトグル動作を確認
- IMEをONし、Lを押して英数(言語アイコンは「A」になる)にする
ここは説明が足りていなかったと思います。SKK日本語入力FEPではこの状態(英数モード)を標準状態として利用します。 SKKではIME OFFの状態にすることはまずありません。 おそらくこの部分が再現時に異なっているのではないかと思います。 - Youtubeを開き、動画を再生
- IMEが英数モードの状態で、カーソルキー左右を入力
- CTRL+Jを押し、ひらがなモード(言語アイコンは「あ」になる)に変化すること、Lを押して英数に戻ることを確認
- CTRL+Jを押し、Aを押してIMEコンポジション内に文字を生成(画面は変化しません)
- カーソルキー左右を入力しても動画の操作ができないことを確認
- アドレスバーをクリックして編集ができないことを確認
(11. その後いろいろ入力可能な場所をクリックしていくとどんどんVivaldiが重くなり、動画再生が止まる)
(12. 別ウィンドウをクリックしてフォーカスを移すと動画再生が再度始まる)
(13. Windows の情報)
以上
- Vivaldiの情報
-
詳細の情報提供ありがとうございます
その後何度か環境を変えながらテストを行いましたが、記載通りの挙動の再現には至りませんでした。
テスターチームにさらなる検証をお願いしてみます。 -
@ahojo 再度のご確認ありがとうございます。
Vivaldi開発側の環境では現象が再現しなかったということで了解いたしました。いつか、お時間に余裕のある時で構いませんので、以下の手順を試してみていただけますでしょうか。
もし、ここに書いた手順通りにやっても動作に違いがあるという場合は、この再現手順の何番目で違いが起きたのかをお知らせいただけると助かります。- SKK日本語入力FEPが有効な状態でVivaldiにてYoutubeで動画を再生し、左右キーで早送り・早戻しができる状態にする
- まず、アドレスバーをクリックし、[全角/半角]キーを何度か押しタスクバーの言語表示欄を日本語入力モード(「あ」の表示)にする。ここで確実にIME ONかつ日本語入力モードになっていることを確認する
(IME ONの状態にしておくことが重要です) - この状態で、動画やその付近を左クリックするなどして動画ページ側にフォーカスを移す
- この際、言語表示が日本語入力モード(「あ」の表示)のままになっていることを確認する
(ここでIME ONのままであることが重要です) - フォーカスが移った直後の状態では、左右キーで動画の早送り・早戻しができます
- ここでキーボードの「A」を押し、ひらがなの文字をIME内部に生成します(画面上は変化なし)
- この状態だと左右キーで操作が効かなくなり、その後アドレスバーをクリックしても編集ができなくなります
こちらで確認したところ、Vivaldiはキー入力ができない場所にフォーカスがある場合、[全角/半角]でのIMEのON/OFF操作は不可能となっています。
SKK日本語入力FEPをIMEとして使用している状態では、IME ONの状態でキー入力できない場所にフォーカスが移った場合はIME ONのまま操作を継続することができます。
この時、キー入力できない場所にフォーカスがあるため、[全角/半角]でのIME ON/OFF操作はできないのですが、IME ONとなっているためCTRL+JとLキーでのモード変更は可能であり、この状況で日本語の文字を入力しようとすると今回の現象につながります。
すなわち、上記の操作4番目で、アドレスバー等のキー入力可能領域でIME ONにした状態で、キー入力不可能の場所にキーボードフォーカスを移動させ、その後もIME ONになっていることが重要です。テスターチームの方に上記をお伝えいただけますと助かります。
よろしくお願いします。追伸
こちらでは--no-sandboxを外した状態でも同様の現象が発生しました