700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > WinCE下的USB游戏手柄驱动 GamePad Joystick

WinCE下的USB游戏手柄驱动 GamePad Joystick

时间:2018-06-30 14:43:31

相关推荐

WinCE下的USB游戏手柄驱动 GamePad Joystick

USB接口的游戏手柄和键盘一样,称之为USB HID设备,在CE 系统已经有了 键盘/鼠标 两种HID 设备的驱动。 在public\common\oak\drivers\usb 下面已经有了两种设备的驱动程序源码。在该文件夹下,分成了CLASS,CLIENTS,COMMON,HCD,INC,USBD 几个文件夹,其中INC 和COMMON 里面有一个lock.c 的程序,这个程序很明显是将要被其他USB 有关的驱动程序所使用的一个锁,代码很简单,只是一个类似临界区的封装体,可以保护多线程对同一内存区域的读写访问,可以先不去管它。CLIENTS 文件夹可能最初微软的开发人员是用来放置设备驱动程序的,但是后来没有放,而发布的时候也没有删除,所以遗留了下来,里面是个空的文件夹,所以没用实际用处。USBD 和HCD 是前述的底层驱动,里面含有很多子文件夹和程序,由于我们只针对USB 设备驱动,因此对这两部分不做分析,有兴趣的朋友可以自己去了解. 重点就在CLASS 文件夹了,展开来看,里面又包含了COMMON、HID、PRINTER、STORAGE 几个文件夹,同样,COMMON 里面存放的源程序是为HID、PRINTER、STORAGE所共有的。HID 是USB 输入设备如键盘/鼠标的样例驱动程序,PRINTER 是USB 打印机的样例驱动程序,STORAGE是USB 存储设备如U 盘的样例程序. 在HID 下有CLIENTS 和HIDCLASS 两个文件夹. HIDCLASS 里有所有HID 设备驱动的共用代码(MDD 和PDD).HID设备驱动的注册表在[HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default]下面,已经存在的设备驱动为鼠标[1_2\Mouse] [1_6\KEYPAD],这里面的数字到底是什么含义,我们来看一下下面几个宏定义就知道了: 接下来就是要实现一个HID设备的驱动,这里至少要实现两个函数:HIDDeviceAttach和HIDDeviceNotifications。当HID设备插入时,系统会调用HIDDeviceAttach来加载相关程序,可以在加载的时候创建一个线程来接受键盘按键,并发送键盘事件,使用keybd_event或者SendInput相关函数。当然也可以将驱动实现为普通的流接口设备驱动,实现XXX_Init,XXX_Open,XXX_Read,XXX_Write等相关函数,并添加注册表,那么在应用层中就可以使用CreateFile来实现USB HID设备的读写功能了。例如我们现在使用的USB KEY等加密设备,大多也是作为一个HID设备来加载的。 相关驱动下载:<script type=text/javascript charset=utf-8 src="/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="/b/bshareC0.js"></script> 阅读(1059) | 评论(2) | 转发(0) |0

上一篇:WinCE的USB Device功能实现(Serial,RNDIS,Mass_Storage)

下一篇:Samsung的ARM处理器iROM启动模式介绍

相关热门文章 linux守护进程的几个关键地方...stagefright与opencore对比嵌入式Linux之我行——u-boot-...嵌入式Linux之我行——内核、...android的logcat详细用法 如何编写一个C程序实现将字符...C程序能不能在main函数之前调...看一个程序调用了哪些动态库用...回复不了你啊,咋,威望值不够...mysql的f在哪里?... 给主人留下些什么吧!~~

chinaunix网友-05-30 14:36:21

老大,我的PDA是纯PPC,pocket pc ,不是手机WM PPC。我的注册表项HKEY_LOCAL_MACHINE\Drivers里面并没有HID,包含LoadClients\Default\Default项的注册表项是一个名为USB的项,我手工建HID不能加载这个驱动,然后在USB的default里面照你的注册表手工加入还是不行。dll文件已经放到windows里面了,该怎样才能加载了。我安装了一个网上下载的USB键盘、鼠标驱动,却是正常使用的,唯独USB手柄不能用,是个仿PS的简单手柄,XP无驱型。

回复 | 举报

chinaunix网友-03-08 20:28:19

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-

回复 | 举报评论热议

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。