Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Win32] CJK IME Character/Candidate Word Loss on Newly Focused TextBox #14663

Closed
gehongyan opened this issue Feb 20, 2024 · 0 comments · Fixed by #14664
Closed

[Win32] CJK IME Character/Candidate Word Loss on Newly Focused TextBox #14663

gehongyan opened this issue Feb 20, 2024 · 0 comments · Fixed by #14664

Comments

@gehongyan
Copy link
Contributor

gehongyan commented Feb 20, 2024

Describe the bug

When using the Windows built-in Chinese IME, the first character typed on the newly focused TextBox failed to display correctly in the TextBox. When using Sogou Chinese IME, the first selected candidate word failed to display in a newly focused TextBox.

To Reproduce

The Windows message behaviors of IME on Windows can be roughly divided into two categories:

  1. As the user inputs, IME-related Windows messages are synchronously passed to the application.
  2. The IME autonomously manages user input. When the user selects a candidate word, the IME submits all IME-related Windows messages to the application together.

1. Synchronous Message Passing

Take Windows built-in Chinese IME as an example.

  1. Focus on an unfocused TextBox.
  2. Type a letter character and observe.
  3. The candidate words have appeared, but the typed letter does not appear in the TextBox.
  4. Continue typing another letter character and observe.
  5. The candidate words have been updated, and a composition string containing the two typed characters appears in the TextBox simultaneously.
  6. Continuing typing, the IME returns to normal.

2. Autonomous Composition

Take Sogou Chinese IME as an example.

  1. Focus on an unfocused TextBox.
  2. Enter a string of any length. The IME autonomously manages user input, so the application cannot grasp the IME's string composition. Therefore, unlike the first scenario, the composed string will not be displayed in the TextBox, which is expected.
  3. Type the space to select the first candidate word and observe.
  4. The selected candidate word does not appear in the TextBox.
  5. Continuing typing, the IME returns to normal.

Expected behavior

The first character or the first selected candidate word should be displayed in a newly focused TextBox.

Screenshots

imeissue.mp4

Environment

  • OS: Windows 11 23H2
  • Avalonia-Version: 11.0.9

Additional context

#13881

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants