Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The content of this PR has only been tested under textInputV3, as my understanding of Wayland is limited, so it may contain issues.
1. Improves
The current Wayland implementation defaults to automatically enabling the input method when the application starts, leading to:
Therefore, I directly removed the keyboard activation functions of
textInputV1Enter
andtextInputV3Enter
, and at the same time, simply implemented the IME status-related functions, allowing users to enable or disable the keyboard throughglfwSetInputMode
.2. Fix for endless preedit cursor update
While implementing the above, I found that
textInputV3Done
is called repeatedly after the application starts.After reading the documentation:
I made a simple adjustment, calling
zwp_text_input_v3_set_cursor_rectangle
/zwp_text_input_v1_set_cursor_rectangle
only when the coordinates change. As I tested with an on-screen keyboard, I am not sure if it will affect the other input method, but it did indeed stop the loop oftextInputV3Done
being called repeatedly.