TextFieldで日本語入力中の不具合 – 開発日記(90)

2024/04/23~4/25

またもflutterの不具合に遭遇

TextFieldで日本語入力中にTabを押すと、予測変換の処理ではなくいきなり確定されて次のTextFieldにフォーカスが移ってしまう。

TextInputActionパラメータが関係するのかと思ったが、TextInputAction.noneにしても再現する。
flutterをversion 3.19.2 → 3.19.6へバージョンアップしても変わらず。

うーむ。Flutter Webの日本語入力周りはどうもダメだ。

仕方なく

「TextFieldで日本語入力中にTabを押すと、予測変換の処理ではなくいきなり確定されて次のTextFieldにフォーカスが移ってしまう問題」

としてGitHubにIssueとして上げた。

この不具合報告は大事なことだが、動作確認のためmaster channelに切り替えたり、サンプルコードを作ってチェックしたり、報告が英語というのもあるしこれだけでも結局1時間とかかかってしまう。

  • [Flutter Web] When pressing the Tab key in TextField, incorrect behavior occurs while Japanese IME composition mode is ON.
    1. Focus on the TextField.
    2. IME – Japanese Input Mode ON.
    3. Hit any characters. (eg. ああ)
    4. Press Tab key.
    environment: Chrome on Mac & Google Japanese Input flutter version: 3.19.6, 3.22.0-16.0.pre.13
  • https://github.com/flutter/flutter/issues/147282

すると意外とすぐにコメントが付いて、[Web] Select word for suggestions box using “Tab” key but changes focus #79775 と同じ問題なので統合するそうだ。
しかしそちらは2021年の報告だ。なんと3年間も直っていないのか…。

ドラッグ&ドロップの処理を改善

下記の状態でドラッグ開始されたとき…

移動対象が分かりやすくなるように、自動でツリーが選択されるようにした。

挙動の安定化

  • ドラッグ&ドロップした後のUndo時に、選択状態も元に戻すようにした。(これまでは選択が解除されていた)
  • 高速に操作・Undoされた場合でも対応できるように修正
  • キーボードショートカットやフォーカス周りの処理を調整
  • その他使用感の細かい改善を実施


※開発日記は当時の記録をもとに作成し、必要に応じて加筆・補足しています

この記事はアイディア整理ソフト「idea Lane」の開発記録です

どなたでも、ユーザ登録だけで無料ですぐに使えます
テキストベースの思考整理ツール「idea Lane」


コメント

タイトルとURLをコピーしました