如何编写本地化的屏幕键盘
我必须为我们公司的程序编写一个屏幕键盘,该程序主要用于具有触摸功能的工业PC。
我们无法使用Windows默认键盘,因为我们不需要键盘上的所有键。所以我被要求用C#写一个自定义的。
我已经发现这个博客作为参考,但我不知道如何开始。
我创建了一个小型原型GUI,为每个键分配一个扫描码,并将这些扫描码转换为相关的字符。并将它们发送到主动控件。但我不确定我应该使用哪种扫描码。
所以我的问题是,这是编写像这样的OSK的正确方法,如果是,我应该使用哪些扫描码?有链接吗?
我也不确定如何处理换档状态......
编辑:
好的,我做了一些研究,想出了一个osk,它读取当前的键盘布局,甚至可以处理简单的移位状态(Shift和Alt Gr)。我写了一个继承自
Button
的KeyButton
类,这个KeyButton
具有byte类型的ScanCode
属性,如果你为它分配一个有效的扫描码,KeyButton
将调用相关的函数来获得正确的文本。我使用Michael Kaplan博客的功能进行了一些小改动。最后我发现我必须像他一样做。
所以我的问题的答案是:是的,您必须在按钮上使用扫描码,然后从键盘布局中获取虚拟键和unicode。使用这些扫描码。
现在我得到的角色唯一剩下的就是发送它们。
没有找到相关结果
已邀请:
3 个回复
蕾跨立锌煤
根据按钮等改变键
外镶受继
樊熄忙暖