全网唯一标准王
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210698900.2 (22)申请日 2022.06.20 (65)同一申请的已公布的文献号 申请公布号 CN 114816585 A (43)申请公布日 2022.07.29 (73)专利权人 北京麟卓信息科技有限公司 地址 100085 北京市海淀区西三 旗昌临801 号27号3层310、 312 (72)发明人 温研  (51)Int.Cl. G06F 9/445(2018.01) G06F 9/451(2018.01) G06F 9/54(2006.01) (56)对比文件 CN 113535652 A,2021.10.2 2CN 113934464 A,202 2.01.14 CN 113220474 A,2021.08.0 6 CN 112511585 A,2021.0 3.16 US 20213 34119 A1,2021.10.28 审查员 张书旋 (54)发明名称 一种跨运行环境的远程输入重 定向方法 (57)摘要 本发明公开了一种跨运行环境的远程输入 重定向方法, 通过获取用户通过安卓应用的远程 协助功能发送的针对安卓系统的输入事件, 提取 输入事件中的信息, 根据桌面系统中对应的事件 数据结构构建针对桌面系统的事件, 从而实现了 用户在远程通过运行在安卓兼容环境中的安卓 应用控制桌 面系统。 权利要求书2页 说明书7页 附图1页 CN 114816585 B 2022.09.02 CN 114816585 B 1.一种跨 运行环境的远程输入重 定向方法, 其特 征在于, 包括以下步骤: 步骤1、 在安卓应用创建虚显时获取该安卓应用的应用包名和Activity, 作 为创建共享 包名和创建共享Activity, 初始化当前事 件时间和前次事 件时间的值 为零; 步骤2、 当安卓兼容环境 中产生输入事件时, 获取当前Activity对应的当前安卓应用的 包名作为当前包名, 若当前包名与创建共享包名相同, 则执 行步骤3; 否则退 出本流程; 步骤3、 当输入事件为触摸事件时, 获取桌面系统的屏幕尺寸(xS, yS), 若前次事件时间 不为零则执行步骤4, 若前次事件时间为零则以当前系统时间更新前次事件时间后执行步 骤4; 当输入 事件为键盘事 件时, 执行步骤8; 步骤4、 获取当前安卓应用的顶部Activity的窗 口大小(xA, yA), 根据输入事件中的鼠标 位置(x, y)采用公式x ′=xS*(x/xA), y′=yS*(y/yA)计算得到相对于桌面系统屏幕的坐标值 (x′, y′); 若事件类型常量 为ACTION_MOVE, 则执 行步骤5; 否则执 行步骤6; 步骤5、 以输入事件的发生时间作为当前事件时间, 若前次事件时间为零, 则以当前事 件时间更新前次事件时间后执行步骤6; 若 前次事件时间不为零, 则求得前次事件时间与当 前事件时间的差值, 若差值大于设定阈值则以当前事件时间更新前次事件时间后执行步骤 6, 若差值 不大于设定阈值则不更新前次事 件时间执 行步骤7; 步骤6、 将由桌面系统屏幕 的坐标值(x ′, y′)、 输入事件类型及事件类型常量构成的桌 面输入事件信息采用异步RPC方式发送给安卓应用显示单 元, 执行步骤9; 步骤7、 不执 行安卓系统的标准事 件处理流程, 执行步骤9; 步骤8、 将由输入事件中包含的信息构 成的桌面输入事件信息采用异步RPC方式发送给 安卓应用显示单 元, 执行步骤9; 步骤9、 安卓应用显示单元采用接收到的桌面输入事件信 息, 根据桌面系统中事件消息 的数据结构 构建标准的桌 面输入事件, 并将桌 面输入事件发送到桌 面系统; 所述步骤9中的安卓应用显示单元采用接收到的桌面输入事件信息, 根据桌面系统中 事件消息的数据结构构建标准的桌面输入事件, 并将桌面输入事件发送到桌面系统的过 程, 包括以下步骤: 步骤9.1、 若安卓应用显示单元运行在Linux系统中, 则执行步骤9.2; 若运行在Windows 系统中, 则执 行步骤9.5; 步骤9.2、 获取Linux系统显示服务器 的协议类型, 如果协议类型为X11协议, 则执行步 骤9.3; 如果协议类型为 Wayland协议, 则执 行步骤9.4; 步骤9.3、 获取Linux系 统当前的主显示器的句柄, 若桌面输入事件信息中事件类型为 触摸事件且事件类型常量为ACTION_DOWN 或ACTION_UP, 则采用接收到的桌面输入事件信息 构建鼠标按 下或抬起事件, 再将鼠标按下或抬起事件发送到Linux系统; 若桌面输入事件信 息中事件类型为触摸事件且事件类型常量为ACTION_MOVE, 则采用接收到的桌面输入事件 信息构建鼠标移动事件, 再将鼠标移动事件发送到Linux系统; 若桌面输入事件信息中事件 类型为键盘事件, 则采用接 收到的桌面输入事件信息构建键盘事件, 再将键盘事件发送到 Linux系统; 步骤9.4、 采用接收到的桌面输入事件信息, 构建Input_Event类的符合Linux端输入事 件数据结构的桌面输入事件, 将桌面输入事件写入Linux系统的鼠标或键盘设备的文件句 柄中;权 利 要 求 书 1/2 页 2 CN 114816585 B 2步骤9.5、 若桌面输入事件信息 中事件类型为触摸事件, 则采用接收到的桌面输入事件 信息构建鼠标事件, 再将鼠标事件发送到Windows系统; 若桌面输入事件信息中事件类型为 键盘事件, 则采用接收到的桌面输入事件信息构建键盘事件, 再将键盘事件发送到Windows 系统。 2.根据权利要求1所述的远程输入重定向方法, 其特征在于, 所述步骤2中的当安卓兼 容环境中产生输入事件时, 获取当前Act ivity对应的当前安卓应用的包名作为当前包名的 方式为: 获取当前Activity对应的线程, 再根据线程获取当前安卓应用的包名作为当前包 名。 3.根据权利要求1所述的远程输入重定向方法, 其特征在于, 所述步骤9.2中的如果协 议类型为X11协议执行步骤9.3, 具体为: 采用接收到的桌面输入事件信息, 构建类型为 Input_Event的符合Linux端输入事件数据结构的桌面输入事件, 将桌面输入事件写入 Linux系统的鼠标或键盘设备对应的文件句柄中, 完成将输入 事件发送到L inux系统。 4.根据权利 要求1所述的远程输入重定向方法, 其特征在于, 所述步骤9.2中获取Linux 系统显示服务器的协议类型的方式为: 通过获取变量XDG_SESSION_TYPE的取值得到Linux 系统显示 服务器的协议类型。 5.根据权利要求1所述的远程输入重定向方法, 其特征在于, 所述步骤5中的设定阈值 为桌面系统内两次鼠标移动事 件之间的时间差 。权 利 要 求 书 2/2 页 3 CN 114816585 B 3

.PDF文档 专利 一种跨运行环境的远程输入重定向方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种跨运行环境的远程输入重定向方法 第 1 页 专利 一种跨运行环境的远程输入重定向方法 第 2 页 专利 一种跨运行环境的远程输入重定向方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:02:17上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。