You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am the author of a Traditional Chinese Input Method (IME).
My IME functioned well in Windows 10 versions prior to 1703. However, since the release of Windows 10 Version 1709, the screen keyboard only displays the English layout instead of the Chinese Phonetic (Bopomofo) layout.
Steps to reproduce the issue:
Download the SampleIME project from this link: SampleIME, and open it in Visual Studio Community 2015.
In Define.h, change the following line: #define TEXTSERVICE_LANGID MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
to #define TEXTSERVICE_LANGID MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
In SampleIME.cpp, modify this line: *pwPreferredLayoutId = TKBL_OPT_SIMPLIFIED_CHINESE_PINYIN;
to *pwPreferredLayoutId = TKBL_OPT_TRADITIONAL_CHINESE_PHONETIC;
Build the project.
Register the COM object by running: regsvr32.exe Debug/SampleIME.dll
Run Notepad.exe, switch the keyboard to "Sample IME", and activate the touch/screen keyboard.
The screen keyboard will only display the English layout instead of the Chinese Phonetic layout.
After tracing and debugging, it appears that the system does not invoke ITfFunctionProvider::GetFunction to query IID_ITfFnGetPreferredTouchKeyboardLayout, which would otherwise allow the GetLayout method to change the touch keyboard layout.
I would greatly appreciate any insights or solutions you could provide for this issue.
Thank you for your assistance.
The text was updated successfully, but these errors were encountered:
I am the author of a Traditional Chinese Input Method (IME).
My IME functioned well in Windows 10 versions prior to 1703. However, since the release of Windows 10 Version 1709, the screen keyboard only displays the English layout instead of the Chinese Phonetic (Bopomofo) layout.
Steps to reproduce the issue:
Define.h
, change the following line:#define TEXTSERVICE_LANGID MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
to
#define TEXTSERVICE_LANGID MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
SampleIME.cpp
, modify this line:*pwPreferredLayoutId = TKBL_OPT_SIMPLIFIED_CHINESE_PINYIN;
to
*pwPreferredLayoutId = TKBL_OPT_TRADITIONAL_CHINESE_PHONETIC;
regsvr32.exe Debug/SampleIME.dll
The screen keyboard will only display the English layout instead of the Chinese Phonetic layout.
After tracing and debugging, it appears that the system does not invoke
ITfFunctionProvider::GetFunction
to queryIID_ITfFnGetPreferredTouchKeyboardLayout
, which would otherwise allow theGetLayout
method to change the touch keyboard layout.I would greatly appreciate any insights or solutions you could provide for this issue.
Thank you for your assistance.
The text was updated successfully, but these errors were encountered: