--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/1144a170-393e-4b7b-aa19-fb8886dcedabn%40googlegroups.com.
Yes, it appears that DrRacket doesn’t handle IME events (e.g., WM_IME_SETCONTEXT
). The IME event codes are defined in https://github.com/racket/gui/blob/master/gui-lib/mred/private/wx/win32/const.rkt#L237, but they are not used anywhere as far as I can see.
The discussion in JUCE and the StackOverflow answer are informative. They say that when the app (DrRacket in this case) doesn’t handle these events, Windows will create the default composition window. To get DrRacket to input directly without going through the default composition window, DrRacket needs to handle them.
You can file a feature request at https://github.com/racket/gui/issues/new and probably when Matthew is … free, he might implement it. That being said, I don’t think it is going to be on the priority list, so it’s likely this is not gonna be implemented soon (or ever).
I find this one : https://forum.juce.com/t/ime-pop-up-on-text-input/6580/2
it say:The basic problem is that many non-western languages use alphabets whose characters exceed the number of keys on a keyboard.
So in order to input these characters Input Method Editors (IMEs) are used that map sequences of keystrokes to characters.For instance one way of entering Japanese text is to use English phonetic spelling (“romaji”) which then automatically gets translated to Japanese syllabic characters as the user types (composition). E.g. 3 key strokes “tsu” gets translated to “つ” if the IME is set to Hiragana or “ツ” if the IME is set to Katakana. The syllabic transcription can then be translated to Chinese-derived Kanji characters, at which point the user has to resolve ambiguous homophones (one word in Hiragana or Katakana can be written in different ways in Kanji depending on meaning; there may also be ambiguity wrt. word boundaries as there are no spaces used).
On Windows this is handled through the IMM (Input Method Manager) API (or the newer Text Services Framework API). If an app is not IME-aware IME messages are simply passed on to DefWndProc() and the IME takes care of all the GUI stuff needed (this is what happens in Juce currently). There are two main default windows in IMEs; the IME Composition Window (for unambiguous as-you-type translation) and the IME Candidates Window (for showing a list of candidate translations when there is ambiguity).
The default Composition Window in particular is not so nice from a user experience point of view (the Candidates Window is okay though).shaoxiong li <enyal...@gmail.com> 于2020年8月3日周一 下午6:13写道:My question is like this one. I want to ask if this happens because of the windows IME problem or the racket/gui is not connected to the IME correctly, and what is the small box in the upper left corner? Some people say it is the fallback mechanism of windows, but I can't find more information about itshaoxiong li <enyal...@gmail.com> 于2020年7月31日周五 上午11:43写道:yes!thanks for replySorawee Porncharoenwase <sorawe...@gmail.com> 于2020年7月31日周五 上午2:24写道: