问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux键鼠驱动怎么破

发布网友 发布时间:2022-04-29 23:48

我来回答

1个回答

热心网友 时间:2022-06-26 09:25

usbhid和usbmouse.c都在/usr/src/linux/drivers/hid/usbhid目录下

USB 总线引出两个重要的链表!

一个 USB 总线引出两个重要的链表,一个为
USB 设备链表,一个为 USB 驱动链表。设备链表包含各种系统中的USB 设备以及这些设备的所有接口,驱动链表包含 USB 设备驱动程序(usb
device driver)和 USB 驱动程序(usb driver)。

USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)的区别是什么?

USB 设备驱动程序包含 USB 设备的一些通用特性,将与所有 USB 设备相匹配。在 USB core 定义了:struct usb_device_driver usb_generic_driver。usb_generic_driver 是 USB 子系统中唯一的一个设备驱动程序对象。而 USB 驱动程序则是与接口相匹配,接口是一个完成特定功能的端点的集合。
设备是如何添加到设备链表上去的?
在设备插入 USB 控制器之后,USB core 即会将设备在系统中注册,添加到 USB 设备链表上去。

USB 设备驱动程序(usb device driver)是如何添加到驱动链表上去的?
在系统启动注册 USB core 时,USB 设备驱动程序即将被注册,也就添加到驱动链表上去了。

接口是如何添加到设备链表上去的?
在 USB 设备驱动程序和 USB 设备的匹配之后,USB core 会对设备进行配置,分析设备的结构之后会将设备所有接口都添加到设备链表上去。比如鼠标设备中有一个接口,USB core 对鼠标设备配置后,会将这个接口添加到设备链表上去。

USB 驱动程序(usb driver)是如何添加到驱动链表上去的?
在每个 USB 驱动程序的被注册时,USB 驱动程序即会添加到驱动链表上去。
比如鼠标驱动程序,usb_mouse_init 函数将通过 usb_register(usb_mouse_driver)
将鼠标驱动程序注册到 USB core 中,然后就添加到驱动链表中去了。其中 usb_mouse_driver 是描述鼠标驱动程序的结构体。

已配置状态(configured status)之后话
当鼠标的设备、接口都添加到设备链表,并且鼠标驱动程序也添加到驱动链表上去了,
系统就进入一种叫做已配置(configured)的状态。
要达到已配置状态,将经历复杂的过程,USB core 为 USB
设备奉献着无怨无悔。在这个过程中,系统将会建立起该设备的的设备、配置、接口、设置、端点的描述信息,它们分别被
usb_device、usb_configuration、usb_interface、usb_host_interface、
usb_host_endpoint 结构体描述。
设备达到已配置状态后,首先当然就要进行 USB 驱动程序和相应接口的配对,对于鼠标设备来说则是鼠标驱动程序和鼠标中的接口的配对。USB core 会调用usb_bus 总线的usb_device_match
函数,通过比较设备中的接口信息和 USB 驱动程序中的 id_table,来初步决定该 USB 驱动程序是不是跟相应接口相匹配。通过这一道关卡后,USB core 会认为这个设备应该由这个驱动程序负责。
然而,仅仅这一步是不够的,接着,将会调用 USB 驱动程序中的 probe 函数对相应接口进行进一步检查。如果该驱动程序确实适合设备接口,对设备做一些初始化工作,分配 urb 准备数据传输。
当 鼠标设备在用户空间打开时,
将提交 probe 函数构建的 urb 请求块,urb 将开始为传送数据而忙碌了。urb 请求块就像一个装东西的“袋子”,USB
驱动程序把“空袋子”提交给 USB core,然后再交给主控制器,主控制器把数据放入这个“袋子”后再将装满数据的“袋子”通过 USB core
交还给
USB 驱动程序,这样一次数据传输就完成了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 摩天手X100无线键鼠套件 USB 连接问题 通用串行总线控制器中哪个是鼠标和键盘的驱动,问问。。。 USB控制器正常但鼠标任然动不了怎么办 虚拟机安装了.要用虚拟机一拖二.但是老是无法设置两套USB鼠标键盘独立. 《角头2》在哪个app播出? VM虚拟机+双鼠标,如何实现双指针?求指教 vbox虚拟机启用usb控制器,启用不了。 求救虚拟机内玩游戏鼠标速度太快太快。完全不是可以设置那种、 女性适合考军队文职吗? 军队文职考试,女生报考有优势吗? 我的电脑联想台式机从做的系统,之后usb接口全部失灵,供电都没有,没有办法用鼠标键盘操作啊怎么办啊 女生可以考军队文职嘛? 女生考军队文职有什么优势? 女生考部队文职条件有哪些? 求助MACD、KDJ选股公式 让QQ网名的字中间有一横的符号怎么� 营业执照有多少种类?一般使用何种方式予以区分营业执照的区别? 营业执照的类别,以及以下营业执照的区别:1、公司《企业法人营业执照》,非公司....... 百度版本: 11.18.0.16小说书架怎么听读? 我要听网页的小说怎么搞?免费方法! 乐学营养屋丨用茄子做的家常菜,你会哪些? 茄子可以做什么菜?? 用茄子能做出什么菜?和做法 答辩题目:高校应如何通过校企合作的方式培养跨境电子商务行业需要的复合型人_百度问一问 电子商务答辩问题 跨境电商专业回答 跨境电商选品,最好详细多一点并贴切问题假设你毕业后从事跨境电商出口贸易,请结合家乡的实际情况,谈谈_百度问一问 看电视的英文 “看电视”英文 毕业论文答辩时老师一般会问什么问题?具体怎么回答啊?论文题目是金融危机对中国家电出口影响及对策分析 国际经济与贸易答辩的时候常常提问的是什么?请回答谢谢!!! 答辩一般都是回答些什么的? 怎么改社保卡交易密码忘了怎么办 网上书店毕业论文答辩问题回答 论文答辩时老师提问的问题应该怎样回答? 社保卡忘记了交易密码怎么修改 看电视英语怎么读? 如何修改社保卡的交易密码忘了怎么办 营运能力论文答辩怎么说,问题怎么回答? 看电视英文怎么写