CN116974361A - 一种输入方法及装置 - Google Patents

一种输入方法及装置 Download PDF

Info

Publication number
CN116974361A
CN116974361A CN202210420430.3A CN202210420430A CN116974361A CN 116974361 A CN116974361 A CN 116974361A CN 202210420430 A CN202210420430 A CN 202210420430A CN 116974361 A CN116974361 A CN 116974361A
Authority
CN
China
Prior art keywords
input
input device
state information
electronic device
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.)
Pending
Application number
CN202210420430.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210420430.3A priority Critical patent/CN116974361A/zh
Priority to PCT/CN2023/087824 priority patent/WO2023202444A1/zh
Publication of CN116974361A publication Critical patent/CN116974361A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种输入方法及装置,该方法包括:检测用户对第一输入设备的操作,确定第一输入设备的变化信息;获取输入设备状态信息集,输入设备状态信息集包括第二输入设备的状态信息;生成第一输入事件,第一输入事件包括第一输入设备的变化信息和输入设备状态信息集;执行与第一输入事件相关的操作。基于该方案,电子设备能够对用户协同操作多个输入设备进行有效响应,且可以丰富用户对电子设备的操作方式,提升用户体验。

Description

一种输入方法及装置
技术领域
本申请涉及电子设备领域,并且更加具体地,涉及一种输入方法及装置。
背景技术
输入设备是用于人或外部与计算机进行交互的一种装置,用于将数据或信息输入到计算机中。计算机可以通过输入设备获取对应的输入事件,并且针对输入事件进行响应。然而,当用户想要协同操作多个输入设备与计算机进行交互时,计算机可能无法做出正确的响应。
发明内容
本申请实施例提供一种输入方法及装置,能够对用户协同操作多个输入设备进行有效响应。
第一方面,提供了一种输入方法,该方法应用于电子设备,该方法包括:检测用户对第一输入设备的操作,确定该第一输入设备的变化信息;获取输入设备状态信息集,该输入设备状态信息集包括第二输入设备的状态信息;生成第一输入事件,该第一输入事件包括该第一输入设备的变化信息和该输入设备状态信息集;执行与该第一输入事件相关的操作。
在本申请实施例中,在用户操作第一输入设备时生成的第一输入事件包括第一输入设备的变化信息和输入设备状态信息集,输入设备状态信息集包括第二输入设备的状态信息。这样,用户可以协同操作第一输入设备和第二输入设备与电子设备进行交互,电子设备也能够对用户协同操作第一输入设备和第二输入设备进行有效响应,从而避免电子设备在用户协同操作两个输入设备时无法进行正确响应。在另一方面,可以丰富用户对电子设备的操作方式,提升用户体验。
结合第一方面,在一种可能的实现方式中,该输入设备状态信息集还包括该第一输入设备的状态信息。
在本申请实施例中,用户可以协同操作第一输入设备和第二输入设备与电子设备进行交互,并且可以更加丰富用户对电子设备的操作方式,提升用户体验。
可选地,该输入设备状态信息集包括电子设备全部的输入设备的状态信息。
结合第一方面,在一种可能的实现方式中,该方法还包括:根据该第一输入设备的变化信息,更新该输入设备状态信息集中的该第一输入设备的状态信息。
在本申请实施例中,每当检测到用户对输入设备的操作,可以根据输入设备的变化信息对输入设备状态信息集中的输入设备的状态信息进行更新,从而可以保证输入设备的状态信息的有效性,防止电子设备错误地响应用户的操作。
结合第一方面,在一种可能的实现方式中,该方法还包括:检测用户对该第二输入设备的操作,确定该第二输入设备的变化信息;生成第二输入事件,该第二输入事件包括该第二输入设备的变化信息和更新后的该输入设备状态信息集;执行与该第二输入事件相关的操作。
在本申请实施例中,可以是在检测到用户对第一输入设备的操作后,检测到用户对第二输入设备的操作,由于根据第一输入设备的变化信息对输入设备状态信息集进行了更新,第二输入事件可以包括更新后的输入设备状态信息集。基于该方案,用户可以协同操作第一输入设备和第二输入设备与电子设备进行交互,电子设备也能够对用户协同操作第一输入设备和第二输入设备进行有效响应。在另一方面,可以丰富用户对电子设备的操作方式,提升用户体验。
结合第一方面,在一种可能的实现方式中,该方法还包括:根据该第一输入设备的变化信息和该输入设备状态信息集,确定第一输入意图;该第一输入事件还包括该第一输入意图。该执行与该第一输入事件相关的操作,包括:执行与该第一输入意图相关的操作。
在本申请实施例中,可以根据输入设备的变化信息和输入设备状态信息集,识别用户的输入意图。电子设备在响应输入事件时,可以查询输入事件中包括的输入意图,针对输入意图进行响应,即执行与输入意图相关的操作。基于该方案,电子设备可以识别用户的操作对应的输入意图,有利于电子设备对用户的操作做出正确的响应。在另一方面,由于输入设备的变化信息和输入设备状态信息集之间的组合较多,电子设备可能需要对每一种组合进行适配,而基于该方案,电子设备可以不必针对每一种组合进行适配,只需适配输入意图即可。同时,如果需要增加新的操作方式,可以仅增加输入意图对应的操作方式即可,降低了开发的复杂度。
结合第一方面,在一种可能的实现方式中,该根据该第一输入设备的变化信息和该输入设备状态信息集,确定第一输入意图,包括:根据第一映射关系,确定该第一输入设备的变化信息和该输入设备状态信息集对应的第一输入意图。
在本申请实施例中,可以根据映射关系确定用户的输入意图。这样,可以准确快速的识别出用户的输入意图,以便于电子设备进行正确的响应。
结合第一方面,在一种可能的实现方式中,该第一映射关系为系统预定义或用户自定义的。
在本申请实施例中,映射关系为系统预定义或用户自定义的。在用户认为输入意图对应的操作方式不符合自己的习惯时,可以对输入意图对应的操作方式进行修改或增加对应的操作,这样,可以丰富用户对电子设备的操作方式,提升用户体验。
第二方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
一个或多个存储器;
该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:
检测用户对第一输入设备的操作,确定该第一输入设备的变化信息;
获取输入设备状态信息集,该输入设备状态信息集包括第二输入设备的状态信息;
生成第一输入事件,该第一输入事件包括该第一输入设备的变化信息和该输入设备状态信息集;
执行与该第一输入事件相关的操作。
结合第二方面,在一种可能的实现方式中,该输入设备状态信息集还包括该第一输入设备的状态信息。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:
根据该第一输入设备的变化信息,更新该输入设备状态信息集中的该第一输入设备的状态信息。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:
检测用户对该第二输入设备的操作,确定该第二输入设备的变化信息;
生成第二输入事件,该第二输入事件包括该第二输入设备的变化信息和更新后的该输入设备状态信息集;
执行与该第二输入事件相关的操作。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:
根据该第一输入设备的变化信息和该输入设备状态信息集,确定第一输入意图;
该第一输入事件还包括第一输入意图;
执行与该第一输入意图相关的操作。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:
根据预定义的第一映射关系,确定该第一输入设备的变化信息和该输入设备状态信息集对应的第一输入意图。
结合第二方面,在一种可能的实现方式中,该第一映射关系为系统预定义或用户自定义的。
第三方面,提供了一种电子设备,该电子设备包括执行上述第一方面或者第一方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,提供了一种电子设备,该电子设备包括:
检测单元,用于检测用户对第一输入设备的操作,确定该第一输入设备的变化信息;
处理单元,用于获取输入设备状态信息集,该输入设备状态信息集包括第二输入设备的状态信息;
该处理单元还用于生成第一输入事件,该第一输入事件包括该第一输入设备的变化信息和该输入设备状态信息集;
执行单元,用于执行与该第一输入事件相关的操作。
结合第三方面,在一种可能的实现方式中,所述输入设备状态信息集还包括所述第一输入设备的状态信息。
结合第三方面,在一种可能的实现方式中,所述处理单元还用于根据所述第一输入设备的变化信息,更新所述输入设备状态信息集中的所述第一输入设备的状态信息。
结合第三方面,在一种可能的实现方式中,所述检测单元还用于检测用户对所述第二输入设备的操作,确定所述第二输入设备的变化信息;
所述处理单元还用于生成第二输入事件,所述第二输入事件包括所述第二输入设备的变化信息和更新后的所述输入设备状态信息集;
所述执行单元还用于执行与所述第二输入事件相关的操作。
结合第三方面,在一种可能的实现方式中,所述处理单元还用于根据所述第一输入设备的变化信息和所述输入设备状态信息集,确定第一输入意图;
所述第一输入事件还包括所述第一输入意图;
所述执行单元还用于执行与所述第一输入意图相关的操作。
结合第三方面,在一种可能的实现方式中,所述处理单元具体用于根据第一映射关系,确定所述第一输入设备的变化信息和所述输入设备状态信息集对应的第一输入意图。
结合第三方面,在一种可能的实现方式中,所述第一映射关系为系统预定义或用户自定义的。
应理解,上述几种装置或电子设备对应的具体实现方式以及有益效果在上述方法实施例中已经详细说明,具体可参考上述方法实施例,为了简洁,在此不再赘述。
第五方面,提供了一种芯片,其特征在于,该芯片包括处理器和通信接口,该通信接口用于接收信号,并将该信号传输至该处理器,该处理器处理该信号,使得第一方面或第一方面任意一种实现方式的方法该电子设备执行。
第六方面,提供了一种芯片,该芯片与电子设备中的存储器耦合,用于调用存储器中存储的计算机程序并执行本申请实施例第一方面及其第一方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
第七方面,提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行第一方面或第一方面任意一种实现方式的方法。
第八方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得该电子设备执行第一方面或第一方面任意一种实现方式的方法。
附图说明
图1是本实施例提供的一种电子设备的结构示意图。
图2是本申请实施例的电子设备的软件结构框图。
图3是本申请实施例提供的一种传统的输入方法的示意图。
图4是本申请实施例提供的一种输入方法的示意图。
图5是本申请实施例提供的另一种输入方法的示意图。
图6是本申请实施例提供的一种输入方法的示意性流程图。
图7是本申请实施例提供的另一种输入方法的示意性流程图。
图8是本申请实施例提供的又一种输入方法的示意性流程图。
图9是本申请实施例提供的一种装置的组成示意图。
图10是本申请实施例提供的一种装置的硬件结构示意图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下介绍电子设备和用于使用这样的电子设备的实施例。在一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
示例性的,图1示出了本申请实施例提供的一例电子设备100的结构示意图。例如,如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
其中,I2C接口是一种双向同步串行总线,包括一根串行数据线(serial dataline,SDA)和一根串行时钟线(derail clock line,SCL)。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。GPIO接口可以通过软件配置。
GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),也可以采用有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantumdot light emitting diodes,QLED)等材料中的一种所制作的显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。在一些实施例中,显示屏194还可以集成触控功能,也可以称为触摸屏。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。指纹传感器180H用于采集指纹。触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
图2是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息,APP1,APP2等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
应理解,本申请实施例中的电子设备也可以是安装有Windows、Linux、安卓、鸿蒙或苹果等操作系统的电子设备。
在一些实施例中,电子设备100还可以包括多种输入设备,例如鼠标、键盘、触摸屏、相机、麦克风等。例如,图1所示的按键190、摄像头193、麦克风170、显示屏194等。
在一个示例中,输入设备可以是电子设备100的一部分,例如,摄影头193或显示屏194等;在另一个示例中,输入设备可以独立于电子设备100,例如鼠标或麦克风170等。输入设备与电子设备100可以有多种连接方式,输入设备可以通过蓝牙或WiFi与电子设备100无线连接;或者,输入设备可以通过USB接口130与电子设备100有线连接。
在本申请实施例中,电子设备还可能包括陀螺仪传感器、红外光传感器、结构光传感器等输入设备,这些传感器例如可以识别电子设备的姿态变化,周围的环境光变化等。
电子设备100可以包括输入设备对应的驱动程序,如图2所示的显示驱动、摄像头驱动、音频驱动等。驱动程序是计算机和硬件设备(例如,输入设备)进行通信的接口,驱动程序可以将硬件设备的操作转换成机器语言,或者也可以将系统的指令传达给硬件设备。
在介绍本申请实施例之前,先介绍几个和本申请实施例相关的概念。
输入框架:属于操作系统的一部分,连接硬件设备和应用程序以及其他系统服务,主要用于生成输入事件、分发输入事件到应用程序。
用户界面(user interface,UI)框架:属于操作系统的一部分,用于识别和显示应用程序的UI,并且可以根据输入事件触发应用程序进行响应。
输入事件:用户通过输入设备对计算系统发起的操作在计算机中表示为输入事件。
图3是本申请实施例提供的一种传统的输入方法的示意图。如图3所示,在用户对输入设备进行操作时,电子设备100的内部的信息流沿图3中的箭头所示方向传递。具体流程介绍如下。
用户操作电子设备的输入设备;对应的驱动程序获取到用户的操作信息,将操作信息转换为输入设备变化信息并上报输入框架;输入框架收到输入设备变化信息后,并将输入设备变化信息和状态信息打包在一起形成输入事件,然后分发到UI框架;UI框架接收到输入事件后,找到指向的应用程序中对应的响应代码,交由其处理;应用程序中的响应代码接收到输入事件后,响应用户的操作。
示例性的,用户使用手指点击触摸屏中的浏览器的登录控件,显示驱动获取到触摸屏被点击的位置的操作信息,将其转换为“触摸屏上增加一个触摸点(包括触摸点在屏幕上的位置)”的触摸变化信息并且上报输入框架;输入框架收到驱动程序上报的“触摸屏上增加一个触摸点”的变化信息后,将触摸屏状态信息更新为“触摸屏具有一个接触点(包括触摸点在屏幕上的位置)”,然后将“触摸屏上增加一个触摸点”的变化信息和“触摸屏具有一个触摸点”的状态信息打包成触摸输入事件分发到UI框架;UI框架接收到触摸输入事件后,根据触摸屏被点击的位置,触发浏览器中的登录控件对应的响应代码,执行登录逻辑。
用户在使用电子设备办公时可能会用到多个输入设备,该多个输入设备可以共用一个电子设备。例如,在一些场景下,用户同时使用鼠标、键盘和触摸屏进行办公,鼠标、键盘和触摸屏可以与同一个电子设备相连接。然而,当用户同时操作两个以上的输入设备与电子设备进行交互时,每个输入设备均会独立的上报输入事件,如图3所示的鼠标输入事件、按键输入事件等,应用程序会分别针对鼠标输入事件和按键输入事件独立进行响应。上报鼠标输入事件时,应用程序无法获取其他输入设备(例如键盘、触摸屏)的状态信息。在一些情况下,由于两种输入事件之间存在矛盾,可能造成应用程序无法做出正确的响应。例如,用户使用触摸屏将应用程序向左拖动,并且使用鼠标将应用程序向右拖动,此时,电子设备可能只响应其中一个操作,或者无法响应用户的操作。
图4是本申请实施例提供的一种输入方法的示意图。电子设备100的内部的信息流沿图4中的箭头所示方向传递,具体介绍如下。
以触摸输入事件为例进行说明。用户使用手指按压触摸屏中的第一界面的右上角并向右上方拖动;对应的驱动程序获取到用户的操作信息,将操作信息转换为触摸屏变化信息并上报输入框架;输入框架将触摸屏变化信息和输入设备状态信息集打包形成输入事件,然后分发到UI框架;UI框架接收到输入事件后,找到指向的应用程序中对应的响应代码,交由其处理;应用程序中的响应代码接收到输入事件后,响应用户的操作。其中,输入设备状态信息集是指电子设备的全部输入设备当前的状态信息。例如,电子设备的输入设备包括鼠标和触摸屏,输入设备状态信息集包括鼠标状态信息和触摸屏状态信息。
示例性的,在上述示例中,鼠标的状态信息为:鼠标位于第一界面的左下角,处于左键按下的状态。触摸屏变化信息为:触摸屏上增加一个触摸点,位于第一界面的右上角,且该触摸点向右上方移动。触摸输入事件包括触摸屏变化信息和鼠标的状态信息。应用程序接收到该触摸输入事件后,响应于该触摸输入事件,放大第一界面。
在另一个示例中,鼠标的状态信息为:鼠标位于第一界面的左下角,处于无操作的状态。触摸屏变化信息为:触摸屏上增加一个触摸点,位于第一界面的右上角,且该触摸点向右上方移动。触摸输入事件包括触摸屏变化信息和鼠标的状态信息。应用程序接收到该触摸输入事件后,响应于该触摸输入事件,将第一界面向远离鼠标位置的方向拖动。
需要说明的是,图4中的鼠标输入事件和触摸输入事件为两个独立的输入事件,但是鼠标输入事件和触摸输入事件中包括的输入设备状态信息集均包括另一个输入设备的状态信息。
在上述触摸输入事件的示例中,输入设备状态信息集中的鼠标状态信息为:鼠标位于第一界面的左下角,处于左键按下的状态。可以理解,在上报触摸输入事件之前,已经上报鼠标输入事件。该鼠标输入事件的鼠标变化信息为:移动到第一界面左下角并且按下左键,并且根据该鼠标变化信息更新鼠标状态信息。更新后的鼠标状态信息为:鼠标位于第一界面的左下角,处于左键按下的状态。该更新后的鼠标状态信息可以作为后续触摸输入事件中的输入设备状态信息集的一部分。
应理解,在本申请实施例中,可以根据输入设备的变化信息更新输入设备的状态信息。
图5是本申请实施例提供的另一种输入方法的示意图。电子设备100的内部的信息流沿图5中的箭头所示方向传递,流程与图4所示实施例类似,具体可参考图4所示实施例的描述,在此仅对不同之处进行介绍。
在本实施例中,输入事件可以包括输入意图,应用程序可以针对输入意图进行响应。
在一个示例中,用户按下键盘中的S键。则按键输入事件可以包括输入意图、按键变化信息和输入设备状态信息集。输入设备状态信息集可以包括按键状态信息和鼠标状态信息。其中,按键变化信息为:S键从弹起状态变化为按下状态,按键状态信息为:WINDOWS键和CTRL键处于被按下的状态且S键处于被按下的状态,鼠标状态信息为:无操作状态,输入意图为:截图。截图应用程序接收到按键输入事件后,响应按键输入事件中的输入意图,执行截图操作。
在一个示例中,用户按下键盘中的A键。则按键输入事件包括输入意图、按键变化信息和输入设备状态信息集。输入设备状态信息集包括按键状态信息和鼠标状态信息。其中,按键变化信息为:A键从弹起状态变化为按下状态,按键状态信息为:ALT键处于被按下的状态且A键处于被按下的状态,鼠标状态信息为:无操作状态,输入意图为:截图。截图应用程序接收到按键输入事件后,响应输入意图,执行截图操作。
在一个示例中,用户使用指关节双击屏幕。则手势输入事件包括输入意图、手势变化信息和输入设备状态信息集。输入设备状态信息集包括按键状态信息。其中,手势变化信息为:屏幕被指关节敲击两次,按键状态信息为:无操作状态,输入意图为:截图。截图应用程序接收到该按键输入事件后,响应输入意图,执行截图操作。
在其他示例中,电子设备的输入设备还可能是麦克风、陀螺仪传感器、摄像头或红外光传感器等。
在一个示例中,电子设备的输入设备包括红外光传感器和麦克风,输入事件包括“接收到用户的语音:向下滚动”(麦克风变化信息),以及用户正在注视屏幕(红外光传感器状态信息),则该输入事件对应的输入意图为:向下滚动,电子设备接收到该输入事件后,响应“向下滚动”的输入意图,控制页面向下滚动。
应理解,“用户正在注视屏幕”的状态信息可以是由红外光传感器进行识别并输入到电子设备中的。例如,可以是在接收到用户的语音前,红外光传感器识别到“用户注视屏幕”的变化信息,然后根据该变化信息更新输入设备状态信息集中的红外光传感器状态信息为“用户正在注视屏幕”。在一个示例中,电子设备包括按键和陀螺仪传感器,输入事件包括:电源键被双击(按键变化信息),以及手机正处于抬起姿态(陀螺仪传感器状态信息),则该输入事件对应的输入意图为:打开支付界面,电子设备接收到该输入事件后,响应“打开支付界面”的输入意图,打开相应的支付界面。
应理解,“手机正处于抬起姿态”的状态信息可以是由陀螺仪传感器进行识别并输入到电子设备中的。例如,可以是用户双击电源键前,陀螺仪传感器识别到“手机由水平姿态变化为抬起姿态”的变化信息,然后根据该变化信息更新输入设备状态信息集中的陀螺仪传感器状态信息为“手机处于抬起姿态”。在本实施例中,可以根据输入设备的变化信息以及输入设备状态信息集识别输入意图,并将输入意图打包进输入事件中,电子设备可以响应输入意图,而不是响应具体的操作(例如,响应截图意图,而不是响应ALT+A键)。
应理解,识别输入意图的方式可以是建立输入设备的变化信息和输入设备状态信息集与输入意图之间的映射关系。例如,“截图”的输入意图可以对应“鼠标左键单击(变化信息)+鼠标右键被按下状态+ALT键处于被按下状态”,也可以对应“鼠标右键单击+ALT键处于被按下状态”,还可以对应“屏幕被指关节敲击一次(变化信息)+电源键处于被按下状态”。
还应理解,上述输入设备的变化信息和输入设备状态信息集与输入意图之间的映射关系可以是系统预定义的,具体可以根据用户习惯进行定义,本申请不予限定。
在一些实施例中,用户可以为输入意图定义或增加其对应的操作。例如,用户可以建立“截图”的输入意图与“鼠标左键单击(变化信息)+CTRL键处于被按下的状态”之间的映射关系。
还应理解,上述示例仅以两个输入设备之间的组合为例进行了说明,输入设备的数量可以是两个以上,输入设备状态信息集可以包括两个以上的输入设备的状态信息,例如,上述输入设备状态信息集可以包括鼠标状态信息、按键状态信息、触摸屏状态信息、传感器状态信息等,本申请不予限定。
在一些实施例中,输入设备状态信息集包括电子设备的全部输入设备的状态信息。
可选地,当没有识别出输入意图时,电子设备可以响应具体的输入事件(即根据输入事件中的输入设备的变化信息和输入设备状态信息集进行响应)。
图6是本申请实施例提供的一种输入方法的示意性流程图。在本实施例中,以电子设备包括第一输入设备和第二输入设备进行说明。如图6所示,该方法包括:
S610,第一输入设备检测到用户的操作。
在一个示例中,第一输入设备可以是鼠标,当用户使用鼠标进行操作时,第一输入设备检测到的操作可以有鼠标移动、左键单击、右键单击、左键双击、左键释放和滚轮滑动(向上或向下)等。
在一个示例中,第一输入设备可以是键盘,当用户使用键盘进行操作时,第一输入设备检测到的操作可以有某个键被按下、某个键弹起等。
在一个示例中,第一输入设备可以是麦克风,当用户使用麦克风进行操作时,第一输入设备可以检测到用户的语音输入。
在一个示例中,第一输入设备可以是触摸屏,当用户使用触摸屏进行操作时,第一输入设备检测到的操作可以有单击、双击、手势(触摸点在触摸屏上移动)。
在一个示例中,第一输入设备可以是陀螺仪传感器,当用户移动电子设备时,第一输入设备可以检测到电子设备的姿态的变化。S620,第一设备驱动获取来自第一输入设备的第一操作信息。
在第一输入设备检测到用户的操作后,第一输入设备对应的第一设备驱动可以获取到第一操作信息。第一操作信息可以是用户的具体操作的数字表示或者电信号等。例如,用户按下空格键的动作在计算机中的机器语言的表示。
S630,第一设备驱动向处理模块发送第一输入设备的变化信息,相应的,处理模块接收第一输入设备的变化信息。
输入设备的变化信息是指由于用户的操作导致输入设备状态的变化的信息。例如,用户使用手指按压触摸屏,电子设备可以获取到触摸屏被按压的位置和点击按压的时间,触摸屏变化信息为“触摸屏上增加一个触摸点(包括触摸点在屏幕上的位置和按压的时间)”。例如,键盘从弹起状态变化为按压状态的动作的描述。又例如,用户在手机屏幕上点击一次,设备驱动可以获取到屏幕被点击的位置,此时,第一输入设备的变化信息为“屏幕上增加一个触摸点(可以包括触摸点在屏幕上的位置和按压的时间)”。
在本实施例中,第一输入设备可以将第一操作信息转换为对第一输入设备的状态的变化的描述,也就是第一输入设备的变化信息。
S640,处理模块获取输入设备状态信息集。
在本申请实施例中,输入设备状态信息集可以包括电子设备的全部输入设备的状态信息。例如,电子设备包括第一输入设备和第二输入设备,输入设备状态信息集可以包括第一输入设备的状态信息和第二输入设备的状态信息。示例性的,电子设备可以包括鼠标、键盘和触摸屏,输入设备状态信息集可以包括鼠标状态信息、按键状态信息、触摸状态信息等。例如,按键状态信息可以是空格键被按下的状态或者空格键弹起的状态;又例如,触摸状态信息可以是屏幕上无触摸点或屏幕上具有一个触摸点。
可选地,第一输入设备和第二输入设备不同。其中,第一输入设备和第二输入设备不同可以是指第一输入设备和第二输入设备的类型不同,例如第一输入设备为鼠标,第二输入设备为键盘;第一输入设备和第二输入设备不同还可以是指第一输入设备和第二输入设备在计算机中的标识或逻辑上有区分,例如第一输入设备为第一鼠标,第二输入设备为第二鼠标。
可选地,输入设备状态信息集包括第二输入设备的状态信息。
处理模块可以获取多个输入设备当前的状态信息,以获取输入设备状态信息集。处理模块可以在本地维护输入设备状态信息集,每当输入设备的状态信息发生改变时,根据输入设备的变化信息更新输入设备状态信息集。
例如,处理模块可以预存输入设备状态信息集,其中输入设备状态信息集中的第一输入设备的状态信息和第二输入设备的状态信息均为默认的状态信息。例如,按键状态信息默认为弹起状态,鼠标状态信息默认为:在屏幕中的位置信息以及无操作状态(例如,左键、右键均为弹起状态)。处理模块获取到第一输入设备的变化信息后,根据第一输入设备的变化信息更新输入设备状态信息集中的第一输入设备的状态信息。
在一些可能的情况下,处理模块可以有多种方式获取输入设备状态信息集。在一个示例中,处理模块还可以查询多个输入设备的状态信息,以获取输入设备状态信息集。在另一个示例中,处理模块还可以接收多个输入设备上报的状态信息,以获取输入设备状态信息集。
S650,处理模块根据第一输入设备的变化信息和输入设备状态信息集,生成第一输入事件。
在本申请实施例中,第一输入事件可以包括第一输入设备的变化信息和输入设备状态信息集,输入设备状态信息集包括第二输入设备的状态信息。
可选地,第一输入事件可以包括第一输入设备的变化信息和输入设备状态信息集,输入设备状态信息集包括第一输入设备的状态信息和第二输入设备的状态信息。
S660,处理模块向执行模块发送第一输入事件,相应的,执行模块接收来自处理模块的第一输入事件。
处理模块可以根据输入事件分发的规则向具体的执行模块发送第一输入事件。
例如,处理模块可以优先向系统级服务发送第一输入事件。又例如,执行模块可以是应用程序,处理模块可以向当前处于活动状态的应用程序发送第一输入事件。
可选地,当前有两个以上的处于活动状态的应用程序,处理模块分别向当前处于活动状态的应用程序发送第一输入事件。
可选地,处理模块向后台运行的应用程序发送第一输入事件。
在一些实施例中,第一输入事件是指向型的输入事件,例如,鼠标点击具体的图标、链接、控件等,处理模块根据第一输入事件,向第一输入事件指向的应用程序发送第一输入事件。即,处理模块根据第一输入事件,分发第一输入事件。
可选地,该执行模块是第一输入事件指向的执行模块。
S670,执行模块响应第一输入事件。
在本申请实施例中,第一输入事件可以包括第一输入设备的变化信息和输入设备状态信息集,其中,输入设备状态信息集可以包括第二输入设备的状态信息。这样,第一输入设备上报的输入事件还可以包括其他输入设备的状态信息,执行模块可以对用户使用多种输入设备协同操作进行有效响应。
执行模块响应第一输入事件可以是执行模块执行与第一输入事件相关的操作。
示例性的,第一输入事件为鼠标输入事件,当鼠标的位置位于某一应用程序的图标上,并且鼠标左键被按下,则该鼠标输入事件相关的操作为打开该应用程序。
示例性的,第一输入事件为按键输入事件,当A键被按下,则该按键输入事件相关的操作为输入A字母。
示例性的,第一输入设备可以是麦克风,第二输入设备可以是红外光传感器,第一输入事件包括第一输入设备的变化信息:接收到用户的语音“向下滚动”,以及第二输入设备的状态信息:用户正在注视屏幕,则与第一输入事件相关的操作为:控制页面向下滚动。
示例性的,第一输入设备可以是按键,第二输入设备可以是陀螺仪传感器,第一输入事件包括第一输入设备的变化信息:电源键被双击,以及第二输入设备的状态信息:手机正处于抬起姿态,则与第一输入事件相关的操作为:电子设备显示支付界面。
应理解,在本实施例中,电子设备可以包括第一输入设备、第二输入设备、第一设备驱动、处理模块和执行模块。
图7是本申请实施例提供的另一种输入方法的示意性流程图。在本实施例中,以电子设备包括第一输入设备和第二输入设备进行说明。如图7所示,该方法包括:
S710,第一输入设备检测到用户的操作。
S720,第一设备驱动获取来自第一输入设备的第一操作信息。
S730,第一设备驱动向处理模块发送第一输入设备的变化信息,相应的,处理模块接收第一输入设备的变化信息。
S740,处理模块获取输入设备状态信息集。
S710-S740与S610-S640类似,具体可参考S610-S640的相关描述。
S750,处理模块根据第一输入设备的变化信息和输入设备状态信息集,确定第一输入意图,并生成第一输入事件。
在本申请实施例中,可以根据第一输入设备的变化信息和输入设备状态信息集,确定第一输入意图。其中,第一输入设备的变化信息以及设备状态信息集与第一输入意图之间具有第一映射关系。
以几个示例对第一映射关系进行说明。例如,“鼠标左键单击+键盘ALT键处于被按下状态”、“触摸点从屏幕左边缘向右滑动+键盘ALT键处于被按下状态”、“鼠标左键单击+键盘ALT键处于被按下状态”、“触摸点从屏幕左边缘向右滑动+键盘ALT键处于被按下状态”可以均对应第一输入意图。
其中,第一映射关系可以是开发人员或者系统预先定义的,例如,可以通过大数据确定用户习惯,然后根据用户习惯进行定义,本申请不予限定。
在一些实施例中,用户还可以为第一输入意图定义或增加其对应的操作。例如,用户可以建立“截图”的输入意图与“鼠标左键单击(变化信息)+CTRL键处于被按下的状态(状态信息)”之间的映射关系。也就是说,用户可以自定义第一输入设备的变化信息以及设备状态信息集与第一输入意图之间的第一映射关系。
在本实施例中,处理模块将第一输入设备的变化信息、输入设备状态信息集和第一输入意图打包形成第一输入事件。也就是说,第一输入事件包括第一输入设备的变化信息、输入设备状态信息集和第一输入意图。
S760,处理模块向执行模块发送第一输入事件,相应的,执行模块接收来自处理模块的第一输入事件。
S760与S660类似,具体可参考S660的相关描述。
S770,执行模块响应第一输入意图。
当执行模块接收到第一输入事件后,可以查询第一输入事件中的第一输入意图,针对该第一输入意图进行响应。即,执行模块执行与第一输入意图相关的操作。
例如,第一输入意图为截图,则执行模块执行截图操作;例如,第一输入意图为录音,则执行模块执行录音操作;又例如,第一输入意图为播放音乐,则执行模块执行播放音乐操作。
在一些场景下,第一输入事件中没有携带第一输入意图,则针对第一输入事件中的第一输入设备的变化信息和输入设备状态信息集进行响应。在这种情况下,S770与S670类似,具体可以参考S670的相关描述。
在另一些场景下,执行模块不能够针对第一输入意图进行响应,例如,执行模块为文本阅读软件,不具备播放音乐的功能,但是第一输入事件中的第一输入意图为播放音乐,执行模块可以针对第一输入事件中的第一输入设备的变化信息和输入设备状态信息集进行响应。例如,执行模块为文本阅读软件,第一输入事件包括按下电源键(变化信息)和触摸屏具有一个触摸点(状态信息),第一输入意图为播放音乐,由于文本阅读软件不能响应该播放音乐的意图,则可以根据第一输入事件中的按下电源键(变化信息)和触摸屏具有一个触摸点(状态信息)进行响应。例如按下电源键(变化信息)和触摸屏具有一个触摸点(状态信息)对应打开文本阅读软件的设置,则电子设备显示文本阅读软件的设置界面。
应理解,上述场景关乎到输入事件的分发,如果输入事件仅分发到该不能响应第一输入意图的执行模块,执行模块可以针对第一输入事件中的第一输入设备的变化信息和输入设备状态信息集进行响应。
在又一些场景下,如果第一执行模块不能够针对第一输入事件中的第一输入意图进行响应,则电子设备可以将第一输入事件分发到可以响应第一输入意图的第二执行模块。
例如,在上述示例中,文本阅读软件不能响应播放音乐的输入意图,电子设备还可以将该输入事件分发到音乐播放器,由音乐播放器响应播放音乐的输入意图。
图8是本申请实施例提供的又一种输入方法的示意性流程图。该方法由电子设备执行,以电子设备包括第一输入设备和第二输入设备进行说明,如图8所示,该方法包括:
S810,检测用户对第一输入设备的操作,确定该第一输入设备的变化信息。
S810与S610以及S620类似,具体可参考S610和S620的相关描述。在S810中,电子设备可以执行图6或图7中的第一输入设备或第一设备驱动执行的动作或步骤。
S820,获取输入设备状态信息集,该输入设备状态信息集包括第二输入设备的状态信息。
在S820中,电子设备可以执行图6或图7中的处理模块执行的动作或步骤,或者电子设备可以执行图4或图5中输入框架执行的动作或步骤。
在本申请实施例中,输入设备状态信息集至少包括第二输入设备的状态信息。
可选地,输入设备状态信息集可以包括电子设备的全部输入设备的状态信息。例如,电子设备包括第一输入设备和第二输入设备,输入设备状态信息集可以包括第一输入设备的状态信息和第二输入设备的状态信息。
可选地,第一输入设备和第二输入设备不同。其中,第一输入设备和第二输入设备不同可以是指第一输入设备和第二输入设备的类型不同,例如第一输入设备为鼠标,第二输入设备为键盘;第一输入设备和第二输入设备不同还可以是指第一输入设备和第二输入设备在计算机中的标识或逻辑上有区分,例如第一输入设备为第一鼠标,第二输入设备为第二鼠标。
可选地,根据第一输入设备的变化信息,更新输入设备状态信息集中的第一输入设备的状态信息。
应理解,每当输入设备的状态发生变化时,根据输入设备的变化信息,更新输入设备状态信息集。这样,可以保证输入设备状态信息集中的输入设备的状态信息的有效性,有利于电子设备正确地响应用户的操作。
S830,生成第一输入事件,该第一输入事件包括该第一输入设备的变化信息和该输入设备状态信息集。
在S830中,电子设备可以执行图6或图7中处理模块执行的动作或步骤,或者电子设备可以执行图4或图5中输入框架或UI框架执行的动作或步骤。
可选地,根据第一输入设备的变化信息和输入设备状态信息集,确定第一输入意图;该第一输入事件还包括该第一输入意图。
可选地,根据第一映射关系,确定第一输入设备的变化信息和输入设备状态信息集对应的第一输入意图。
在本申请实施例中,可以根据映射关系确定用户的输入意图。这样,可以准确快速的识别出用户的输入意图,以便于电子设备进行正确的响应。
可选地,该第一映射关系为系统预定义或用户自定义的。
在本申请实施例中,映射关系为系统预定义或用户自定义的。在用户认为输入意图对应的操作方式不符合自己的习惯时,可以对输入意图对应的操作方式进行修改或增加对应的操作,这样,可以丰富用户对电子设备的操作方式,提升用户体验。
S840,执行与该第一输入事件相关的操作。
在S840中,电子设备可以执行图6或图7中执行模块执行的动作或步骤,或者电子设备可以执行图4或图5中应用程序执行的动作或步骤。
可选地,执行与第一输入意图相关的操作。
在本申请实施例中,可以根据输入设备的变化信息和输入设备状态信息集,识别用户的输入意图。电子设备在响应输入事件时,可以查询输入事件中包括的输入意图,针对输入意图进行响应,即执行与输入意图相关的操作。基于该方案,电子设备可以识别用户的操作对应的输入意图,有利于电子设备对用户的操作做出正确的响应。在另一方面,由于输入设备的变化信息和输入设备状态信息集之间的组合较多,电子设备可能需要对每一种组合进行适配,而基于该方案,电子设备可以不必针对每一种组合进行适配,只需适配输入意图即可。同时,如果需要增加新的操作方式,可以仅增加输入意图对应的操作方式即可,降低了开发的复杂度。
在一些实施例中,电子设备可以检测用户对该第二输入设备的操作,确定该第二输入设备的变化信息;生成第二输入事件,该第二输入事件包括该第二输入设备的变化信息和更新后的该输入设备状态信息集;执行与该第二输入事件相关的操作。
在本申请实施例中,可以是在检测到用户对第一输入设备的操作后,检测到用户对第二输入设备的操作,由于根据第一输入设备的变化信息对输入设备状态信息集进行了更新,第二输入事件可以包括更新后的输入设备状态信息集。基于该方案,用户可以协同操作第一输入设备和第二输入设备与电子设备进行交互,电子设备也能够对用户协同操作第一输入设备和第二输入设备进行有效响应。在另一方面,可以丰富用户对电子设备的操作方式,提升用户体验。
上述主要从电子设备的角度对本申请实施例提供的输入方法进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备中的处理器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用了对应各个功能的划分各个功能模块的情况下,图9示出了本申请实施例提供的一种装置900的组成示意图,如图9所示,该装置900包括:检测单元910,处理单元920和执行单元930。
其中,检测单元910,用于检测用户对第一输入设备的操作,确定第一输入设备的变化信息。示例性地,检测单元910可以用于执行图8中的S810,或者执行图6和图7中的第一输入设备和第一设备驱动执行的动作或步骤,或者执行图4或图5中的鼠标、键盘等输入设备或设备驱动执行的动作或步骤。
处理单元920,用于获取输入设备状态信息集,输入设备状态信息集包括第二输入设备的状态信息;生成第一输入事件,该第一输入事件包括第一输入设备的变化信息和输入设备状态信息集。示例性地,处理单元可以用于执行图8中的S820和S830,或者执行图6和图7中的处理模块执行的动作或步骤,或者执行图4或图5中的输入框架或UI框架执行的动作或步骤。
执行单元930,用于执行与第一输入事件相关的操作,或者用于执行与第一输入意图相关的操作。示例性的,用于执行图8中的S840,或者执行图6或图7中的执行模块执行的动作或步骤,或者执行图4或图5中的应用程序执行的动作或步骤。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的装置900,用于执行上述输入方法,因此可以达到与上述输入方法相同的效果。
本申请实施例还提供了一种电子设备,包括:显示屏(触摸屏)、处理器、电源键、存储器、应用程序以及计算机程序。上述各器件可以通过一个或多个通信总线连接。其中,该一个或多个计算机程序被存储在上述存储器中并被配置为被该一个或多个处理器执行,该一个或多个计算机程序包括指令,上述指令可以用于使电子设备执行上述各实施例中的输入方法的各个步骤。
示例性地,上述处理器具体可以为图1所示的处理器110,上述存储器具体可以为图1所示的内部存储器120和/或与电子设备连接的外部存储器。
图10是本申请实施例提供的装置1000的硬件结构示意图。图10所示的装置1000(该装置1000具体可以是一种电子设备)包括存储器1010、处理器1020、通信接口1030以及总线1040。其中,存储器1010、处理器1020、通信接口1030通过总线1040实现彼此之间的通信连接。
存储器1010可以是ROM,静态存储设备,动态存储设备或者RAM。存储器1010可以存储程序,当存储器1010中存储的程序被处理器1020执行时,处理器1020用于执行本申请实施例的输入方法的各个步骤。
处理器1020可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的装置1000中的单元所需执行的功能,或者执行本申请方法实施例的输入方法。
处理器1020还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的输入方法的各个步骤可以通过处理器1020中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1020还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1010,处理器1020读取存储器1010中的信息,结合其硬件完成本申请实施例的装置1000中包括的单元所需执行的功能,或者执行本申请方法实施例的输入方法。
通信接口1030使用例如但不限于收发器一类的收发装置,来实现装置1000与其他设备或通信网络之间的通信。
总线1040可包括在装置1000各个部件(例如,存储器1010、处理器1020、通信接口1030)之间传送信息的通路。
应注意,尽管图10所示的装置1000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1000还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图10中所示的全部器件。
本申请实施例还提供一种芯片,该芯片包括处理器和通信接口,该通信接口用于接收信号,并将该信号传输至该处理器,该处理器处理该信号,使得如前文中任一种可能的实现方式中的输入方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的输入方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的输入方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的输入方法。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种输入方法,所述方法应用于电子设备,其特征在于,所述方法包括:
检测用户对第一输入设备的操作,确定所述第一输入设备的变化信息;
获取输入设备状态信息集,所述输入设备状态信息集包括第二输入设备的状态信息;
生成第一输入事件,所述第一输入事件包括所述第一输入设备的变化信息和所述输入设备状态信息集;
执行与所述第一输入事件相关的操作。
2.根据权利要求1所述的方法,其特征在于,所述输入设备状态信息集还包括所述第一输入设备的状态信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第一输入设备的变化信息,更新所述输入设备状态信息集中的所述第一输入设备的状态信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测用户对所述第二输入设备的操作,确定所述第二输入设备的变化信息;
生成第二输入事件,所述第二输入事件包括所述第二输入设备的变化信息和更新后的所述输入设备状态信息集;
执行与所述第二输入事件相关的操作。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一输入设备的变化信息和所述输入设备状态信息集,确定第一输入意图;
所述第一输入事件还包括所述第一输入意图;
所述执行与所述第一输入事件相关的操作,包括:
执行与所述第一输入意图相关的操作。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一输入设备的变化信息和所述输入设备状态信息集,确定第一输入意图,包括:
根据第一映射关系,确定所述第一输入设备的变化信息和所述输入设备状态信息集对应的第一输入意图。
7.根据权利要求6所述的方法,其特征在于,所述第一映射关系为系统预定义或用户自定义的。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
检测用户对第一输入设备的操作,确定所述第一输入设备的变化信息;
获取输入设备状态信息集,所述输入设备状态信息集包括第二输入设备的状态信息;
生成第一输入事件,所述第一输入事件包括所述第一输入设备的变化信息和所述输入设备状态信息集;
执行与所述第一输入事件相关的操作。
9.根据权利要求8所述的电子设备,其特征在于,所述输入设备状态信息集还包括所述第一输入设备的状态信息。
10.根据权利要求9所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
根据所述第一输入设备的变化信息,更新所述输入设备状态信息集中的所述第一输入设备的状态信息。
11.根据权利要求10所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
检测用户对所述第二输入设备的操作,确定所述第二输入设备的变化信息;
生成第二输入事件,所述第二输入事件包括所述第二输入设备的变化信息和更新后的所述输入设备状态信息集;
执行与所述第二输入事件相关的操作。
12.根据权利要求8至10中任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
根据所述第一输入设备的变化信息和所述输入设备状态信息集,确定第一输入意图;
所述第一输入事件还包括第一输入意图;
执行与所述第一输入意图相关的操作。
13.根据权利要求12所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
根据预定义的第一映射关系,确定所述第一输入设备的变化信息和所述输入设备状态信息集对应的第一输入意图。
14.根据权利要求13所述的电子设备,其特征在于,所述第一映射关系为系统预定义或用户自定义的。
15.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如权利要求1至7中任一项所述的方法被执行。
16.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至7中任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被运行时,实现如权利要求1至7中任一项所述的方法。
CN202210420430.3A 2022-04-21 2022-04-21 一种输入方法及装置 Pending CN116974361A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210420430.3A CN116974361A (zh) 2022-04-21 2022-04-21 一种输入方法及装置
PCT/CN2023/087824 WO2023202444A1 (zh) 2022-04-21 2023-04-12 一种输入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210420430.3A CN116974361A (zh) 2022-04-21 2022-04-21 一种输入方法及装置

Publications (1)

Publication Number Publication Date
CN116974361A true CN116974361A (zh) 2023-10-31

Family

ID=88419129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210420430.3A Pending CN116974361A (zh) 2022-04-21 2022-04-21 一种输入方法及装置

Country Status (2)

Country Link
CN (1) CN116974361A (zh)
WO (1) WO2023202444A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970729B1 (ko) * 2003-12-26 2010-07-16 삼성전자주식회사 입력 관리 장치 및 방법
KR101234096B1 (ko) * 2009-10-29 2013-02-19 한국전자통신연구원 멀티포인트 사용자 인터페이스 장치 및 멀티포인트 사용자 인터페이싱 방법
KR102040857B1 (ko) * 2012-07-17 2019-11-06 삼성전자주식회사 펜 인식 패널을 포함한 단말기의 기능 운용 방법 및 이를 지원하는 단말기
CN105690385B (zh) * 2016-03-18 2019-04-26 北京光年无限科技有限公司 基于智能机器人的应用调用方法与装置
CN106020850A (zh) * 2016-06-23 2016-10-12 北京光年无限科技有限公司 在机器人操作系统中关闭应用的方法及装置

Also Published As

Publication number Publication date
WO2023202444A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
US11416037B2 (en) Electronic device with flexible display and method for operating same
WO2020155876A1 (zh) 控制屏幕显示的方法及电子设备
WO2021244443A1 (zh) 分屏显示方法、电子设备及计算机可读存储介质
WO2021120914A1 (zh) 一种界面元素的显示方法及电子设备
WO2021057868A1 (zh) 一种界面切换方法及电子设备
CN105630129B (zh) 用于降低功耗的功率控制方法和装置
WO2021129253A1 (zh) 显示多窗口的方法、电子设备和系统
EP3811191B1 (en) Electronic device for displaying list of executable applications on split screen and operating method thereof
CN114415787A (zh) 电子装置及配置该电子装置的显示器的方法
KR20160091072A (ko) 복수의 디스플레이를 제어하는 전자 장치 및 제어 방법
CN113994317A (zh) 一种用户界面布局方法及电子设备
WO2021037223A1 (zh) 一种触控方法与电子设备
EP2869181A1 (en) Method for executing functions in response to touch input and electronic device implementing the same
KR20150054413A (ko) 시선 데이터에 따라 컨텐츠의 위치를 결정하는 전자 장치 및 방법
KR20180109229A (ko) 전자 장치에서 증강현실 기능 제공 방법 및 장치
WO2021175272A1 (zh) 一种应用信息的显示方法及相关设备
WO2021051982A1 (zh) 调用硬件接口的方法及电子设备
WO2021008589A1 (zh) 一种应用的运行方法及电子设备
US11144190B2 (en) Electronic device and method for sharing data thereof
CN113867848A (zh) 图形接口的调用方法、装置、设备及可读存储介质
WO2022194190A1 (zh) 调整触摸手势的识别参数的数值范围的方法和装置
WO2021052488A1 (zh) 一种信息处理方法及电子设备
EP4390639A1 (en) Handwriting processing method, and terminal device and chip system
CN108427529B (zh) 电子设备及其操作方法
US11455139B2 (en) Electronic device and method for independently controlling a plurality of displays

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