`WM_CHAR` does not function properly when `_UNICODE` is defined
GitMensch opened this issue · 0 comments
My app that uses
PDCursesMod
is compiled with theUse Unicode Character Set
option with MSVC++, which will ensure allWin32
API calls use the wide-character variants, all of which use UTF16 encoded characters and strings regardless of the user's selected locale.That means that when
_UNICODE
is defined the character sent to theWM_CHAR
message is UTF16 encoded -- andPDCursesMod
adds it to key queue directly viaadd_key_to_queue((int) wParam);
My app definesPDC_FORCE_UTF8
, so I was assuming that internally this character would be converted to a sequence of UTF8 bytes to be received bygetch()
calls.However, this was not the case, and parsing some non-ascii characters was problematic.
Originally posted by @clangen in #260 where @Bill-Gray presented a different (still unfinished) approach.