按键事件处理方法、装置、设备和存储介质制造方法及图纸

技术编号:28672752 阅读:13 留言:0更新日期:2021-06-02 02:48
本公开实施例涉及一种按键事件处理方法、装置、设备和存储介质,该方法包括:与被控端建立通讯连接;获取用户输入的关于第一按键的第一按下事件;基于第一按下事件中的第一时间戳,统计预设时长;响应于在预设时长内未获取到关于第一按键的第一抬起事件,向被控端发送第一按下事件,并基于预设时长的结束时刻,按照预设时间间隔生成关于第一按键的第一模拟按下事件;向被控端发送第一模拟按下事件。本公开实施例避免了现有方案中因通讯网络质量不稳定引起的抬起事件传输延迟,使得被控端误将按键单击操作判断为长按操作,提高了按键长按操作的判断准确性以及键值连续输入的准确性。

【技术实现步骤摘要】
按键事件处理方法、装置、设备和存储介质
本公开涉及计算机
,尤其涉及一种按键事件处理方法、装置、设备和存储介质。
技术介绍
无线网络键盘是指在无线网络条件下,例如在WiFi网络条件下,将物理连接在一台设备A(可以称为Client端)上的键盘,映射到另一设备B(可以称为Server端)上,从而达到通过设备A的键盘远程控制设备B的效果。例如,用户在Client端的键盘上执行某个按键的单击操作,Client端将该按键的按下事件和抬起事件发送至Server端,Server端基于该按键的按下事件和抬起事件,实现该按键的单次输入。然而,在无线网络键盘的应用环境下,由于网络传输有时候会受到各种因素的干扰,因此网络延迟抖动现象不可避免,传输至Server端中的按键的抬起事件很容易延迟接收,抬起事件的延迟接收会导致Server端的输入(Input)系统把用户的键盘单击操作错误判断为长按操作,从而将字符的一次输入操作变更为该字符的连续多次输入操作,严重影响用户体验。因此,如何优化Client端和Server端之间的按键事件(或称为键盘事件)传输效果,提高Server端中键值输入的准确性,仍是亟待解决的问题。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种按键事件处理方法、装置、设备和存储介质。第一方面,本公开实施例提供了一种按键事件处理方法,包括:与被控端建立通讯连接;获取用户输入的关于第一按键的第一按下事件;基于所述第一按下事件中的第一时间戳,统计预设时长;响应于在所述预设时长内未获取到关于所述第一按键的第一抬起事件,向所述被控端发送所述第一按下事件,并基于所述预设时长的结束时刻,按照预设时间间隔生成关于所述第一按键的第一模拟按下事件;向所述被控端发送所述第一模拟按下事件。第二方面,本公开实施例还提供了一种按键事件处理装置,包括:通讯连接建立模块,用于与被控端建立通讯连接;第一按下事件获取模块,用于获取用户输入的关于第一按键的第一按下事件;第一预设时长统计模块,用于基于所述第一按下事件中的第一时间戳,统计预设时长;事件发送与模拟模块,用于响应于在所述预设时长内未获取到关于所述第一按键的第一抬起事件,向所述被控端发送所述第一按下事件,并基于所述预设时长的结束时刻,按照预设时间间隔生成关于所述第一按键的第一模拟按下事件;第一模拟按下事件发送模块,用于向所述被控端发送所述第一模拟按下事件。第三方面,本公开实施例还提供了一种电子设备,包括存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备实现本公开实施例提供的任一所述的按键事件处理方法。第四方面,本公开实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现本公开实施例提供的任一所述的按键事件处理方法。本公开实施例提供的技术方案与现有技术相比至少具有如下优点:在本公开实施例中,控制端与被控端建立通讯连接,获取用户输入的关于第一按键的第一按下事件后,判断在基于第一按下事件中的第一时间戳统计的预设时长内是否收到关于第一按键的抬起事件,如果未收到,则说明第一按键为长按键(即用户长时间地按压该键),向被控端发送第一按下事件,并基于预设时长的结束时刻,按照预设时间间隔生成关于第一按键的第一模拟按下事件,然后向被控端发送第一模拟按下事件,被控端直接基于接收的第一按下事件和第一模拟按下事件,实现第一按键值的连续输入,避免了现有方案中因通讯网络质量不稳定引起的抬起事件传输延迟,使得被控端误将按键单击操作判断为长按操作(或者连击操作),优化了控制端和被控端之间的按键事件的传输方式以及传输效果,提高了控制端和被控端交互过程中针对按键长按操作的判断准确性,提高了被控端中键值连续性输入的准确性。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的一种控制端与被控端的交互示意图;图2为本公开实施例提供的一种按键事件处理方法的流程图;图3为本公开实施例提供的另一种按键事件处理方法的流程图;图4为本公开实施例提供的一种关于键值和时间戳的更新记录的方法流程图;图5为本公开实施例提供的一种关于确定长按键的方法流程图;图6为本公开实施例提供的一种按键事件处理装置的结构示意图;图7为本公开实施例提供的一种电子设备的结构示意图。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。图1为本公开实施例提供的一种控制端与被控端的交互示意图,用于对本公开实施例进行示例性说明,但不应理解为对本公开实施例的具体限定。控制端(Client端)和被控端(Server端)可以是任意能够进行交互的不同电子设备,并且,控制端上连接有键盘,支持用户的按键操作,控制端可以将按键事件(包括按键的按下事件和抬起事件)传输至被控端,使得被控端根据接收的按键事件实现相应键值的输入。示例性地,控制端可以是连接有实体键盘的无线屏设备,被控端可以是移动终端,例如手机,无线屏设备可以基于用户在键盘上的按键操作,将按键事件传输至手机,手机接收按键事件,从而实现相应键值的输入。区别于现有技术中被控端接收特定按键的按下事件,并基于该按下事件的时间戳进行一定时长统计,然后根据统计时长确定当前按键是否为长按键,如果是,则利用按下事件模拟软件(具体可以根据现有实现原理实现)生成当前按键的模拟按下事件(即模拟生成多个按下事件),从而基于多个模拟按下事件实现当前按键值的连续性输入,直至接收到当前按键的抬起事件为止,在本公开实施例中,如图1所示,被控端中的模拟按下事件的生成功能被预先禁止(例如在Android系统中可以通过调用POLICY_FLAG_DISABLE_KEY_REPEAT实现,具体可以参考现有技术),被控端直接根据接收的特定按键的按下事件和模拟按下事件,实现特定按键值的连续性输入,直至接收到该特定按键的抬起事件为止,被控端中无需执行长按键的判断以及按下事件的模拟生成操作,而是将长按键的判断以及按下事件的模拟生成操作均在控制端执行,也即区别于现有技术中控制端只向本文档来自技高网...

【技术保护点】
1.一种按键事件处理方法,其特征在于,包括:/n与被控端建立通讯连接;/n获取用户输入的关于第一按键的第一按下事件;/n基于所述第一按下事件中的第一时间戳,统计预设时长;/n响应于在所述预设时长内未获取到关于所述第一按键的第一抬起事件,向所述被控端发送所述第一按下事件,并基于所述预设时长的结束时刻,按照预设时间间隔生成关于所述第一按键的第一模拟按下事件;/n向所述被控端发送所述第一模拟按下事件。/n

【技术特征摘要】
1.一种按键事件处理方法,其特征在于,包括:
与被控端建立通讯连接;
获取用户输入的关于第一按键的第一按下事件;
基于所述第一按下事件中的第一时间戳,统计预设时长;
响应于在所述预设时长内未获取到关于所述第一按键的第一抬起事件,向所述被控端发送所述第一按下事件,并基于所述预设时长的结束时刻,按照预设时间间隔生成关于所述第一按键的第一模拟按下事件;
向所述被控端发送所述第一模拟按下事件。


2.根据权利要求1所述的方法,其特征在于,所述被控端中的模拟按下事件的生成功能被预先禁止。


3.根据权利要求1所述的方法,其特征在于,还包括:
响应于在所述预设时长之后获取到关于所述第一按键的第一抬起事件,结束所述第一模拟按下事件的生成;
向所述被控端发送所述第一抬起事件;其中,所述第一抬起事件用于指示所述被控端结束所述第一按键值的输入。


4.根据权利要求1所述的方法,其特征在于,在获取用户输入的关于第一按键的第一按下事件之后,还包括:
记录所述第一按下事件中的所述第一按键值和所述第一时间戳;
响应于获取到关于第二按键的第二按下事件,利用所述第二按下事件中的第二按键值和第二时间戳,更新在先记录的所述第一按键值和所述第一时间戳,以基于所述第二时间戳重新统计所述预设时长。


5.根据权利要求4所述的方法,其特征在于,还包括:
在基于所述第一时间戳统计的预设时长之后,获取关于所述第二按键的第二按下事件;
响应于获取到关于所述第二按键的第二按下事件,结束所述第一模拟按下事件的生成。


6.根据权利要求4所述的方法,其特征在于,利用所述第...

【专利技术属性】
技术研发人员:李志刚
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1