CN109640140A - 按键处理方法和装置 - Google Patents
按键处理方法和装置 Download PDFInfo
- Publication number
- CN109640140A CN109640140A CN201811531036.7A CN201811531036A CN109640140A CN 109640140 A CN109640140 A CN 109640140A CN 201811531036 A CN201811531036 A CN 201811531036A CN 109640140 A CN109640140 A CN 109640140A
- Authority
- CN
- China
- Prior art keywords
- key
- message
- key value
- function module
- duration
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 95
- 238000012545 processing Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 abstract description 2
- 230000037213 diet Effects 0.000 description 30
- 235000005911 diet Nutrition 0.000 description 30
- 238000004891 communication Methods 0.000 description 21
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 18
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 18
- 101150053844 APP1 gene Proteins 0.000 description 15
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 15
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 6
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101710137189 Amyloid-beta A4 protein Proteins 0.000 description 1
- 101710151993 Amyloid-beta precursor protein Proteins 0.000 description 1
- 101710121244 Putative Xaa-Pro aminopeptidase Proteins 0.000 description 1
- 101710081951 Xaa-Pro aminopeptidase 1 Proteins 0.000 description 1
- 101710081950 Xaa-Pro aminopeptidase 2 Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/4221—Dedicated function buttons, e.g. for the control of an EPG, subtitles, aspect ratio, picture-in-picture or teletext
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Input From Keyboards Or The Like (AREA)
- Selective Calling Equipment (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例提供一种按键处理方法和装置,该方法应用于第二功能模块,该方法包括:接收第一功能模块发送的第一消息,第一消息包括第一按键值和至少一个第二按键值,第一按键值和至少一个第二按键值用于指示按键被持续按下;向第三功能模块发送第一按键值和一个第二按键值,以使第三功能模块按照预设时间间隔,模拟第二按键值的接收;当接收到第一功能模块发送的第二消息时,向第三功能模块发送第二消息,以使第三功能模块停止模拟第二按键值的接收,第二消息用于指示按键弹起。本发明实施例提供的按键处理方法和装置,可以解决因发送用于指示该按键被持续按下的消息,导致智能电视的功能模块间通信的资源消耗较大的技术问题。
Description
技术领域
本发明涉及电子设备技术,尤其涉及一种按键处理方法和装置。
背景技术
智能电视拥有开放式应用平台,用户可以自行在智能电视上安装各类应用程序(Application,APP),使得用户不仅可以通过智能电视欣赏普通电视内容,还可以享受所安装的各种APP的服务。例如,网络搜索、视频点播、网络新闻、网络视频电话等各种APP的服务。
目前,智能电视上安装有用于进行输入设备处理的DirectFB(简称:DFB),以及,用于监控和管理智能电视上安装的APP的应用程序性能管理(Application PerformanceManagement,APM)。相关技术中,当用户长按智能电视的输入设备的某一按键来操作智能电视上的某一APP时,遥控器可以向智能电视持续发送用于指示按键被持续按下的消息,该消息中包括一个press按键值和多个repeat按键值,其中,相邻两个repeat按键值间隔预设时长(例如100ms)。相应地,智能电视在接收到该消息后,DirectFB可以向APM发送用于指示该按键被持续按下的消息,以使APM向智能电视上安装的每个APP逐一发送press按键值和每个repeat按键值,由各APP自行识别是否需要响应。
然而,上述发送用于指示该按键被持续按下的消息的方式,导致智能电视的功能模块间通信的资源消耗较大。
发明内容
本发明实施例提供一种按键处理方法和装置,用于解决因发送用于指示该按键被持续按下的消息,导致智能电视的功能模块间通信的资源消耗较大的技术问题。
本发明实施例第一方面提供一种按键处理方法,应用于第二功能模块,该方法包括:
接收第一功能模块发送的第一消息,所述第一消息包括第一按键值和至少一个第二按键值,所述第一按键值和所述至少一个第二按键值用于指示按键被持续按下;
向第三功能模块发送所述第一按键值和一个所述第二按键值,以使所述第三功能模块按照预设时间间隔,模拟所述第二按键值的接收;
当接收到所述第一功能模块发送的第二消息时,向所述第三功能模块发送所述第二消息,以使所述第三功能模块停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长。
可选的,所述方法还包括:
若在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息,则向所述第三功能模块发送第三消息,所述第三消息用于指示所述第三功能模块停止模拟所述第二按键值的接收。
本发明实施例第二方面提供一种按键处理方法,应用于第三功能模块,该方法包括:
接收第二功能模块发送的第一按键值和一个第二按键值,所述第一按键值和至少一个所述第二按键值用于指示按键被持续按下;
按照预设时间间隔,模拟所述第二按键值的接收;
当接收到所述第二功能模块发送的按键弹起第二消息时,停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长;
所述方法还包括:
当接收到所述第二功能模块发送的第三消息时,停止模拟所述第二按键值的接收,所述第三消息为所述第二功能模块在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时发送的。
本发明实施例第三方面提供一种按键处理装置,包括:
接收单元,用于接收第一功能模块发送的第一消息,所述第一消息包括第一按键值和至少一个第二按键值,所述第一按键值和所述至少一个第二按键值用于指示按键被持续按下;
第一发送单元,用于向第三功能模块发送所述第一按键值和一个所述第二按键值,以使所述第三功能模块按照预设时间间隔,模拟所述第二按键值的接收;
第二发送单元,用于在接收到所述第一功能模块发送的第二消息时,向所述第三功能模块发送所述第二消息,以使所述第三功能模块停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长。
可选的,所述第二发送单元,还用于在所述接收单元在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时,向所述第三功能模块发送第三消息,所述第三消息用于指示所述第三功能模块停止模拟所述第二按键值的接收。
本发明实施例第四方面提供一种按键处理装置,包括:
接收单元,用于接收第二功能模块发送的第一按键值和一个第二按键值,所述第一按键值和至少一个所述第二按键值用于指示按键被持续按下;
处理单元,用于按照预设时间间隔,模拟所述第二按键值的接收,并在所述接收单元接收到所述第二功能模块发送的按键弹起第二消息时,停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长;
所述处理单元,还用于在所述接收单元接收到所述第二功能模块发送的第三消息时,停止模拟所述第二按键值的接收,所述第三消息为所述第二功能模块在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时发送的。
本发明实施例第五方面提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如前述任一项所述的方法步骤。
本发明实施例第六方面提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行如前述任一项所述的方法。
本发明实施例提供的按键处理方法和装置,在用户持续按下输入设备的某一按键操作智能电视上的某一APP时,智能电视可以通过该APP的第三功能模块自动模拟该第二按键值的接收,无需第二功能模块再向第三功能模块发送第一消息中的剩余第二按键值,减少了功能模块间通信的资源消耗第三功能模块,从而可以降低智能电视的功能模块之间通信的资源消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的按键处理方法的应用场景图;
图2为现有的按键消息发送示意图;
图3为本发明实施例提供的一种按键处理方法的流程示意图;
图4为本发明实施例提供的按键消息发送示意图;
图5为本发明提供的一种按键处理装置的结构示意图;
图6为本发明提供的另一种按键处理装置的结构示意图;
图7为本发明提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的按键处理方法的应用场景图。如图1所示,本发明所提供的方法适用于通过输入设备控制智能电视完成相应操作的场景。这里所说的输入设备包括但不限于遥控器、智能电视的本机按键、连接智能电视的鼠标、键盘等。图1示出的是以输入设备为遥控器为例的示意图。
目前,智能电视的操作系统设置有DirectFB(简称:DFB)和应用程序性能管理(Application Performance Management,APM)这两个功能模块。其中,
DFB是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层,可以提供硬件图形加速、输入设备处理和抽象的图形库,支持半透明的视窗系统以及在LinuxFramebuffer驱动之上的多层显示。其中,这里所说的输入设备可以是遥控器、智能电视的本机按键、连接智能电视的鼠标、键盘等。
APM用于监控和管理智能电视上安装的APP。
图2为现有的按键消息发送示意图。如图2所示,以输入设备为遥控器为例,假定智能电视上安装有3个APP,分别是APP1、APP2和APP3,用户通过遥控器来操作智能电视上的APP2。
现有技术中,当用户长按智能电视的遥控器某一按键来操作APP2时,遥控器可以向智能电视发送用于指示该按键被持续按下的DIET_KEYPRESS消息。该DIET_KEYPRESS消息可以如下所示:
(*)[DFB]~!~DIET_KEYPRESS type=0x1,flags=0x8,code=0x21b
(*)[DFB]~!~DIET_KEYPRESS type=0x1,flags=0x408,code=0x21b
(*)[DFB]~!~DIET_KEYPRESS type=0x1,flags=0x408,code=0x21b
(*)[DFB]~!~DIET_KEYPRESS type=0x1,flags=0x408,code=0x21b
……
(*)[DFB]~!~DIET_KEYPRESS type=0x1,flags=0x408,code=0x21b
其中,上述DIET_KEYPRESS消息中的每一行可以称为一个按键值,该按键值可以通过结构体来实现。其中,第一行对应的按键值用于表征该按键被按下,第二行之后的每行对应的按键值用于指示该按键被持续按下。上述DIET_KEYPRESS消息中相邻的两个按键值之间间隔预设时长(例如100ms)。也就是说,上述DIET_KEYPRESS消息中的每个按键值是间隔预设时长发送的。以预设时长为100ms、用户长按该按键的时长为600ms为例,则在本示例中,DIET_KEYPRESS消息可以包括6个按键值,第一个按键值用于表示按键被按下,后续5个按键值用于表示该按键被持续按下。图2中以按下表示该DIET_KEYPRESS消息中的第一个按键值,以按下+重复表示该DIET_KEYPRESS消息中的后续按键值。在下述申请文件中,也可以将第一个按键值称为press按键值,将后续的按键值称为repeat按键值。
上述按键值中的type(类型)用于表示该按键被按下还是弹起,flags(标记)用于表示该按键是否被持续按下的操作(也可以称为按键是否被重复按下的操作),code用于表示该按键。
然后,DFB在每收到该DIET_KEYPRESS消息中的一个按键值后,会发送给APM。相应地,APM在接收到该DIET_KEYPRESS消息中的每个按键值后,会采用轮询的方式,向智能电视上安装的APP1、APP2和APP3逐一发送该按键值,由APP自行判断是否需要响应。
当用户松开该按键时,即该按键弹起时,遥控器可以向智能电视发送用于指示该按键被弹起的DIET_KEYRELEASE消息。该DIET_KEYRELEASE消息可以如下所示:
(*)[DFB]~!~DIET_KEYRELEASE type=0x2,flags=0x8,code=0x21b
即该DIET_KEYRELEASE消息通过携带该按键的type表示该按键弹起。图2中以弹起表示该DIET_KEYRELEASE消息。
然后,DFB在每收到该DIET_KEYRELEASE消息后,会发送给APM。相应地,APM在接收到该DIET_KEYRELEASE消息后,会采用轮询的方式,向智能电视上安装的APP1、APP2和APP3逐一发送该DIET_KEYRELEASE消息,由APP自行判断是否需要响应。
通过上述示例可以看出,当用户长按智能电视的输入设备的某一按键来操作智能电视上的某一APP时,APM会向每个APP逐一发送每个repeat按键值,使得智能电视的功能模块间通信的资源消耗较大。
由于有些应用对相邻两个repeat按键值的间隔有特殊要求,例如,在用户持续按下某一按键时,要求输入设备每隔50ms发送一次repeat按键值。因此,有些智能电视为了适配这些应用程序的特殊需求,会调小整机的预设时长(例如调整为50ms),导致APM会向一个APP发送的repeat按键值的数量更多,进一步加大了功能模块间通信的资源消耗。
考虑到上述问题,本发明实施例提供了一种按键处理方法,用于解决因发送用于指示该按键被持续按下的消息,导致智能电视的功能模块间通信的资源消耗较大的技术问题。
可以理解,本发明实施例所提供的方法包括但不限于上述智能电视的应用场景,例如可以适用于任一通过输入设备的按键操作其上安装的APP的电子设备,例如,手机、机顶盒、平板电脑等,对此不再赘述。
下面以图1所示的智能电视的应用场景为例,结合具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本发明实施例提供的一种按键处理方法的流程示意图。如图3所示,该方法包括:
S101、第一功能模块向第二功能模块发送第一消息,该第一消息包括第一按键值和至少一个第二按键值,第一按键值和至少一个第二按键值用于指示按键被持续按下。
S102、第二功能模块向第三功能模块发送第一按键值和一个第二按键值。
S103、第三功能模块按照预设时间间隔,模拟第二按键值的接收。
S104、第一功能模块向第二功能模块发送第二消息,该第二消息用于指示按键弹起。
S105、第二功能模块向第三功能模块发送该第二消息。
S106、第三功能模块停止模拟第二按键值的接收。
上述第一功能模块可以为任一用于处理输入设备的按键相关的消息的功能模块,例如前述所说的DFB。第二功能模块可以为任一用于管理智能电视上安装的APP的功能模块,例如前述所说的APM。上述第三功能模块可以为APP中的功能模块,具有模拟第二按键值的功能。即,智能电视上的每个APP中具有一个第三功能模块。
上述所说的第一按键值例如可以为前述所说的press按键值,上述所说的第二按键值例如可以为前述所说的repeat按键值。上述所说的第一消息例如可以为前述所说的DIET_KEYPRESS消息,上述所说的第二消息例如可以为前述所说的DIET_KEYRELEASE消息。
基于前述关于现有技术的描述可知,当用户长按智能电视的输入设备的某一按键来操作智能电视上的某一APP时,APM会向每个APP逐一发送每个repeat按键值,使得智能电视的功能模块间通信的资源消耗较大。而APM多次向APP发送的repeat按键值的内容相同,因此,本发明实施例通过设置第三功能模块来模拟该repeat按键值的接收,无需第二功能模块将第一消息中的每个第二按键值都发送给APP,因此,可以解决智能电视的功能模块间通信的资源消耗较大。具体如下:
当用户持续按下输入设备的某一按键操作智能电视上的某一APP时,输入设备可以向智能电视发送第一消息。智能电视在收到该第一消息后,第一功能模块可以将该第一消息发送给第二功能模块。然后,第二功能模块可以采用轮询的方式,将该第一消息中的第一按键值和一个第二按键值,依次发送给每个APP的第三功能模块。
这样,各APP的第三功能模块在接收到第一按键值和一个第二按键值之后,可以按照预设时间间隔,模拟第一消息中的其他第二按键值的接收,以指示该APP该按键被用户持续按下。例如,第三功能模块可以按照预设时间间隔,生成该第二按键值,以模拟APP从APM接收该第二按键值的场景。在该场景下,每个APP可以采用现有的方式对接收到的第二按键值进行处理。
也就是说,在用户持续按下输入设备的某一按键操作智能电视上的某一APP时,智能电视可以通过该APP的第三功能模块自动模拟该第二按键值的接收,无需第二功能模块再向第三功能模块发送第一消息中的剩余第二按键值,减少了功能模块间通信的资源消耗。
在该场景下,第一功能模块可以停止向第二功能模块传递该第一消息中剩余的第二按键值,或减缓传递的第二按键值的频率,即,加大相邻的第二按键值间隔的时长。例如,第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于前述所说的预设时长,例如第一时长可以为200ms或300ms等。通过这种方式,可以降低第一功能模块与第二功能模块之间通信的资源消耗,进一步降低智能电视的功能模块间通信的资源消耗。
当用户松开该按键时,输入设备可以向智能电视发送用于指示按键弹起的第二消息(例如前述所说的DIET_KEYRELEASE消息)。智能电视在收到该第二消息后,第一功能模块可以将该第二消息发送给第二功能模块。然后,第二功能模块可以将该第二消息发送给每个APP的第三功能模块。这样,第三功能模块在接收到用于指示按键弹起的第二消息时,可以停止模拟第二按键值的接收,并按照现有的方式对第二消息进行处理。
可选的,在一些实施例中,在第三功能模块模拟第二按键值的接收的期间,若第一功能模块减缓传递的第二按键值的频率,即,加大相邻的第二按键值间隔的时,以第一消息中相邻的两个第二按键值之间间隔第一时长为例,在该场景下,若在第一消息所包括的最后一个第二按键值之后的第一时长内,第二功能模块未接收到第一功能模块发送的第二消息,说明第一功能模块可能既未向第二功能模块发送第二按键值,也没有发送第二消息,即智能电视未接收到输入设备发送的第二按键值或第二消息。这种情况可能是由于输入设备出现故障,或者,输入设备超出智能电视的有效接收范围所导致的。
在该场景下,为了避免第三功能模块仍然持续模拟第二按键值的接收,第二功能模块可以向各APP的第三功能模块发送第三消息,第三消息用于指示第三功能模块停止模拟第二按键值的接收。相应地,第三功能模块在接收该第三消息后,可以停止模拟第二按键值的接收。
本发明实施例提供的按键处理方法,在用户持续按下输入设备的某一按键操作智能电视上的某一APP时,智能电视可以通过该APP的第三功能模块自动模拟该第二按键值的接收,无需第二功能模块再向第三功能模块发送第一消息中的剩余第二按键值,减少了功能模块间通信的资源消耗第三功能模块,从而可以降低智能电视的功能模块之间通信的资源消耗。
现有技术中,当用户长按智能电视的输入设备的某一按键来操作智能电视上的某一APP时,第一消息中相邻的两个第二按键值之间间隔预设时长。然而,不同APP对按键的处理时长不同。因此,APM在按照统一的预设时长向各APP传递上述第二按键值时,可能会向某些APP发送多余的第二按键值,也会导致处理时长低于预设时长的APP无法及时处理APM传递过来的第二按键值,导致APP响应卡顿。
例如,APP1要求的相邻的两个第二按键值之间间隔100ms(即APP1每隔100ms可以处理一个第二按键值)、预设时长为50ms,则在用户长按某一按键的期间内,该APP1每隔100ms就会多接收1个第二功能模块发送的第二按键值,而实际上该APP1在100ms内只能处理一个第二按键值。这种方式会造成不必要的第二按键值的发送,也会导致该APP1侧会积压未处理的第二按键值,出现响应卡顿。
考虑到上述问题,上述各APP中的第三功能模块在模拟第二按键值的接收时所使用的预设时间间隔,可以根据APP自己处理第二按键值的处理时长设定。通过这种方式,在不影响其他APP对第二按键值的处理的基础上,可以满足每个APP对第二按键值的个性化需求,也不会使APP侧因积压未处理的第二按键值导致响应卡顿的问题。
以智能电视安装有APP1、APP2为例,其中APP1对第二按键值的处理时长为50ms,即每50ms处理一个第二按键值,APP2对第二按键值的处理时长为100ms,即每100ms处理一个第二按键值,预设时长为50ms。
在该示例下,APP1的第三功能模块可以根据APP1对第二按键值的处理时长(即每隔50ms),模拟该第二按键值的接收。APP2的第三功能模块可以根据APP2对第二按键值的处理时长(即每隔100ms),模拟该第二按键值的接收。相比现有技术,可以避免向APP2发送不必要的第二按键值,进而可以避免APP2积压未处理的第二按键值,导致APP2出现响应卡顿的问题。
下面通过一个具体的示例,来对本发明实施例提供的按键处理方法进行说明。
在本示例中,以智能电视与遥控器为例,假定智能电视上安装有3个APP,分别是APP1、APP2和APP3,用户通过遥控器来操作智能电视上的APP2。智能电视上设置有第一功能模块DFB、第二功能模块APM。用户长按智能电视的遥控器某一按键来操作APP2。第一消息为遥控器发送的DIET_KEYPRESS消息。
在本场景中,将按键的发送分为两部分,第一部分是按键主通路部分,主要工作是用于添加对具体按键的功能设置部分,这部分是从物理设备(即遥控器)获取按键到APM的过程。第二部分是分发按键的部分,主要工作是针对每一个APP,采取不同的预设时间间隔,以适配每个APP的个性化需求的过程,这部分是按键类的消息从APM到各个APP的过程。
在应用本发明实施例提供的按键处理方法时,在第二部分(即分发按键的部分),通过每个APP的第三功能模块识别按键,并在接收到DIET_KEYPRESS消息中的repeat按键值时,自动模拟该repeat按键值的接收,供该APP使用。具体如下:
图4为本发明实施例提供的按键消息发送示意图。如图4所示,在该示例下,在用户持续按下该按键时,遥控器可以向智能电视发送用于指示该按键被持续按下的DIET_KEYPRESS消息。其中,该DIET_KEYPRESS消息包括press按键值(即第一按键值)和至少一个repeat按键值(即第二按键值)。
此时,DFB可以将该DIET_KEYPRESS消息发送给APM。然后,APM采用轮询的方式,分别向APP1的第三功能模块、APP2的第三功能模块、APP3的第三功能模块发送该DIET_KEYPRESS消息所包括的press按键值和一个repeat按键值,进而由每个APP的第三功能模块自动模拟该repeat按键值的接收,并由各APP自行判断是否需要响应。在本示例中,APP2会响应该DIET_KEYPRESS消息。
当用户松开该按键时,即该按键弹起时,遥控器可以向智能电视发送用于指示该按键被弹起的DIET_KEYRELEASE消息。智能电视的DFB将该DIET_KEYRELEASE消息发送给APM。然后,智能电视的APM可以采用轮询的方式,分别向APP1的第三功能模块、APP2的第三功能模块、APP3的第三功能模块发送该DIET_KEYRELEASE消息。各APP的第三功能模块在接收到该DIET_KEYRELEASE消息后,退出模拟repeat按键值的接收。同时,各APP处理该DIET_KEYRELEASE消息。在本示例中,APP2会响应该DIET_KEYRELEASE消息。
本发明实施例提供的按键处理方法,在用户持续按下遥控器的某一按键操作智能电视上的某一APP时,智能电视上的APP的第三功能模块可以模拟第一消息中的repeat按键值的接收,无需通过APM再向APP传递该repeat按键值,从而可以降低智能电视的APM与APP之间通信的资源消耗。
可以理解,虽然上述实施例均以第一功能模块、第二功能模块、第三功能模块作为执行主体,对本发明实施例所提供的按键处理方法进行了说明和介绍。但是本领域技术人员可以理解的是,上述操作也可以理解为:由智能电视调用这些功能模块来完成和实现的,对此不再加以赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明提供的一种按键处理装置的结构示意图。该按键处理装置可以通过软件、硬件或者两者的结合实现电子设备(例如智能电视)的部分或者全部。如图5所示,该按键处理装置可以包括:接收单元11、第一发送单元12和第二发送单元13。其中,
接收单元11,用于接收第一功能模块发送的第一消息,所述第一消息包括第一按键值和至少一个第二按键值,所述第一按键值和所述至少一个第二按键值用于指示按键被持续按下;
第一发送单元12,用于向第三功能模块发送所述第一按键值和一个所述第二按键值,以使所述第三功能模块按照预设时间间隔,模拟所述第二按键值的接收;
第二发送单元13,用于在接收到所述第一功能模块发送的第二消息时,向所述第三功能模块发送所述第二消息,以使所述第三功能模块停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长。
可选的,所述第二发送单元13,还用于在所述接收单元11在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时,向所述第三功能模块发送第三消息,所述第三消息用于指示所述第三功能模块停止模拟所述第二按键值的接收。
本发明提供的按键处理装置,可以执行上述方法实施例中第二功能模块的动作,其实现原理和技术效果类似,在此不再赘述。
图6为本发明提供的另一种按键处理装置的结构示意图。该按键处理装置可以通过软件、硬件或者两者的结合实现电子设备(例如智能电视)的部分或者全部。如图6所示,该按键处理装置可以包括:接收单元21和处理单元22。其中,
接收单元21,用于接收第二功能模块发送的第一按键值和一个第二按键值,所述第一按键值和至少一个所述第二按键值用于指示按键被持续按下;
处理单元22,用于按照预设时间间隔,模拟所述第二按键值的接收,并在所述接收单元21接收到所述第二功能模块发送的按键弹起第二消息时,停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
可选的,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长;则在该实现方式下,所述处理单元22,还用于在所述接收单元21接收到所述第二功能模块发送的第三消息时,停止模拟所述第二按键值的接收,所述第三消息为所述第二功能模块在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时发送的。
本发明提供的按键处理装置,可以执行上述方法实施例中第三功能模块的动作,其实现原理和技术效果类似,在此不再赘述。
图7为本发明提供的一种电子设备的结构示意图。如图6所示,该电子设备可以包括:至少一个处理器31和存储器32。图6示出的是以一个处理器为例的电子设备,其中,
存储器32,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器32可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器31用于执行所述存储器32存储的计算机执行指令,以实现上述实施例中的按键处理方法,其实现原理和技术效果类似,在此不再赘述。
其中,处理器31可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器32和处理器31独立实现,则通信接口、存储器32和处理器31可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器32和处理器31集成在一块芯片上实现,则通信接口、存储器32和处理器31可以通过内部接口完成相同间的通信。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质。具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本发明还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被运行时,可以实现上述实施例中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种按键处理方法,应用于第二功能模块,其特征在于,包括:
接收第一功能模块发送的第一消息,所述第一消息包括第一按键值和至少一个第二按键值,所述第一按键值和所述至少一个第二按键值用于指示按键被持续按下;
向第三功能模块发送所述第一按键值和一个所述第二按键值,以使所述第三功能模块按照预设时间间隔,模拟所述第二按键值的接收;
当接收到所述第一功能模块发送的第二消息时,向所述第三功能模块发送所述第二消息,以使所述第三功能模块停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
2.根据权利要求1所述的方法,其特征在于,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息,则向所述第三功能模块发送第三消息,所述第三消息用于指示所述第三功能模块停止模拟所述第二按键值的接收。
4.一种按键处理的方法,应用于第三功能模块,其特征在于,包括:
接收第二功能模块发送的第一按键值和一个第二按键值,所述第一按键值和至少一个所述第二按键值用于指示按键被持续按下;
按照预设时间间隔,模拟所述第二按键值的接收;
当接收到所述第二功能模块发送的按键弹起第二消息时,停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
5.根据权利要求4所述的方法,其特征在于,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长;
所述方法还包括:
当接收到所述第二功能模块发送的第三消息时,停止模拟所述第二按键值的接收,所述第三消息为所述第二功能模块在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时发送的。
6.一种按键处理装置,其特征在于,包括:
接收单元,用于接收第一功能模块发送的第一消息,所述第一消息包括第一按键值和至少一个第二按键值,所述第一按键值和所述至少一个第二按键值用于指示按键被持续按下;
第一发送单元,用于向第三功能模块发送所述第一按键值和一个所述第二按键值,以使所述第三功能模块按照预设时间间隔,模拟所述第二按键值的接收;
第二发送单元,用于在接收到所述第一功能模块发送的第二消息时,向所述第三功能模块发送所述第二消息,以使所述第三功能模块停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
7.根据权利要求6所述的装置,其特征在于,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长。
8.根据权利要求7所述的装置,其特征在于,所述第二发送单元,还用于在所述接收单元在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时,向所述第三功能模块发送第三消息,所述第三消息用于指示所述第三功能模块停止模拟所述第二按键值的接收。
9.一种按键处理装置,其特征在于,包括:
接收单元,用于接收第二功能模块发送的第一按键值和一个第二按键值,所述第一按键值和至少一个所述第二按键值用于指示按键被持续按下;
处理单元,用于按照预设时间间隔,模拟所述第二按键值的接收,并在所述接收单元接收到所述第二功能模块发送的按键弹起第二消息时,停止模拟所述第二按键值的接收,所述第二消息用于指示所述按键弹起。
10.根据权利要求9所述的装置,其特征在于,所述第一消息中相邻的两个第二按键值之间间隔第一时长,所述第一时长大于预设时长;
所述处理单元,还用于在所述接收单元接收到所述第二功能模块发送的第三消息时,停止模拟所述第二按键值的接收,所述第三消息为所述第二功能模块在所述第一消息所包括的最后一个第二按键值之后的第一时长内,未接收到所述第一功能模块发送的所述第二消息时发送的。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行权利要求1-5任一项所述的方法步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531036.7A CN109640140B (zh) | 2018-12-14 | 2018-12-14 | 按键处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531036.7A CN109640140B (zh) | 2018-12-14 | 2018-12-14 | 按键处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109640140A true CN109640140A (zh) | 2019-04-16 |
CN109640140B CN109640140B (zh) | 2021-06-01 |
Family
ID=66073949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811531036.7A Active CN109640140B (zh) | 2018-12-14 | 2018-12-14 | 按键处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109640140B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351340A (zh) * | 2019-08-08 | 2021-02-09 | 南京中兴新软件有限责任公司 | 按键分发处理公共事件的方法、装置及机顶盒 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100604603B1 (ko) * | 2005-06-30 | 2006-07-24 | 주식회사 팬택앤큐리텔 | 키 인식 시스템 및 방법 |
JP2013173275A (ja) * | 2012-02-24 | 2013-09-05 | Kyocera Document Solutions Inc | 画像形成装置 |
CN103488486A (zh) * | 2013-09-25 | 2014-01-01 | 深圳Tcl新技术有限公司 | 浏览器按键处理方法及装置 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN105915991A (zh) * | 2016-06-02 | 2016-08-31 | 深圳创维-Rgb电子有限公司 | 一种电视机按键组合处理的方法及系统 |
CN106101837A (zh) * | 2016-07-15 | 2016-11-09 | 四川长虹电器股份有限公司 | 用于Linux智能电视的多应用按键分发和处理的方法 |
CN107257504A (zh) * | 2017-07-06 | 2017-10-17 | 深圳Tcl数字技术有限公司 | 遥控器中按键的键值更新方法、遥控器和可读存储介质 |
CN108156496A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl新技术有限公司 | 调节遥控器功耗的方法、遥控器和计算机存储介质 |
-
2018
- 2018-12-14 CN CN201811531036.7A patent/CN109640140B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100604603B1 (ko) * | 2005-06-30 | 2006-07-24 | 주식회사 팬택앤큐리텔 | 키 인식 시스템 및 방법 |
JP2013173275A (ja) * | 2012-02-24 | 2013-09-05 | Kyocera Document Solutions Inc | 画像形成装置 |
CN103488486A (zh) * | 2013-09-25 | 2014-01-01 | 深圳Tcl新技术有限公司 | 浏览器按键处理方法及装置 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN105915991A (zh) * | 2016-06-02 | 2016-08-31 | 深圳创维-Rgb电子有限公司 | 一种电视机按键组合处理的方法及系统 |
CN106101837A (zh) * | 2016-07-15 | 2016-11-09 | 四川长虹电器股份有限公司 | 用于Linux智能电视的多应用按键分发和处理的方法 |
CN107257504A (zh) * | 2017-07-06 | 2017-10-17 | 深圳Tcl数字技术有限公司 | 遥控器中按键的键值更新方法、遥控器和可读存储介质 |
CN108156496A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl新技术有限公司 | 调节遥控器功耗的方法、遥控器和计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351340A (zh) * | 2019-08-08 | 2021-02-09 | 南京中兴新软件有限责任公司 | 按键分发处理公共事件的方法、装置及机顶盒 |
CN112351340B (zh) * | 2019-08-08 | 2023-08-18 | 中兴通讯股份有限公司 | 按键分发处理公共按键消息的方法、装置及机顶盒 |
Also Published As
Publication number | Publication date |
---|---|
CN109640140B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112260853B (zh) | 容灾切换方法、装置、存储介质及电子设备 | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
US20200008174A1 (en) | Method for Arranging Broadcast Message in Operating System and Electronic Device | |
US11716415B2 (en) | Suppressing indications of events in user interfaces | |
EP3588993B1 (en) | Broadcast sending method and terminal | |
CN108900627B (zh) | 一种网络请求方法、终端装置及存储介质 | |
CN114116092A (zh) | 云桌面系统处理方法、云桌面系统控制方法以及相关设备 | |
CN110928706B (zh) | 小程序交互方法、装置、电子设备及存储介质 | |
CN110262721A (zh) | 数据展示方法及装置、电子设备 | |
CN109640140B (zh) | 按键处理方法和装置 | |
CN108710534A (zh) | 多进程的调起方法、装置、终端设备及计算机存储介质 | |
CN109032767B (zh) | 异步多进程的业务处理系统、方法、装置及存储介质 | |
US9690748B1 (en) | Delivering notifications to background applications | |
CN110597492B (zh) | 一种调用模块的方法和相关产品 | |
CN108989244B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN108011860A (zh) | 一种处理广播消息的方法及装置 | |
CN112882826A (zh) | 一种资源协同调度方法以及装置 | |
CN116320518A (zh) | 一种直播消息限流方法、装置、设备及存储介质 | |
US20180262358A1 (en) | Method for monitoring broadcast message and terminal | |
CN107729136B (zh) | 一种基于fpga的处理优先级配置方法及装置 | |
CN112613915B (zh) | 用于支持双版本广告插件切换的方法、装置及电子设备 | |
CN114064395A (zh) | 集成接口健康度的监控方法、装置、存储介质和电子设备 | |
CN106790466A (zh) | 用于推送的方法、服务器和终端设备 | |
CN112365905A (zh) | 播放器控制方法、装置、设备和可读存储介质 | |
CN115277557B (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 |