一种跨运行环境的低延迟鼠标驱动优化方法技术

技术编号:35541259 阅读:9 留言:0更新日期:2022-11-09 15:09
本发明专利技术公开了一种跨运行环境的低延迟鼠标驱动优化方法,通过令Linux系统的鼠标驱动同时维护标准设备文件及安卓设备文件,并仅将与安卓应用相关的能够操作安卓视图的鼠标事件写入安卓设备文件,同时安卓兼容环境内的输入管理服务根据安卓设备文件的信息构造安卓系统鼠标事件再将其发送至对应的安卓应用,实现了安卓兼容环境对鼠标事件的快速处理,减少了Linux侧与安卓侧的鼠标事件处理流程,降低了安卓应用对鼠标移动、单击等操作的响应延迟,改善了用户的使用体验。改善了用户的使用体验。

【技术实现步骤摘要】
一种跨运行环境的低延迟鼠标驱动优化方法


[0001]本专利技术属于桌面操作系统上运行移动应用的开发
,具体涉及一种跨运行环境的低延迟鼠标驱动优化方法。

技术介绍

[0002]Linux操作系统安卓兼容环境(下文简称安卓兼容环境)是一种在Linux操作系统上运行安卓应用的技术,对丰富Linux操作系统应用生态有着重要的意义。通常情况下,典型的安卓兼容环境主要包括安卓应用显示单元和安卓应用兼容服务,安卓应用显示单元用于在桌面操作系统上实现安卓应用的用户界面,安卓应用兼容服务用于提供运行于桌面操作系统上的安卓兼容环境,通过安卓应用显示单元与安卓应用兼容服务的相互配合实现安卓应用在桌面操作系统上的有效运行,例如,现有安卓兼容环境的实现方案有xDroid,它包括xDroidUI和xDroidServer,xDroidUI为安卓应用显示单元,xDroidServer为安卓应用兼容服务,通过xDroid与xDroidUI的配合即可实现安卓应用与Linux操作系统的兼容。
[0003]现有安卓兼容环境中当用户使用鼠标操作时,Linux系统内核的鼠标驱动将接收到鼠标硬件的输入事件,然后创建鼠标设备文件,同时将鼠标设备文件传递到用户态,并将输入事件中的信息写入鼠标设备文件中;处于用户态的窗口管理器(如X11或Wayland)持续监听鼠标设备文件内的数据,当读取到鼠标设备文件存在数据时,通过计算鼠标坐标获取当前鼠标操作对应的应用后再将鼠标输入信息传递至对应的应用;当运行在Linux系统内的安卓应用所对应的Linux窗口应用(如xDroidUI)收到鼠标输入信息时,Linux窗口应用完成坐标的偏移处理后将其转换为安卓系统内的Touch事件,再通过RPC或Pipe等方式将Touch事件传递至安卓兼容环境内;安卓兼容环境内InputFlinger服务再将接收到的Touch事件向上传递至安卓兼容环境的框架中,安卓兼容环境的框架再通过坐标计算、window/view的遍历等一系列操作将Touch事件传递至目标视图;最后由目标视图完成对Touch事件的处理。
[0004]由此可见,在Linux系统中使用鼠标操作安卓应用时,Linux系统内核无法直接将鼠标事件发送至安卓兼容环境内,而是需要经过较长的转发处理链条才能实现,转发过程涉及的相关进程较多,因此会在一定程度上影响Linux系统及安卓应用的运行性能,降低用户在Linux系统上使用安卓应用的体验。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种跨运行环境的低延迟鼠标驱动优化方法,能够实现Linux系统内核直接将鼠标事件的相关信息传递至安卓兼容环境内。
[0006]本专利技术提供的一种跨运行环境的低延迟鼠标驱动优化方法,包括以下步骤:步骤1、在Linux系统初始化鼠标驱动时创建标准设备文件及安卓设备文件,并将安卓设备文件导入安卓兼容环境内;新建安卓应用窗口列表,所述安卓应用窗口列表用于记录安卓应用窗口的TaskID、窗口矩形信息及安卓内部序列Z

OrderN,所述窗口矩形信息
包括安卓应用窗口对应视图的左上角坐标和窗口大小;步骤2、新建安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,由所有安卓应用窗口的TaskID及Z

OrderN组成Z

OrderN序列对;将由新建安卓应用窗口的窗口矩形信息、TaskID及Z

OrderN序列对组成的新建窗口消息发送至鼠标驱动;关闭安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的关闭窗口消息发送至鼠标驱动;最小化安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的最小化窗口消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由Z

OrderN序列对组成的鼠标按下消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件及改变大小事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由Z

OrderN序列对组成的停止写入消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件及鼠标拖拽事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将Z

OrderN序列对组成的停止写入消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标抬起事件时,如果此前已收到改变大小事件或鼠标拖拽事件则获取当前安卓应用窗口的窗口矩形信息,并计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID、窗口矩形信息及Z

OrderN序列对组成的鼠标抬起消息发送至鼠标驱动;如果此前未收到改变大小事件及鼠标拖拽事件则计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的鼠标抬起消息发送至鼠标驱动;当安卓应用显示单元接收到安卓应用窗口状态变化事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将Z

OrderN序列对组成的更新安卓应用窗口列表消息发送至鼠标驱动;步骤3、当鼠标驱动接收到新建窗口消息时,将新建安卓应用窗口的窗口矩形信息及TaskID添加到安卓应用窗口列表中,并以Z

OrderN序列对更新安卓应用窗口列表;当鼠标驱动接收到关闭窗口消息时,将当前安卓应用窗口的TaskID的相关信息从安卓应用窗口列表中删除,并以Z

OrderN序列对更新安卓应用窗口列表;当鼠标驱动接收到最小化窗口消息时,将安卓应用窗口列表中与当前安卓应用窗口TaskID相对应的窗口矩形信息的数据均设为零,并以Z

OrderN序列对更新安卓应用窗口列表;当鼠标驱动接收到鼠标按下消息时,以Z

OrderN序列对更新安卓应用窗口列表,再提取输入事件中的鼠标坐标及鼠标按键状态,遍历安卓应用窗口列表判断是否存在满足鼠标坐标位于窗口矩形的范围内的安卓应用窗口的记录,若存在则执行步骤4,否则不响应;当鼠标驱动接收到停止写入消息时,以Z

OrderN序列对更新安卓应用窗口列表,并停止向安卓设备文件中写入数据;
当鼠标驱动接收到鼠标抬起消息时,若鼠标抬起消息中包含窗口矩形信息,则以当前安卓应用窗口的TaskID、窗口矩形信息及Z

OrderN序列对更新安卓应用窗口列表;否则以Z

OrderN序列对更新安本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨运行环境的低延迟鼠标驱动优化方法,其特征在于,包括以下步骤:步骤1、在Linux系统初始化鼠标驱动时创建标准设备文件及安卓设备文件,并将安卓设备文件导入安卓兼容环境内;新建安卓应用窗口列表,所述安卓应用窗口列表用于记录安卓应用窗口的TaskID、窗口矩形信息及安卓内部序列Z

OrderN,所述窗口矩形信息包括安卓应用窗口对应视图的左上角坐标和窗口大小;步骤2、新建安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,由所有安卓应用窗口的TaskID及Z

OrderN组成Z

OrderN序列对;将由新建安卓应用窗口的窗口矩形信息、TaskID及Z

OrderN序列对组成的新建窗口消息发送至鼠标驱动;关闭安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的关闭窗口消息发送至鼠标驱动;最小化安卓应用窗口时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的最小化窗口消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由Z

OrderN序列对组成的鼠标按下消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件及改变大小事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将由Z

OrderN序列对组成的停止写入消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标按下事件及鼠标拖拽事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将Z

OrderN序列对组成的停止写入消息发送至鼠标驱动;当安卓应用显示单元接收到鼠标抬起事件时,如果此前已收到改变大小事件或鼠标拖拽事件则获取当前安卓应用窗口的窗口矩形信息,并计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID、窗口矩形信息及Z

OrderN序列对组成的鼠标抬起消息发送至鼠标驱动;如果此前未收到改变大小事件及鼠标拖拽事件则计算所有安卓应用窗口的Z

OrderN,再将由当前安卓应用窗口的TaskID及Z

OrderN序列对组成的鼠标抬起消息发送至鼠标驱动;当安卓应用显示单元接收到安卓应用窗口状态变化事件时,安卓应用显示单元计算所有安卓应用窗口的Z

OrderN,再将Z

OrderN序列对组成的更新安卓应用窗口列表消息发送至鼠标驱动;步骤3、当鼠标驱动接收到新建窗口消息时,将新建安卓应用窗口的窗口矩形信息及TaskID添加到安卓应用窗口列表中,并以Z

OrderN序列对更新安卓应用窗口列表;当鼠标驱动接收到关闭窗口消息时,将当前安卓应用窗口的TaskID的相关信息从安卓应用窗口列表中删除,并以Z

OrderN序列对更新安卓应用窗口列表;当鼠标驱动接收到最小化窗口消息时,将安卓应用窗口列表中与当前安卓应...

【专利技术属性】
技术研发人员:温研
申请(专利权)人:北京麟卓信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1