Skip to content

IME candidate position is incorrect on Win32 desktop embedder #76902

Description

@cbracken

The handlers for the TextInput.setMarkedTextRect and TextInput.setEditableSizeAndTransform in our win32 embedding deal solely in Flutter root view co-ordinates. These need to be converted to window co-ordinates before being passed to the TextInputManager, which deals in Win32 window co-ordinates.

The IME candidates window for CJK input is currently positioned incorrectly at display scales other than 100% on Windows.

To reproduce:

  1. Open the Display Settings in the Windows system settings.
  2. In the Scale and layout section, select a value other than 100% from the Change the size of text, apps and other items drop-down.
  3. Launch a Flutter app with a text field.
  4. Switch to Japanese input and enter hiragana text.

Expected result: candidates drop-down appears under the cursor position.
Actual result: candidates drop-down appears at a different, unscaled, position.

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsplatform-windowsBuilding on or for Windows specifically

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions