CN108008992B - 一种输入操作处理方法、处理装置及计算机可读存储介质 - Google Patents
一种输入操作处理方法、处理装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108008992B CN108008992B CN201711191433.XA CN201711191433A CN108008992B CN 108008992 B CN108008992 B CN 108008992B CN 201711191433 A CN201711191433 A CN 201711191433A CN 108008992 B CN108008992 B CN 108008992B
- Authority
- CN
- China
- Prior art keywords
- input
- input event
- event
- touch screen
- external
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 46
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04162—Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/22—Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种输入操作处理方法、处理装置及计算机可读存储介质,用于处理一智能终端接收的输入操作,所述输入操作处理方法包括以下步骤:于一应用程序内预设至少二种输入操作与输入事件的映射关系;检测所述应用程序的输入事件接口是否接收任一种输入事件;当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;将识别后的输入事件转换为与其他种类输入事件共存的输入事件;上报所述与其他种类输入事件共存的输入事件。上述技术方案实施后,可以使用外部输入设备或者外部输入设备与触摸屏结合的方式对智能终端进行操作,可以提高输入操作的灵活性,提升用户体验。
Description
技术领域
本发明涉及智能终端输入操作处理领域,尤其涉及一种输入操作处理方法、处理装置及计算机可读存储介质。
背景技术
目前智能手机、平板电脑等智能终端的应用越来越普及,特别是基于安卓操作系统 (Android System)的智能终端,第三方在该操作系统的架构上开发了满足各种应用需求的应用程序,也就是APP。这些应用程序往往需要和用户进行人机交互,也就是接收用户的输入操作,主要由所述智能终端的触摸屏接收触摸操作,而游戏等需要连接外部输入设备的应用程序,会根据操作的对象不同产生外部输入事件、触摸屏输入事件等不同的输入事件。
参阅图1,为安卓操作系统对于输入事件的处理流程框图,可以看到安卓操作系统(Android)下的各层,其中应用层(Application)包括根视图对象(ViewRootimpl),根视图对象内又包括了视窗输入事件接收器(WindowinputEventReceiver);框架层 (Framework)包括了输入事件抛射器(Input Flinger),输入事件抛射器中又包括了输入分发器(InputDispatcher)和输入读取器(Input Reader);输入设备层(Input Device)包括游戏手柄(Joystick)和触摸屏(Touch Screen)。当有输入操作产生时,从输入设备层形成输入事件逐层上报,直至应用层中的视窗输入事件接收器。目前的安卓操作系统支持游戏手柄(Joystick)等外部输入设备接入,接入后的外部输入设备就可以向应用程序发出外部输入事件,如果应用程序不对手外部输入事件做专门处理,则会根据默认规则处理外部输入事件,即图1中的视窗输入事件接收器会丢弃掉这些事件不做处理,也就是说应用程序仅能识别触摸屏(Touch Screen)接收的输入操作,无法识别外部输入设备接收的输入操作。
参阅图2,为现有技术中对于外部输入事件及触摸屏输入事件的处理流程框图。为了使应用程序能够识别外部输入设备接收的输入操作,须建立外部输入事件与触摸屏事件之间的映射关系。具体地,现有技术设置了一个位于智能终端操作系统框架层的输入事件转换器(Event Translator),该输入事件转换器从输入设备层接收外部输入设备(如游戏手柄)的外部输入事件后,将该外部输入事件转换为触摸屏输入事件,汇总至输入事件抛射器后再统一上报给应用层的视窗输入事件接收器。然而,对于应用层而言,无论是外部输入设备接收的操作还是触摸屏接收的操作,应用程序接收到的都是触摸屏输入事件,无法区分出该事件是由触摸屏产生的还是由外部输入设备产生的,进而导致外部输入设备和触摸屏不能同时使用,影响用户体验。
因此需要实现应用程序对不同的输入事件进行识别,以满足用户同时进行触摸屏操作和外部输入设备操作的需求。
发明内容
本发明提供了一种支持外部输入设备和触摸屏同时进行输入操作的输入操作处理方法。
本发明公开了一种输入操作处理方法,用于处理一智能终端接收的输入操作,包括以下步骤:
S101:于一应用程序内预设至少二种输入操作与输入事件的映射关系;
S102:检测所述应用程序的输入事件接口是否接收任一种输入事件;
S103:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;
S104:将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
S105:上报所述与其他种类输入事件共存的输入事件。
优选地,步骤S101中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。
优选地,步骤S104包括:
S104-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
S104-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
优选地,步骤S102中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。
优选地,步骤S101中,所述映射关系包括每一种输入事件的标识位;步骤S103中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
本发明还公开了一种输入操作处理装置,用于处理一智能终端接收的输入操作,所述输入操作处理装置包括:
预设模块,于一应用程序内预设至少二种输入操作与输入事件的映射关系;
检测模块,检测所述应用程序的输入事件接口是否接收任一种输入事件;
识别模块,与所述检测模块及预设模块连接,当所述检测模块检测所述输入事件接口接收任一种输入事件时,所述识别模块通过所述映射关系识别所述输入事件对应的输入操作;
转换模块,与所述识别模块连接,将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
上报模块,与所述转换模块连接,上报所述与其他种类输入事件共存的输入事件。
优选地,所述预设模块预设至少二种输入操作与输入事件的映射关系时,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。
优选地,所述转换模块包括:
第一转换单元,当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
第二转换单元,当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
优选地,所述检测模块检测所述输入事件接口是否从所述智能终端操作系统的框架层接收所述输入事件。
优选地,所述预设模块预设至少二种输入操作与输入事件的映射关系时,所述映射关系包括每一种输入事件的标识位;所述识别模块通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,用于处理一智能终端接收的输入操作,所述计算机程序被处理器执行时实现以下步骤:
S106:于一应用程序内预设至少二种输入操作与输入事件的映射关系;
S107:检测所述应用程序的输入事件接口是否接收任一种输入事件;
S108:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;
S109:将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
S110:上报所述与其他种类输入事件共存的输入事件。
优选地,步骤S106中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。
优选地,步骤S109包括:
S109-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
S109-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
优选地,步骤S107中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。
优选地,步骤S106中,所述映射关系包括每一种输入事件的标识位;步骤S108中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.可以使用外部输入设备或者外部输入设备与触摸屏结合的方式对智能终端进行操作,可以提高输入操作的灵活性,提升用户体验;
2.仅在应用层进行代码修改,对不同的操作系统版本具有较好的兼容性。
附图说明
图1为现有技术中安卓操作系统对于输入事件的处理流程框图;
图2为现有技术中对于外部输入事件及触摸屏输入事件的处理流程框图;
图3为符合本发明一优选实施例中输入操作处理方法的流程示意图;
图4为图3中步骤S104的流程示意图;
图5为符合本发明一优选实施例中输入操作处理装置的结构框图;
图6为图5中转换模块的结构框图;
图7为符合本发明一优选实施例中计算机可读存储介质上计算机程序的流程示意图;
图8为图7中步骤S109的流程示意图;
图9为符合本发明一优选实施例中基于安卓操作系统的应用程序的框图。
附图标记:
10-输入操作处理装置、11-预设模块、12-检测模块、13-识别模块、14-转换模块、15- 上报模块、141-第一转换单元、142-第二转换单元。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
参阅图3,为符合本发明一优选实施例中输入操作处理方法的流程示意图,所述输入操作处理方法用于处理一智能终端接收的输入操作,包括以下步骤:
S101:于一应用程序内预设至少二种输入操作与输入事件的映射关系。
根据输入设备的不同,各种输入设备接收的输入操作也不同,例如所述智能终端的触摸屏能够接收触摸操作,所述智能终端的按键能够接收按压操作,若所述智能终端连接了游戏手柄、外部键盘等外部输入设备,则能接受外部输入操作。所述输入事件为所述智能终端内形成的软件任务,所述应用程序能够从操作系统框架层接收输入事件并对输入事件进行处理,例如对输入事件关联的计算任务进行触发,或者在显示界面显示输入事件的结果。不同的输入操作对应有不同的输入事件,各输入事件可由软件识别其区别。
本步骤于所述应用程序内预设至少二种输入操作与输入事件的映射关系,即预存不同输入事件对应的识别标识以及其对应的输入操作种类。所述应用程序设于所述智能终端操作系统的应用层,可以是游戏、远程操作软件等需要人机交互的应用软件。当所述应用程序启动时,通过Hook技术,将外部输入事件与触摸屏输入事件的映射关系加载到应用程序中。Hook的本意是钩子,在计算机软件开发中,Hook技术是指对某个程序的接口进行监听,并截获该接口的数据进行处理,例如游戏外挂就是典型的Hook技术应用。本实施例中则通过Hook技术在所述应用程序内预设输入操作与输入事件的映射关系,具体的实现手段可以是对原有的应用程序中处理输入事件的类或者方法进行替换,在自定义的同名类或方法中预设所述映射关系,以便监听到输入事件接口上报输入事件时通过自定义的类或方法对输入事件进行处理。
S102:检测所述应用程序的输入事件接口是否接收任一种输入事件。
本步骤中,对所述应用程序的输入事件接口进行监听,检测所述输入事件接口是否接收任一种在步骤S101中预设的输入事件。所述输入事件接口可以是视窗输入事件接收器,可接收从所述操作系统的框架层上报的输入事件。当所述输入事件接口接收到输入事件时,必然产生数据流或相关标识位的变化,因此可以获知接收输入事件的行为。以安卓操作系统为例,本步骤监听应用程序获得输入事件接口WindowInputEventReceiver 类中的onInputEvent,以对框架层上报的输入事件进行截获。
S103:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作。
当步骤S102检测到所述输入事件接口接收任一种输入事件时,执行本步骤。本步骤中,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作,由于不同种类的输入事件必然存在软件数据上的差异,例如不同的标识位、不同的成员变量或不同的属性等差异,上述差异已经作为映射关系在所述步骤S101中预设在所述应用程序内,因此能够识别出所述输入事件对应的输入操作。
S104:将识别后的输入事件转换为与其他种类输入事件共存的输入事件。
仅仅通过步骤S103对不同种类的输入事件进行识别还未实现所述应用程序对不同输入事件的处理,还需执行本步骤。本步骤执行转换操作,将所述步骤S103识别后的输入事件转换为与其他种类输入事件共存的输入事件。本步骤执行时,对所述输入事件进行修改,修改的内容可以是成员变量、属性等影响输入事件特性的数据,且修改后的输入事件能够与其他种类的输入事件共存,例如对外部输入设备上报的外部输入事件进行转换后,该事件可与触摸屏对应的触摸屏输入事件共存,即两者对于应用程序可以区分,并能够进行相应的处理操作。
S105:上报所述与其他种类输入事件共存的输入事件。
本步骤将步骤S104中转换后的输入事件上报,上报给所述应用程序中的其他模块,例如对输入事件进行相关的数据计算,或者是显示所述输入事件的结果。例如在游戏中,用户使用游戏手柄进行了针对操作对象移动的输入操作,该操作形成一输入事件后,游戏程序须对该输入事件进行分析,计算出操作对象的移动距离,并在显示界面上显示该操作对象的移动效果,在上述过程中,须将转换后的输入事件上报给所述应用程序中有关分析及显示的模块。本实施例中,通过Java反射技术,将转换之后的输入事件通过onInputEvent接口发出去。Java反射技术依托于Java反射机制实现,所述Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制,因此Java语言也称为动态语言。通过Java反射技术,能够获取转换后的输入事件的类的属性及方法,再将该属性及方法通过onInputEvent接口发送至所述应用程序内的其他模块中。
作为所述输入操作处理方法的进一步改进,所述步骤S101中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。本改进实施例进一步对所述输入操作的种类进行划分,划分为两种,分别是由所述触摸屏接收的触摸操作和由外部输入设备接收的外部输入操作。相应地,上述两种输入操作对应不同的输入事件,所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件,以便应用程序进行识别并处理。
参阅图4,为图3中步骤S104的流程示意图,步骤S104包括:
S104-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件。
S104-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
本改进实施例中,在所述输入操作被划分为触摸操作及外部输入操作的基础上,对所述步骤S104进行了进一步限定,根据所述输入事件接口接收的输入事件的种类,分别将输入事件转换为第一输入事件或第二输入事件。所述第一输入事件能够体现关于触摸操作的属性或相关参数,所述第二输入事件能够体现关于外部输入操作的属性或相关参数,以便后续所述应用程序内其他模块进行处理。
作为所述输入操作处理方法的进一步改进,步骤S102中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。由于输入事件自安卓操作系统的驱动层形成后逐层上报,理论上可以在驱动层(Android Driver)、本地运行库层(AndroidNative)、框架层(Framework)及应用层(Application)中的任一层进行拦截处理。为了减少操作系统升级时的代码移植工作量,本实施例中对于所述输入事件的接收、检测、处理过程均在应用层实现,因此可以从所述框架层接收所述输入事件,这样无论是操作系统升级,还是对于不同版本的操作系统代码移植,均无须改动框架层及其以下各层的代码,减少了代码移植工作量。
作为所述输入操作处理方法的进一步改进,步骤S101中,所述映射关系包括每一种输入事件的标识位;步骤S103中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。本改进实施例对于所述输入事件的识别方式作了进一步限定,即通过所述输入事件的标识位进行识别,因此需要在所述映射关系中预设标识位,并在识别步骤中根据预设的标识位进行输入事件的识别。
参阅图9,为符合本发明一优选实施例中基于安卓操作系统的应用程序的框图,与图 1相比,本发明在原有的安卓操作系统框架上增加了方法捕捉器(Method Hooker),所述方法捕捉器中又包括了输入事件方法(OnInputEvent),所述输入事件方法中又包括了事件转换器(Exchanger)。步骤S101中则预设了所述方法捕捉器,其内部的输入事件方法定义了输入操作与输入事件的映射关系;步骤S102则检测框架层是否上报输入事件至应用层的视窗输入事件接收器,所述框架层通过所述输入事件接口上报所述输入事件;步骤S103及步骤S104则通过方法捕捉器对所述视窗输入事件接收器中的输入事件方法进行替换,使用所述方法捕捉器中的输入事件方法对所述输入事件进行识别及转换;步骤 S105则将所述方法捕捉器转换后的输入事件上报至输入事件队列(EnqueueInputEvent)。
参阅图5,为符合本发明一优选实施例中输入操作处理装置10的结构框图,所述输入操作处理装置10用于处理一智能终端接收的输入操作,包括:
-预设模块11
所述预设模块11于一应用程序内预设至少二种输入操作与输入事件的映射关系。所述预设模块11预存不同输入事件对应的识别标识以及其对应的输入操作种类,通过Hook技术,将不同种类的输入事件与输入操作之间的映射关系加载到应用程序中。
-检测模块12
所述检测模块12检测所述应用程序的输入事件接口是否接收任一种输入事件。所述检测模块12实际上是监听程序,对所述输入事件接口进行监听,根据数据流或相关标识位的变化识别出是否有输入事件上报。
-识别模块13
所述识别模块13与所述检测模块12及预设模块11连接,当所述检测模块12检测所述输入事件接口接收任一种输入事件时,所述识别模块13通过所述映射关系识别所述输入事件对应的输入操作。所述识别模块13通过所述预设模块11获取所述映射关系,并对所述输入事件进行识别。
-转换模块14
所述转换模块14与所述识别模块13连接,将识别后的输入事件转换为与其他种类输入事件共存的输入事件。所述转换模块14根据所述识别模块13的识别结果对所述输入事件进行转换,对于不同的输入事件,其转换的结果也不同,最终转换为与其他种类输入事件共存的输入事件,即转换后的不同的输入事件被处理时能够区分。
-上报模块15
所述上报模块15与所述转换模块14连接,上报所述与其他种类输入事件共存的输入事件。所述上报模块15从所述转换模块14获取转换后的输入事件,并上报给所述应用程序内的其他模块进行后续处理。
作为所述输入操作处理装置10的进一步改进,所述预设模块11预设至少二种输入操作与输入事件的映射关系时,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。
参阅图6,为图5中转换模块14的结构框图,所述转换模块14包括:
-第一转换单元141
当所述输入事件接口接收所述触摸屏输入事件时,所述第一转换单元141将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件。
-第二转换单元142
当所述输入事件接口接收所述外部输入事件时,所述第二转换单元142将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
由于不同种类的输入事件的类及方法的属性均不同,因此通过所述第一转换单元141 及第二转换单元142分别对触摸屏输入事件及外部输入事件进行转换,形成对应的第一输入事件及第二输入事件。
作为所述输入操作处理装置10的进一步改进,所述检测模块12检测所述输入事件接口是否从所述智能终端操作系统的框架层接收所述输入事件。本改进实施例中,所述检测模块12对所述框架层上报的输入事件进行监听。
作为所述输入操作处理装置10的进一步改进,所述预设模块11预设至少二种输入操作与输入事件的映射关系时,所述映射关系包括每一种输入事件的标识位;所述识别模块13通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
参阅图7,为符合本发明一优选实施例中计算机可读存储介质上计算机程序的流程示意图,所述计算机可读存储介质上存储有计算机程序,用于处理一智能终端接收的输入操作,所述计算机程序被处理器执行时实现以下步骤:
S106:于一应用程序内预设至少二种输入操作与输入事件的映射关系;
S107:检测所述应用程序的输入事件接口是否接收任一种输入事件;
S108:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;
S109:将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
S110:上报所述与其他种类输入事件共存的输入事件。
作为所述计算机程序的进一步改进,步骤S106中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件。
参阅图8,为图7中步骤S109的流程示意图,所述步骤S109包括:
S109-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
S109-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
作为所述计算机程序的进一步改进,步骤S107中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。
作为所述计算机程序的进一步改进,步骤S106中,所述映射关系包括每一种输入事件的标识位;步骤S108中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
上述计算机程序的方法步骤与本发明中的输入操作处理方法的实现方式一致,不再赘述。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种输入操作处理方法,用于处理一智能终端接收的输入操作,其特征在于,包括以下步骤:
S101:于一应用程序内预设至少二种输入操作与输入事件的映射关系;
S102:检测所述应用程序的输入事件接口是否接收任一种输入事件;
S103:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;
S104:将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
S105:上报所述与其他种类输入事件共存的输入事件;
步骤S101中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;
所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件;
步骤S104包括:
S104-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
S104-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
2.如权利要求1所述的输入操作处理方法,其特征在于,
步骤S102中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。
3.如权利要求1所述的输入操作处理方法,其特征在于,
步骤S101中,所述映射关系包括每一种输入事件的标识位;
步骤S103中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
4.一种输入操作处理装置,用于处理一智能终端接收的输入操作,其特征在于,包括:
预设模块,于一应用程序内预设至少二种输入操作与输入事件的映射关系;
检测模块,检测所述应用程序的输入事件接口是否接收任一种输入事件;
识别模块,与所述检测模块及预设模块连接,当所述检测模块检测所述输入事件接口接收任一种输入事件时,所述识别模块通过所述映射关系识别所述输入事件对应的输入操作;
转换模块,与所述识别模块连接,将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
上报模块,与所述转换模块连接,上报所述与其他种类输入事件共存的输入事件;
所述预设模块预设至少二种输入操作与输入事件的映射关系时,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;
所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件;
所述转换模块包括:
第一转换单元,当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
第二转换单元,当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
5.如权利要求4所述的输入操作处理装置,其特征在于,
所述检测模块检测所述输入事件接口是否从所述智能终端操作系统的框架层接收所述输入事件。
6.如权利要求4所述的输入操作处理装置,其特征在于,
所述预设模块预设至少二种输入操作与输入事件的映射关系时,所述映射关系包括每一种输入事件的标识位;
所述识别模块通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
7.一种计算机可读存储介质,其上存储有计算机程序,用于处理一智能终端接收的输入操作,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
S106:于一应用程序内预设至少二种输入操作与输入事件的映射关系;
S107:检测所述应用程序的输入事件接口是否接收任一种输入事件;
S108:当所述输入事件接口接收任一种输入事件时,所述应用程序通过所述映射关系识别所述输入事件对应的输入操作;
S109:将识别后的输入事件转换为与其他种类输入事件共存的输入事件;
S110:上报所述与其他种类输入事件共存的输入事件;
步骤S106中,所述输入操作包括所述智能终端触摸屏接收的触摸操作及与所述智能终端连接的外部输入设备接收的外部输入操作;
所述触摸操作对应一触摸屏输入事件,所述外部输入操作对应一外部输入事件;
步骤S109包括:
S109-1:当所述输入事件接口接收所述触摸屏输入事件时,将所述触摸屏输入事件转换为与所述外部输入事件共存的第一输入事件;
S109-2:当所述输入事件接口接收所述外部输入事件时,将所述外部输入事件转换为与所述触摸屏输入事件共存的第二输入事件。
8.如权利要求7所述的计算机可读存储介质,其特征在于,
步骤S107中,所述输入事件接口从所述智能终端操作系统的框架层接收所述输入事件。
9.如权利要求7所述的计算机可读存储介质,其特征在于,
步骤S106中,所述映射关系包括每一种输入事件的标识位;
步骤S108中,所述应用程序通过所述输入事件内的标识位识别所述输入事件对应的输入操作。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711191433.XA CN108008992B (zh) | 2017-11-24 | 2017-11-24 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
KR1020207014913A KR20200090785A (ko) | 2017-11-24 | 2018-10-24 | 입력 조작 처리 방법, 처리 장치 및 컴퓨터 판독가능 저장 매체 |
EP18882068.2A EP3702913A4 (en) | 2017-11-24 | 2018-10-24 | METHOD AND DEVICE FOR PROCESSING INPUT OPERATIONS AND COMPUTER-READABLE STORAGE MEDIUM |
PCT/CN2018/111756 WO2019100898A1 (zh) | 2017-11-24 | 2018-10-24 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
JP2020528445A JP2021504823A (ja) | 2017-11-24 | 2018-10-24 | 入力操作処理方法、処理装置およびコンピュータ読み取り可能な記憶媒体 |
US16/882,436 US20200293385A1 (en) | 2017-11-24 | 2020-05-22 | Input operation processing method and processing apparatus and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711191433.XA CN108008992B (zh) | 2017-11-24 | 2017-11-24 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108008992A CN108008992A (zh) | 2018-05-08 |
CN108008992B true CN108008992B (zh) | 2020-08-18 |
Family
ID=62053415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711191433.XA Active CN108008992B (zh) | 2017-11-24 | 2017-11-24 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200293385A1 (zh) |
EP (1) | EP3702913A4 (zh) |
JP (1) | JP2021504823A (zh) |
KR (1) | KR20200090785A (zh) |
CN (1) | CN108008992B (zh) |
WO (1) | WO2019100898A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008992B (zh) * | 2017-11-24 | 2020-08-18 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
CN110750370B (zh) * | 2019-10-17 | 2022-06-14 | Oppo(重庆)智能科技有限公司 | 信息处理方法及装置、设备、存储介质 |
CN110898424B (zh) * | 2019-10-21 | 2023-10-20 | 维沃移动通信有限公司 | 一种显示控制方法及电子设备 |
CN110865894B (zh) * | 2019-11-22 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 跨终端控制应用程序的方法及装置 |
CN111399739B (zh) * | 2020-03-11 | 2022-04-19 | 努比亚技术有限公司 | 触摸事件转换处理方法、终端和计算机可读存储介质 |
CN112214264A (zh) * | 2020-10-10 | 2021-01-12 | 交通运输部规划研究院 | Ais交互操作处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164265A (zh) * | 2011-12-16 | 2013-06-19 | 盛乐信息技术(上海)有限公司 | 基于Linux系统的输入事件处理方法和系统 |
CN105893067A (zh) * | 2015-06-03 | 2016-08-24 | 福建创意嘉和软件有限公司 | 基于PC机实现运行Android系统应用的方法 |
CN106730820A (zh) * | 2016-12-12 | 2017-05-31 | 苏州蜗牛数字科技股份有限公司 | 一种适配多种游戏手柄的方法及Android终端设备 |
CN107357560A (zh) * | 2017-04-28 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 交互处理方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120100900A1 (en) * | 2010-10-21 | 2012-04-26 | Aibelive Co., Ltd | Method for operating a mobile device to control a main Unit in playing a video game |
CN102508675B (zh) * | 2011-12-28 | 2015-01-07 | Tcl集团股份有限公司 | 基于android平台鼠标移动的响应处理方法及装置 |
CN102707882A (zh) * | 2012-04-27 | 2012-10-03 | 深圳瑞高信息技术有限公司 | 虚拟图标触摸屏应用程序的操控转换方法及触摸屏终端 |
US20140121022A1 (en) * | 2012-10-29 | 2014-05-01 | Nishith Shah | Method and system for video gaming using touchscreen input adaptation |
CN105477854B (zh) * | 2014-12-19 | 2019-04-02 | 广州爱九游信息技术有限公司 | 应用于智能终端的手柄控制方法、装置及系统 |
CN106569829B (zh) * | 2016-11-10 | 2020-11-20 | 北京小鸟看看科技有限公司 | 触摸屏工作模式切换实现方法、触摸屏装置和头戴式设备 |
CN108008992B (zh) * | 2017-11-24 | 2020-08-18 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
-
2017
- 2017-11-24 CN CN201711191433.XA patent/CN108008992B/zh active Active
-
2018
- 2018-10-24 EP EP18882068.2A patent/EP3702913A4/en not_active Withdrawn
- 2018-10-24 WO PCT/CN2018/111756 patent/WO2019100898A1/zh unknown
- 2018-10-24 KR KR1020207014913A patent/KR20200090785A/ko not_active Application Discontinuation
- 2018-10-24 JP JP2020528445A patent/JP2021504823A/ja active Pending
-
2020
- 2020-05-22 US US16/882,436 patent/US20200293385A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164265A (zh) * | 2011-12-16 | 2013-06-19 | 盛乐信息技术(上海)有限公司 | 基于Linux系统的输入事件处理方法和系统 |
CN105893067A (zh) * | 2015-06-03 | 2016-08-24 | 福建创意嘉和软件有限公司 | 基于PC机实现运行Android系统应用的方法 |
CN106730820A (zh) * | 2016-12-12 | 2017-05-31 | 苏州蜗牛数字科技股份有限公司 | 一种适配多种游戏手柄的方法及Android终端设备 |
CN107357560A (zh) * | 2017-04-28 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 交互处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2021504823A (ja) | 2021-02-15 |
EP3702913A4 (en) | 2021-08-04 |
WO2019100898A1 (zh) | 2019-05-31 |
KR20200090785A (ko) | 2020-07-29 |
EP3702913A1 (en) | 2020-09-02 |
US20200293385A1 (en) | 2020-09-17 |
CN108008992A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108008992B (zh) | 一种输入操作处理方法、处理装置及计算机可读存储介质 | |
CN110888615A (zh) | 用于Android系统双屏异显的多输入设备交互方法、装置及介质 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
CN111444130B (zh) | 一种一体机 | |
CN105677329A (zh) | 一种控制方法及电子设备 | |
CN113593286A (zh) | 车辆召唤指令的发送方法、装置及电子设备 | |
CN110737711A (zh) | 报表导出方法、装置、计算机设备和存储介质 | |
CN111984401A (zh) | 一种内存溢出管理方法、装置、电子设备及存储介质 | |
CN110784672B (zh) | 一种视频数据传输方法、装置、设备及存储介质 | |
CN114489350B (zh) | 一种输入法调用方法及相关设备 | |
CN112000566B (zh) | 测试用例的生成方法及装置 | |
CN109542385B (zh) | 一种多数据流同屏显示方法、系统、装置及可读存储介质 | |
CN110198324B (zh) | 数据监控方法、装置、浏览器及终端 | |
CN111061448A (zh) | 日志信息的显示方法、装置、电子设备及存储介质 | |
CN116737016B (zh) | 触控数据扫描的控制方法、装置、计算机设备和存储介质 | |
CN112817582A (zh) | 代码处理方法、装置、计算机设备和存储介质 | |
CN111931155A (zh) | 验证码的输入方法、设备及存储介质 | |
CN111522599B (zh) | 用于发送信息的方法和装置 | |
CN110177364B (zh) | 一种蓝牙设备的配对连接方法和装置、存储介质及电子设备 | |
CN107491205B (zh) | 一种一体机 | |
CN109976854B (zh) | 一种应用程序处理方法及终端设备 | |
CN113965640A (zh) | 消息处理方法及装置 | |
CN107390981B (zh) | 一种全局菜单的控制方法、装置、设备和存储介质 | |
CN112543195A (zh) | 面向智能网联汽车的信息安全评估方法、装置及电子设备 | |
CN111026298A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231114 Address after: Building 3, Tongfu Industrial Zone, Shajing Street Office, Bao'an District, Shenzhen City, Guangdong Province, 518000 Patentee after: SHENZHEN MYGT CO.,LTD. Address before: 330008 room 319, office building, Jiao Qiao Town, Nanchang economic and Technological Development Zone, Qingshan Lake, Nanchang, Jiangxi Patentee before: BLACKSHARK TECHNOLOGIES (NANCHANG) Co.,Ltd. |
|
TR01 | Transfer of patent right |