WinCE 5.0下鼠标键盘驱动完全解析(上)

时间:2011-09-04
 

  本文通过对WinCE 5.0下的鼠标键盘驱动分析,对WinCE驱动程序设计进行了分析。欢迎大家对不对的地方指出。

  硬件

  写一个驱动程序的件事就是读硬件的规范文档。所以首先必须了解硬件才能写好驱动。鼠标和键盘现在已经成为现代PC机上不可缺少的组成部分了。有兴趣可以看下他们的发展历史:

  1968年12月9日,世界上的个鼠标诞生于美国史丹福大学。它的发明者是Douglas Englebart博士。

  1981年,只商业化鼠标诞生

  1983年,罗技公司发明了只光学机械式鼠标。

  1980年代初,还出现了代光电鼠标,这类光电鼠标具有比机械鼠标更高的度。但是它必须工作在特殊的印有细微格栅的光电鼠标板上。这种鼠标过高的成本限制了其使用范围

  1999年,安捷伦公司(Aeilent, 后改组为安华高, Avago)发布了IntelliEye光学引擎,继而市场上出现了不需要专用鼠标板的光电鼠标,光电鼠标的普及由此开始。

  2003年,罗技与微软分别推出以蓝牙微通讯协定的蓝牙鼠标

  2005年,罗技与安华高合作推出款激光鼠标(无线, 可充电, Logitech MX1000)

  2006年,只克服玻璃障碍的有线雷射鼠标问世(DEXIN, ML45)

  2006年,蓝牙雷射鼠标问世(Acrox)

  硬件之键盘

  目前现在大概有下面3类键盘:

  l USB keyboard 被Macintosh 和IBM兼容机所支持的键盘。在WinCE下,这种设备(键盘和鼠标)属于HID设备(Human Interface Device)。由于涉及到USB驱动,所以在本文暂时,准备在USB驱动中详细补充(其中的中断处理算法和ps/2基本一致,只是接口上发生变化)。

  l IBM/compatible keyboards 现代PC机支持的AT Keyboard 和PS/2 keyboard.。本文重点讲解WinCE 5.0下PS/2键盘驱动。

  l ADB keyboards 老式的苹果机上使用,本文不关注。

  8042和8048

  又有历史来了,一开始,IBM首先使用Intel 8048微控制器作为键盘的编码器,使用Intel 8042微控制器作为键盘控制器。所以呢,现在这个标准都被大家所接受了。基本上键盘设备的控制器就这2种了。

  其中,8048是键盘上的编码器,8042是在主机上的键盘控制器(目前,基本上都已经被集成到了芯片组里了)。位置就如下图所示:

 

  8042的工作模式

  l 依赖于主板的不同键盘控制器可以工作于两个模式之一AT 兼容模式或PS/2 兼容模式

  l 如果主板支持PS/2 鼠标就工作在后一种模式下。在这种情况下8042 的作用是键盘控制器和鼠标控制器

  l 键盘控制器根据键盘端口的连线情况自动检测它应该工作在何种模式下

  PS/2键盘

  l Scan code, Make Codes, Break Codes, and Typematic Repeat


  
上一篇:一种旋转机械实时特征提取及测试数据压缩系统设计
下一篇:Linux 2.6内核的研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料