Windows IME:定制韩文虚拟键盘 [英] Windows IME: custom Korean virtual keyboard
问题描述
我的韩文Windows IME有问题.我正在为一块嵌入式软件设计一个虚拟(屏幕/软件)键盘.我依靠Windows IME,它似乎对日语和中文都可以正常工作.如果我使用的是物理键盘,它也可以与韩语完美搭配.
I have problem with Korean Windows IME. I am designing a virtual (screen/software) keyboard for a piece of embedded software. I rely on Windows IME and it seemed to work fine for Japanese and Chinese languages. It also works perfectly with Korean if I am using a physical keyboard.
但是,当我单击虚拟键盘按钮时,鼠标事件似乎会干扰IME,并且基本上只是取消合成.每次单击鼠标按钮都会触发WM_IME_ENDCOMPOSITION消息.结果,我只能获得单独的韩文符号,而无法将它们组合成单词.
But when I click a virtual keyboard button, the mouse events seem to interfere with IME and basically just cancel the composition. WM_IME_ENDCOMPOSITION message fires every time the mouse button is clicked. As a result I can only get separate Korean symbols without an ability to combine them into words.
有人知道有什么方法可以控制这种效果吗?默认的Windows软件键盘如何绕过它?出于一系列原因,我们无法在产品中使用默认的Windows软键盘,而需要设计自己的键盘.
Is anyone aware of any way to manage this effect? How does the default Windows software keyboard bypass it? For a list of reasons we cannot use default Windows soft keyboard in our product and need to design our own one.
谢谢.
推荐答案
合成结束是由键盘消息VK_ProcessKey
引起的.在间谍++单击虚拟键之后,您会看到此消息.
The composition ending is caused by keyboard message VK_ProcessKey
. You can see this message after you clicked the virtual key by the spy++.
考虑挂接用于通过Windows API SetWindowsHookEx
过滤此消息的函数.
Consider to hook a function used to filter this message by Windows API SetWindowsHookEx
.
就我而言,这种方式可以按我们预期的那样工作.
In my case, this way can work as we expected.
这篇关于Windows IME:定制韩文虚拟键盘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!