因此,每个按键的代码必须由“键编码”,“按键名称”,“按键所属的键盘部分(标准/扩展)”,“按键是否参与测试”,“0”,“按键的左右位置”,“按键的上下位置”,“按键的长度”,“ 按键的宽度”组成。而相应按键的参数,可以借鉴AT107+Mouse.kbl文件里的代码。下面我们就以ThinkPad笔记本电脑键盘(以下简称ThinkPad键盘)为例,把KeyboardTest变成其专用的键盘测试程序。
图4
首先我们需要用数码相机给ThinkPad键盘拍照(图4),完成拍照后必须将键盘图片保存为700×340像素、256色,且命名为ThinkPad.bmp,并将其放到测试程序安装目录下。然后创建ThinkPad.kbl文件,填写相应的代码。需要注意的是输入代码时一定要确保没有空行,否则测试程序无法正常运行。由于代码篇幅太大,本文无法一一罗列,下面就节选其中一段来讲解,以此类推。
以ThinkPad键盘为例,在“VK_ESCAPE”,01,“Esc”,“false”,“KTSTATUSUP”,0,15,10,38,29之后应加入以下代码:
44,55, “Print”“, true”“, KTSTATUSUP”,0,425,20,38,26
145,70, “Scroll”“, false”“, KTSTATUSUP”,0,465,20,38,26
19,69, “Pause”“, false”“, KTSTATUSUP”,0,505,20,38,26
45,82, “Ins”“, true”“, KTSTATUSUP”,0,565,20,38,26
36,71, “Home”“, true”“, KTSTATUSUP”,0,605,20,38,26
33,73, “PgUp”“, true”“, KTSTATUSUP”,0,645,20,38,26
以上代码包括有对“ESC”、“Print”、“ Scroll”等功能键的控制。由于ThinkPad键盘的键位与传统键盘有所不同,传统键盘的顶部为“ESC”和“F1~F12”等按键,而ThinkPad键盘则将传统键盘的功能键全部移至顶部,在“ESC”之后是“Print”、“Scroll”等功能键,因此在第一段代码中,就将上述功能键的控制代码添加进去。接下来,用户只需根据键位的不同,按部就班地添加即可。
图5:ThinkPad键盘与普通键盘的代码对比
我们将ThinkPad键盘与普通键盘的控制代码进行对比,在前两段的代码里可以清楚看到因键位不同相应代码的添加和删减(图5)情况。不过就算键位布局不同,包括ThinkPad键盘在内的键盘依然可从上至下将按键划分为六段,每一段之间的代码用#Row来间隔,如“#Row2、#Row3,……#Row6”。
图6
在修改ThinkPad键盘代码时需要注意两点,其一是禁用TouchPad中键测试,其二是代码不支持快捷按键和电源键。在完成ThinkPad键盘的代码修改后,KeyboardTest里将出现ThinkPad选项(图6)。
图7:所有测试均顺利通过
到此,我们已经完成了打造ThinkPad键盘的测试。当然,大家也可以据此去打造属于自己的专有键盘测试程序。怎么样?酷吧!