WinCE 5.0下鼠标键盘驱动完全解析(上)
出处:互联网 发布于:2011-09-04 11:14:01
本文通过对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内核的研究
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 嵌入式架构抉择:x86 与 ARM 深度剖析2026/7/8 16:24:24
- 嵌入式单片机全知道:发展历程、功能应用与学习窍门2026/7/7 15:56:28
- 深入剖析常见的嵌入式处理器架构2026/7/3 16:24:09
- 全面解析常见嵌入式处理器架构特点与应用2026/6/29 16:22:12
- 通过高性能 MCU 与集成外设,破解现代嵌入式设计难题2026/6/10 15:09:13









