Hooks are only installed if GetSystemMetrics(SM_DBCSENABLED) and GetSystemMetrics(SM_IMMENABLED) are both true.
Your earlier patch which implement SM_IMEENABLED turns it on if GetVersion() & 0xff >= 6 or if the version is == 5 SM_DBCSENABLED, what window versions. So Any prefix with a version of lower than XP would no longer have default IME windows? For Windows XP and higher then we need SM_DBCSENABLED to be true.
SM_DBCSENABLED results in the codepage having a MaxCharSize as > 1, which looks like it pretty much always true, especially for UTF8, but under which situations would that not be the case, and again we would be disabling the default IME window?
I like what you are doing here, I just want to understand what situations we would be disabling ime input.
-aric
On 3/2/16 7:54 AM, Akihiro Sagawa wrote:
In other words, we no longer create it in ImmGetDefaultIMEWnd().
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com
dlls/imm32/imm.c | 59 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 23 deletions(-)
On Thu, 3 Mar 2016 08:58:14 -0600, Aric Stewart wrote:
Hooks are only installed if GetSystemMetrics(SM_DBCSENABLED) and GetSystemMetrics(SM_IMMENABLED) are both true.
No, hooks are installed if either SM_DBCSENABLED or SM_IMMENABLED is true. The former is enabled in East Asian locales (aka DBCS locales), and the latter is enabled in Vista and/or later versions (by my earlier patch).
I like what you are doing here, I just want to understand what situations we would be disabling ime input.
For instance, English version of Windows XP. In that case, it won't create the default IME window because the native doesn't support IME. If East Asian files are installed in such environment, the system will create the window (and turn on SM_IMMENABLED).
Do you mean that we should create the default IME window for SBCS version of Windows 2000/XP to support IME? In other words, should we set SM_IMMENABLED = 1 if (GetVersion() & 0xff) >= 5 ?
Thanks for reviewing, Akihiro Sagawa
-aric
On 3/2/16 7:54 AM, Akihiro Sagawa wrote:
In other words, we no longer create it in ImmGetDefaultIMEWnd().
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com
dlls/imm32/imm.c | 59 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 23 deletions(-)