CN111840990B - 输入控制方法、装置及电子设备 - Google Patents
输入控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111840990B CN111840990B CN202010706568.0A CN202010706568A CN111840990B CN 111840990 B CN111840990 B CN 111840990B CN 202010706568 A CN202010706568 A CN 202010706568A CN 111840990 B CN111840990 B CN 111840990B
- Authority
- CN
- China
- Prior art keywords
- touch
- event
- peripheral input
- application
- input event
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1068—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
- A63F2300/1075—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种输入控制方法、装置及电子设备,该方法包括:截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;基于该至少一个第一外设输入事件,构建该应用能识别的至少一个触摸事件,该触摸事件包括触摸动作和该触摸动作的触摸参数;将该至少一个触摸事件传输给该应用,以使得该应用基于该触摸事件的触摸参数响应该触摸事件的触摸动作。本申请的方案可以降低输入操作的复杂度,提高输入操作的便捷性。
Description
技术领域
本申请涉及控制技术领域,更具体地说,涉及一种输入控制方法、装置及电子设备。
背景技术
在很多场景中,用户利用电子设备的触摸屏实现输入操作可能会存在不便,在该种情况下,用户会希望借助电子设备外接的输入部件(如,键盘、鼠标或者手柄等)进行输入操作。如,在游戏场景中,由于电子设备体积较大不适合长时间握持,或者,电子设备显示界面过小不适合在展现游戏的同时进行输入操作等情况,用户会希望选择电子设备外设的键盘或者手柄等来对游戏进行控制操作。又如,在虚拟现实场景中,也可能会希望通过外接的手柄来控制虚拟现实场景。
而在很多应用可能仅支持触摸事件,在该种情况下,用户便无法借助电子设备外接的输入部件实现输入操作,从而会导致输入操作不便,复杂度较高。
发明内容
本申请提供了一种输入控制方法、装置及电子设备。
其中,一种输入控制方法,包括:
截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;
基于所述至少一个第一外设输入事件,构建所述应用能识别的至少一个触摸事件,所述触摸事件包括触摸动作和所述触摸动作的触摸参数;
将所述至少一个触摸事件传输给所述应用,以使得所述应用基于所述触摸事件的触摸参数响应所述触摸事件的触摸动作。
优选的,所述基于所述至少一个第一外设输入事件,构建所述应用能识别的至少一个触摸事件,包括:
依据所述应用对应的事件关系映射表,构建出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件,所述事件关系映射表中包括:不同外设输入事件集对应的触摸事件信息,所述外设输入事件集包括至少一个外设输入事件,所述触摸事件信息包括触摸事件中的触摸动作的触摸参数。
优选的,在依据所述应用对应的事件关系映射表,构建出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件之前,还包括:
确定发送所述至少一个第一外设输入事件的外设输入设备的设备类型;
确定与所述设备类型以及所述应用对应的事件关系映射表。
优选的,所述第一外设输入事件至少包括:操作对象和针对所述操作对象的输入动作,所述操作对象属于外设输入设备中的可操作组件;
所述依据所述应用对应的事件关系映射表,构建出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件,包括:
基于所述至少一个第一外设输入事件的操作对象和所述输入动作,确定所述至少一个第一外设输入事件所触发执行的至少一个触摸动作;
依据所述至少一个第一外设输入事件的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第一外设输入事件触发执行的触摸动作对应的触摸参数,所述事件关系映射表中存储有不同操作对象集所对应的至少一个触摸动作的触摸参数,所述操作对象集由外设输入事件集内至少一个外设输入事件对应的至少一个操作对象组成;
按照所述至少一个第一外设输入事件所触发的各触摸动作以及各触摸动作的触摸参数,构建出至少一个触摸事件。
优选的,所述基于所述第一外设输入事件的操作对象和所述输入动作,确定所述第一外设输入事件所触发执行的至少一个触摸动作,包括:
如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少两个第二外设输入事件,且当前不具有第三外设输入事件,则基于所述至少两个第二外设输入事件的操作对象和输入动作,确定所述至少两个第二外设输入事件所触发执行的至少一个触摸动作,所述第三外设输入事件为在所述第二外设输入事件之前截获的,操作对象属于所述设定类型且尚未释放的外设输入事件;
如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有所述第三外设输入事件,则基于所述第三外设输入事件以及所述至少一个第二外设输入事件的操作对象和输入动作,确定至少一个触摸动作;
如第一外设输入事件的操作对象不属于设定类型,或者,所述第一外设输入事件的操作对象属于设定类型但不存在所述第三外设输入事件,则基于所述第一外设输入事件的操作对象和所述输入动作,确定所述第一外设输入事件所触发执行的至少一个触摸动作。
优选的,所述依据所述至少一个第一外设输入事件的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第一外设输入事件触发执行的触摸动作的触摸参数,包括:如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有第三外设输入事件,则基于所述至少一个第二外设输入事件和所述第三外设输入事件中尚未被释放的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第二外设输入事件触发执行的触摸动作的触摸参数。
优选的,所述事件关系映射表中所述触摸动作的触摸参数包括所述触摸动作的触摸坐标;
在所述截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件之前,还包括:
截获所述应用的待渲染的界面数据;
基于所述界面数据,确定所述应用的界面中各个操作控件的坐标信息;
依据操作控件与外设输入设备的操作对象之间的对应关系以及确定出的所述各个操作控件的坐标信息,确定事件关系映射表中操作对象对应的触摸动作的触摸坐标。
优选的,还包括:
将所述界面数据传输给所述应用;
在应用展现出所述界面数据对应的界面时,根据所述操作对象与外设输入设备的操作对象的对应关系以及所述应用中各个操作控件的坐标信息,在所述界面中所述操作控件所在位置处标示出所述操作控件对应的外设输入设备的操作对象的信息。
其中,一种输入控制装置,包括:
事件截获单元,用于截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;
事件构建单元,用于基于所述至少一个第一外设输入事件,构建所述应用能识别的至少一个触摸事件,所述触摸事件包括触摸动作和所述触摸动作的触摸参数;
事件传输单元,用于将所述至少一个触摸事件传输给所述应用,以使得所述应用基于所述触摸事件的触摸参数响应所述触摸事件的触摸动作。
其中,一种电子设备,包括:
存储器和处理器,
其中,所述处理器用于执行如上任一项所述的输入控制方法;
所述存储器用于存储处理器执行操作所需的程序。
通过以上方案可知,电子设备会截获外设输入设备向应用发送的外设输入事件,基于截获的至少一个外设输入事件构建出该应用能识别的至少一个触摸事件,并将构建的至少一个触摸事件传输给应用,在此基础上,即使应用无法识别外设输入事件,也可以基于电子设备转换出的触摸事件的触摸参数响应触摸事件的触摸动作,从而使得应用能够对外设输入设备输入的外设输入事件做出响应,进而使得用户满足用户基于外设输入设备实现输入操作的需求,提高了用户输入操作的便捷性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种输入控制方法一个实施例的流程示意图;
图2为本申请提供的一种输入控制方法又一个实施例的流程示意图;
图3为本申请中应用的应用界面的一种示意图;
图4为本申请中基于鼠标滚轮滚生成的触摸点的触摸滑动轨迹示意图;
图5示出了本申请中确定事件关系表中触摸动作的触摸坐标的一种实现流程示意图;
图6示出了在应用界面的操作控件处标示出外设输入设备中操作对象的信息的一种示意图;
图7示出了本申请一种输入控制装置一个实施例的组成结构示意图;
图8示出了本申请一种电子设备的一种组成结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
本申请的方案适用于任意需要利用电子设备的外设输入设备来操控电子设备中应用的场景,通过本申请方案可以使得不支持外设输入事件的应用也能够对外设输入事件做出相应的响应。
本申请所适用的电子设备可以为手机、平板电脑、笔记本电脑等等,对此不加限制。
其中,基于电子设备的外设输入设备所需操控的应用可以为任何基于外部输入事件确定执行动作的应用。如,该应用可以为游戏应用、虚拟现实应用或者输入应用等等,对此不加限制。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种输入控制方法一个实施例的流程示意图。本申请实施例可以适用于上面提到的任意电子设备。
本实施例的方法可以包括:
S101,截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件。
其中,外设输入设备为设置于电子设备外部,且通过有线或者无线方式与电子设备相连,能够实现输入操作的输入设备。如,外设输入设备可以包括:鼠标、键盘、操作手柄或者遥控设备等等。
相应的,外设输入事件为通过外设输入设备产生的输入事件。如,外设输入事件可以为键盘中按键的按压或者抬起等输入事件,鼠标的键区的点击或者鼠标的滚动滑动等输入事件,还可以为操作手柄中手柄的转动或者操作手柄中按键的按压或者抬起等输入事件。
如,该应用可以为运行在操作***上的应用,则该电子设备的操作***可以感应到电子设备上存在的输入事件。在本申请实施例中,电子设备的操作***在检测到向应用发送的外设输入事件后,并不会直接转发给外设输入事件,而会先截获该外设输入事件,以便将外设输入事件转换为应用能够识别的触摸事件。
需要说明的是,本申请实施例中,每个外设输入事件表征针对外设输入设备中一个操作对象的输入动作。
在本实施例中,为了便于区分从截获的外设输入事件中提取出的某种类型的外设输入事件,则将截获的外设输入事件称为第一外设输入事件。
S102,基于至少一个第一外设输入事件,构建应用能识别的至少一个触摸事件。
其中,该触摸事件包括触摸动作和触摸动作的触摸参数。
其中,触摸事件的触摸动作可以为触摸点按下、触摸点抬起、触摸滑动等等触摸动作。触摸动作的触摸参数为表征触摸动作具体的作用特征的参数。其中,触摸动作的触摸参数至少包括触摸动作的触摸坐标。例如,触摸动作为触摸点按下,则触摸参数可以包括触摸点按下的触摸坐标。又如,触摸动作为触摸滑动,则触摸参数为表征触摸滑动方向和/或距离的触摸坐标。
在一种可能的实现方式中,电子设备的操作***可以配置不同外设输入事件转换为触摸事件的转换程序,在此基础上,可以调用该至少一个第一外设输入事件匹配的至少一个转换程序,并利用至少一个转换程序构建出与至少一个第一外设事件对应的至少一个触摸事件。
如,某些应用所涉及到的输入操作的种类较少,在该种情况下,可以配置不同外设输入事件所对应的转换程序。相应的,根据截获的外设输入事件可以分别调用转换程序,以通过外设输入事件对应的转换程序构建出该外设输入事件对应的触摸事件。当然,还可以构建出由多个外设输入事件构成的外设输入事件组合对应的转换程序,当截获的多个外设输入事件属于外设输入事件组合,则可以调用该外设输入事件组合对应的转换程序,以构建出相应的触摸事件。
举例说明,假设应用为输入应用,那么操作***可以预先构建出用于将针对空格键的按下事件转换为针对输入应用中输入法切换按钮的触摸按下事件,则在操作***截获到键盘中空格键被按下的外设输入事件时,操作***通过该外设输入事件的转换程序可以构建出针对输入法切换按钮对应坐标处的触摸按下事件,其中,输入法切换按钮对应坐标可以预先配置在该转换程序中。
在又一种可能的情况中,本申请还可以针对不同应用配置不同的事件关系映射表。在该事件关系映射表中包括:不同外设输入事件集对应的触摸事件信息。其中,每个外设输入事件集包括至少一个外设输入事件。触摸事件信息至少包括触摸事件中的触摸动作的触摸参数。如前面相似,该触摸参数至少包括触摸动作的触摸坐标。
如,事件关系映射表中每个外设输入事件集可以通过该外设输入事件集中各个外设输入事件的特征信息来标识。
其中,外设输入事件的特征信息可以为外设输入事件的操作对象,还可以是,外设输入事件的操作对象及针对该操作对象的输入动作。例如,以外设输入事件集可以通过外设输入事件集中各外设输入事件的操作对象和针对该操作对象的输入动作来表征为例,外设输入事件集1包括:外设输入事件1(操作对象1和输入动作1)以及外设输入事件2(操作对象2和输入动作2),且,外设输入事件集1对应触摸动作为触摸点击,且触摸点击的触摸坐标为(x1,y1)。
相应的,可以依据应用对应的事件关系映射表,构建出该应用能识别的且与该至少一个第一外设输入事件对应的至少一个触摸事件。
如,针对该应用而言,每个外设输入事件是相互独立的,其事件关系映射表中为不同外设输入事件的特征信息对应的至少一个触摸事件中触摸动作的触摸参数,即,事件关系映射表中每个外设输入事件集仅仅包括一个外设输入事件。相应的,针对每个第一外设输入事件,查询出包含特定触摸动作和触摸参数的触摸事件;或者是,依据该外设输入事件,确定触摸事件的类型,然后基于事件关系映射表中该外设输入事件对应的触摸事件中触摸动作的触摸参数,构建出相应类型的触摸事件。
又如,如果针对该应用而言,该事件关系映射表中某些外设输入事件集可能是多个外设输入事件的组合,在此基础上,则可以先确定哪些第一外设输入事件可以组成为该事件关系映射表中的外设输入事件集,然后基于外设输入事件集对应的触摸事件中触摸动作的触摸参数构建相应的触摸事件。对于不能与其他第一外设输入事件构成外设输入事件集的,则可以与上面相似,基于该事件关系映射表,构建该单个第一外设输入事件对应的触摸事件。
可以理解的是,电子设备所能连接的外设输入设备的设备类型可能会有多种可能,如,外设输入设备可以为键盘和鼠标,还可以为操作手柄等。而对于同一个应用而言,不同外设输入设备所输入的外设输入事件差别会较大。因此,为了能够更为便捷构建出外设输入事件对应的触摸事件,针对同一个应用,还可以构建不同外设输入设备的设备类型对应的事件关系映射表。
相应的,本申请还可以先确定发送该至少一个第一外设输入事件的外设输入设备的设备类型。然后,确定与该设备类型以及该应用对应的事件关系映射表。
S103,将至少一个触摸事件传输给该应用,以使得该应用基于触摸事件的触摸参数响应触摸事件的触摸动作。
可以理解的是,由于电子设备(如电子设备的操作***)基于外设输入事件重新构建出触摸事件是应用能够识别出的触摸操作,因此,在将至少一个触摸事件传输给应用之后,应用会响应触摸事件,从而使得应用可以针对外设输入事件作出相应的响应。
可以理解的是,在基于至少一个外设输入事件构建出的触摸事件有多个的情况下,该多个触摸事件会具有执行先后顺序,相应的,可以按照该多个触摸事件的执行先后顺序,依次向应用传输该多个触摸事件。
举例说明,假设针对某个应用,电子设备的操作***会配置键盘中“向上”按键的按压对应在应用的界面中的触摸点击和向上的触摸滑动。在此基础上,在电子设备的操作***拦截到外设输入事件为对“向上”按键的按压,则会构建出在应用的界面中相应坐标位置上的触摸点击以及向上的触摸滑动。操作***会先向应用发送相应坐标位置的触摸点击这一触摸事件,然后发送向上的触摸滑动这一触摸事件,从而使得应用先响应触摸点击,然后响应触摸滑动,从而实现结合应用运行状态和相应触摸事件完成相应输入。
由以上可知,本申请中,电子设备会截获外设输入设备向应用发送的外设输入事件,基于截获的至少一个外设输入事件构建出该应用能识别的至少一个触摸事件,并将构建的至少一个触摸事件传输给应用,在此基础上,即使应用无法识别外设输入事件,也可以基于电子设备转换出的触摸事件的触摸参数响应触摸事件的触摸动作,从而使得应用能够对外设输入设备输入的外设输入事件做出响应,进而使得用户满足用户基于外设输入设备实现输入操作的需求,提高了用户输入操作的便捷性。
由前面介绍可知,基于至少一个外设输入事件构建触摸事件的过程可以有多种可能。为了便于理解,下面以结合应用的事件关系映射表来构建至少一个外设输入事件对应的至少一个触摸事件这一情况进行详细说明。
如图2所示,其示出了本申请一种输入控制方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件。
在本实施例中,该第一外设输入事件至少包括:操作对象和针对操作对象的输入动作。
其中,操作对象属于外设输入设备中的可操作组件,如,外设输入设备为键盘和鼠标时,可操作控件可以包括:键盘中的各个按键;以及鼠标中的左键、右键和滚轮等。外设输入设备为控制手柄,而可操作空间为手柄旋转杆以及按键等等。
S202,基于至少一个第一外设输入事件的操作对象和输入动作,确定至少一个第一外设输入事件所触发执行的至少一个触摸动作。
在本实施例中,在确定触摸动作时,无需结合事件关系映射表,而是基于外设输入事件的具体特征来确定外设输入事件所触发执行触摸事件中的触摸动作。
可以理解的是,对于一种类型的外设输入设备,外设输入设备输入的外设输入事件对应的操作对象的种类相对较少,输入动作的种类也是有限的几种。在此基础上,电子设备的操作***可以配置不同操作对象和输入动作与触摸动作的转换关系,从而基于截获的至少一个第一外设输入事件的操作对象和输入动作,确定出至少一个触摸动作。
在一种可能的情况中,在电子设备的操作***中可以运行事件转换程序,该事件转换程序可以确定不同操作对象和输入动作所对应的触摸动作。在此基础上,通过操作***中的触摸转换程序可以基于外设输入事件的操作对象和输入动作,确定出相应的至少一个触摸动作。
如,以键盘和鼠标类的外设输入设备为例,外设输入事件的操作对象仅包括按键(包括鼠标键区和键盘按键)和鼠标滚轮这两大类;相应的,输入动作可以包括按键按下、按键抬起和滚轮滚动这三种。在此基础上,对于按键的按下可以配置程序确定为触摸点按下这一触摸动作。还可以根据操作对象的不同,配置程序确定为按键的按下为触摸点按下这一触摸动作,或者,触摸点按下和触摸点滑动这两个触摸动作。类似的,对于按键抬起配置称为确定为触摸点抬起,而对于滚轮滚动可以配置程序确定为触摸点滑动,或者是,触摸点按下和触摸点滑动。
对于外设输入设备为操作手柄的过程类似,在此不再赘述。
可以理解的是,在应用内所涉及到的输入操作较为简单,如输入操作可能仅仅涉及到单点或者多点的触摸点击操作,以及较为简单的触摸滑动,电子设备可以通过配置一个按键来触发一个触摸动作。如,以应用为输入法应用而言,那么该应用所能识别的输入操作,仅仅是对虚拟键盘上按键的点击或者对于输入法切换标识的点击。或者是,电子设备配置同一时刻截获的不同外设输入事件所触发的输入动作并不会相互影响。
在该种情况下,不同外设输入事件可以单独触发相应的触摸动作。相应的,可以针对每个第一外设输入事件,基于该外设输入事件的操作对象和输入动作,确定出至少一个触摸动作。具体确定触摸动作的过程如上面介绍相同。相应的,如果截获多个外设输入事件,则会分别确定出多个触摸动作。
而对于游戏等应用较为复杂的应用,涉及到的触摸输入操作的种类较多。如,以游戏应用为例,游戏应用的界面中会除了显示控制方向的操作轮盘之外,还会包括触发攻击、***等等控制按键。在此基础上,为了更好的贴合用户对应用的操控习惯,可能需要配置某些类型的操作对象之间会存在关联性,因此,如果同时截获到至少两个该种类型的操作对象对应的输入事件,则需要结合该种类型的各操作对象的输入事件来综合确定触摸动作。
例如,假设键盘中的“W”、“S”、“A”和“D”分别表示游戏等应用中的上、下、左和右方向的控制按键,在该种情况下,如果同时检测到这四个按键中的两个按键的按压操作,而不能单独确定控制方向,而需要结合检测到的两个按键的按压操作来确定控制方向。比如,检测到按压“W”和“S”,实际上应该是需要控制左上方的移动,而对应到应用的触摸动作上,实际上应该是一个触摸点向左上方的滑动,而不应该是两个触摸点分别向不同方向的触摸滑动。
其中,属于设定类型的操作对象可以根据应用以及实际应用场景设定,在此不再赘述。
由以上分析可知,如果设定了外设输入设备的某些操作对象为设定类型的操作对象,那么截获到至少一个第一外设输入事件之后,如果第一外设输入事件为多个,需要先检测是否存在属于设定类型的操作对象对应的至少两个外设输入事件,并结合该种设定类型的操作对象对应的至少两个外设输入事件来综合确定至少一个触摸动作。
具体的:
如该至少一个第一外设输入事件中存在操作对象属于设定类型的至少两个第二外设输入事件,且当前不具有第三外设输入事件,则基于至少两个第二外设输入事件的操作对象和输入动作,确定至少两个第二外设输入事件所触发执行的至少一个触摸动作;其中,第三外设输入事件为在第二外设输入事件之前截获的,操作对象属于设定类型且尚未释放的外设输入事件;
如至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有第三外设输入事件,则基于第三外设输入事件以及至少一个第二外设输入事件的操作对象和输入动作,确定至少一个触摸动作;
如第一外设输入事件的操作对象不属于设定类型,或者,该第一外设输入事件的操作对象属于设定类型但不存在该第三外设输入事件,则基于该第一外设输入事件的操作对象和输入动作,确定该第一外设输入事件所触发执行的至少一个触摸动作。
其中,为了便于区分,将对应的操作对象属于设定类型的第一外设输入事件称为第二外设输入事件,显然第二外设输入事件属于截获的第一外设输入事件。
相应的,将在第二输入事件之前拦截到的,操作对象属于设定类型且尚未释放的外设输入事件称为第三外设输入事件。其中,尚未释放的外设输入事件是指该外设输入事件尚未被结束,也说明该外设输入事件对应的操作对象仍处于***作状态尚未被释放。例如,按键被按压之后,如果按键尚未被抬起,则该按键尚未被释放,相应的,该按键的按压事件尚未被释放。
可见,对于该多个第一外设输入事件中存在多个第二外设输入事件,且不存在第三外设输入事件的情况,需要结合多个第二外设输入事件来确定至少一个触摸动作。而对于不属于该第二外设输入事件的第一外设输入事件,可以针对每个第一外设输入事件分别确定相应的触摸动作。
举例说明,仍以游戏应用为例,假设键盘中的“W”、“S”、“A”和“D”为设定类型的按键,在此基础上,如果同时拦截到的外设输入事件包括:按键“W”按下,按键“A”按下,以及空格键按下这三个外设输入事件。电子设备的操作***可以确定按键“W”按下和按键“A”按下这两个外设输入事件属于第二外设输入事件,则结合这两个第二输入事件对应一个触摸点,结合按键动作为按下,可以确定触摸动作为:触摸点按下和触摸点滑动。而对于空格键按下确定的触摸动作为触摸点按下。
类似的,为了便于理解多个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前存在第三外设输入事件的情况,仍以上面游戏应用为例说明。
假设检测到键盘中按键“W”按下,而在截获到按键“W”按下这一外设输入事件之前,检测到按键“A”按下这一外设输入事件,且尚未检测到按键“A”抬起的外设输入事件,那么由于按键“A”按下这一事件对应了一个触摸点,因此,在检测到按键“W”按下后,结合按键“A”按下可以确定触摸动作为该触摸点的触摸滑动。
S203,依据至少一个第一外设输入事件的操作对象,从应用对应的事件关系映射表中查询至少一个第一外设输入事件触发执行的触摸动作对应的触摸参数。
其中,该事件关系映射表中存储有不同操作对象集对应的至少一个触摸动作的触摸参数。也就是说,在本实施例中,外设输入事件集对应的触摸事件信息具体为外设输入事件集对应的操作对象集的触摸事件信息。外设输入事件对应的操作对象集由该外设输入事件集内至少一个外设输入事件对应的至少一个操作对象组成。
如,在一种可能的情况中,可以针对每个第一外设输入事件,按照该第一外设输入事件的操作对象,从应用对应的事件关系映射表中查询出与该操作对象以及匹配的触摸事件信息,然后,从该触摸事件信息中查询出该第一外设输入事件触发的各触摸动作的触摸参数。
如参见如下表格1,其示出了外设输入设备为鼠标和键盘的情况下,事件关系映射表的一种示意图。
表1
如,假设第一外设输入事件为按键A被按下,那么确定出该按键A被按下所触发执行的触摸动作包括触摸点按下和触摸滑动,那么基于该表1可以查询出按键A对应的各个触摸动作的触摸参数,在此基础上,可以获得触摸点按下即down对应的触摸坐标为(x0,y0),而触摸点滑动move的触摸坐标为(x0,100)。
在又一种可能的情况中,如果外设输入设备中具有设定类型的操作对象,那么如果截获到的第一外设输入事件中操作对象属于设定类型的第二外设输入事件有至少两个,且不存在第三外设输入事件,实际上这至少两个外设输入事件就构成了一个外设输入事件集。相应的,基于该至少两个第二外设输入事件的操作对象,从事件关系映射表中查询该至少两个第二外设输入事件触发的至少一个触摸动作各自的触摸参数。
如,结合表1进行说明,假设截获到按键A按下和按键W按下的第二外设输入事件,那么在确定出触摸动作包括触摸点按下和触摸点滑动之后,可以根据按键A和按键W这两个操作对象查询表1,从而可以查询到触摸点按下的触摸坐标为(x0,y0),而触摸点滑动的触摸坐标为(-100,100)。
特别的,如果截获的至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有在该第二外设输入事件之前截获且尚未释放的第三外设输入事件,则基于该至少一个第二外设输入事件和所述第三外设输入事件中尚未被释放的操作对象,从该应用对应的事件关系映射表中查询该至少一个第二外设输入事件触发执行的触摸动作的触摸参数。
例如,仍以在截获到按键“W”按下这一第二外设输入事件之前,检测到按键“A”按下这一第三外设输入事件,且尚未检测到按键“A”抬起为例,则在基于“W”按键按下以及按键“A”按下确定出触摸动作为触摸滑动之后,可以基于这两个外设输入事件的操作对象“W”和“A”按键,查询表1,可以查询到触摸滑动的触摸坐标为(-100,100)。
S204,按照至少一个第一外设输入事件所触发的各触摸动作以及各触摸动作的触摸参数,构建出至少一个触摸事件。
其中,每个触摸事件由一个或者多个触摸动作,以及该一个或者多个触摸动作对应的触摸参数构成。
可以理解的是,由前面介绍可知,该至少一个第一外设输入事件可以被划分为至少一个外设输入事件集,每个外设输入事件集对应触发的至少一个触摸动作。如果每个外设输入事件集均仅对应一个触摸动作,则可以直接将构建包含各触摸动作及相应触摸参数的触摸事件。
如果该至少一个第一外设输入事件对应的至少一个外设输入事件集中,存在至少一个外设输入事件集触发的至少两个触摸动作,则本申请中还可以在步骤S202中确定各触摸动作的执行先后顺序。其中,同一执行顺序的触摸动作可以有多个。在此基础上,可以按照各触摸动作的执行先后顺序,基于同一执行顺序的至少一个触摸动作以及该至少一个触摸动作的触摸参数构成一个触摸事件。
举例说明,为了便于理解,仍以前面同时拦截到的第一外设输入事件包括:按键“W”按下,按键“A”按下,以及空格键按下。那么基于按键W按下和按键A按下,可以触摸动作为:触摸点按下和触摸点滑动,其中,触摸点按下为第一执行顺序,而触摸点滑动为第二执行顺序。而对于空格键按下确定的触摸动作为触摸点按下,由于只有一个触摸动作,则该触摸点按下为第一执行顺序。基于此,本申请可以构建包含由按键W按下和按键A按下触发的第一个触摸点的触摸点按下这一触摸动作以及相应触摸参数,以及由空格键触发的第二个触摸点的触摸点按下这一触摸动作集相应触摸参数的第一触摸事件,以及由按键W按下和按键A按下触发的第一个触摸点对应的触摸点滑动以及相应触摸参数的第二触摸事件。其中,第一触摸事件的执行顺序位于第二触摸事件的执行顺序之前。相应的,后续会依次将第一触摸事件和第二触摸事件发送给应用,以使得应用先响应第一触摸事件然后响应第二触摸事件。
其中,本申请中触摸事件中每个触摸动作对应了一个触摸点,可以理解的是,每个触摸点具有触摸点标识和索引号这两个属性。在本申请中,为了区分各触摸点,可以为每个触摸动作的触摸点分配一个唯一触摸点标识,该触摸点标识用于唯一标识该触摸点,且在触摸点被抬起之前,该触摸点的标识是固定不变的。同时,还可以根据应用中存在的触摸点,为各个触摸点分配一个索引号,索引号是根据应用中当前存在的触摸点的数量,为各个触摸点顺序编号的。
例如,假设应用中存在三个触摸点,对于这三个触摸点中任意一个触摸点而言,只要触摸点不抬起,该触摸点的触摸点标识不变。如果某个触摸点抬起,则该触摸点的触摸点标识被空置。
但是这三个触摸点中某个触摸点被抬起,则需要调整当前存在的触摸点的索引号,例如,假设3个触摸点按下,这三个触摸点的索引号依次是0,1,2,如果索引号为1的触摸点抬起,则索引号为2的触摸点对应的索引号会由2变成1,顺序补位替补上去。
S205,将至少一个触摸事件传输给该应用,以使得该应用基于触摸事件的触摸参数响应触摸事件的触摸动作。
如前面相似,如果构建出多个触摸事件,则该多个触摸事件会具有相应的执行顺序,则可以按照执行顺序依次向应用传输给多个触摸事件。
该步骤S205的具体实现可以参见前面实施例的相关介绍,对此不再赘述。
可以理解的是,图2是基于事件关系映射表构建截获的至少一个外设输入事件对应的触摸事件的一种实现方式,在本实施例中是以事件关系映射表中存储触摸动作的触摸参数,电子设备基于外设输入事件确定触摸事件的触摸动作之后,通过查询该表得到触摸动作所需的触摸参数。但是,如事件关系映射表中包括不同外设输入事件或者外设输入事件组合(由操作对象和输入动作确定)所对应的触摸动作及触摸动作的触摸参数,也可以直接基于事件关系映射表确定不同外设输入事件或者外设输入事件组合对应的触摸动作和触摸参数。
为了便于理解本申请实施例,下面结合一应用场景进行介绍。
仍以应用为游戏应用为例,如图3所示,其示出了本申请游戏应用的应用界面中一些可操作的操作控件。
由图3可以看出,游戏应用的应用界面中显示各种操作控件,如,界面中显示有操作轮盘301以及多个技能按键302。
其中,不同的技能按键用于释放不同的技能,如图3中技能按键可以包括用于实现射击的射击技能按键,以及用于发射攻击炮的攻击炮技能按键等等。
针对游戏应用,可以根据该游戏应用中操作轮盘以及技能按键,确定不同键盘以及鼠标中不同按键等操作对象与游戏应用中操作轮盘以及技能按键之间的对应关系。然后,结合该对应关系,并结合操作轮盘以及技能按键的坐标位置,构建事件关系映射表。
假设设置键盘中,按键W、S、A、D分别对应操作轮盘中的上、下、左、右这四个方向。空格键对应射击技能按键。当然,还有其他按键键会对应攻击炮技能按键等其他技能按键,均与空格键与射击技能按键之间的关系类似,在此不再赘述。基于该对应关系,为了能够使得点击物理键盘上的相应按键,能够使得应用获得对其应用界面中轮盘或者技能按键的触摸操作,则需要依据应用界面中轮盘和技能按键的坐标位置,确定物理键盘和鼠标中按键和滚轮等操作对象所触发的触摸动作的触摸坐标,并生成事件关系映射表。
在图3中,假设游戏的应用界面中,操作轮盘的中心坐标位置为(x0,y0),以操作轮盘的中心为基准,该中心的正上方为y轴的正方向,轮盘的正下方为y轴的负方向,轮盘的正左方为x轴的负方向,轮盘的正右防为x轴的正方向,如图3中虚线坐标系所示。
由此可知,如果沿着操作轮盘中心向正上方滑动,则应用界面中检测到为从操作轮盘中心向y轴正方向的触摸滑动。因此,为了能够通过物理按键W能触发应用获得从操作轮盘中心向y轴正方向的触摸滑动,则电子设备的操作***可以预置事件转换程序,该事件转换程序可以将键盘中“W”按键的按下动作转换为触摸点击和触摸滑动两个触摸动作。
在此基础上,为了使得转换出的触摸点击和触摸滑动能够映射为:从游戏的应用界面中该操作轮盘中心向y轴正方向的触摸滑动,则需要确定转换出的触摸点击的坐标位置为该操作轮盘中心的坐标位置,即,触摸点击的触摸坐标为(x0,y0);而触摸滑动的坐标可以表示沿着y轴向上,本申请实施例中可以根据需要设定触摸滑动向上滑动的坐标幅度为100,则该触摸滑动的触摸坐标为(x0,100),即从操作轮盘中心向上滑动100个坐标点。
由此可知,针对W按键的按下动作所转换出的触摸点击和触摸滑动这两个触摸动作的触摸坐标这一触摸参数。在此基础上,可以在事件关系映射表中构建与操作对象“W”按键对应的触摸事件信息包括:触摸点击的触摸坐标(x0,y0),以及触摸滑动的触摸坐标为(x0,100),如表1中第一行所示。
相应的,对于其他物理按键或者滚轮等单个操作对象,以及W、A、S和D这四个物理按键中可能的按键组合,均可以按照上面类似的方式,确定出事件关系映射表中不同操作对象集可能触发的各个触摸动作的触摸参数,具体如表1所示。
在以上基础上,下面分几种情况说明:
第一种情况:
对不属于与应用中操作轮盘对应的键盘上的按键(设定类型的操作对象)所产生的外设输入事件进行介绍:
如果用户按下空格键,则电子设备检测到该空格键按下对应一个触摸点按下,同时查询表1的事件关系映射表可知,该触摸点按下的触摸坐标为(x1,y1),则可以构建出触摸事件down(x1,y1),在此基础上,操作***将触摸事件down(x1,y1)传输给应用,则应用基于该触摸事件中的触摸坐标可知是在该射击技能按键上的按下,则会响应射击技能按键的触摸按下的输入操作。
第二种情况:
对存在与操作轮盘对应的键盘上的按键的输入事件以及不属于与该操作轮盘对应的按键上的输入事件的情况进行介绍:
如果用户按下W按键和空格键,电子设备可以确认W按键处于一个触摸点按下和触摸点滑动这两个触摸动作,且触摸点按下为第一顺序,触摸点滑动为第二顺序,而空格键触发另一个触摸点按下的触摸动作。在此基础上,电子设备基于表1可知,W按键对应的触摸点按下down对应的触摸点坐标为(x0,y0),触摸点滑动move对应的触摸点坐标为(x0,100),而空格键对应的触摸点按下的触摸点坐标为(x1,y1)。
基于此,电子设备可以构建出第一个触摸事件为触摸点1的down(x0,y0)和触摸点2的down(x1,y1),同时构建出第二个触摸事件为move(x0,100),然后依次将这两个触摸事件发送给应用,使得应用会响应链各个触摸点的按下,即操作轮盘的中心点和射击技能按键上分别存在触摸点按下操作,以及响应操作轮盘上的触摸点从中心向上滑动的触摸事件。
对于同时按下W和A,W和D,S和D,或者S和A的情况可以参见前面例子中的相关介绍,在此不再赘述。
可以理解的是,如果同时按下W和S,或者A和D,由于这两组组合分别代表了操作轮盘中相反的方向,所以电子设备会识别出无效输入,而不进行事件转换处理。
另外,对于W和A,或者,S和D这几个按键,如果检测到W按键(或者A按键)被按下之前A按键(或者W按键)已经按下,其处理方式也可以参见前面相关介绍,对于S和D不同时按下的情况也类似。
第三种情况:
以鼠标滚动来调整游戏应用中显示画面的视角,并对鼠标滚轮滚动触发的外设输入事件的转换过程进行介绍:
在电子设备检测到鼠标滚轮滚动,则确认需要转换触摸点点击和触摸点滑动这两个触摸动作,则查询表1可以得到,触摸点点击对应的坐标为(x3,y3),而触摸点移动每次需要在x轴方向增加x4个坐标,并y轴方向上增加y4个坐标。
在此基础上,则会先后构建出down(x3,y3)这一触摸事件,以及move(x3+x4,y3+y4)这一触摸事件,并依次将这两个触摸事件发给应用,使得应用根据触摸点按下的坐标确定触摸点点击,并结合move(x3+x4,y3+y4)响应应用的显示界面中该触摸点的滑动,以实现拖动应用中界面的画面角度。
可以理解的是,在该触摸点被释放前,如果鼠标连续滚动,则电子设备会不断检测到滚轮滚动。在此基础上,电子设备会基于为该滚轮生成的触摸点最近一次所在的坐标位置,按照表1将该坐标位置的x坐标值增加x3个坐标,并将该坐标位置中的y坐标值增加y3,如此不断重复,从而使得应用不断接收到触摸滑动事件,进而持续调整应用界面的视角。
如图4其示出了基于鼠标滚轮滚动不断生成的触摸事件的触摸轨迹示意图。
在图4中该触摸轨迹上的点表示触摸点在不同次触摸滑动事件的触摸起点。
可以理解的是,在事件关系映射表中存储有不同操作对象集所对应的至少一个触摸动作的触摸参数,且触摸动作的触摸参数包括触摸动作的触摸坐标的情况下,该事件关系映射表可以是预先构建并存储到电子设备中的。
在实际应用中,在用户使用应用的过程中,可能会根据使用习惯来调整应用中操作控件的坐标位置,如,在虚拟现实场景中,用户可能会调整操作按键在显示界面中的显示位置。又如,游戏应用中,用户可能会调整操作轮盘的显示位置,如图3所示,用户可能会将操作轮盘从应用界面的左侧调整到右侧。
为了能够在用户调整应用的界面中可操作对象的坐标位置之后,仍能够利用本申请的方案实现利用外设输入设备实现向应用输入触摸操作,本申请在应用展现显示应用界面之前(此时电子设备尚未截获第一外设输入事件),还可以根据应用的界面数据来调整事件关系映射表中触摸动作的触摸坐标。
如,参见图5,其示出了本申请中确定事件关系表中触摸动作的触摸坐标的一种实现流程示意图,本实施例的流程可以包括:
S501,截获应用的待渲染的界面数据。
可以理解的是,在应用展现应用界面之前,会先加载并渲染界面数据。在本申请中电子设备(如电子设备的操作***)可以先截获应用待渲染的界面数据,以在应用加载出应用界面之前,通过后续步骤确定外设输入事件所转换出的触摸动作对应的触摸坐标。
S502,基于界面数据,确定应用的界面中各个操作控件的坐标信息。
其中,操作控件为应用的应用界面中用于对应用进行操作控制的控件。如,操作控件可以为应用的应用界面中的各种按键、操作轮盘或者控制图标等等。
操作控件的坐标信息是指操作控件在应用的应用界面中的坐标位置信息。
可以理解的是,在应用加载出应用界面之前,如果用户调整过操作控件在界面中的显示坐标,那么根据该界面数据所确定出的操作控件的坐标信息就是用户调整后的该操作控件的坐标信息。
S503,依据操作控件与外设输入设备的操作对象之间的对应关系以及应用中各个操作控件的坐标信息,确定事件关系映射表中操作对象对应的触摸动作的触摸坐标。
在本申请实施例中,应用中操作控件与外设输入事件的操作对象之间的对应关系是固定的,如前面游戏应用的例子,空格键对应游戏中射击技能按键,而按键W、A、S和D对应游戏应用中操作轮盘的上、下、左和右四个控制方向。
如,在操作控件与外设输入设备的操作对象之间的对应关系已知的情况下,针对事件关系映射表中任意一个操作对象集,依据操作对象集对应的应用中的触摸控件的坐标信息,确定该事件关系映射表中该操作对象集对应的触摸参数中与触摸控件相关的坐标。
为了便于理解,仍假设应用为游戏应用,且假设已经构建有事件关系映射表,且该事件关系映射表为表1。
在游戏应用中,电子设备设定键盘中的空格键对应游戏应用中射击技能按键,在此基础上,电子设备基于游戏应用的界面数据确定出射击技能按键的坐标为(x6,y6)。而由表1可知,空格键触发的触摸点的触摸点按下的坐标为(x1,y1),这与射击技能按键当前的实际坐标(x6,y6)不相符,所以需要将表1中,空格键对应的触摸点按下的触摸坐标调整为(x6,y6),即得到down(x6,y6)。
类似的,假设基于截获的界面数据,确定出操作轮盘的中心坐标为(x7,y7),键盘中按键W、A、S和D都对应操作轮盘的不同方向,相应的,表1中,与按键W、A、S和D或者按键W、A、S和D组合对应的用于表征操作轮盘中心的坐标都需要进行调整。
如,表1中按键W对应的触摸点按下的坐标为(x0,y0),这与当前应用中操作轮盘的中心坐标不符。且触摸滑动的坐标为(x0,100),其中,触摸滑动的Y轴移动坐标是设定的固定值,而X轴坐标为操作轮盘的中心的X轴坐标x0,也与x7不相符。因此,需要将按键W对应的触摸点按下的坐标修改为(x7,y7),并将触摸滑动的坐标中Y轴坐标为设定的固定值无需修改,而X轴坐标需要由x0调整为x7,从而得到down(x7,y7),move(x7,100)。
对于按键组合也类似,如按键W和按键A对应触摸点按下的触摸坐标为(x0,y0),则根据操作轮盘的中心坐标为(x7,y7),则需要将按键W和按键A对应触摸点按下的触摸坐标由(x0,y0)调整为(x7,y7)。
可以理解的是,本实施例通过截获应用待渲染的界面数据,可以确定出应用中待显示的界面中各个操作控件的坐标信息,基于此,可以结合外设输入设备中操作对象与应用中操作控件的对应关系,可以确定事件关系映射表中不同操作对象对应的触摸操作的触摸坐标,使得事件关系映射表中涉及到的不同触摸操作的触摸坐标与应用界面中各个操作控件的坐标相符,因此,即使用户根据使用习惯调整了应用中操作控件的位置,通过本实施例仍可以使得事件关系映射表适用于该应用,从而使得基于该事件关系映射表以及后续截获到的外设输入事件可以构建出对应用进行操控的触摸事件。
S504,将界面数据传输给应用。
其中,将界面数据传输给应用后,应用可以基于界面数据正常加载并渲染应用的界面。
S505,在应用展现出界面数据对应的界面时,根据操作对象与外设输入设备的操作对象的对应关系应用中各个操作控件的坐标信息,在界面中操作控件所在位置处标示出该操作控件对应的外设输入设备的操作对象的信息。
如,在应用界面中操作控件上标示出对应的外设输入设备中操作对象的标识,例如,操作对象为键盘上的按键,则可以标示出该按键上显示的字符。
其中,在操作控件处标识出对应的操作对象的信息的具体方式可以有多种。如,可以构建一透明图层,在该透明图层中与应用界面的操作控件对应坐标处标示处该操作控件对应的操作对象的信息。当然,还可以有其他可能实现方式,对此不加限制。
为了便于理解,仍以应用为游戏应用为例说明,可以参见图6所示,在图6中示出了在应用界面的操作控件处标示出外设输入设备中操作对象的信息的一种示意图。
对比图3和图6可以看出,图6中每个操作控件处均标示有操作对象的标识。如,游戏应用中操作轮盘的上、下、左和右四个操作区分别对应了键盘中W、S、A、D四个按键,因此,在操作轮盘301的四个方向区分别标示出W、S、A、D。类似的,游戏应用中射击技能按键旁也标示有“空格”,而其他技能按键也分别标示有键盘或者鼠标上的不同按键的标识。
通过应用界面中显示出应用中操作控件对应的外设输入设备中操作对象的信息,使得用户可以直接的确定通过外设输入设备如何实现对该应用中各个操作控件的控制,有利于用户更为高效和便捷的操控应用。
需要说明的是,该步骤S505为可选步骤,其目的是使得用户能够更加直观确定利用外设输入设备控制应用的具体实现,在实际应用中,如果用户已经了解或者通过其他方式获知外设输入设备与应用中操作控件的对应关系,也可以不执行该步骤S505。
对应本申请的一种输入控制方法,本申请还提供了一种输入控制装置。如图7所示,其示出了本申请一种输入控制装置一个实施例的组成结构示意图,本实施例的装置可以包括:
事件截获单元701,用于截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;
事件构建单元702,用于基于所述至少一个第一外设输入事件,构建所述应用能识别的至少一个触摸事件,所述触摸事件包括触摸动作和所述触摸动作的触摸参数;
事件传输单元703,用于将所述至少一个触摸事件传输给所述应用,以使得所述应用基于所述触摸事件的触摸参数响应所述触摸事件的触摸动作。
在一种可能的实现方式中,该事件构建单元,具体为,用于依据所述应用对应的事件关系映射表,构建出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件,所述事件关系映射表中包括:不同外设输入事件集对应的触摸事件信息,所述外设输入事件集包括至少一个外设输入事件,所述触摸事件信息包括触摸事件中的触摸动作的触摸参数。
可选的,该装置还包括:
类型确定单元,用于确定发送所述至少一个第一外设输入事件的外设输入设备的设备类型;
表确定单元,用于确定与所述设备类型以及所述应用对应的事件关系映射表。
可选的,该事件截获单元截获的第一外设输入事件至少包括:操作对象和针对所述操作对象的输入动作,所述操作对象属于外设输入设备中的可操作组件;
该事件构建单元,包括:
动作确定子单元,用于基于所述至少一个第一外设输入事件的操作对象和所述输入动作,确定所述至少一个第一外设输入事件所触发执行的至少一个触摸动作;
参数查询子单元,用于依据所述至少一个第一外设输入事件的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第一外设输入事件触发执行的触摸动作对应的触摸参数,所述事件关系映射表中存储有不同操作对象集所对应的至少一个触摸动作的触摸参数,所述操作对象集由外设输入事件集内至少一个外设输入事件对应的至少一个操作对象组成;
事件构建子单元,用于按照所述至少一个第一外设输入事件所触发的各触摸动作以及各触摸动作的触摸参数,构建出至少一个触摸事件。
可选的,该动作确定子单元,包括:
第一动作确定子单元,用于如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少两个第二外设输入事件,且当前不具有第三外设输入事件,则基于所述至少两个第二外设输入事件的操作对象和输入动作,确定所述至少两个第二外设输入事件所触发执行的至少一个触摸动作,所述第三外设输入事件为在所述第二外设输入事件之前截获的,操作对象属于所述设定类型且尚未释放的外设输入事件;
第二动作确定子单元,用于如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有所述第三外设输入事件,则基于所述第三外设输入事件以及所述至少一个第二外设输入事件的操作对象和输入动作,确定至少一个触摸动作;
第三动作确定子单元,用于如第一外设输入事件的操作对象不属于设定类型,或者,所述第一外设输入事件的操作对象属于设定类型但不存在所述第三外设输入事件,则基于所述第一外设输入事件的操作对象和所述输入动作,确定所述第一外设输入事件所触发执行的至少一个触摸动作。
可选的,所述事件构建子单元,包括:
辅助构建子单元,用于如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有第三外设输入事件,则基于所述至少一个第二外设输入事件和所述第三外设输入事件中尚未被释放的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第二外设输入事件触发执行的触摸动作的触摸参数。
在又一种可能的实现方式中,事件关系映射表中所述触摸动作的触摸参数包括所述触摸动作的触摸坐标;
该装置还包括:
界面数据截获单元,用于在事件截获单元截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件之前,截获所述应用的待渲染的界面数据;
坐标确定单元,用于基于所述界面数据,确定所述应用的界面中各个操作控件的坐标信息;
表信息确定单元,用于依据操作控件与外设输入设备的操作对象之间的对应关系以及确定出的所述各个操作控件的坐标信息,确定事件关系映射表中操作对象对应的触摸动作的触摸坐标。
可选的,该装置还包括:
数据传输单元,用于将所述界面数据传输给所述应用;
对象标识单元,用于在应用展现出所述界面数据对应的界面时,根据所述操作对象与外设输入设备的操作对象的对应关系以及所述应用中各个操作控件的坐标信息,在所述界面中所述操作控件所在位置处标示出所述操作控件对应的外设输入设备的操作对象的信息。
另一方面,本申请还提供了一种电子设备。如图8所示,其示出了本申请一种电子设备的组成结构示意图,本实施例的电子设备至少包括:处理器801和存储器802。
其中,该存储器中存储有操作***以及电子设备需要运行的应用的数据。
该处理器用于执行如上任意一个实施例所述的输入控制方法。
该存储器还用于存储处理器执行操作所需的程序。
可以理解的是,该电子设备还包括其他部件,如图8所示,该电子设备还可以包括显示器803、电子设备连接的外设输入设备804以及通信总线805。该处理器、存储器和显示器以及外设输入设备之间可以通过通信总线相连。
当然,电子设备还可以包括比如图8更多或者更少的部件,对此不加限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种输入控制方法,包括:
截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;
基于所述至少一个第一外设输入事件,将所述至少一个第一外设输入事件转换为所述应用能识别的至少一个触摸事件,所述触摸事件包括触摸动作和所述触摸动作的触摸参数;所述触摸事件为所述应用的界面中的事件;
将所述至少一个触摸事件传输给所述应用,以使得所述应用基于所述触摸事件的触摸参数响应所述触摸事件的触摸动作,使得不支持外设输入事件的应用能够对外设输入事件做出相应的响应。
2.根据权利要求1所述的方法,所述基于所述至少一个第一外设输入事件,将所述至少一个第一外设输入事件转换为所述应用能识别的至少一个触摸事件,包括:
依据所述应用对应的事件关系映射表,转换出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件,所述事件关系映射表中包括:不同外设输入事件集对应的触摸事件信息,所述外设输入事件集包括至少一个外设输入事件,所述触摸事件信息包括触摸事件中的触摸动作的触摸参数。
3.根据权利要求2所述的方法,在依据所述应用对应的事件关系映射表,转换出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件之前,还包括:
确定发送所述至少一个第一外设输入事件的外设输入设备的设备类型;
确定与所述设备类型以及所述应用对应的事件关系映射表。
4.根据权利要求2所述的方法,所述第一外设输入事件至少包括:操作对象和针对所述操作对象的输入动作,所述操作对象属于外设输入设备中的可操作组件;
所述依据所述应用对应的事件关系映射表,转换出所述应用能识别的且与所述至少一个第一外设输入事件对应的至少一个触摸事件,包括:
基于所述至少一个第一外设输入事件的操作对象和所述输入动作,确定所述至少一个第一外设输入事件所触发执行的至少一个触摸动作;
依据所述至少一个第一外设输入事件的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第一外设输入事件触发执行的触摸动作对应的触摸参数,所述事件关系映射表中存储有不同操作对象集所对应的至少一个触摸动作的触摸参数,所述操作对象集由外设输入事件集内至少一个外设输入事件对应的至少一个操作对象组成;
按照所述至少一个第一外设输入事件所触发的各触摸动作以及各触摸动作的触摸参数,得到至少一个触摸事件。
5.根据权利要求4所述的方法,所述基于所述第一外设输入事件的操作对象和所述输入动作,确定所述第一外设输入事件所触发执行的至少一个触摸动作,包括:
如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少两个第二外设输入事件,且当前不具有第三外设输入事件,则基于所述至少两个第二外设输入事件的操作对象和输入动作,确定所述至少两个第二外设输入事件所触发执行的至少一个触摸动作,所述第三外设输入事件为在所述第二外设输入事件之前截获的,操作对象属于所述设定类型且尚未释放的外设输入事件;
如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有所述第三外设输入事件,则基于所述第三外设输入事件以及所述至少一个第二外设输入事件的操作对象和输入动作,确定至少一个触摸动作;
如第一外设输入事件的操作对象不属于设定类型,或者,所述第一外设输入事件的操作对象属于设定类型但不存在所述第三外设输入事件,则基于所述第一外设输入事件的操作对象和所述输入动作,确定所述第一外设输入事件所触发执行的至少一个触摸动作。
6.根据权利要求5所述的方法,所述依据所述至少一个第一外设输入事件的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第一外设输入事件触发执行的触摸动作的触摸参数,包括:如所述至少一个第一外设输入事件中存在操作对象属于设定类型的至少一个第二外设输入事件,且当前具有第三外设输入事件,则基于所述至少一个第二外设输入事件和所述第三外设输入事件中尚未被释放的操作对象,从所述应用对应的事件关系映射表中查询所述至少一个第二外设输入事件触发执行的触摸动作的触摸参数。
7.根据权利要求4所述的方法,所述事件关系映射表中所述触摸动作的触摸参数包括所述触摸动作的触摸坐标;
在所述截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件之前,还包括:
截获所述应用的待渲染的界面数据;
基于所述界面数据,确定所述应用的界面中各个操作控件的坐标信息;
依据操作控件与外设输入设备的操作对象之间的对应关系以及确定出的所述各个操作控件的坐标信息,确定事件关系映射表中操作对象对应的触摸动作的触摸坐标。
8.根据权利要求7所述的方法,还包括:
将所述界面数据传输给所述应用;
在应用展现出所述界面数据对应的界面时,根据所述操作对象与外设输入设备的操作对象的对应关系以及所述应用中各个操作控件的坐标信息,在所述界面中所述操作控件所在位置处标示出所述操作控件对应的外设输入设备的操作对象的信息。
9.一种输入控制装置,包括:
事件截获单元,用于截获电子设备的外设输入设备向应用发送的至少一个第一外设输入事件;
事件构建单元,用于基于所述至少一个第一外设输入事件,将所述至少一个第一外设输入事件转换为所述应用能识别的至少一个触摸事件,所述触摸事件包括触摸动作和所述触摸动作的触摸参数;所述触摸事件为所述应用的界面中的事件;
事件传输单元,用于将所述至少一个触摸事件传输给所述应用,以使得所述应用基于所述触摸事件的触摸参数响应所述触摸事件的触摸动作,使得不支持外设输入事件的应用能够对外设输入事件做出相应的响应。
10.一种电子设备,包括:
存储器和处理器,
其中,所述处理器用于执行如上权利要求1至8任一项所述的输入控制方法;
所述存储器用于存储处理器执行操作所需的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010706568.0A CN111840990B (zh) | 2020-07-21 | 2020-07-21 | 输入控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010706568.0A CN111840990B (zh) | 2020-07-21 | 2020-07-21 | 输入控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111840990A CN111840990A (zh) | 2020-10-30 |
CN111840990B true CN111840990B (zh) | 2022-08-19 |
Family
ID=73001441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010706568.0A Active CN111840990B (zh) | 2020-07-21 | 2020-07-21 | 输入控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111840990B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686302A (zh) * | 2021-07-29 | 2023-02-03 | 华为技术有限公司 | 输入转换方法、电子设备和可读介质 |
CN117348785A (zh) * | 2022-06-29 | 2024-01-05 | 华为技术有限公司 | 一种操控方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106730820A (zh) * | 2016-12-12 | 2017-05-31 | 苏州蜗牛数字科技股份有限公司 | 一种适配多种游戏手柄的方法及Android终端设备 |
CN108854054A (zh) * | 2018-06-15 | 2018-11-23 | 苏州运智互动科技有限公司 | 带触摸板式体感手柄的角色及镜头控制方法 |
CN109568942A (zh) * | 2017-09-28 | 2019-04-05 | 腾讯科技(成都)有限公司 | 手柄外设、虚拟对象控制方法及装置 |
CN110109557A (zh) * | 2019-05-06 | 2019-08-09 | 原点显示(深圳)科技有限公司 | 切换键盘模式与移动端适配的方法 |
CN110368676A (zh) * | 2019-07-16 | 2019-10-25 | Oppo广东移动通信有限公司 | 触控信息的控制方法、装置、存储介质及电子设备 |
-
2020
- 2020-07-21 CN CN202010706568.0A patent/CN111840990B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106730820A (zh) * | 2016-12-12 | 2017-05-31 | 苏州蜗牛数字科技股份有限公司 | 一种适配多种游戏手柄的方法及Android终端设备 |
CN109568942A (zh) * | 2017-09-28 | 2019-04-05 | 腾讯科技(成都)有限公司 | 手柄外设、虚拟对象控制方法及装置 |
CN108854054A (zh) * | 2018-06-15 | 2018-11-23 | 苏州运智互动科技有限公司 | 带触摸板式体感手柄的角色及镜头控制方法 |
CN110109557A (zh) * | 2019-05-06 | 2019-08-09 | 原点显示(深圳)科技有限公司 | 切换键盘模式与移动端适配的方法 |
CN110368676A (zh) * | 2019-07-16 | 2019-10-25 | Oppo广东移动通信有限公司 | 触控信息的控制方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111840990A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159687B (zh) | 一种信息处理方法、终端及计算机存储介质 | |
WO2020098444A1 (zh) | 对象的显示方法、装置、存储介质及电子装置 | |
WO2022111180A1 (zh) | 操作控制方法和装置、存储介质及电子设备 | |
CN107704082B (zh) | 操作显示单元的方法和支持所述方法的终端 | |
CN105159505B (zh) | 一种界面操作方法及终端 | |
EP3098526A1 (en) | Customized control method and system for air conditioner operation mode | |
US20090160814A1 (en) | Hot function setting method and system | |
KR20180111397A (ko) | 외부 입력장치를 이용한 게임 가상 컨트롤러 생성 및 매핑 방법 | |
CN111840990B (zh) | 输入控制方法、装置及电子设备 | |
US20160054815A1 (en) | Method and mobile terminal for processing touch input | |
KR102641922B1 (ko) | 객체 위치 조정 방법 및 전자기기 | |
CN109701263B (zh) | 操作的控制方法及操作控制器 | |
CN110737374A (zh) | 操作方法及电子设备 | |
CN109634438B (zh) | 一种输入法的控制方法及终端设备 | |
KR101759537B1 (ko) | 화면터치식 버튼의 키매핑방법 | |
CN113209601B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
US20160328024A1 (en) | Method and apparatus for input to electronic devices | |
US20090021482A1 (en) | Virtually multiple wheels and method of manipulating multifunction tool icons thereof | |
CN113413597B (zh) | 虚拟道具的装配方法、装置、计算机设备和存储介质 | |
CN111414115A (zh) | 按键控制方法、计算机可读存储介质及其终端 | |
US20220015178A1 (en) | Intellectual host switching system and method | |
KR20090124135A (ko) | 스타일러스 펜을 이용하는 입력 방법, 시스템, 단말 및 그방법을 실행하는 프로그램이 기록된 기록매체 | |
CN105007377A (zh) | 一种手机远程操控装置、***及方法 | |
CN111274054B (zh) | 消息处理方法和电子设备 | |
WO2023143380A1 (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 |