You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have an application based on winit 0.29.7.
On MacOS you can open the character viewer using the fn/馃寪 key.
This seem to be the preferred way of inserting symbols and emojis into text fields in an application.
When I double click one of the characters (which inserts it into other applications), no events are sent from winit.
Screen.Recording.2023-12-30.at.18.16.45.mov
I have experimented more with winit, and it seems that it has to do with the IME implementation.
When I enable IME it still does not send events, but when IME has started, for example by typing the 篓 character, I can then insert emojis by double clicking on the character viewer.
Screen.Recording.2023-12-30.at.18.20.11.mov
When I end the IME for example by typing e, the events of the character viewer stops being sent again.
I looked into the MacOS implementation of winit.
The events from MacOS are sent through the insertText:replacementRange: event handler in the file src/platform_impl/macos/view.rs file.
I have tried debugging the issue, and inserting a dbg in the method:
When clicking the character viewer, the following is printed, when IME is not started:
I have an application based on winit 0.29.7.

On MacOS you can open the character viewer using the fn/馃寪 key.
This seem to be the preferred way of inserting symbols and emojis into text fields in an application.
When I double click one of the characters (which inserts it into other applications), no events are sent from winit.
Screen.Recording.2023-12-30.at.18.16.45.mov
I have experimented more with winit, and it seems that it has to do with the IME implementation.
When I enable IME it still does not send events, but when IME has started, for example by typing the 篓 character, I can then insert emojis by double clicking on the character viewer.
Screen.Recording.2023-12-30.at.18.20.11.mov
When I end the IME for example by typing e, the events of the character viewer stops being sent again.
I looked into the MacOS implementation of winit.
The events from MacOS are sent through the
insertText:replacementRange:event handler in the filesrc/platform_impl/macos/view.rsfile.I have tried debugging the issue, and inserting a dbg in the method:

When clicking the character viewer, the following is printed, when IME is not started:
When IME is started(by pressing 篓), it prints the following:
and sends the events:
If anything is missing I will try my best to provide it.