本文通过对
WinCE 5.0
下的鼠标键盘驱动分析,对
WinCE
驱动程序设计进行了分析。欢迎大家对不对的地方指出。
写一个驱动程序的第一件事就是读硬件的规范文档。所以首先必须了解硬件才能写好驱动。鼠标和键盘现在已经成为现代PC机上不可缺少的组成部分了。有兴趣可以看下他们的发展历史: 鼠标历史推荐链接:http://www.blogchina.com/new/source/200.html 键盘历史推荐链接:http://www.soft6.com/news/detail.asp?id=11662
硬件之键盘目前现在大概有下面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 l 键盘驱动程序因为语言相关性,所以有点不同(扫描码à虚拟键值à( Unicode)字符,他们之间的变换都依赖于特定某种语言的键盘布局)。 硬件之鼠标(PS/2)鼠标 l The standard PS/2 mouse supports the following inputs: X (right/left) movement, Y (up/down) movement, left button, middle button, and right button. l The mouse reads these inputs at a regular frequency and updates various counters and flags to reflect movement and button states. l Use the same protocol as the PS/2 (AT) keyboard. l PS/2 鼠标和键盘履行一种双向同步串行协议. l 计算机启动时检测和初始化 |
WinCE 5.0下鼠标键盘驱动分析
最新推荐文章于 2014-06-18 19:53:29 发布