CN115495192B - 一种基于中断穿透的跨运行环境低延迟输入方法 - Google Patents

一种基于中断穿透的跨运行环境低延迟输入方法 Download PDF

Info

Publication number
CN115495192B
CN115495192B CN202211438890.5A CN202211438890A CN115495192B CN 115495192 B CN115495192 B CN 115495192B CN 202211438890 A CN202211438890 A CN 202211438890A CN 115495192 B CN115495192 B CN 115495192B
Authority
CN
China
Prior art keywords
android
keyboard
view
message
identification value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211438890.5A
Other languages
English (en)
Other versions
CN115495192A (zh
Inventor
温研
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Linzhuo Information Technology Co Ltd
Original Assignee
Beijing Linzhuo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Linzhuo Information Technology Co Ltd filed Critical Beijing Linzhuo Information Technology Co Ltd
Priority to CN202211438890.5A priority Critical patent/CN115495192B/zh
Publication of CN115495192A publication Critical patent/CN115495192A/zh
Application granted granted Critical
Publication of CN115495192B publication Critical patent/CN115495192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明公开了一种基于中断穿透的跨运行环境低延迟输入方法,依据键盘事件中断机制通过键盘驱动、安卓应用显示单元及安卓应用兼容服务间的配合,实现从桌面系统内核直接将键盘输入事件发送至安卓兼容环境,不再需要窗口管理器转发和安卓应用显示单元转换事件,从而有效降低了安卓应用相关键盘事件的响应延迟,提高了键盘事件的处理效率。

Description

一种基于中断穿透的跨运行环境低延迟输入方法
技术领域
本发明属于在桌面操作系统上运行移动应用的开发技术领域,具体涉及一种基于中断穿透的跨运行环境低延迟输入方法。
背景技术
Linux系统安卓兼容环境(下文简称安卓兼容环境)是一种在Linux系统上运行安卓应用(App)的技术,对丰富Linux系统应用生态有着重要的意义。目前典型的安卓兼容环境主要包括安卓应用显示单元和安卓应用兼容服务,安卓应用显示单元用于在Linux系统上实现安卓应用的用户界面,安卓应用兼容服务用于提供运行于Linux系统上的安卓兼容环境,通过安卓应用显示单元与安卓应用兼容服务的相互配合实现安卓应用在Linux系统上的有效运行,例如,现有安卓兼容环境的实现xDroid,它包括xDroidUI和xDroidServer,xDroidUI为安卓应用显示单元,xDroidServer为安卓应用兼容服务。
现有安卓兼容环境对桌面系统的键盘输入事件的通常处理过程是:桌面系统的键盘驱动接收到硬件的键盘输入中断后,对键盘输入中断进行处理并通过设备文件传递至用户态;用户态的窗口管理器,在监测到设备文件数据发生变化时对数据进行处理,即通过计算获取当前具有输入焦点的窗口,再将键盘输入事件传递至具有焦点的窗口的应用;若具有焦点的窗口为安卓应用桌面窗口,安卓应用桌面窗口为安卓应用在桌面系统中由安卓应用显示单元生成的应用窗口,则安卓应用显示单元将键盘输入事件转换为安卓系统对应的键盘输入事件,再通过RPC等方式将键盘输入事件传递到安卓兼容环境中;安卓兼容环境的InputManager创建用于持续监视设备文件的线程,InputManager将读取的键盘输入事件传递至安卓兼容环境的WindowManager,WindowManager最终将键盘输入事件传递至当前具有输入焦点的View,最终由View处理键盘输入事件,并将响应的数据输出到桌面系统。
然而由上述键盘输入事件的处理过程可见,键盘输入事件的处理过程复杂,消息传递环节较多,因此一定程度上增加了键盘输入事件的响应时间,降低了响应效率,同时占用了较多的系统资源。
发明内容
有鉴于此,本发明提供了一种基于中断穿透的跨运行环境低延迟输入方法,能够实现桌面系统输入事件到安卓兼容环境的直接传递。
本发明提供的一种基于中断穿透的跨运行环境低延迟输入方法,具体包括以下步骤:
当安卓应用桌面窗口被激活时,安卓应用显示单元向安卓应用兼容服务发送获取输入焦点视图ID消息;当安卓应用显示单元接收到焦点视图消息时,若焦点视图消息中的视图ID不为NULL则向键盘驱动发送包含视图ID的焦点编辑视图消息,否则向键盘驱动发送视图消息;当安卓应用桌面窗口失去焦点时,向键盘驱动发送视图消息;当安卓应用显示单元接收到安卓事件处理完成消息时,将安卓事件处理完成消息转发至键盘驱动;当安卓应用显示单元接收到安卓事件处理异常消息时,将安卓事件处理异常消息转发至键盘驱动;
键盘驱动在初始化过程中将按键处理标识值、按键识别标识值以及视图标识值分别设置为FALSE、TRUE和NULL,并在创建系统设备文件的同时创建安卓兼容环境可读取的安卓兼容设备文件;当接收到焦点编辑视图消息时,键盘驱动将视图标识值设置为消息中的视图ID;当接收到视图消息时,键盘驱动将视图标识值设置为NULL;当接收到安卓事件处理完成消息时,将按键处理标识值及按键识别标识值均设置为TRUE;当接收到安卓事件处理异常消息时,将按键处理标识值及按键识别标识值分别设置为TRUE 和FALSE;
当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中包含非可见字符按键则将按键处理标识值及按键识别标识值分别设置为FALSE和TRUE,并将包含处理标记1及键盘按键信息的数据写入安卓兼容设备文件,若在设定时间内按键处理标识值及按键识别标识值均为TRUE则键盘驱动不执行其他操作,若在设定时间内按键处理标识值为TRUE且按键识别标识值为FALSE则执行桌面系统的标准键盘输入事件处理流程,若在设定时间内按键处理标识值为FALSE则执行桌面系统的标准键盘输入事件处理流程;当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中不包含非可见字符按键则将包含处理标记2、视图ID及键盘按键信息的数据写入安卓兼容设备文件;其中,所述非可见字符按键为非数字与字符按键的键盘按键;当产生键盘中断且此时视图标识值为NULL时提取键盘按键信息,执行桌面系统的标准键盘输入事件处理流程;
在安卓兼容环境启动时导入安卓兼容设备文件,当安卓应用兼容服务接收到获取输入焦点视图ID消息后,判断当前被激活的安卓应用内是否存在具有输入焦点的视图,若存在且视图的属性为可编辑则获取视图的视图ID构建包含实际取值视图ID的焦点视图消息,否则构建包含取值为NULL的视图ID的焦点视图消息,并将焦点视图消息发送至安卓应用显示单元;当安卓兼容环境从安卓兼容设备文件中读取到键盘按键信息时,如果键盘按键信息中包含处理标记1,则执行安卓兼容环境的标准键盘输入事件处理流程,若执行过程正常完成则向安卓应用显示单元发送安卓事件处理完成消息否则发送安卓事件处理异常消息;如果键盘按键信息中包含处理标记2,则根据键盘按键信息构造标准安卓系统键盘事件,将键盘事件发送至当前具有输入焦点的编辑框,执行安卓兼容环境的标准键盘输入事件处理流程。
进一步地,所述安卓应用显示单元采用xDroidUI,所述安卓应用兼容服务采用xDroidServer。
进一步地,所述当安卓应用显示单元接收到安卓事件处理完成消息时,将安卓事件处理完成消息转发至键盘驱动;当安卓应用显示单元接收到安卓事件处理异常消息时,将安卓事件处理异常消息转发至键盘驱动中,所述安卓应用显示单元通过ioctl接口向键盘驱动发送安卓事件处理完成消息及安卓事件处理异常消息。
进一步地,所述处理标记1及处理标记2均占用四个字节。
进一步地,所述设定时间为3秒钟。
有益效果:
本发明基于对桌面系统键盘驱动的修改,依据键盘事件中断机制通过键盘驱动、安卓应用显示单元及安卓应用兼容服务间的配合,实现从桌面系统内核直接将键盘输入事件发送至安卓兼容环境,不再需要窗口管理器转发和安卓应用显示单元转换事件,从而有效降低了安卓应用相关键盘事件的响应延迟,提高了键盘事件的处理效率。
具体实施方式
下面列举实施例,对本发明进行详细描述。
本发明提供的一种基于中断穿透的跨运行环境低延迟输入方法,其基本思想是:通过修改桌面系统的键盘驱动实现从桌面系统的内核直接将键盘输入事件发送到安卓兼容环境中,而不再需要通过桌面系统窗口管理器的转发和安卓应用显示单元对事件的转换。
本发明提供的一种基于中断穿透的跨运行环境低延迟输入方法,包括以下步骤:
在桌面系统内,当安卓应用桌面窗口被激活时,安卓应用显示单元向安卓应用兼容服务发送获取输入焦点视图ID消息;当安卓应用显示单元接收到焦点视图消息时,若焦点视图消息中的视图ID不为NULL则向键盘驱动发送包含视图ID的焦点编辑视图消息,否则向键盘驱动发送视图消息;当安卓应用桌面窗口失去焦点时,向键盘驱动发送视图消息;当安卓应用显示单元接收到安卓事件处理完成消息时,将安卓事件处理完成消息转发至键盘驱动;当安卓应用显示单元接收到安卓事件处理异常消息时,将安卓事件处理异常消息转发至键盘驱动。
在桌面系统内,键盘驱动在初始化过程中将按键处理标识值、按键识别标识值以及视图标识值分别设置为FALSE、TRUE和NULL,并在创建系统设备文件的同时创建安卓兼容环境可读取的安卓兼容设备文件;当接收到焦点编辑视图消息时,键盘驱动将视图标识值设置为消息中的视图ID;当接收到视图消息时,键盘驱动将视图标识值设置为NULL;当接收到安卓事件处理完成消息时,将按键处理标识值及按键识别标识值均设置为TRUE;当接收到安卓事件处理异常消息时,将按键处理标识值及按键识别标识值分别设置为TRUE 和FALSE;
当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中包含非可见字符按键则将按键处理标识值及按键识别标识值分别设置为FALSE和TRUE,并将包含处理标记1及键盘按键信息的数据写入安卓兼容设备文件,若在设定时间内按键处理标识值变为TRUE且按键识别标识值也为TRUE则说明安卓应用兼容服务已完成键盘输入事件的处理键盘驱动不执行其他操作,若在设定时间内按键处理标识值变为TRUE且按键识别标识值为FALSE则说明安卓应用兼容服务无法识别键盘输入事件将执行桌面系统的标准键盘输入事件处理流程,若在设定时间内按键处理标识值仍为FALSE则执行桌面系统的标准键盘输入事件处理流程;当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中不包含非可见字符按键则将包含处理标记2、视图ID及键盘按键信息的数据写入安卓兼容设备文件;其中,非可见字符按键为Ctrl、Alt、F1等非数字与字符的按键;
当产生键盘中断且此时视图标识值为NULL时提取键盘按键信息,执行桌面系统的标准键盘输入事件处理流程。
在安卓兼容环境启动时导入安卓兼容设备文件,当安卓应用兼容服务接收到获取输入焦点视图ID消息后,判断当前被激活的安卓应用内是否存在具有输入焦点的视图,若存在且视图的属性为可编辑则获取视图的视图ID构建包含具有实际取值的视图ID的焦点视图消息,否则构建包含取值为NULL的视图ID的焦点视图消息,并将焦点视图消息发送至安卓应用显示单元;当安卓兼容环境从安卓兼容设备文件中读取到键盘按键信息时,如果键盘按键信息中包含处理标记1,则执行安卓兼容环境的标准键盘输入事件处理流程,若执行过程正常完成则向安卓应用显示单元发送安卓事件处理完成消息,否则向安卓应用显示单元发送安卓事件处理异常消息;当安卓兼容环境从安卓兼容设备文件中读取到键盘按键信息时,如果键盘按键信息中包含处理标记2,则根据键盘按键信息构造标准安卓系统键盘事件,将键盘事件发送至当前具有输入焦点的编辑框,执行安卓兼容环境的标准键盘输入事件处理流程。
实施例:
本实施例在Linux系统上基于xDroid采用本发明提供的一种基于中断穿透的跨运行环境低延迟输入方法实现了Linux系统安卓应用相关键盘事件的安卓兼容环境直接响应,本实施例中xDroidUI为安卓应用显示单元、xDroidServer为安卓应用兼容服务、xDroidKeyboardDriver为本实例修改后的Linux系统键盘驱动,具体包括以下步骤:
S1、在Linux系统中xDroidUI监测安卓应用桌面窗口的焦点及输入焦点变化,并根据变化情况进行响应,具体为:
S1.1、在xDroidUI中采用变量androidInputFocus的取值表示安卓应用桌面窗口的输入焦点情况,androidInputFocus的取值为NULL说明安卓应用桌面窗口未获取输入焦点,androidInputFocus的取值为安卓应用桌面窗口的窗口ID则说明安卓应用桌面窗口已获取输入焦点。
S1.2、当xDroidUI监测到存在安卓应用桌面窗口被激活时,则通过RPC与安卓应用兼容服务通信,向安卓应用兼容服务发送获取输入焦点视图ID消息;当接收到安卓应用兼容服务返回的焦点视图消息时,若焦点视图消息的视图ID为viewID则将androidInputFocus设置为viewID,并通过ioctl接口向xDroidKeyboardDriver发送包含视图ID的焦点编辑视图消息,以通知xDroidKeyboardDriver将视图标识值focusedEditView设置为viewID;若焦点视图消息的视图ID为空则将androidInputFocus设置为NULL,并通过ioctl接口向xDroidKeyboardDriver发送视图消息,以通知xDroidKeyboardDriver将focusedEditView设置为NULL;
S1.3、当xDroidUI监测到存在安卓应用桌面窗口失去焦点时,则将androidInputFocus设置为NULL,并通过ioctl接口向xDroidKeyboardDriver发送视图消息,以通知xDroidKeyboardDriver将focusedEditView设置为NULL。
S1.4、当xDroidUI接收到安卓事件处理完成消息或安卓事件处理异常消息时,则通过ioctl接口将安卓事件处理完成消息或安卓事件处理异常消息转发至xDroidKeyboardDriver。
S2、在Linux系统实现键盘驱动xDroidKeyboardDriver,包括以下步骤:
S2.1、在xDroidKeyboardDriver初始化时,将focusedEditView、按键处理标识值ctrlKeyHandled及按键识别标识值ctrlKeyRecognized分别设置为NULL、FALSE和TRUE,并在创建系统设备文件(/dev/input/xxxx)的同时创建安卓兼容设备文件(/dev/input/xdroid-keyboard),且在安卓兼容环境启动时将安卓兼容设备文件导入兼容环境所在的容器,如:导入后设备路径为/dev/input/event0。由此安卓兼容环境可直接访问安卓兼容设备文件,如:InputManager创建的InputReader线程能够在安卓兼容环境内的文件系统上通过读取/dev/input/event0获取键盘事件信息。
S2.2、当接收到焦点编辑视图消息时,键盘驱动将视图标识值设置为消息中的视图ID;当接收到视图消息时,键盘驱动将视图标识值设置为NULL;当接收到安卓事件处理完成消息时,将按键处理标识值及按键识别标识值均设置为TRUE;当接收到安卓事件处理异常消息时,将按键处理标识值及按键识别标识值分别设置为TRUE 和FALSE。
S2.3、当系统设备文件中产生键盘中断时,若此时focusedEditView不为NULL则从系统设备文件中提取键盘按键信息,当键盘按键信息中包含Ctrl、Alt等非可见字符按键时执行S2.4,当键盘按键信息中不包含Ctrl、Alt等非可见字符按键时执行S2.5;若此时focusedEditView为NULL则执行后续Linux系统的标准处理流程。
S2.4、将ctrlKeyHandled及ctrlKeyRecognized分别设置为FALSE和TRUE;构造新的键盘输入数据,该数据为二进制数组,包括处理标记1记为xDroidMagicNumber1及原始的键盘按键信息,并将数据写入/dev/input/xdroid-keyboard文件中;设置等待超时为3秒钟,若等待超时内ctrlKeyHandled变为TRUE且ctrlKeyRecognized为FALSE,则执行后续Linux系统的标准处理流程;若等待超时内ctrlKeyHandled变为TRUE且ctrlKeyRecognized为TRUE则说明安卓应用兼容服务已完成键盘输入事件的处理,键盘驱动则不再需要执行其他操作;若等待超时内ctrlKeyHandled变为FALSE,则执行后续Linux系统的标准处理流程。
S2.5、构造新的键盘输入数据,该数据为二进制数组,包括处理标记2记为xDroidMagicNumber2、focusedEditView及原始的键盘按键信息,并将数据写入/dev/input/xdroid-keyboard文件中。
其中,xDroidMagicNumber1及xDroidMagicNumber2可占用四个字节。
为了进一步提高处理效率,本实施例中还可采用由xDroidKeyboardDriver创建独立设备对象,并将该独立设备对象导入安卓兼容环境内,实现由安卓兼容环境内的InputManager通过ioctl接口直接通知xDroidKeyboardDriver修改ctrlKeyHandled和ctrlKeyRecognized。
S3、安卓兼容环境内,当安卓应用兼容服务接收到获取输入焦点视图ID消息后,获取当前被激活的安卓应用桌面窗口所对应的安卓应用的最上层Window及最上层Window的DecorView,通过调用DecorView的findFocus方法获取具有输入焦点的View,如:VieweditView = getWindow().getDecorView().findFocus();若editView不为空且属性为可编辑,即为Editable,则获取editView的viewID构建包含viewID的焦点视图消息,否则构建包含取值为NULL的视图ID的焦点视图消息,将焦点视图消息发送至安卓应用显示单元;
当安卓兼容环境从/dev/input/xdroid-keyboard文件中读取到键盘按键信息时,若最前面的四个字节为xDroidMagicNumber1则执行S4,xDroidMagicNumber2则执行S5。
S4、执行安卓兼容环境的标准键盘输入事件处理流程,若安卓兼容环境已完成此键盘事件的处理,则通过RPC向xDroidUI发送安卓事件处理完成消息;否则通过RPC向xDroidUI发送安卓事件处理异常消息。
S5、根据键盘按键信息构造标准安卓系统键盘事件,将键盘事件发送至当前具有输入焦点的编辑框,执行安卓兼容环境的标准键盘输入事件处理流程。
具体来说,按照标准流程解析键盘按键信息,根据键盘按键信息构造KeyEvent,通过WindowManagerService服务获取当前最顶Window,通过Window获取DecorView,调用DecorView的findViewById方法获取ID为viewID的Edit,再将KeyEvent发送至该Edit。其中,将KeyEvent发送至该Edit所采用的发送方式,既可以是发送事件的方式,也可以是调用Edit的dispatchKeyEvent方法进行发送的方式。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于中断穿透的跨运行环境低延迟输入方法,其特征在于,具体包括以下步骤:
当安卓应用桌面窗口被激活时,安卓应用显示单元向安卓应用兼容服务发送获取输入焦点视图ID消息;当安卓应用显示单元接收到焦点视图消息时,若焦点视图消息中的视图ID不为NULL则向键盘驱动发送包含视图ID的焦点编辑视图消息,否则向键盘驱动发送视图消息;当安卓应用桌面窗口失去焦点时,向键盘驱动发送视图消息;当安卓应用显示单元接收到安卓事件处理完成消息时,将安卓事件处理完成消息转发至键盘驱动;当安卓应用显示单元接收到安卓事件处理异常消息时,将安卓事件处理异常消息转发至键盘驱动;
键盘驱动在初始化过程中将按键处理标识值、按键识别标识值以及视图标识值分别设置为FALSE、TRUE和NULL,并在创建系统设备文件的同时创建安卓兼容环境可读取的安卓兼容设备文件;当接收到焦点编辑视图消息时,键盘驱动将视图标识值设置为消息中的视图ID;当接收到视图消息时,键盘驱动将视图标识值设置为NULL;当接收到安卓事件处理完成消息时,将按键处理标识值及按键识别标识值均设置为TRUE;当接收到安卓事件处理异常消息时,将按键处理标识值及按键识别标识值分别设置为TRUE 和FALSE;
当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中包含非可见字符按键则将按键处理标识值及按键识别标识值分别设置为FALSE和TRUE,并将包含处理标记1及键盘按键信息的数据写入安卓兼容设备文件,若在设定时间内按键处理标识值及按键识别标识值均为TRUE则键盘驱动不执行其他操作,若在设定时间内按键处理标识值为TRUE且按键识别标识值为FALSE则执行桌面系统的标准键盘输入事件处理流程,若在设定时间内按键处理标识值为FALSE则执行桌面系统的标准键盘输入事件处理流程;当产生键盘中断且此时视图标识值不为NULL时提取键盘按键信息,如果键盘按键信息中不包含非可见字符按键则将包含处理标记2、视图ID及键盘按键信息的数据写入安卓兼容设备文件;其中,所述非可见字符按键为非数字与字符按键的键盘按键;当产生键盘中断且此时视图标识值为NULL时提取键盘按键信息,执行桌面系统的标准键盘输入事件处理流程;
在安卓兼容环境启动时导入安卓兼容设备文件,当安卓应用兼容服务接收到获取输入焦点视图ID消息后,判断当前被激活的安卓应用内是否存在具有输入焦点的视图,若存在且视图的属性为可编辑则获取视图的视图ID构建包含实际取值视图ID的焦点视图消息,否则构建包含取值为NULL的视图ID的焦点视图消息,并将焦点视图消息发送至安卓应用显示单元;当安卓兼容环境从安卓兼容设备文件中读取到键盘按键信息时,如果键盘按键信息中包含处理标记1,则执行安卓兼容环境的标准键盘输入事件处理流程,若执行过程正常完成则向安卓应用显示单元发送安卓事件处理完成消息否则发送安卓事件处理异常消息;如果键盘按键信息中包含处理标记2,则根据键盘按键信息构造标准安卓系统键盘事件,将键盘事件发送至当前具有输入焦点的编辑框,执行安卓兼容环境的标准键盘输入事件处理流程。
2.根据权利要求1所述的跨运行环境低延迟输入方法,其特征在于,所述安卓应用显示单元采用xDroidUI,所述安卓应用兼容服务采用xDroidServer。
3.根据权利要求1所述的跨运行环境低延迟输入方法,其特征在于,所述当安卓应用显示单元接收到安卓事件处理完成消息时,将安卓事件处理完成消息转发至键盘驱动;当安卓应用显示单元接收到安卓事件处理异常消息时,将安卓事件处理异常消息转发至键盘驱动中,所述安卓应用显示单元通过ioctl接口向键盘驱动发送安卓事件处理完成消息及安卓事件处理异常消息。
4.根据权利要求1所述的跨运行环境低延迟输入方法,其特征在于,所述处理标记1及处理标记2均占用四个字节。
5.根据权利要求1所述的跨运行环境低延迟输入方法,其特征在于,所述设定时间为3秒钟。
CN202211438890.5A 2022-11-17 2022-11-17 一种基于中断穿透的跨运行环境低延迟输入方法 Active CN115495192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211438890.5A CN115495192B (zh) 2022-11-17 2022-11-17 一种基于中断穿透的跨运行环境低延迟输入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211438890.5A CN115495192B (zh) 2022-11-17 2022-11-17 一种基于中断穿透的跨运行环境低延迟输入方法

Publications (2)

Publication Number Publication Date
CN115495192A CN115495192A (zh) 2022-12-20
CN115495192B true CN115495192B (zh) 2023-01-13

Family

ID=84817386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211438890.5A Active CN115495192B (zh) 2022-11-17 2022-11-17 一种基于中断穿透的跨运行环境低延迟输入方法

Country Status (1)

Country Link
CN (1) CN115495192B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220391A (zh) * 2021-04-27 2021-08-06 北京麟卓信息科技有限公司 一种安卓应用按钮功能实现机制的分析方法及装置
CN115079887A (zh) * 2022-08-18 2022-09-20 北京麟卓信息科技有限公司 一种桌面系统上安卓应用键盘映射辅助提示的显示方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741267B1 (en) * 1998-10-30 2004-05-25 Smart Technologies, Inc. Keyboard for an electronic writeboard and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220391A (zh) * 2021-04-27 2021-08-06 北京麟卓信息科技有限公司 一种安卓应用按钮功能实现机制的分析方法及装置
CN115079887A (zh) * 2022-08-18 2022-09-20 北京麟卓信息科技有限公司 一种桌面系统上安卓应用键盘映射辅助提示的显示方法

Also Published As

Publication number Publication date
CN115495192A (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
US7877091B2 (en) Method and system for executing a container managed application on a processing device
US11006166B2 (en) Method for television remote keypress response based on android operating system and television thereof
US6292186B1 (en) Universal information appliance with parser
US6044409A (en) Framework for marshaling and unmarshaling argument object references
US5546583A (en) Method and system for providing a client/server interface in a programming language
US6226693B1 (en) Method and system for logical event management
US20200293385A1 (en) Input operation processing method and processing apparatus and computer-readable storage medium
US6366297B1 (en) System and method for displaying modem information on a graphical user interface display
CN112882709A (zh) 基于容器引擎系统的渲染方法、装置、设备以及存储介质
US6523072B1 (en) System and method of transmitting keystroke information to a client terminal
US7043534B1 (en) Remote execution of commands in a multi-host network
CN115495192B (zh) 一种基于中断穿透的跨运行环境低延迟输入方法
US20060282460A1 (en) Method and system for generic data objects
CN101819524B (zh) Rfid阅读器的访问方法及其接口驱动设备
CN113672407A (zh) 一种Linux兼容Android的键盘输入控制方法及装置
KR100494827B1 (ko) 하드웨어 독립적인 통신 인터페이스를 가지는 분산객체모델 기반의 라디오 서버와 이를 이용한 통신제어방법
CN114579267A (zh) 一种调度系统语言的设置方法及相关装置
CN112470443B (zh) 将复位向的生物辨识装置隔离到远程会话
JP2011053769A (ja) サーバ装置及び画面データの送信方法
US5842164A (en) Dynamic pattern recognition system
US7349945B1 (en) System and method for managing event publication and subscription
CN106970884B (zh) 应用于安卓系统运行层处理串口命令的方法及装置
KR100482316B1 (ko) 운영체제상에서의콘솔서버방법및장치
CN113032010B (zh) 命令的传输控制方法、终端及计算机可读存储介质
CN112988029B (zh) 一种登录界面启动软键盘的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant