CN116700592B - 一种单击操作的响应方法、电子设备及芯片系统 - Google Patents
一种单击操作的响应方法、电子设备及芯片系统 Download PDFInfo
- Publication number
- CN116700592B CN116700592B CN202211183036.9A CN202211183036A CN116700592B CN 116700592 B CN116700592 B CN 116700592B CN 202211183036 A CN202211183036 A CN 202211183036A CN 116700592 B CN116700592 B CN 116700592B
- Authority
- CN
- China
- Prior art keywords
- event
- pressing
- physical key
- electronic device
- key
- 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
- 230000004044 response Effects 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000003825 pressing Methods 0.000 claims abstract description 115
- 238000001514 detection method Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001965 increasing effect Effects 0.000 claims description 7
- 230000001976 improved effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 7
- 101100538883 Dictyostelium discoideum tupA gene Proteins 0.000 description 4
- 101100538880 Schizosaccharomyces pombe (strain 972 / ATCC 24843) tup12 gene Proteins 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000002716 delivery method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/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/0489—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 dedicated keyboard keys or combinations thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本申请提供一种单击操作的响应方法、电子设备及芯片系统,涉及物理按键技术领域;该方法中,可以在作用在一个物理按键上的按压操作中的抬起事件的检测时间和按下事件的检测时间的时间差较长的情况下,将当前操作判定为单击操作,从而响应该单击操作;还可以在作用在一个物理按键上的按压操作中的抬起事件的检测时间和按下事件的检测时间的时间差较短的情况下,等待一段时间,等待的截止时间为第一次按下事件之后的300ms,若在等待期间,未再次检测到按下事件,则可以判定当前操作为单击操作,从而响应该单击操作;通过这种方式可以降低单击操作的响应时长,提高用户体验。
Description
技术领域
本申请涉及物理按键技术领域,尤其涉及一种单击操作的响应方法、电子设备及芯片系统。
背景技术
电子设备的功能越来越强大,为了便于用户快速找到某个功能或者触发电子设备快速执行某个操作,电子设备提供了很多快捷手势。例如,电子设备上的一个物理按键可以支持单击操作和双击操作,甚至还可以支持长按操作等其他操作,每个操作对应有不同的响应事件。
然而,在实际应用中,当一个电子设备上的一个物理按键上的单击操作和多击操作(双击或者更多击的操作)均设置有不同的响应事件时,对于单击操作的响应时间较长,用户体验较差。
发明内容
鉴于此,本申请提供一种单击操作的响应方法、电子设备及芯片系统,可以降低单击操作的响应时间,提高用户体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种单击操作的响应方法,应用于设置有物理按键的电子设备,所述物理按键上的单击操作和多击操作均设有响应事件,所述方法包括:
检测到作用在所述物理按键上的第一按压操作,所述第一按压操作包括第一按下事件和第一抬起事件;
若所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值大于第一时长,则执行第一事件,所述第一事件为与所述物理按键上的单击操作对应的响应事件。
本申请中,通过检测用户单击操作和多击操作的习惯,确定用户的多击操作中的按压和抬起的时间较短,所以,可以设置在作用在一个物理按键上的抬起事件和按压时间的时间差值较长(大于第一时长)的情况下,确定为单击操作,电子设备执行单击操作对应的响应事件。
作为第一方面的一种实现方式,所述检测到作用在所述物理按键上的第一按压操作包括:
检测到作用在所述物理按键上的第一按下事件,记录所述第一按下事件的检测时间;
检测到作用在所述物理按键上的第一抬起事件,记录所述第一抬起事件的检测时间。
本申请中,可以在检测到物理按键的第一按下事件时,记录第一按下事件的检测时间,检测到同一物理按键上的第一抬起事件时,记录第一抬起事件的检测时间,从而确定一个按压操作抬起和按下中间的时长。
作为第一方面的另一种实现方式,检测到作用在所述物理按键上的第一按压操作之后,所述方法还包括:
若所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值小于或等于所述第一时长,则继续检测作用在所述物理按键上的事件;
若在第二时长之内,未检测到作用在所述物理按键上的事件,则执行所述第一事件,所述第二时长为第一时长减去按压时长,所述按压时长为所述第一检测时间和所述第二检测时间的差值。
作为第一方面的另一种实现方式,所述多击操作包括双击操作,所述方法还包括:
若在所述第二时长之内,检测到作用在所述物理按键上的第二按下事件,则执行第二事件,所述第二事件为与所述物理按键上的双击操作对应响应事件。
本申请中,通过检测用户的单击操作和多击操作的行为习惯,确定在用户的一个按压操作的抬起和按下中间间隔的时间较短的情况下,有可能为单击操作也可能为多击操作。然而,在多击操作中,连续两次的按压操作中间间隔时间较短,即第二次按下和第一次抬起中间间隔的时间较短,所以,本申请还设置可在首次按压操作中抬起和按下中间间隔时间较短的情况下,进一步等待一段时长(第二时长),这段时长之内未检测到作用在物理按键上的第二次按下事件,则确定为单击事件,执行与单击操作对应的响应事件。这段时长之内检测到作用在物理按键上的第二次按下事件,则确定不为单击事件;若电子设备的物理按键支持单击操作和双击操作,则执行与双击操作对应的响应事件。
作为第一方面的另一种实现方式,所述方法还包括:
在电子设备开机或重启之后,将所述物理按键的按下事件的次数设置为初始值;
相应的,在检测到作用在所述物理按键上的第一按下事件之后,所述方法还包括:
将所述物理按键的按下事件的次数增加1;
相应的,在执行所述第一事件之后,将所述按下事件的次数设置为所述初始值。
作为第一方面的另一种实现方式,所述方法还包括:
在电子设备开机或重启之后,将所述物理按键的按下事件的次数设置为初始值;
相应的,在检测到作用在所述物理按键上的第二按下事件之后,所述方法还包括:
将所述物理按键的按下事件的次数增加1;
相应的,在执行所述第二事件之后,将所述按下事件的次数设置为所述初始值。
本申请中,若根据当前接收到的事件已经能确定属于某个操作,可以执行某个操作对应的响应事件,则可以将该物理按键的按下次数清零。实际应用中,若接收到另一物理按键的按下事件,则也需要将当前的按下次数清零,并重新为另一物理按键的按下次数进行计数。
作为第一方面的另一种实现方式,所述物理按键为电源键,所述第一事件包括由电子设备的亮屏状态切换为灭屏状态和由电子设备的灭屏状态切换为亮屏状态。
作为第一方面的另一种实现方式,所述检测到作用在所述物理按键上的第一按压操作包括:
检测到作用在所述物理按键上的第一按下事件,启动计时器;
检测到作用在所述物理按键上的第一抬起事件,记录所述计时器的时间,其中,所述计时器的时间为所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值。
本申请中,还可以在检测到作用在所述物理按键上的第一按下事件,启动计时器;检测到作用在所述物理按键上的第一抬起事件,记录所述计时器的时间,通过计时器的时间确定一个按压操作的抬起和按下中间间隔的时长;提供多样化的方式确定抬起和按下中间间隔的时长。
第二方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法的步骤。
第三方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第一方面任一项的方法的步骤。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第一方面任一项的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行本申请第一方面任一项的方法的步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的一种单击操作的响应方法的时间关系示意图;
图3为本申请实施例提供的另一种单击操作的响应方法的时间关系示意图;
图4为本申请实施例提供的一种单击操作的响应方法的技术架构示意图;
图5为本申请实施例提供的一种单击操作的响应方法的时序示意图;
图6为本申请实施例提供的一种单击操作的响应方法的流程示意图;
图7为本申请实施例提供的另一种单击操作的响应方法的流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的单击操作的响应方法,可以适用于手机、平板电脑、可穿戴设备等设置有物理按键的电子设备中。本申请实施例对电子设备的具体类型不作限定。
图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,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,触摸传感器180K等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备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的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
无线通信模块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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了监听语音信息,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括电源键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。该按键可以作为电子设备的物理按键存在。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
本申请实施例并未特别限定一种单击操作的响应方法的执行主体的具体结构,只要可以通过运行记录有本申请实施例提供的一种单击操作的响应方法的代码,以根据本申请实施例提供的一种单击操作的响应方法进行处理即可。例如,本申请实施例提供的一种单击操作的响应方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的处理装置,例如,芯片。
目前,电子设备的功能越来越强大,一个电子设备提供的功能越来越多,用户想要使用某个功能时,需要在电子设备显示的界面上找到启动该功能的控件,导致操作较为繁琐。
因此,电子设备提供了很多快捷方式以启动某个功能。作为示例,可以在电子设备的触控屏上输入快捷手势,电子设备检测到该快捷手势将启动与快捷手势对应的功能;还可以对电子设备上的物理按键进行相关操作,电子设备检测到该物理按键上的操作将启动与该物理按键上的操作对应的功能。
电子设备的物理按键可以包括电子设备上音量加键、音量减键、电源(Power)键等。作用在物理按键上的相关操作可以包括短按、长按、单击、双击、甚至更多击等操作。当然,上述不同操作对应的不同功能可以根据实际情况进行设置。作为一些操作对应的功能的示例,可以为亮屏、灭屏、启动钱包等。
当然,上述列举的亮屏、灭屏和启动钱包等也可以作为用户的操作的响应事件。
作为通过物理按键上的多个操作实现多个功能的一个示例,当用户对电子设备上的Power键进行单击操作时,电子设备检测到Power键上的单击操作,将由当前的亮屏状态切换为灭屏状态或由当前的灭屏状态切换为亮屏状态。当用户对电子设备上Power键进行双击操作时,电子设备检测到Power键上的双击操作,将启动电子设备的钱包应用。
该示例中,由亮屏状态切换为灭屏状态或者有灭屏状态切换为亮屏状态作为Power键上的单击操作的响应事件;启动电子设备的钱包应用作为Power键上的双击操作的响应事件。
当然,若Power键还支持其他操作,也可以设置与其他操作对应的功能(响应事件)。该示例中不同操作对应的不同功能仅用于示例,并不对本申请造成任何限制。
该示例中,一个物件按键上的单击操作和双击操作均设置有各自对应的功能(响应事件)时,由于双击操作是在完成一个单击操作之后的一段时间内再次开始或完成一个单击操作,所以,为了识别用户的操作为单击操作还是双击操作,需要设置如下:
若电子设备在检测到作用在一个物理按键上的一个单击操作之后的一段时间(例如,300ms)之内未检测到该同一物理按键上的下一个单击操作,则认为当前操作为单击操作。
若电子设备在检测到作用在一个物理按键上的一个单击操作之后的一段时间之内检测到该同一物理按键上的下一个单击操作,则认为当前操作为双击操作。
若判定为单击操作,电子设备可执行与单击操作对应的功能(响应事件),若判定为双击操作,电子设备可执行与双击操作对应的功能(响应事件)。
然而,电子设备检测到一个单击操作之后需要等待一段时间(例如,300ms)才能执行与单击操作对应的功能(响应事件),这就导致电子设备对同时支持单击操作和多击操作(可以为双击、三击甚至更多击的操作)的物理按键上的单击操作的响应较慢,用户体验较差。
并且,由于单击操作较为简单方便,在实际应用中,会将高频使用的功能设置为与单击操作对应的功能,即单击操作将会是高频操作。从用户的角度,将会认为经常遇到电子设备响应慢的情况,用户体验较差。
为了解决该问题,本申请实施例提供一种单击操作的响应方法。
该方法中,将单击操作分解为按照时间顺序的一次按下事件(down)和一次抬起事件(up)。相应的,双击操作为按照时间顺序的一次按下事件、一次抬起事件、再一次按下事件、再一次抬起事件。更多击操作不再示例。
当一个物理按键上的单击操作和多击操作(双击或者更多击的操作)均设置有不同的功能(响应事件)时,可以按照图2所示的方式判定当前检测到的操作为单击操作还是多击操作。
参见图2中的(a),当电子设备检测到该物理按键上的第一次按下事件(按下1)和第一次抬起事件(抬起1)之后,开始计时,若从第一次抬起事件之后的300ms(该数值仅用于示例)之内未检测到该物理按键上的第二次按下事件,则电子设备在计时时间为300ms时将作用在该物理按键上的操作判定为单击操作,电子设备开始响应该单击操作。
参见图2中的(b),若电子设备检测到该物理按键上的第一次按下事件(按下1)和第一次抬起事件(抬起1)之后,开始计时,若从第一次抬起事件之后的300ms之内检测到该物理按键上的第二次按下事件(按下2),则电子设备在检测到该物理按键上的第二次按下事件时将作用在物理按键上的操作判定为非单击操作。具体是何种操作可以基于后续检测到的事件继续进一步判定。本申请实施例重点描述单击操作的响应,对后续检测到的事件以及后续操作类型的判定不做限定。
如前所述,本申请实施例重点描述电子设备对用户在物理按键上的单击操作的响应时长。基于图2中的(a)可以理解:从电子设备检测到物理按键的第一次按下事件(按下1)到电子设备判定为单击操作开始响应该单击操作的时长为300ms+(tup1-tdown1)。其中,tup1表示电子设备检测到第一次抬起事件的时刻,tdown1表示电子设备检测到第一次按下事件的时刻。从电子设备检测到物理按键的第一次抬起事件(抬起1)到电子设备判定为单击操作开始响应的时长为300ms。
所以,电子设备将作用在物理按键上的操作判定为单击操作的情况下,即使从电子设备检测到第一次的抬起事件算起,用户也需要等待300ms的响应时长。当然,300ms仅用于示例,在实际应用中,设置该段时间的时长将直接影响用户体验,然而,在实际应用中,基于用户的多击操作行为,该短时间的设置通常在300ms左右。
为了缩短该响应时长,本申请实施例还提供一种单击操作的响应方法。
在实际应用中,根据监测到的用户敲击物理按键的行为习惯,发现若用户在物理按键上输入双击操作或者其他多击操作时,每一次敲击时的速度均会比较快,所以,可以设置在电子设备检测到物理按键上的第一次按下事件到第一次抬起事件的时长大于一定时长(例如,300ms)的情况下,电子设备判定为作用在物理按键上的操作为单击操作。
另外,在实际应用中,根据监测到的用户敲击物理按键的行为习惯,用户在物理按键上输入单击操作时,差异较大,敲击时的速度有些较快有些较慢,所以,电子设备检测到物理按键上的第一次按下事件到第一次抬起事件的时长小于或等于一定时长(例如,300ms)的情况下,还需要进一步判断当前操作为单击操作还是其他操作。
作为示例,本申请实施例将一个按压操作(第一按压操作)分为第一按下事件和第一抬起事件。本申请实施例还可以设置在电子设备检测到物理按键上的第一次按下事件(可以记为第一按下事件)到第一次抬起事件(可以记为第一抬起事件)的时长小于或等于一定时长(300ms)的情况下,检测到物理按键上的第一次按下事件之后的一定时长(例如,300ms)之内是否检测到第二次按下事件(可以记为第二按下事件)以判断当前操作是否为单击操作。
例如,电子设备检测到物理按键上的第一次按下事件之后的一定时长(例如,300ms)之内检测到第二按下事件,则判定为非单击操作。该时长可以记为第一时长。
电子设备检测到物理按键上的第一次按下事件之后的一定时长(例如,300ms)之内未检测到第二按下事件,则判定为单击操作。
也可以理解为,检测到物理按键上的第一次抬起事件之后的一个时长(例如,300ms-(tup1-tdown1))之内是否检测到第二次按下事件已判断当前操作是否为单击操作。
该实施例可详细参照图3所示时间关系图的描述。
参见图3中的(a),当电子设备检测到物理按键的第一次按下事件(按下1)之后,开始计时,在检测到同一物理按键的第一次抬起事件(抬起1)之后,判断计时时间(tup1-tdown1)是否大于300ms。若计时时间(tup1-tdown1)大于300ms,则判定为单击操作,开始执行该单击操作对应的响应事件(可以记为第一事件)。
参见图3中的(b),当电子设备检测到物理按键的第一次按下事件(按下1)之后,开始计时,在检测到同一物理按键的第一次抬起事件(抬起1)之后,判断计时时间(tup1-tdown1)是否大于300ms。若计时时间(tup1-tdown1,也为按压时长)小于或等于300ms,则继续等待300ms-(tup1-tdown1),若在等待的300ms-(tup1-tdown1)时间之内未检测到该物理按键上的第二次按下事件,则判定为单击操作,开始响应该单击操作。
参见图3中的(c),当电子设备检测到物理按键的第一次按下事件(按下1)之后,开始计时,在检测到同一物理按键的第一次抬起事件(抬起1)之后,判断计时时间(tup1-tdown1)是否大于300ms。若计时时间(tup1-tdown1)小于或等于300ms,则继续等待300ms-(tup1-tdown1),若在等待的300ms-(tup1-tdown1)时间之内检测到该物理按键上的第二次按下事件(按下2),则判定为非单击操作。若最终判定为双击操作,可以执行双击操作对应的响应事件(例如,第二事件)。
基于图3中的(a)可以理解,从电子设备检测到物理按键的第一次按下事件(按下1)到电子设备判定为单击操作开始响应该单击操作的时长为tup1-tdown1(大于300ms)。从电子设备检测到物理按键的第一次抬起事件(抬起1)到电子设备判定为单击操作开始响应的时长为0ms。
基于图3中的(b)可以理解,从电子设备检测到物理按键的第一次按下事件(按下1)到电子设备判定为单击操作开始响应该单击操作的时长为300ms。从电子设备检测到物理按键的第一次抬起事件(抬起1)到电子设备判定为单击操作开始响应的时长为300ms-(tup1-tdown1)。
通过表1分别对比图2中的(a)、图3中的(a)和图3中的(b)所示的电子设备对单击操作的响应时长。
表1多种方式判定单击操作的响应时长对比
可以理解,图3中的(a)和图3中(b)所示的情况下,电子设备的对单击操作的响应时长明显变短,提高了用户体验。
为了更清晰的理解本申请实施例提供的单击操作的响应方法,下面将描述本申请实施例提供的单击操作的响应方法依赖的技术架构。
参见图4,为本申请实施例提供的技术架构图。该技术架构图包括:硬件层、驱动层、Native层、Framework层和应用层。
该技术架构中,应用层有多个应用,例如,响应于上述实施例中的物理按键上的双击操作,启动的钱包应用位于该层。当然,单击操作对应的响应事件也可能与应用层的应用相关。在具体实现中,对应于物理按键上的单击操作或其他操作的响应事件不是必然与应用层的应用相关。是否与应用层的应用相关取决于对该物理按键上的单击操作或其他操作对应的响应事件的设置。
在Framework层(框架层)存在PhoneWindowManager类和SingleKeyGestureDetector类。本申请实施例提供的技术架构图中,在Framework层还需要设置另一模块HwPhoneWindowManager类。该HwPhoneWindowManager类不是系统原生的类,在实际应用中,还可以以其他方式命名,本申请实施例对此不做限制。
PhoneWindowManager类,作为WindowManagerService的一部分,可以做出一些决策处理UI事件等,作为其中一个业务,PhoneWindowManager类可以处理按键的一些事件。
SingleKeyGestureDetector类用于处理单一按键的手势检测。
HwPhoneWindowManager类负责事件的传递。
在具体实现时,在一个物理按键(位于硬件层)被执行操作之后,该操作对应的事件将从硬件层开始,向上传输,经过驱动层、Native层一直上传到Framework层。Framework层对该事件进行处理,或者响应该事件。
本申请实施例将重点描述Framework层中的PhoneWindowManager类、SingleKeyGestureDetector类和HwPhoneWindowManager类如何实现本申请实施例提供的单击操作的响应方法。
对应于图2所示的单击操作的响应方法,作用在Power键上的操作对应的事件向上层传递至Framework层中的PhoneWindowManager类,PhoneWindowManager类在确定当前事件属于单键事件的情况下,向SingleKeyGestureDetector类传递该事件,SingleKeyGestureDetector类记录该事件并在判断当前事件为单击操作情况下,向PhoneWindowManager类反馈当前操作为单击操作或该单击操作对应的响应事件,PhoneWindowManager类执行该单击操作对应的响应事件。
对应于图3所示的单击操作的响应方法,作用在power键上的操作对应的事件向上层传递至Framework层中的HwPhoneWindowManager类,HwPhoneWindowManager类将该事件传递给PhoneWindowManager类,PhoneWindowManager类在确定当前事件属于单键事件的情况下,向SingleKeyGestureDetector类传递该事件,SingleKeyGestureDetector类记录该事件并在判断当前事件为单击操作情况下,向PhoneWindowManager类反馈当前操作为单击操作或该单击操作对应的响应事件,PhoneWindowManager类执行该单击操作对应的响应事件。当然,实际应用中,物理按键相关的事件也可以不经过HwPhoneWindowManager类。
参见图5,为本申请实施例提供的基于图4所示的技术架构图实现的一种单击操作的响应方法。该方法对应于图3所示实施例。
步骤S101,Native层的input向HwPhoneWindowManager类发送down事件。
在本申请实施例中,在用户按下Power键之后,电子设备将检测到Power键的down事件,down事件从硬件层开始,经过驱动层传输到Native层的input模块,input模块向Framework层的HwPhoneWindowManager类发送down事件。
步骤S102,HwPhoneWindowManager类接收到该down事件之后,将down事件向PhoneWindowManager类发送。
步骤S103,PhoneWindowManager类接收到该down事件之后,确定down事件为单键事件。
在实际应用中,PhoneWindowManager类会先判断是否为组合键事件或将该down事件传递给组合键手势识别模块,若不是组合键事件或者组合键手势识别模块未处理该事件,则会确定为单键事件或者向SingleKeyGestureDetector类发送该down事件。
步骤S104,PhoneWindowManager类向SingleKeyGestureDetector类发送手势判定信息,该手势判定信息携带该down事件。
步骤S105,SingleKeyGestureDetector类接收到该手势判定信息之后,确定down事件为作用在Power键上的当前操作的第一次按下事件。
步骤S106,SingleKeyGestureDetector类在确定down事件为作用在Power键的当前操作的第一次按下事件的情况下,开始计时或者记录当前时刻,将当前时刻作为第一次按下事件的检测时间tdown1。
步骤S201,input向HwPhoneWindowManager类发送up事件。
在用户第一次按下Power键并抬起后,电子设备生成Power键的up事件,该up事件从硬件层开始,经过驱动层传输到Native层的input模块,input模块向Framework层的HwPhoneWindowManager类发送up事件。
步骤S202,HwPhoneWindowManager类向PhoneWindowManager类发送该up事件。
步骤S203,PhoneWindowManager类向SingleKeyGestureDetector类发送手势判定信息,该手势判定信息携带up事件信息。
步骤S204,SingleKeyGestureDetector类确定为Power键的第一次up事件。
步骤S205,SingleKeyGestureDetector类确定为Power键的第一次up事件之后,计算计时时长(tup1-tdown1)。tup1为Power键的第一次up事件的检测时间。当然,计时时长也可以从计时器直接获取。
步骤S206,判断计时时长是否大于300ms。
在步骤S206中,若判断结果为计时时长小于或等于300ms,则执行步骤S207,若判断结果为计时时长大于300ms,则执行步骤S208。
步骤S207,SingleKeyGestureDetector类继续等待300ms-(tup1-tdown1)时长;在该等待时长之内未检测到Power键上的第二次按下事件,执行步骤S208。在该等待时长之内检测到Power键上的第二次按下事件,则可以确定不为单击操作,则可以继续按照其他操作的规则执行。
步骤S208,SingleKeyGestureDetector类向PhoneWindowManager类发送灭屏流程的指令。
本申请实施例以单击操作对应的响应事件为由亮屏状态切换为灭屏状态为例。当然,实际应用中,若电子设备当前为灭屏状态,则当前单击操作对应的响应事件为由灭屏状态切换为亮屏状态。
步骤S209,PhoneWindowManager类接收到灭屏流程指令后,开始启动灭屏流程。
为了更清楚了解PhoneWindowManager类和SingleKeyGestureDetector类内部执行的过程,描述本申请实施例提供的PhoneWindowManager类和SingleKeyGestureDetector类内部执行的流程示意图。
在描述本申请实施例提供的单击操作的响应方法之前,首先通过图6描述系统原生流程提供的单击操作的响应方法中这两个类的内部执行流程示意图,该示意图与图2所示实施例对应。
若用户在一个物理按键上输入单击操作,首先会按下该物理按键,电子设备监测到该物理按键的down事件之后,该物理按键的down事件会从硬件层一直传递到Native层。
步骤S301,Native层接着传递down事件到Framework层的PhoneWindowManager类中的interceptKeyBeforeQueueing。
步骤S302,interceptKeyBeforeQueueing分发接收到的Down事件到handlekeyGesture。
本申请实施例中,interceptKeyBeforeQueueing用于分发接收到的各种事件,例如,有些事件将被分发到上层应用直接处理,有些事件不能被分发到上层应用处理,将被分发给handlekeyGesture。本申请实施例中的down事件将被分发给handlekeyGesture。
步骤S303,handlekeyGesture接收到down事件之后,确定down事件为单键事件。
本申请实施例中,handlekeyGesture用于将该事件交给不同的手势识别模块。例如,将组合按键下的事件分发给组合键手势识别模块,将单按键下的事件分发给SingleKeyGestureDetector类。其中,down事件作为单按键下的事件将会被作为单按键下的事件分发给SingleKeyGestureDetector类中的interceptKey。
当然,在具体实现时,handlekeyGesture内部的逻辑也可能为将接收到的事件首先分发给组合键手势识别模块,若组合键手势识别模块未处理该事件,则handlekeyGesture确定该事件为单按键事件,再将该事件分发给SingleKeyGestureDetector类。本申请实施例对handlekeyGesture内部的实现逻辑不做限定。
步骤S304,handlekeyGesture将down事件发送给SingleKeyGestureDetector类中的interceptKey进行手势检测。
步骤S305,interceptKey在接收到的事件之后,确定该事件为down事件。
interceptKey首先判断该事件为down事件还是up事件,若为down事件,将down事件交给interceptKeyDown处理,若为up事件将up事件交给interceptKeyUp处理。
步骤S306,interceptKey将down事件发送给interceptKeyDown处理。
步骤S307,interceptKeyDown接收到该down事件之后,记录down事件的相关信息。
在具体实现时,interceptKeyDown会执行以下操作:
(1)记录接收到的down事件的键值,该键值用于表示该down事件为作用在哪个物理按键上的按下操作。在电子设备上可能存在多个物理按键,不同物理按键对应有不同的键值。
(2)记录该物理按键的状态,例如,down或up等。
(3)记录该按键被按下的次数(可以通过计时器进行计数),例如,该down事件是第一次的按下事件、第二次的按下事件,或者第i次的按下事件等。
当然,在实际应用中,该down事件的计数器不能无限增加,例如,电子设备开机后,一个物理按键的第一次单击操作中的down事件将会触发该计数器更新为1。一段时间(例如,1分钟)之后,该物理按键上的第二次单击操作中的down事件不会触发计数器更新为2。这是由于,该计数器会有清零操作,以便于区分不同时期的单击操作。
作为一个示例,可以在当前事件被判定为某个操作之后,电子设备执行该操作对应的响应事件的情况下,将用于记录事件的次数的计数器进行清零。对计数器的清零操作具体可参照后续实施例的描述。
(4)interceptKeyDown遍历该键值对应的规则,确定是否满足激活某个规则的条件。
电子设备中的一个物理按键可能设置有一个或多个具有响应事件的操作。每个操作可以对应有一个规则。interceptKeyDown可以遍历当前键值的多个规则。若当前接收到的事件满足任一规则,可以激活该规则(或者执行该规则下的任务),从而使得电子设备执行该规则对应的响应事件。
例如,在实际应用中,若某个物理按键的按下操作(不需要抬起操作)设置有响应事件,则interceptKeyDown在接收到该物理按键的down事件之后,就会遍历到满足该down事件的一条规则,就可以激活该规则,从而执行该规则对应的响应事件。
若某个物理按键的长按操作(按下事件保持一定时长)设置有响应事件,则在遍历到一次down事件对应的规则的时候,会启动该规则下的延时任务,以确定是否为长按操作,从而在长按操作时执行该长按操作对应的规则的响应事件。
本申请实施例不再对具体的不同操作或事件对应的规则进行举例。
当然,在某个物理按键仅设置了单击操作和多击操作的情况下,若只接收到该物理按键的一次down事件,则会确定出当前down事件满足当前物理按键下的规则,然而不会遍历到满足一次down事件就执行响应事件的具体规则。
随着时间推移,用户在按下该物理按键之后,会抬起手指,这种情况下,电子设备将检测到该物理按键的up事件,该up事件从硬件层一直传输到Native层。
该up事件的传递方法和上述描述的down事件的传递方法相同,从经过Framework层的interceptKeyBeforeQueueing、handlekeyGesture、interceptKey,到interceptKeyUp。
作为示例:
步骤S308,Native层将up事件到Framework层的interceptKeyBeforeQueueing。
步骤S309,interceptKeyBeforeQueueing接收到up事件之后,将up事件分发给handlekeyGesture。
步骤S310,handlekeyGesture接收到up事件之后,确定为单键事件。
步骤S311,handlekeyGesture将up事件作为单键事件分发给SingleKeyGestureDetector类中的interceptKey。
步骤S312,interceptKey确定接收到的事件为up事件。
步骤S313,interceptKey将接收到的up事件交给interceptKeyUp处理。
步骤S314,interceptKeyUp接收到该up事件之后,会记录up事件的相关信息。
在具体实现时,interceptKeyUp会执行以下操作:
(1)确定接收到的up事件对应的物理按键的状态为up状态。
(2)检验up事件的键值是否为上一次记录的down事件的键值。
在实际应用中,若up事件的键值和之前记录的down事件的键值一致,则确定对应键值最多支持几次按压操作,以最多支持两次按压操作为例,若当前up事件是第二次(次数可以从存储的down事件的计数次数中获取,可以不用单独为up事件设置计数次数),则可以确定激活该物理按键的双击操作对应的规则。若当前up事件为第一次,就会等待300ms(数值仅用于示例)。
步骤S315,interceptKeyUp确定等待300ms。
步骤S316,interceptKeyUp等待300ms的过程中,若down事件的计数次数未更新为2(表示未接收到第二次的down事件),则激活Power键的单击操作的规则。
本申请实施例中,在等待300ms的过程中,若down事件的计数次数未更新为2,则表示interceptKeydown未接收到该物理按键的第二次的down事件,则确定为单击操作。相当于激活该物理按键的单击操作对应的规则,就可以向PhoneWindowManager类反馈手势检测结果或者反馈响应事件,PhoneWindowManager类将执行单击操作对应的响应事件。
在等待300ms的过程中,down事件的计数次数更新为2,则表示interceptKeydown接收到该物理按键的第二次的down事件,则确定不为单击操作,不会激活该物理按键的单击操作对应的规则。
S317,interceptKeyUp可以向PhoneWindowManager类中的相关模块反馈结果。以向handlekeyGesture反馈为例。
S318,handlekeyGesture执行灭屏流程。
另外,如前所述,up事件不会向down事件那样再次记录该物理按键被抬起的次数。在实际应用中,物理按键只有被按下才会抬起,所以,在接收到down事件时,记录物理按键被按压的次数,up事件和down事件共享记录的次数。
当然,实际应用中,在确定当前接收到的事件(包括与当前接收到的事件关联的以前接收到的事件)满足某个规则的情况下,电子设备会执行与该规则对应的响应事件,同时会将记录的次数清零,以便于再次接收到down事件的情况下,重新计数。
作为示例,若物理按键支持单击操作和双击操作。在检测到第一次的up事件之后,计数加1,并等待300ms,在等待300ms期间,未检测到第二次的down事件,则确定满足单击操作的规则,则可以将次数清零执行单击操作对应的响应事件。若在等待300ms期间,检测到第二次的down事件,则需要将次数加1变为2。在检测到该物理按键的第二次的up事件之后,则确定满足双击操作的规则,则可以将次数清零执行与双击操作对应的响应事件。另外,该计数为对同一物理按键的按下(或抬起)次数的计数,若没有遍历到对应的规则,接收到另一物理按键的按下事件,则需要将计数次数清零,以重新对另一物理按键的按下(或抬起)的次数进行计数。
当然,实际应用中,0作为次数的初始值的一个示例。在确定满足某个操作的规则,需要执行对应的响应事件,同时将次数初始化为初始值。初始值可以为任意值。初始值可以在电子设备开机、重启时初始化为初始值。
本申请实施例中,图3所示的单击操作的响应方法对应的流程为图7所示的流程示意图,该图7所示的流程示意图在图6所示流程图的基础上进行改进。
参见图7,若用户在一个物理按键上输入单击操作,首先会按下该物理按键,电子设备监测到该物理按键的down事件之后,该物理按键的down事件会从硬件层一直传递到Native层。
步骤S401,Native层接着传递事件到Framework层的PhoneWindowManager类中的interceptKeyBeforeQueueing。
步骤S402,interceptKeyBeforeQueueing分发接收到的down事件到handlekeyGesture。
步骤S403,handlekeyGesture接收到down事件之后,确定down事件为单键事件。
步骤S404,handlekeyGesture将down事件发送给SingleKeyGestureDetector类中的interceptKey进行手势检测。
步骤S405,interceptKey在接收到的事件之后,确定该事件为down事件。
步骤S406,interceptKey将down事件发送给interceptKeyDown处理。
步骤S407,interceptKeyDown接收到该down事件之后,记录down事件的相关信息。
interceptKeyDown接收到该down事件之后,会记录down事件的相关信息。
具体可以执行系统原生流程提供的以下操作:
(1)记录接收到的down事件的键值,该键值用于表示该down事件为作用在哪个物理按键上的按下操作。在电子设备上可能存在多个物理按键,不同物理按键对应有不同的键值。
(2)记录该物理按键的状态,例如,down或up等。
(3)记录该按键被按下的次数(可以通过计时器进行计数),例如,该down事件是第一次的按下事件、第二次的按下事件,或者第i次的按下事件等。
(4)interceptKeyDown遍历该键值对应的规则,确定是否满足激活某个规则的条件。
和图6所示的原生流程不同的是,interceptKeyDown在确定当前down事件为当前操作的第一次down事件的情况下,会记录tdown1的时刻或者开始计时。即在步骤S407执行原生流程的基础上,还需要执行:
步骤S4071,开始计时或记录tdown1的检测时刻。
上述实施例中,和图6所示实施例相同的步骤可以参照图6所示实施例中的描述,在此不再赘述。
随着时间推移,用户在按下该物理按键之后,会抬起手指,这种情况下,电子设备将检测到该物理按键的up事件,该up事件从硬件层一直传输到Native层。
该up事件的传递方法和上述描述的down事件的传递方法相同,从经过Framework层的interceptKeyBeforeQueueing、handlekeyGesture、interceptKey,到interceptKeyUp。
作为示例:
步骤S408,Native层将up事件到Framework层的interceptKeyBeforeQueueing。
步骤S409,interceptKeyBeforeQueueing接收到up事件之后,将up事件分发给handlekeyGesture。
步骤S410,handlekeyGesture接收到up事件之后,确定为单键事件。
步骤S411,handlekeyGesture将up事件作为单键事件分发给SingleKeyGestureDetector类中的interceptKey。
步骤S412,interceptKey确定接收到的事件为up事件。
步骤S413,interceptKey将接收到的up事件交给interceptKeyUp处理。
步骤S414,interceptKeyUp接收到该up事件之后,会记录up事件的相关信息。
具体实现时会执行原生流程提供的以下操作:
(1)确定接收到的up事件对应的物理按键的状态为up状态。
(2)检验up事件的键值是否为之前记录的down事件的键值。同时,若在up事件的键值和之前记录的down事件的键值一致的情况下,执行步骤S415。
S415,计算当前时刻tup1(确定为同一物理按键上的第一次up事件的时刻)和tdown1之间的差值Tspend;在具体实现时,可以记录up事件的检测时间tup1,用tup1-tdown1得到Tspend,也可以在检测到第一次的down事件时,启动计时器,计时器的计时时间就为Tspend。
步骤S416,判断Tspend是否大于300ms(该数值仅用于示例)。
若Tspend大于300ms,则执行步骤S418。
若Tspend小于或等于300ms,则执行步骤S417。
步骤S417,等待300ms-Tspend。在等待期间,若down事件的计数次数未更新为2(表示未接收到第二次的down事件),则激活Power键的单击操作的规则。在等待期间,若down事件的计数次数更新为2,则表示interceptKeydown接收到该物理按键的第二次的down事件,则确定不为单击操作,不再激活单击操作对应的规则。
步骤S418,激活Power键的单击操作的规则。
步骤S419,interceptKeyUp可以向PhoneWindowManager类中的相关模块反馈结果。以向handlekeyGesture反馈为例。向PhoneWindowManager类返回当前操作位Power键的单击操作或者执行Power键的单击操作对应的响应事件。
步骤S420,PhoneWindowManager类中的handlekeyGesture接收到该信息,执行单击操作对应的响应事件,例如,灭屏流程。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指示相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种单击操作的响应方法,其特征在于,应用于设置有物理按键的电子设备,所述物理按键上的单击操作和多击操作均设有响应事件,所述方法包括:
检测到作用在所述物理按键上的第一按压操作,所述第一按压操作包括第一按下事件和第一抬起事件;
若所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值大于或等于第一时长,则执行第一事件,所述第一事件为与所述物理按键上的单击操作对应的响应事件;
若所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值小于所述第一时长,则继续检测作用在所述物理按键上的事件;
若在第二时长之内,未检测到作用在所述物理按键上的事件,则执行所述第一事件,所述第二时长为所述第一时长减去按压时长,所述按压时长为所述第一检测时间和所述第二检测时间的差值。
2.如权利要求1所述的方法,其特征在于,所述检测到作用在所述物理按键上的第一按压操作包括:
检测到作用在所述物理按键上的第一按下事件,记录所述第一按下事件的检测时间;
检测到作用在所述物理按键上的第一抬起事件,记录所述第一抬起事件的检测时间。
3.如权利要求1所述的方法,其特征在于,所述多击操作包括双击操作,所述方法还包括:
若在所述第二时长之内,检测到作用在所述物理按键上的第二按下事件,则执行第二事件,所述第二事件为与所述物理按键上的双击操作对应响应事件。
4.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
在所述电子设备开机或重启之后,将所述物理按键的按下事件的次数设置为初始值;
相应的,在检测到作用在所述物理按键上的第一按下事件之后,所述方法还包括:
将所述物理按键的按下事件的次数增加1;
相应的,在执行所述第一事件之后,将所述按下事件的次数设置为所述初始值。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
在电子设备开机或重启之后,将所述物理按键的按下事件的次数设置为初始值;
相应的,在检测到作用在所述物理按键上的第二按下事件之后,所述方法还包括:
将所述物理按键的按下事件的次数增加1;
相应的,在执行所述第二事件之后,将所述按下事件的次数设置为所述初始值。
6.如权利要求1至3任一项所述的方法,其特征在于,所述物理按键为电源键,所述第一事件包括由电子设备的亮屏状态切换为灭屏状态和由电子设备的灭屏状态切换为亮屏状态。
7.如权利要求1所述的方法,其特征在于,所述检测到作用在所述物理按键上的第一按压操作包括:
检测到作用在所述物理按键上的第一按下事件,启动计时器;
检测到作用在所述物理按键上的第一抬起事件,记录所述计时器的时间,其中,所述计时器的时间为所述第一抬起事件的第一检测时间和所述第一按下事件的第二检测时间的差值。
8.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至7任一项所述的方法。
9.一种芯片系统,其特征在于,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211183036.9A CN116700592B (zh) | 2022-09-27 | 2022-09-27 | 一种单击操作的响应方法、电子设备及芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211183036.9A CN116700592B (zh) | 2022-09-27 | 2022-09-27 | 一种单击操作的响应方法、电子设备及芯片系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700592A CN116700592A (zh) | 2023-09-05 |
CN116700592B true CN116700592B (zh) | 2024-04-19 |
Family
ID=87843982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211183036.9A Active CN116700592B (zh) | 2022-09-27 | 2022-09-27 | 一种单击操作的响应方法、电子设备及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700592B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011203816A (ja) * | 2010-03-24 | 2011-10-13 | Hitachi Solutions Ltd | 座標入力装置及びプログラム |
CN203366247U (zh) * | 2013-06-28 | 2013-12-25 | 马洪生 | 一种按键复用的多功能鼠标 |
CN105677077A (zh) * | 2015-12-28 | 2016-06-15 | 小米科技有限责任公司 | 单击事件的判定方法和装置 |
WO2016165528A1 (zh) * | 2015-04-15 | 2016-10-20 | 乐视移动智能信息技术(北京)有限公司 | 移动终端的屏幕控制方法和装置 |
CN108693986A (zh) * | 2018-07-11 | 2018-10-23 | 歌尔科技有限公司 | 一种触摸板响应方法、系统及一种触摸板和存储介质 |
CN109766014A (zh) * | 2018-12-28 | 2019-05-17 | 惠州市蓝微电子有限公司 | 一种单片机识别按键按击操作的方法 |
CN112882850A (zh) * | 2021-03-09 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 按键事件处理方法、装置、设备和存储介质 |
CN113552994A (zh) * | 2020-04-23 | 2021-10-26 | 华为技术有限公司 | 一种触控操作方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779013A (zh) * | 2012-07-12 | 2012-11-14 | 中兴通讯股份有限公司 | 一种触摸屏终端的操作控制方法及移动终端 |
CN111752464A (zh) * | 2019-03-29 | 2020-10-09 | 北京小米移动软件有限公司 | 手势操作的响应方法、装置及存储介质 |
-
2022
- 2022-09-27 CN CN202211183036.9A patent/CN116700592B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011203816A (ja) * | 2010-03-24 | 2011-10-13 | Hitachi Solutions Ltd | 座標入力装置及びプログラム |
CN203366247U (zh) * | 2013-06-28 | 2013-12-25 | 马洪生 | 一种按键复用的多功能鼠标 |
WO2016165528A1 (zh) * | 2015-04-15 | 2016-10-20 | 乐视移动智能信息技术(北京)有限公司 | 移动终端的屏幕控制方法和装置 |
CN105677077A (zh) * | 2015-12-28 | 2016-06-15 | 小米科技有限责任公司 | 单击事件的判定方法和装置 |
CN108693986A (zh) * | 2018-07-11 | 2018-10-23 | 歌尔科技有限公司 | 一种触摸板响应方法、系统及一种触摸板和存储介质 |
CN109766014A (zh) * | 2018-12-28 | 2019-05-17 | 惠州市蓝微电子有限公司 | 一种单片机识别按键按击操作的方法 |
CN113552994A (zh) * | 2020-04-23 | 2021-10-26 | 华为技术有限公司 | 一种触控操作方法及设备 |
CN112882850A (zh) * | 2021-03-09 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 按键事件处理方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
基于微通道板的多击响应位置灵敏探测器;许慎跃;马新文;闫顺成;朱小龙;刘惠萍;张少锋;冯文天;李斌;孟令杰;;核电子学与探测技术;20090120(第01期);96-100 * |
独立按键-单击,双击,三击以及N击;PillarPeng;《https://blog.csdn.net/pillarpeng/article/details/50963127》;1-5 * |
Also Published As
Publication number | Publication date |
---|---|
CN116700592A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4002066A1 (en) | Air gesture interaction method and electronic device | |
CN116126201B (zh) | 应用启动方法、电子设备及可读存储介质 | |
CN112527230B (zh) | 一种参数的调整方法及电子设备 | |
CN111147660B (zh) | 一种控件的操作方法及电子设备 | |
EP4135302A1 (en) | Method for sound pick-up by terminal device by means of bluetooth peripheral, and terminal device | |
CN112740152B (zh) | 手写笔检测方法、系统及相关装置 | |
EP4390879A1 (en) | Fingerprint identification method and electronic device | |
JP7215813B2 (ja) | タッチ操作をロックする方法及び電子デバイス | |
CN110618763B (zh) | 一种触控方法及电子设备 | |
EP4064018B1 (en) | Key customization method for a terminal device with a foldable screen | |
CN116700592B (zh) | 一种单击操作的响应方法、电子设备及芯片系统 | |
CN113885973B (zh) | 翻译结果显示方法、装置及电子设备 | |
CN113821129B (zh) | 一种显示窗口控制方法及电子设备 | |
WO2020024087A1 (zh) | 一种触控装置的工作方法及终端 | |
CN116028265B (zh) | 一种快照获取方法、电子设备及可读存储介质 | |
CN117519565A (zh) | 一种设备的操控方法及电子设备 | |
CN114265662B (zh) | 一种信息推荐方法、电子设备及可读存储介质 | |
WO2024046179A1 (zh) | 交互事件的处理方法及装置 | |
CN117707351A (zh) | 触控方法和相关设备 | |
CN115250545B (zh) | 一种蓝牙连接方法、电子设备及芯片系统 | |
KR100856536B1 (ko) | 카메라폰 및 카메라폰의 카메라 구동방법 | |
CN118071878A (zh) | 一种图片编辑方法、电子设备及可读存储介质 | |
CN115639919A (zh) | 电子设备性能模式的切换方法、设备和存储介质 | |
KR20050005149A (ko) | 유저 인터페이스가 본체로부터 착탈되는 이동 단말기 및그 운용방법 |
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 |