CN113220135B - 一种基于触摸事件的自适应键盘映射方法及装置 - Google Patents
一种基于触摸事件的自适应键盘映射方法及装置 Download PDFInfo
- Publication number
- CN113220135B CN113220135B CN202110457917.4A CN202110457917A CN113220135B CN 113220135 B CN113220135 B CN 113220135B CN 202110457917 A CN202110457917 A CN 202110457917A CN 113220135 B CN113220135 B CN 113220135B
- Authority
- CN
- China
- Prior art keywords
- keyboard
- view
- application window
- name
- mapping
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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
- G06F3/0488—Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于触摸事件的自适应键盘映射方法及装置,通过预先设定的键盘按键映射方案绑定按键与Android应用窗口中的视图(View),当桌面***接收到按键事件时,根据键盘按键映射方案实时将键盘按键事件转换为Android***的触摸事件,以实现对Android应用窗口的操作,因此即使Android应用窗口的尺寸发生变化,也不会产生映射错位,有效提高了桌面平台上安卓应用中操作的便利性,显著提升了用户体验。
Description
技术领域
本发明属于在桌面操作***上运行移动应用的开发技术领域,具体涉及一种基于触摸事件的自适应键盘映射方法及装置。
背景技术
Linux或Windows等桌面操作***Android运行环境是一种在Linux或Windows操作***上运行Android应用(App)的技术,该技术对丰富操作***应用生态具有非常重要的意义。
使用Android运行环境在桌面操作***上运行Android应用时,由于PC计算机的显示器往往不支持触摸,通常使用鼠标点击模拟触摸事件。但是,对于复杂的Android应用窗口操作,例如游戏应用中的多点快速触摸,就需要用键盘的不同的按键对应到应用窗口的不同位置,即按下某一键,就相当于点击了应用窗口的某个位置。
现有的键盘映射是采用预先定义映射规则的方式实现,即通过预先定义键盘按键与屏幕位置的对应关系实现映射。该方法适用于应用窗口尺寸保持不变的情况,然而,当应用窗口出现缩放时,再采用之前设定的映射关系将键盘映射到屏幕将会导致映射的错位,从而导致用户操作错位,为用户带来了不便,降低了用户体验。
发明内容
有鉴于此,本发明提供了一种基于触摸事件的自适应键盘映射方法及装置,根据实时获取的按键信息构造安卓***触摸事件实现键盘映射方案的自适应调整。
本发明提供的一种基于触摸事件的自适应键盘映射方法,具体包括以下步骤:
建立桌面***的键盘按键与安卓应用窗口之间的键盘映射方案,所述键盘映射方案包括所述安卓应用窗口对应的包名、活动名称、按键键码、对应的映射位置,及所述安卓应用窗口内的各视图的名称及标识;当监测到所述桌面***出现键盘按键事件时,查找所述键盘映射方案获取所述键盘按键事件所对应的视图的名称或标识;根据所述视图的名称或标识确定视图对象,构建所述视图对象的触摸事件实现对所述安卓应用窗口的操作。
进一步地,根据所述视图的名称或标识确定视图对象的方式为,所述桌面***将所述视图的名称或标识发送至安卓***,由安卓***查找所述视图的视图对象。
进一步地,所述建立桌面***的键盘按键与安卓应用窗口之间的键盘映射方案的方式为采用可视化方式配置。
本发明提供的一种基于触摸事件的自适应键盘映射装置,包括键盘映射方案配置单元、视图信息获取单元、键盘按键事件监听单元及实时映射单元;
所述键盘映射方案配置单元,用于配置桌面***的键盘按键与安卓应用窗口之间的键盘映射方案,所述键盘映射方案包括所述安卓应用窗口对应的包名、活动名称、按键键码、对应的映射位置,及所述安卓应用窗口内的各视图的标识及名称;
所述视图信息获取单元,位于安卓***中,用于提供安卓应用窗口中的视图信息,所述视图信息包括视图的名称及标识;
所述键盘按键事件监听单元,用于监测所述桌面***中的键盘按键事件,若监测到按键事件,则根据所述键盘映射方案配置单元输出的所述键盘按键映射方案查找所述按键事件对应的视图的名称或ID,以所述视图的名称或ID作为参数调用所述实时映射单元;
所述实时映射单元,用于根据获取到的视图名称或ID查找视图对象,针对所述视图对象构造触摸事件,以所述触摸事件作为输入调用所述视图对象的处理函数实现对所述安卓应用窗口的操作。
进一步地,所述视图信息获取单元与所述键盘按键事件监听单元之间采用RPC通信方式传输数据。
有益效果:
本发明通过预先设定的键盘按键映射方案绑定按键与Android应用窗口中的视图(View),当桌面***接收到按键事件时,根据键盘按键映射方案实时将键盘按键事件转换为Android***的触摸事件,以实现对Android应用窗口的操作,因此即使Android应用窗口的尺寸发生变化,也不会产生映射错位,有效提高了桌面平台上安卓应用中操作的便利性,显著提升了用户体验。
附图说明
图1为本发明提供的一种基于触摸事件的自适应键盘映射方法的流程图。
图2为本发明提供的一种基于触摸事件的自适应键盘映射装置的结构图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种基于触摸事件的自适应键盘映射方法及装置,其核心思想是:预先设定键盘按键映射方案绑定按键与Android应用窗口中的视图(View),当桌面***接收到按键事件时,根据键盘按键映射方案实时将键盘按键事件转换为Android***对应的触摸事件,由该触摸事件实现对Android应用窗口的操作。根据本发明的实现机制,本发明更适合非游戏(基于OpenGL ES)类的Android应用,因为此类应用支持提取当前Android应用窗口的Window/View的对象布局及坐标。
本发明提供的一种基于触摸事件的自适应键盘映射方法,流程如图1所示,包括以下步骤:
步骤1、配置键盘映射方案。键盘映射方案用于说明当前键盘上的按键与Android应用窗口之间的对应关系,具体包括:当前应用的包名、活动名称(Activity Name)、键盘按键的键码(KeyCode)、按键映射位置、按键映射视图(View)名及按键映射视图标识(视图ID)。
现有技术中,任意品牌的键盘上的按键都具有唯一的扫描码(ScanCode),该扫描码经过操作***层的转换都与确定的键码(KeyCode)相对应,因此,在操作***层处理键盘相关的任务时,仅需关注键盘按键的键码(KeyCode)即可。按键映射位置可采用该位置在应用显示界面中对应的位置坐标进行描述,记为:(x,y)。
其中,按键映射视图名及按键映射视图标识(View ID)通过如下方式获取:
修改Android***的WindowManagerService,即在WindowManagerService中增加返回当前应用窗口中所包含视图的相关信息的方法,以获取应用窗口内各视图的名称及ID等信息;使用RPC通信方式,将按键映射位置发送至Android***的WindowManagerService,由WindowManagerService返回该坐标所对应的视图的名称及ID。
本发明中,键盘映射方案的配置可采用可视化方式进行配置。
步骤2、启动键盘映射后,当桌面***监测到键盘按键事件时,包括KeyDown及KeyUp事件,桌面***根据步骤1中设定的键盘映射方案获取当前按键所对应的视图ID或视图名称;然后,将该视图ID或视图名称发送至Android***。
步骤3、Android***根据该视图ID或视图名称查找该视图对应的视图对象,针对该视图对象,构造触摸事件(MotionEvent)模拟Finger Down和Finger Up事件,然后以该触摸事件作为输入调用该视图对象的处理函数,实现对该视图的操作。
根据本发明提供的一种基于触摸事件的自适应键盘映射方法,本发明设计了一种基于触摸事件的自适应键盘映射装置,装置的结构如图2所示,包括键盘映射方案配置单元、视图信息获取单元、键盘按键事件监听单元及实时映射单元。
其中,键盘映射方案配置单元,用于配置键盘按键与Android应用窗口之间的按键对应关系,具体包括:当前Android应用的包名、活动名称(Activity Name)、键盘按键的键码(KeyCode)及按键映射位置;然后,使用视图信息获取单元,根据该对应关系中的按键映射位置获取当前窗口的视图的名称及标识(ID)。
视图信息获取单元,部署在安卓运行环境中,用于提供当前窗口的视图的信息,包括视图的名称及ID,支持根据视图的ID或坐标查询视图的其他信息。
键盘按键事件监听单元,用于监测桌面***中的键盘按键事件,若监测到按键事件,则读取键盘映射方案配置单元输出的当前窗口的键盘按键映射方案中的视图的名称或ID,以视图的名称或ID作为参数调用实时映射单元。
实时映射单元,用于根据获取到的视图名称或ID查找视图对象,针对该视图对象,构造触摸事件(MotionEvent)模拟Finger Down和Finger Up事件,然后以该触摸事件作为输入调用该视图对象的处理函数,实现对该视图的操作。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于触摸事件的自适应键盘映射方法,其特征在于,具体包括以下步骤:
建立桌面***的键盘按键与安卓应用窗口之间的键盘映射方案,所述键盘映射方案包括所述安卓应用窗口对应的包名、活动名称、按键键码、对应的映射位置,及所述安卓应用窗口内的各视图的名称及标识;
当监测到所述桌面***出现键盘按键事件时,桌面***查找所述键盘映射方案获取所述键盘按键事件所对应的视图的名称或标识;
根据所述视图的名称或标识确定视图对象,构建所述视图对象的触摸事件模拟FingerDown和Finger Up事件,然后以该触摸事件作为输入调用该视图对象的处理函数,实现键盘按键对所述安卓应用窗口的操作;
根据所述视图的名称或标识确定视图对象的方式为,所述桌面***将所述视图的名称或标识发送至安卓***,由安卓***查找所述视图的视图对象。
2.根据权利要求1所述的方法,其特征在于,所述建立桌面***的键盘按键与安卓应用窗口之间的键盘映射方案的方式为采用可视化方式配置。
3.一种基于触摸事件的自适应键盘映射装置,其特征在于,包括键盘映射方案配置单元、视图信息获取单元、键盘按键事件监听单元及实时映射单元;
所述键盘映射方案配置单元,用于配置桌面***的键盘按键与安卓应用窗口之间的键盘映射方案,所述键盘映射方案包括所述安卓应用窗口对应的包名、活动名称、按键键码、对应的映射位置,及所述安卓应用窗口内的各视图的标识及名称;
所述视图信息获取单元,位于安卓***中,用于提供安卓应用窗口中的视图信息,所述视图信息包括视图的名称及标识;
所述键盘按键事件监听单元,用于监测所述桌面***中的键盘按键事件,若监测到按键事件,则桌面***根据所述键盘映射方案配置单元输出的所述键盘映射方案查找所述按键事件对应的视图的名称或ID,以所述视图的名称或ID作为参数调用所述实时映射单元;
所述实时映射单元,用于根据获取到的视图名称或ID查找视图对象,针对所述视图对象构造触摸事件模拟Finger Down和Finger Up事件,再以所述触摸事件作为输入调用所述视图对象的处理函数实现键盘按键对所述安卓应用窗口的操作。
4.根据权利要求3所述的自适应键盘映射装置,其特征在于,所述视图信息获取单元与所述键盘按键事件监听单元之间采用RPC通信方式传输数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110457917.4A CN113220135B (zh) | 2021-04-27 | 2021-04-27 | 一种基于触摸事件的自适应键盘映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110457917.4A CN113220135B (zh) | 2021-04-27 | 2021-04-27 | 一种基于触摸事件的自适应键盘映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220135A CN113220135A (zh) | 2021-08-06 |
CN113220135B true CN113220135B (zh) | 2021-11-23 |
Family
ID=77089781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110457917.4A Active CN113220135B (zh) | 2021-04-27 | 2021-04-27 | 一种基于触摸事件的自适应键盘映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220135B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115079887B (zh) * | 2022-08-18 | 2022-10-25 | 北京麟卓信息科技有限公司 | 一种桌面***上安卓应用键盘映射辅助提示的显示方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402373A (zh) * | 2010-09-15 | 2012-04-04 | ***通信有限公司 | 一种控制移动终端中触摸键盘的方法及装置 |
CN104820551A (zh) * | 2015-04-24 | 2015-08-05 | 青岛海信移动通信技术股份有限公司 | 一种在终端中的触控操作方法和装置 |
CN109260704A (zh) * | 2018-07-20 | 2019-01-25 | 北京超卓科技有限公司 | 映射方法、装置以及移动设备和游戏装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105120329B (zh) * | 2015-09-08 | 2018-09-04 | 冠捷显示科技(厦门)有限公司 | 一种应用于电视游戏控制的输入适配方法及装置 |
CN110032412B (zh) * | 2019-02-28 | 2022-07-01 | 努比亚技术有限公司 | 一种按键输入控制方法、终端及计算机可读存储介质 |
-
2021
- 2021-04-27 CN CN202110457917.4A patent/CN113220135B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402373A (zh) * | 2010-09-15 | 2012-04-04 | ***通信有限公司 | 一种控制移动终端中触摸键盘的方法及装置 |
CN104820551A (zh) * | 2015-04-24 | 2015-08-05 | 青岛海信移动通信技术股份有限公司 | 一种在终端中的触控操作方法和装置 |
CN109260704A (zh) * | 2018-07-20 | 2019-01-25 | 北京超卓科技有限公司 | 映射方法、装置以及移动设备和游戏装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113220135A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970790B (zh) | 一种应用程序创建的方法、相关设备及*** | |
US6868454B1 (en) | Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development | |
CN102143235A (zh) | 对触摸屏终端提供远程服务的方法及*** | |
US20020063691A1 (en) | LCD and active web icon download | |
CN112882772B (zh) | 移动终端应用界面的配置方法、移动终端及存储介质 | |
CN110837466B (zh) | 一种基于源代码打桩的嵌入式软件动态测试方法 | |
CN113220135B (zh) | 一种基于触摸事件的自适应键盘映射方法及装置 | |
CN108628900B (zh) | 一种数据格式获取的方法以及相关装置 | |
CN104008446A (zh) | 建筑施工信息交互方法及*** | |
CN111078104A (zh) | 一种云桌面上的多点触控设备的重定向方法及计算机设备 | |
EP1256091A2 (en) | Method and system for configuring and unlocking an electronic reading device | |
CN110008234B (zh) | 一种业务数据搜索方法、装置及电子设备 | |
CN115016870A (zh) | 任务创建方法、装置、电子设备和存储介质 | |
CN113220136B (zh) | 基于窗口布局感知的键盘映射方案自动切换方法及装置 | |
US20050015524A1 (en) | Character string input device, character string input method, character string input program, and medium on which the program is recorded | |
CN113238663A (zh) | 一种基于视图匹配的自适应键盘映射方法及装置 | |
CN107193597A (zh) | 一种应用程序更新方法及终端 | |
CN112486567B (zh) | 代码的合并请求发送方法、装置、电子设备及存储介质 | |
CN110928539B (zh) | 代码工程生成方法、装置、电子设备及可读存储介质 | |
CN103473170A (zh) | 测试***及测试方法 | |
KR20040108028A (ko) | 이동 통신 단말기의 원격 접속 방법 | |
CN114780330A (zh) | 代码监控方法和装置 | |
CN108170593A (zh) | 应用程序运行的方法及装置 | |
CN102546473B (zh) | 具有分立状态的即时通信客户端、实现方法及*** | |
CN112156450A (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 |