-
-
Notifications
You must be signed in to change notification settings - Fork 855
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
web: Implement basic IME #19896
base: master
Are you sure you want to change the base?
web: Implement basic IME #19896
Conversation
This isn't working on Android when I try to type in an EditText with the virtual keyboard. |
A virtual keyboard like the one on Android |
To explain the current logic, which I guess may need comments.
|
I'm guessing the IME logic can be used to support this more properly, but landing this PR without IME support would regress the virtual keyboard. |
Maybe we can do exactly this but also keydown and keyup the |
a00d15d
to
2af747a
Compare
@danielhjacobs can you check if the current code works properly? It does for me |
Tried with GBoard and it worked perfectly. With Samsung Keyboard it's unfortunately a different story, see recording. Screen_Recording_20250329_171917_Chrome.online-video-cutter.com.mp4 |
It seems that this keyboard uses IME for inputting all text. Without implementing IME on web we cannot have both IME preview and IME input working :/ This PR breaks IME preview, but fixes IME input. |
This patch implements IME preediting and committing on web. It does not implement moving the cursor and proper positioning yet.
Okay, as IME on web is a mess, I've decided to implement basic IME mechanics (including preediting) on web. @danielhjacobs @n0samu You can test it out here: https://kjarosh.github.io/ruffle/pr19896/ |
Basically, if we ignore composing input events, we can just accept the final composed text as key presses (not as text composition).
This is the first step towards implementing IME on web.
IME mechanics are not being used, no preview is available, but inserting text with IME should work.