市场上的WinCE操作系统的盘点机,PDA,移动终端,几乎斗殴没有通过键盘像手机一样来输入字母的,几乎都是打开WinCE输入法中的小键盘,通过触摸来进行字母的输入。
因为WinCE操作系统没有很好的解决这个问题,所以需要WinCE驱动工程师通过一种很巧妙的办法来实现。
网上关于实现这个的文章几乎没有。也可能是因为大多数人不知道怎么去实现。
先介绍一下,键盘输入字母的方式。键盘输入字母的方式,就像我们的普通手机一样,通过连续按某个按键来在字母间进行切换,等到我们需要的字母(大写或者小写),等待约0.5s即确认输入这个字母。在连续按的过程中,不确定的字母会被选中,只有延时0.5S表示确认输入该字母,字母即输入成功,而不被选中。被选中的字母,再按一下该键,即切换到下一个字母。
使用我们以前的普通手机,就很清楚这种键盘输入字母的输入方式。所以WinCE的盘点机实现该种方式,输入字母的速度会大大加快,也非常方便。
为了实现这种输入方式,我们需要在键盘驱动上下功夫,主要涉及到多线程,事件的灵活运用。
在我们上屏一个字母时,我们需要选中这个字母,如果检测到用户在0.5s内再按下这个键,那么就上屏这个键的下一个字母,并选中。当检测到0.5s,用户没有按这个键,而是按了另外键,或者根本没按键,那么就确认该字母。这样就实现了。