USB论坛-百合电子工作室USB专题站

标题: 请教个问题,关于模拟键盘的 [打印本页]

作者: crespo0708    时间: 2009-11-12 11:18
标题: 请教个问题,关于模拟键盘的
看了关于开源项目的帖子,感觉很有收获,在此先谢谢站长。
看完帖子后,有几个疑问,想请教一下。
1我对固件驱动了解的不是很多,想问一下,关于模拟键盘的程序下到别的设备比如智能手机里,稍作修改或者修改成驱动程序,是否可以把手机等其他设备模拟成键盘?
2在一些关于键盘的驱动程序里都有对相关的设备描述符的设置,我想问一下,在程序里对描述符进行设置后,怎样使这些描述符在usb设备枚举过程中发挥作用?也就是我能否对描述符做一些修改,可以在设备枚举过程中,把原来的usb设备识别成其他设备,比如让手机识别成键盘?
3站长还有没有关于我所提问题的相关资料,参考一下
作者: baiheee    时间: 2009-11-12 11:34
1.
智能手肯定能模拟成电脑键盘,但不是将本实例的键盘固件驱动作简单修改就能实现的,因为这个固件驱动与所用USB接口芯片型号有密切关系,不同的接口芯片有不同的驱动,当然它们之间会有一些共性.

在智能手机上写驱动的过程与此实例设备端固件驱动的开发过程完全不同.它与上位机端开发驱动程序的开发过程有点类似,智能手机有好几种不同的操作系统(如Windows mobile,sybain,Linux,安卓等),不同的系统下开发驱动的方法也不一样.

2.
usb设备类型由描述符决定,描述符由固件驱动构建,上位机程序不能更改,但是智能手要被识别为键盘在理论上应该是可以的.

3.
建议您了解一下智能手机上有关usb驱动开发的知识或嵌入式操作系统中有关usb开方面的知识

谢谢您对本站的支持!
作者: crespo0708    时间: 2009-11-14 11:36
这两天查了点资料,usb设备是通过固件程序来响应主机的获取设备描述符的请求的。
问下楼主,智能手机的固件程序应该是固化到芯片上的吗?
有什麽工具可以修改固件程序吗?
如果改不了,那么买个手机开发板是否可以把程序烧到里面进行模拟呢?
作者: crespo0708    时间: 2009-11-14 11:44
这两天查了点资料,usb设备是通过固件程序来响应主机的获取设备描述符的请求的。
问下楼主,智能手机的固件程序应该是固化到芯片上的吗?
有什麽工具可以修改固件程序吗?
如果改不了,那么买个手机开发板是否可以把程序烧到里面进行模拟呢?
作者: baiheee    时间: 2009-11-14 11:48
由于我也没有搞过嵌入式方面的工作,只是对嵌入式系统略懂一点点。嵌入式系统的开发与单片机程序开发完全不一样,建议学习一下嵌入式软件开发方面的知识,特别是与USB编程相关的,自然就知道怎么做了。
作者: crespo0708    时间: 2009-11-15 11:49
谢谢站长的解答,不过我还想问个问题。
就是我的手机是windows mobile系统的,看了站长的帖子,我就想把手机模拟个键盘玩玩。
我想通过修改描述符的方法将手机模拟成键盘,这种方法通过编写驱动程序来实现是否可行?
或者编写程序在枚举设备的过程中将改过的描述符发给主机是否能够实现?
如何还是不行,能否请站长给个思路呢?

作者: baiheee    时间: 2009-11-15 12:50
我想应该通过编写Windows mobile下的设备驱动程序来实现,但是我也没有在此环境下写程序的经验




欢迎光临 USB论坛-百合电子工作室USB专题站 (http://usb.baiheee.com/usb_bbs/) Powered by Discuz! X2.5