At 05:06 PM 16/12/2001 -0800, Michael \(michka\) Kaplan wrote: >From: "Marc Durdin" <[EMAIL PROTECTED]> > > > With keyboards under Windows, you must send a surrogate pair for > > WM_CHAR messages, but you need to send a UTF-32 codepoint for > > WM_UNICHAR messages. > >I am not sure I understand.... keyboards as defined in the DDK do not send >either message. I assume that you are referring to one of the third party >solutions that does not use the documented DDK interfaces for keyboards?
Keyboards as defined in the DDK return a table of keystroke to character pairs (I'm ignoring deadkeys and ligatures). The Windows function TranslateMessage (defined in user32.dll, and called by an application when it receives WM_KEYDOWN) uses this table to send WM_CHAR messages to the focused window. Keyboards as defined in the Windows DDK do not have any logic in them -- they are basically a table stored in a DLL to simplify memory management. As far as I know, no released version of Windows ever sends WM_UNICHAR from the system keyboards. Marc Durdin Tavultesoft