- 2
- 0
- 约 5页
- 2017-08-18 发布于福建
- 举报
基于数据过滤多输入支持原理
基于数据过滤多输入支持原理摘要:本文从驱动级过滤多输入的数据,提供了一种方法用来支持一台计算机的多输入设备的实时运行,如多鼠标、多键盘运行,将此方法实现为多设备输入接口,并使用此接口制作了计算机的多鼠标实时操控过滤驱动,命名为MouFi。
关键词:计算机;多输入设备;原理
中图分类号:TP391.1 文献标识码:A 文章编号:1007-9599 (2012) 10-0000-02
随着团队协作工作和人机交互的进一步发展,支持多人同时操作同一计算机显得十分有意义,使用多个同类输入设备(如多个鼠标)对同一主机进行实时操控,独立完成各项操作互不影响,可使多人同时共享一台电脑的各项资源,特别在电脑紧缺或不方便联网的情况,提高电脑的利用率,并在单机多人游戏领域显示其优势。本文从驱动级过滤多输入的数据,提供了一种方法用来支持一台计算机的多输入设备的实时运行,如多鼠标、多键盘运行,将此方法实现为多设备输入接口,并使用此接口制作了计算机的多鼠标实时操控过滤驱动,命名为MouFi。
主要贡献有以下几个方面:1.本文所提供的内核级信号过滤方法普适于所有人机交互输入设备(human interface devices input)。2.本方法主要用于提供内核级信号过滤接口,在此基础上,可编写多种应用程序实现多输入的用户级应用。3.本文所提供的方法实现接口后,内核运行在系统进程,属于驱动程序级别,更贴近底层,过滤效率高,系统资源占用较少。4.本文所实现的范例系统可以支持2到6部甚至更多鼠标独立工作。
相关工作:目前国内外已有不少支持多输入的软件,但大都存在不足有待改进。TeamPlayer软件支持同一电脑多鼠标、多键盘的操作。但降低了输入设备的灵活性,并不适用于一些高速游戏。且鼠标操作中会有冲突,仅能实现鼠标的分时控制。MultiPointer以软件形式,通过切换当前的操作鼠标为默认指针的方式,支持同一电脑的最多5个鼠标的同时操作。但不同鼠标的同时操作会产生闪烁,并无法支持同时点击,鼠标拖曳操作也会受到其他移动中鼠标的影响。而此类多个输入设备同时控制不同对象的问题则可以通过本文提供的接口编程解决。
系统设计:
相关定义:
IRP(I/O request packets):I/O请求包,内核模式的结构体,Windows驱动模型和Windows NT设备驱动间通过传递此结构体与操作系统进行信息交流。
MOUSE_INPUT_DATA:IRP包中的一个结构体,包含了鼠标输入数据。当鼠标器产生一个中断时,此数据结构中的各参数值将被设置,并包含在IRP中传回操作系统,操作系统根据其数值产生相应消息,插入消息队列等待执行。
相关原理:
鼠标工作原理:鼠标设备接入计算机后,操作系统为了获取一次鼠标操作,首先会产生一个鼠标相关的I/O请求包(IRP_MJ_READ(MouClass)),分层级发送到鼠标物理驱动的设备栈,驱动收到此IRP后会一直保持为等待(pending)状态。当鼠标器有动作引发中断时,鼠标物理驱动就会将鼠标事件的相关数据以系统定义的MOUSE_INPUT_DATA数据结构形式填入IRP中,并完成这个IRP,由驱动设备自底向上传送。操作系统获取该鼠标操作,产生Windows消息插入消息队列中,之后立即产生下一个鼠标相关I/O请求包,进入下一轮等待。
鼠标工作驱动设置:Windows操作系统利用mouclass驱动将不同类型(如PS2、USB或触板等)鼠标进行抽象,在系统进程读取鼠标数据的时候,并不对具体端口进行区分。在驱动结构中,每个mouclass驱动中都有若干PointerClass设备,其数量由系统鼠标总数决定,每个PointerClass设备都依附于其独有的鼠标接口设备PointerPort。
鼠标数据过滤方法:指在操作系统获取鼠标操作、产生消息并插入消息队列、供用户程序处理的全过程中,通过特定过滤方法,使得流过的数据经指定处理后传递给上一层。过滤方法主要分为内核级过滤和用户级过滤。内核级过滤是指在分层驱动模型中允许某一驱动构造一个匿名的设备对象,在相应层级接受分层传递的IRP,使得该IRP经该对象的过滤设备驱动程序处理后再继续向上传递。用户级过滤方法主要有消息钩子(Message Hook)等,利用应用程序接口(API)以消息为单位进行过滤,在用户程序处理之前对该消息进行指定处理。比较实现方式原理可知,内核级过滤方法更高效并具有更强的可靠性。
实现方法:
为了高效的支持多输入设备的运行并简化用户级程序的操作,本方法采取内核级过滤方式对设备的输入数据进行过滤修改继续上传,并根据过滤获得的鼠标事件真实数据进行模拟操作,创建了WDM式过滤驱动MouFi。
过滤驱动的初始化
计算机
您可能关注的文档
- 城市非建设用地规划实践探索.doc
- 城市高压配电网接线模式研究.doc
- 城市高层建筑沉降观测问题探析.doc
- 城市高架桥选型设计探析.doc
- 城建中市政道路工程管理措施.doc
- 城建声像档案管理工作存在问题及对策.doc
- 城建档案信息化建设存在问题及其对策.doc
- 城郊公路沥青路面养护技术探析.doc
- 城镇中低压配电网接线方式探析.doc
- 城镇中心幼儿园及城郊幼儿园幼儿进餐现状及研究.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)