Sorry if this is mentioned before, but I have very slow connection to check
the mailinglist archive from website.
My question is related to keyboard input support in SDL. Currently SDL uses
DirectX’s (or X11) interface to grab keyboard event such as PRESSED and
RELEASED, but it is almost impossible to support proper text input with
platform native IME (Input Method Engine), either Win32 IME or Xinput.
So here are my questions:
-
Is there any planned support for IME in SDL’s future version?
-
How hard is it to support IME in addition to current keyboard events? Are
the two conflicting with each other? -
Does DirectX support text input via Win32 IME? (Please pardon my
ignorance, I am not very familiar with either Win32 or DirectX)
IME support is important if you need to place an input box in your game for
users to type text in languages other than English, such as Korean or
Chinese, and line input is a crucial feature for online games.
On Win32, I’ve been using ugly hacks to get around this, such as creating a
hidden Win32 window as a child of the main SDL window to intercept keyboard
input, but this messed up the window input focus, and is causing various
problems.
On X11, I am creating another window and always hide it at the back of the
main SDL window, again it causes problems with window focus, and messed up
some windows manager, such as Ion.
If anybody has the experience of doing text input in SDL using the native
platform support (not writing your own keyboard routines using SDL key
event), please enlighten me. Thanks!
Regards,
.paul.