英创ARM9工控主板除支持标准USB键盘外,均还配有基于GPIO和精简ISA总线的矩阵键盘驱动,在使用时,只需加载基于GPIO或基于ISA总线的键盘驱动程序,当有键按下时,系统就会产生标准的WINDOWS按键消息。为方便客户评估,矩阵键盘的虚拟键码与英创矩阵键盘扩展模块(ETA201)完全对应,具体的虚拟键码如下所示:
KIN0
KIN1
KIN2
KIN3
KOUT0
VK_ESCAPE
VK_0
VK_PERIOD
VK_BACK
KOUT1
VK_ADD
VK_1
VK_2
VK_3
KOUT2
VK_SUBTARCT
VK_4
VK_5
VK_6
KOUT3
VK_MULTIPLY
VK_7
VK_8
VK_9
KOUT4
VK_DIVIDE
VK_SPACE
VK_DECIMAL
VK_RETURN
在实际使用中,客户往往需要使用一些控键(比如方向键),此时可以通过修改注册表来得到其虚拟键码。以修改EM9161、ISA 4×5键盘、第2行、第1列按键的虚拟键码为例,该位置默认为Add key,现改为“向上”键(up ARROW key),对应虚拟键码为VK_UP。
1、通过EVC的Remote Registry Editor工具,打开EM9161的注册表,找到“EM9161 Device\HKEY_LOCAL_MACHINE\Drivers\ISA_KEYPAD”键,如图1。图中所示“K4×510”键表示4×5键盘的第2行,第1列,可以看到其键值为107,对应的虚拟键码为VK_ADD。
图1
2、查找“向上”键(up ARROW key)的虚拟键码VK_UP对应的值为0x26,在EM9161注册表中修改“K4×510”键的键值为0x26,注意的是,此处的键值为10进制表示方式,所以需要做一下转换,最终将“K4×510”键的键值设置为38。如图2。
图2
3、退出Remote Registry Editor,重启系统使设置生效。客户也可以通过程序、批处理或使用其它工具来完成注册表的修改。
注:与虚拟键码对应的16进制值可在MSDN上找到:
http://msdn.microsoft.com/zh-cn/library/ms927178(en-us).aspx