CN107885347B - 遥控驱动方法、装置及计算机可读存储介质 - Google Patents
遥控驱动方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107885347B CN107885347B CN201711038428.5A CN201711038428A CN107885347B CN 107885347 B CN107885347 B CN 107885347B CN 201711038428 A CN201711038428 A CN 201711038428A CN 107885347 B CN107885347 B CN 107885347B
- Authority
- CN
- China
- Prior art keywords
- key value
- physical key
- target
- mapping table
- consistent
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013507 mapping Methods 0.000 claims abstract description 100
- 230000006870 function Effects 0.000 claims description 90
- 238000011161 development Methods 0.000 abstract description 8
- 238000012163 sequencing technique Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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
- G06F3/0238—Programmable keyboards
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明公开了一种遥控驱动方法,包括以下步骤:定义遥控器中按键对应的功能键值,以形成映射表;将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;将所述功能键值传送至上层,供上层功能模块调用。本发明还公开了一种遥控驱动装置及计算机可读存储介质。实现了在底层根据二分法将目标物理键值转化为功能键值,减少了开发的工作量,加快了数据匹配的速度,有效避免了键值匹配带来的错漏。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种遥控驱动方法、装置及计算机可读存储介质。
背景技术
红外遥控器是一种无线电发射装置,当红外遥控器上的按键被按下时,红外遥控器会向外发射红外信号。而针对不同的按键,红外遥控器发射的红外信号的波长也就不同。
目前,电子设备软件系统的底层驱动模块解码,把红外波形转化成十六进制物理键值,把物理键值往上层(中间层,应用层)传;上层会根据不同的编码类型,把物理键值换算成相应的功能键值,最后各功能模块调用。如果产品每次需要使用新的编码类型,或者新产品使用曾经使用过的遥控编码,除了底层驱动有相关的开发工作,还需要软件系统上层有移植的工作量,这样造成了开发工作量大,出现键值匹配带来的错漏。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种遥控驱动方法、装置及计算机可读存储介质,旨在解决开发工作量大,出现键值匹配带来的错漏的技术问题。
为实现上述目的,本发明提供一种遥控驱动方法,所述方法包括以下步骤:
一种遥控驱动方法,其特征在于,所述遥控驱动方法包括以下步骤:
定义遥控器中按键对应的功能键值,以形成映射表;
将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;
基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值。
将所述功能键值传送至上层,供上层功能模块调用;
优选地,所述基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值的步骤包括:
基于所述二分法在映射表中找到与目标物理键值一致的物理键值;
获取所述物理键值对应的功能键值。
优选地,所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值的步骤包括:
基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值;
当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值;
当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值。
优选地,其特征在于,所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值的步骤还包括:
在排序后的所述映射表中获取目标段的中间物理键值;
确定所述中间物理键值是否与所述目标物理键值一致;
当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值。
优选地,所述确定所述中间物理键值是否与所述目标物理键值一致的步骤之后,所述遥控驱动方法还包括:
当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小;
当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
优选地,所述当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小的步骤之后,所述遥控驱动方法还包括:
当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
优选地,所述在接收到红外信号时,将所述红外信号转化为目标物理键值之前,所述遥控驱动方法还包括:
将常用按键对应的物理键值及功能键值存储在首选表中;
将不常用按键对应的物理键值及功能键值存储在备选表中。
优选地,所述将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表的步骤之前,所述遥控驱动方法还包括:
在接收到红外信号时,将所述红外信号转化为物理键值;
将所述物理键值设置为目标物理键值。
此外,为实现上述目的,本发明还提供一种遥控驱动装置,遥控驱动装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的遥控驱动程序,所述遥控驱动程序被所述处理器执行时实现上述任一项遥控驱动方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有遥控驱动程序,所述遥控驱动程序被处理器执行时实现上述任一项遥控驱动方法的步骤。
本发明通过定义遥控器中按键对应的功能键值,以形成映射表;将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;将所述功能键值传送至上层,供上层功能模块调用。实现了在底层根据二分法将目标物理键值转化为功能键值,减少了开发的工作量,加快了数据匹配的速度,有效避免了键值匹配带来的错漏。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中遥控驱动装置所属终端的结构示意图;
图2为本发明遥控驱动方法第一实施例的流程示意图;
图3为本发明遥控驱动方法第二实施例中基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值步骤的细化流程示意图;
图4为本发明遥控驱动方法第三实施例中所述映射表包括首选表及备选表,所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值步骤的细化流程示意图;
图5为本发明遥控驱动方法第四实施例中所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值步骤的细化流程示意图;
图6为本发明遥控驱动方法第五实施例的流程示意图;
图7为本发明遥控驱动方法第六实施例的流程示意图;
图8为本发明遥控驱动方法第七实施例的流程示意图;
图9为本发明遥控驱动方法第八实施例的流程示意图;
图10为适配NEC码值时的流程示意图;
图11为适配松下码值时的流程示意图;
图12本发明改进后在更换或者适配驱动时的流程示意图;
图13为未应用二分法的映射关系示意图;
图14为将物理键值排序后应用二分法的映射关系示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中遥控驱动装置所属终端的结构示意图。
本发明实施例终端可以是PC。如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作服务器、网络通信模块、用户接口模块以及遥控驱动程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的遥控驱动程序。
在本实施例中,遥控驱动装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的遥控驱动程序,其中,处理器1001调用存储器1005中存储的遥控驱动程序时,执行以下操作:
定义遥控器中按键对应的功能键值,以形成映射表;
将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;
基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;
将所述功能键值传送至上层,供上层功能模块调用。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
基于所述二分法在映射表中找到与目标物理键值一致的物理键值;
获取所述物理键值对应的功能键值。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值;
当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值;
当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
在排序后的所述映射表中获取目标段的中间物理键值;
确定所述中间物理键值是否与所述目标物理键值一致;
当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小;
当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
将常用按键对应的物理键值及功能键值存储在首选表中;
将不常用按键对应的物理键值及功能键值存储在备选表中。
进一步地,处理器1001可以调用存储器1005中存储的遥控驱动程序,还执行以下操作:
在接收到红外信号时,将所述红外信号转化为物理键值;
将所述物理键值设置为目标物理键值。
本发明进一步提供一种遥控驱动方法。参照图2,图2为本发明遥控驱动方法第一实施例的流程示意图。
在本实施例中,该遥控驱动方法包括以下步骤:
步骤S10,定义遥控器中按键对应的功能键值,以形成映射表;
在本实施例中,在一定范围内(比如一个公司),将所有按键的功能键值统一化,例如,将遥控的开机键都定义为key_A,所有静音键都为key_B,则无论编码方式是怎么样,同一按键上传的对应功能键值都是一样。
步骤S20,将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;
在本实施例中,映射表中包括各个物理键值与功能键值对应的映射关系,该映射表包括首选表与备选表,首选表中包括经常使用的按键对应的物理键与该物理键对应的功能键,备选表则包括其他按键对应的物理键与该物理键对应的功能键,预设顺序包括从小到大或者从大到小的顺序等,将映射表中的各个物理键按照从小到大的顺序或者从大到小的顺序进行排序。在映射表中可以将目标物理键值映射成功能键值,该映射功能是在底层驱动模块内完成。
步骤S30,基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;
在本实施例中,功能键值包括遥控按键功能对应的键值,例如,开机键、静音键等按键都有各自对应的功能键值。一般来说,在底层驱动模块将红外信号转化为物理键值,然后将物理键值传送至上层,上层将物理键值映射成功能键值供功能模块调用,例如,参照图10,要适配一种NEC码值时,在底层开发,驱动模块根据NEC的编码规则,解出接收到的物理波形,转成4个字节的十六进制物理键值,上传至上层进行处理,在上层开发,根据使用此NEC编码的规格书,把接收到的十六进制物理键值,根据规格书,映射成一个个功能按键,然后再将每个按键和处理函数对应上。又例如,参照图11,要新增适配一种松下码值,或者从别的项目上移植松下编码过来时,在底层开发,同样地,驱动模块根据松下的编码规则,解出接收到的物理波形,转成6个字节的十六进制物理键值,上传至上层处理(如果是其他项目移植过来,则直接不变放进来即可),在上层开发时,同样地,根据此松下编码的规格书,把收到的十六进制物理键值,根据规格书,映射成一个个按键,然后再将每个按键和处理函数对应上。可以看到,类似的适配工作,却要因为适配不同的遥控器去进行重复地开发。
而本实施例中,将映射功能放在底层驱动中完成,在底层根据二分法将目标物理键值转化为功能键值,具体地,在一定范围内(比如一个公司),将所有按键的功能键值统一化,例如,参照图12,将遥控器的开机键都定义为key_A,所有静音键都为key_B,底层驱动将物理键值换算成标准化的功能键值后,将功能键值传送到上层,上层都是按照同统一的标准去接收功能键值,将功能键值调到各个对应的功能模块实现各种逻辑功能,参照图13,将各个物理键值排序后映射到功能键值时,逐个进行遍历,复杂度用O(n)表示。
然而,在底层驱动将物理键值映射成标准化的功能键值时,需要进行匹配,即在映射表中通过二分法寻找到与目标物理键值一致的物理键值,然后找到该物理键值对应的功能键值,参照图14,将所有物理键值按照从小到大进行排序,然后利用二分法将物理键映射到功能键值,复杂度为O(log2n),相比较之前的O(n),尤其在按键数据量大的时候会快很多。进一步地,在映射表中寻找与目标物理键值一致的物理键值时,首先利用二分法在首选表中进行寻找,当在首选表中没有找到需要的物理键值时,再在备选表中寻找。
其中,二分法为一分为二的方法,在排序后的映射表中获取中间物理键值,将目标物理键值与中间物理键值进行比较,该目标物理键值可以等于、大于、或者小于中间物理键值,若目标物理键值与中间物理键值相等时,则获取中间物理键值对应的功能键值,若中间物理键值小于或者大于目标物理键值时,则根据二分法继续进行取值,直到所取值与目标物理键值一致。
步骤S40,将所述功能键值传送至上层,供上层功能模块调用。
在本实施例中,上层包括中间层及应用层,由于在一定范围内(比如一个公司),将所有按键的功能键值统一化,所以上层只需要按统一的标准去接收功能键值,底层映射的某个目标物理键值为底层所有物理键值组成集合中的值之一,且在底层的映射表中各个物理键值都有对应的功能键值,则上层接收到的某个功能键值为映射表中各个功能键值组成集合中的值之一,则在更换或者适配驱动的时候,是不需要再次开发适配的。
本实施例提出的遥控驱动方法,通过定义遥控器中按键对应的功能键值,以形成映射表,接着将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表,然后基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值,最后将所述功能键值传送至上层,供上层功能模块调用;实现了在底层根据二分法将目标物理键值转化为功能键值,减少了开发的工作量,加快了数据匹配的速度,有效避免了键值匹配带来的错漏。
基于第一实施例,提出本发明遥控驱动方法的第二实施例,参照图3,本实施例中,步骤S30包括:
步骤S31,基于所述二分法在映射表中找到与目标物理键值一致的物理键值;
在本实施例中,映射表包括首选表与备选表,在将物理键值映射成对应的功能键值时,首先在首选表中按照二分法查找与目标物理键值一致的物理键值,若首选表中不存在目标物理键值一致的物理键值时,然后在备选表中查找与目标物理键值相等的物理键值。
步骤S32,获取所述物理键值对应的功能键值。
在本实施例中,在映射表中存储着各个物理键值对应的功能键值,同一个功能键值可以对应一个或者多个物理键值,例如,不同编码规则将红外波形转化为不同两个物理键值为0×1234、0×123456,在映射表中,这两个物理键值对应的功能键值一致。
本实施例提出的遥控驱动方法,通过基于所述二分法在映射表中找到与目标物理键值一致的物理键值,然后获取所述物理键值对应的功能键值;实现在映射表中利用二分法查找与目标物理键值一致的物理键值,从而减少了匹配的数据量,有效避免了键值匹配带来的错漏。
基于第二实施例,提出本发明遥控驱动方法的第三实施例,参照图4,本实施例中,步骤S31包括:
步骤S311,基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值;
在本实施例中,映射表包括首选表及备选表,当将红外信号转化为目标物理键值时,首先利用二分法在首选表中查找是否存在与目标物理键值一致的物理键值,首选表中存储着常用按键对应的物理键值及该物理键值对应的功能键值,例如,在一定范围内(比如一个公司),将所有按键的功能键值统一化,将所有产品的开机键都定义为key_A,所有静音键都为key_B,物理键值A对应的功能键值为key_A,物理键值B对应的功能键值为key_B,技术人员可以将开机键与静音键定义为常用键,将开机键与静音键的物理键值及该物理键值对应的功能键存储在首选表中,当需要寻找开机键的物理键值对应的功能键值时,首先在首选表中查找,则很快可以查找到key_A,节省了查找时间。
步骤S312,当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值;
在本实施例中,可以将所有按键的功能键值在一定范围内(比如一个公司)统一化,例如,将所有产品的开机键都定义为key_A,所有静音键都定义为为key_B,根据使用经验调查,经常使用到的按键不超过百分之十。技术人员可以将所有按键中经常使用到的按键存储在首选表中,而将该不常用的按键存储在备选表中,当利用二分法在首选表中查询不到物理键值时,然后再在备选表中取寻找。当然,该不常用按键由技术人员定义,例如,技术人员根据用户使用经验,将遥控器上百分之五的按键定义为常用按键,则其余百分之九十五的按键为不常用按键。
步骤S313,当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值。
在本实施例中,备选表中存储着不常用按键对应的物理键值及对应的功能键值,当利用二分法查询到备选表中存在与目标物理键值一致的物理键值时,则获取该物理键值。
进一步地,例如,当映射表中存在n个物理键值时,技术人员将百分之五的按键对应的物理键值设置为常用按键,将其余百分之九十五的按键对应的物理键值设置为不常用按键,则在映射表中存在当要遍历出某个物理键值时,优先在首选表中通过二分法去查找,如果无法匹配,则继续在备选表中二分法查找匹配,整体的时间复杂度略微上升为:O(log2(0.05n)+log2(0.95n)),但是在绝大多数情况下遍历的时间复杂度其实是:O(log2(0.05n)),时间大为减少,甚至可以认为基本与直接上传物理键值的速度一致,用户体验良好。
本实施例提出的遥控驱动方法,通过基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值,然后当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值,最后当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值;实现了利用二分法首先在首选表中查询物理键值,然后在备选表中查询物理键值,从而节省了数据查询的时间,有效减少了查询的数据量,进而提高了数据查询的速度。
基于第二实施例,提出本发明遥控驱动方法的第四实施例,参照图5,本实施例中,步骤S31还包括:
步骤S314,在排序后的所述映射表中获取目标段的中间物理键值;
在本实施例中,映射表包括首选表及备选表,在首选表及备选表中都可以利用二分法查询与目标物理键值一致的物理键值,映射表中的物理键值按照预设顺序进行排序,预设顺序包括从大到小或者从小到大等,目标段是指根据与目标物理键值一致的物理键值所在范围,该范围随着二分法会变得越来越小,例如,映射表中存在n个物理键值,按照从小到大排序后,获取第n/2个物理键值,该第n/2个物理键值即为排序后的映射表中的中间物理键值,与目标物理键值一致的物理键值在该映射表中的第一个物理键值到最后一个物理键值的中间,则第一个物理键值到最后一个物理键值可以设置为目标段。
进一步的,当n为奇数时,可以按照四舍五入的方法取整数,当然,也可以按照其他算法进行取整数,例如,n为7时,可以获取第3个或者第4个作为中间物理键值。
步骤S315,确定所述中间物理键值是否与所述目标物理键值一致;
在本实施例中,当获取到中间物理键值时,将会对中间物理键值与目标物理键值进行比较,确定中间物理键值是否与目标物理键值一致,即确定该中间物理键值与目标物理键值是否相等。
步骤316,当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值。
在本实施例中,在排序后的映射表中,利用二分法不断获取中间物理键值,直到某个中间物理键值与目标物理键值相等时,则获取该中间物理键值。
本实施例提出的遥控驱动方法,通过在排序后的所述映射表中获取中间物理键值,然后确定所述中间物理键值是否与所述目标物理键值一致,最后当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值;实现了快速准确地找到与目标物理键值一致的物理键值,减少了匹配的数据量,从而提高了数据查询的速度。
基于第四实施例,提出本发明遥控驱动方法的第五实施例,参照图6,本实施例中,步骤S315之后,还包括:
步骤S317,当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小;
在本实施例中,当中间物理键值与目标物理键值不一致时,将中间物理键值与目标物理键值比较大小,在排序后的映射表中,各个物理键值按照从小到大或者从大到小的顺序进行排序后,将中间物理键值与目标物理键值进行比较,若中间物理键值与目标物理键值不一致时,则可以比较中间物理键值与目标物理键值的大小,根据比较的结果可以确定与该目标物理键值一致的物理键值所在的目标段,例如,在排序后的映射表中存在n个物理键值,当获取到第n/2个物理键值与目标物理键值不一致时,该第n/2则为排序后的所有物理键值的中间物理键值,则对第n/2个物理键值与目标物理键值进行比较大小,根据比较结果,则将第n/2个物理键值到第n个物理键值或者第一个物理键值到第n/2设置为目标段。
步骤S318,当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段。
在本实施例中,当中间物理键值大于目标物理键值时,则说明需要寻找的物理键值在中间物理键值到最小物理键值这一目标段,例如,在步骤S327中,当第n/2个物理键值大于目标物理键值时,则将第一个物理键值到第n/2个物理键值作为目标段,继续获取第一个物理键值到第n/2个物理键值的中间值,然后比较该中间值与目标物理键值进行比较,当中间值与目标物理键值不相等时,重复以上步骤,直到获取到的中间物理键值与目标物理键值一致。
本实施例提出的遥控驱动方法,通过当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小,然后当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段;实现了快速准确的查找与目标物理键值的一致的物理键值。
基于第五实施例,提出本发明遥控驱动方法的第六实施例,参照图7,本实施例中,步骤S317之后,还包括:
步骤S319,当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段。
在本实施例中,当中间物理键值小于目标物理键值时,则说明需要查找的物理键值在中间物理键中与最大物理键值这一目标段,例如,在步骤S327中,映射表中的各个物理键值按照从小到大的顺序排序,当第n/2个物理键值小于目标物理键值时,则将第n/2个物理键值到第n个物理键值设置为目标段,并执行步骤S314,继续获取第n/2个物理键值到第n个物理键值的中间物理键值即第n/4个物理键值,然后将第n/4个物理键值与目标物理键值进行比较,当第n/4个物理键值与目标物理键值不相等时,重复以上步骤,直到获取到的中间物理键值与目标物理键值一致。
本实施例提出的遥控驱动方法,通过当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段;实现了快速准确地查找与目标物理键值的一致的物理键值,提高了数据查找的速度。
基于第一实施例,提出本发明遥控驱动方法的第七实施例,参照图8,本实施例中,在步骤S10之前,还包括:
步骤S50,将常用按键对应的物理键值及功能键值存储在首选表中;
在本实施例中,常用按键由技术人员定义的,技术人员根据用户的使用经验,发现经常使用的按键不超过百分之十,则可以根据实际情况将常用的按键对应的物理键值及对应的功能键值存储在映射表的首选表中,本实施例对常用按键不作具体限定。
步骤S60,将不常用按键对应的物理键值及功能键值存储在备选表中。
在本实施例中,不常用按键则为除技术人员定义的常用按键之外的所有按键,将不常用按键对应的物理键值及功能键值存储在备选表中。
本实施例提出的遥控驱动方法,通过将常用按键对应的物理键值及功能键值存储在首选表中,然后将不常用按键对应的物理键值及功能键值存储在备选表中;实现了将不同按键对应的物理键值与功能键值分类存储在首选表和备选表中,能够在查询物理键值时减少查询的时间,提高数据查询速度。
基于第一实施例,提出本发明遥控驱动方法的第八实施例,参照图9,本实施例中,在步骤S10之前,还包括:
步骤S70,在接收到红外信号时,将所述红外信号转化为目标物理键值;
步骤S80,将所述物理键值设置为目标物理键值。
在本实施例中,红外信号包括红外波形,遥控能将按键信息通过红外线传送给电子设备,电子设备将红外信号转化为预设进制的物理键值,该预设进制包括十六进制,底层驱动将红外波形进行解码操作,将红外波形转化为十六进制物理键值,该物理键值包括4个字节的十六进制物理键值、6个字节的16进制物理键值等。将该物理键值设置为目标物理键值,该目标物理键值是指将该红外信号的红外波形转化成的物理键值,需要在映射表中找到该目标物理键值一致的物理键值。
本实施例提出的遥控驱动方法,通过在接收到红外信号时,将所述红外信号转化为物理键值,然后将所述物理键值设置为目标物理键值;实现了将将红外信号转化为目标物理键值,从而能够准确对目标物理键值进行数据匹配。
本发明还提供一种计算机可读存储介质,在本实施例中,计算机可读存储介质上存储有遥控驱动程序,其中:
定义遥控器中按键对应的功能键值,以形成映射表;
将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表;
基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;
将所述功能键值传送至上层,供上层功能模块调用。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
基于所述二分法在映射表中找到与目标物理键值一致的物理键值;
获取所述物理键值对应的功能键值。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值;
当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值;
当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
在排序后的所述映射表中获取目标段的中间物理键值;
确定所述中间物理键值是否与所述目标物理键值一致;
当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小;
当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
将常用按键对应的物理键值及功能键值存储在首选表中;
将不常用按键对应的物理键值及功能键值存储在备选表中。
进一步地,该遥控驱动程序被所述处理器执行时,还实现如下步骤:
在接收到红外信号时,将所述红外信号转化为物理键值;
将所述物理键值设置为目标物理键值。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种遥控驱动方法,其特征在于,所述遥控驱动方法包括以下步骤:
定义遥控器中按键对应的功能键值,以形成映射表;
将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表,其中,所述预设顺序包括从大到小或者从小到大,所述映射表包括首选表及备选表,其中,将常用按键对应的物理键值及功能键值存储在首选表中,将不常用按键对应的物理键值及功能键值存储在备选表中;
基于二分法及所述映射表在底层将目标物理键值转化为功能键值,其中,一个或者多个物理键值对应同一个功能键值;
将所述功能键值传送至上层,供上层功能模块调用;
其中,所述基于二分法及所述映射表在底层将目标物理键值转化为功能键值包括:基于所述二分法在映射表中找到与目标物理键值一致的物理键值;
其中,所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值的步骤包括:
基于所述二分法确定所述首选表中是否存在与所述目标物理键值一致的物理键值;
当所述首选表中不存在与所述目标物理键值一致的物理键值时,确定备选表中是否存在与目标物理键值一致的物理键值;
当所述备选表中存在与目标物理键值一致的物理键值时,获取对应的物理键值。
2.如权利要求1所述的遥控驱动方法,其特征在于,所述基于所述二分法在映射表中找到与目标物理键值一致的物理键值的步骤还包括:
在排序后的所述映射表中获取目标段的中间物理键值;
确定所述中间物理键值是否与所述目标物理键值一致;
当所述中间物理键值与所述目标物理键值一致时,获取所述中间物理键值。
3.如权利要求2所述的遥控驱动方法,其特征在于,所述确定所述中间物理键值是否与所述目标物理键值一致的步骤之后,所述遥控驱动方法还包括:
当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小;
当所述中间物理键值大于所述目标物理键值时,将最小物理键值到所述中间物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
4.如权利要求3所述的遥控驱动方法,其特征在于,所述当所述中间物理键值与所述目标物理键值不一致时,比较所述中间物理键值与所述目标物理键值的大小的步骤之后,所述遥控驱动方法还包括:
当所述中间物理键值小于所述目标物理键值时,将所述中间物理键值到最大物理键值设置为目标段,
并执行步骤:在排序后的所述映射表中获取目标段的中间物理键值。
5.如权利要求1所述的遥控驱动方法,其特征在于,所述将映射表中的各个物理键值按照预设顺序进行排序,以得到排序后的所述映射表的步骤之前,所述遥控驱动方法还包括:
在接收到红外信号时,将所述红外信号转化为物理键值;
将所述物理键值设置为目标物理键值。
6.一种遥控驱动装置,其特征在于,所述遥控驱动装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的遥控驱动程序,所述遥控驱动程序被所述处理器执行时实现如权利要求1至5中任一项所述的遥控驱动方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有遥控驱动程序,所述遥控驱动程序被处理器执行时实现如权利要求1至5中任一项所述的遥控驱动方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711038428.5A CN107885347B (zh) | 2017-10-27 | 2017-10-27 | 遥控驱动方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711038428.5A CN107885347B (zh) | 2017-10-27 | 2017-10-27 | 遥控驱动方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107885347A CN107885347A (zh) | 2018-04-06 |
CN107885347B true CN107885347B (zh) | 2022-05-03 |
Family
ID=61783020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711038428.5A Active CN107885347B (zh) | 2017-10-27 | 2017-10-27 | 遥控驱动方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885347B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198510A (zh) * | 2020-01-15 | 2020-05-26 | 上海思依暄机器人科技股份有限公司 | 一种功能菜单定制方法、遥控器快捷键控制方法和机器人 |
CN111833588A (zh) * | 2020-07-08 | 2020-10-27 | 广州大学 | 可自定义的无线遥控适配器、方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1641134A2 (en) * | 2004-09-24 | 2006-03-29 | Samsung Electronics Co., Ltd. | Integrated remote control device and method for controlling multiple devices |
CN101276334A (zh) * | 2007-03-29 | 2008-10-01 | 上海新跃仪表厂 | 一种快速检索数据的链表实现方法 |
CN102790918A (zh) * | 2012-08-17 | 2012-11-21 | 中国科学院声学研究所 | 一种智能电视及其接收遥控器输入的方法 |
CN103000008A (zh) * | 2012-12-13 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 遥控接收设备响应遥控信号的方法和装置 |
CN106168883A (zh) * | 2016-05-05 | 2016-11-30 | 诸葛晴凤 | 一种高效的数据组织与访问方法 |
CN106920384A (zh) * | 2015-12-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 智能电子设备适配遥控器的方法和装置 |
WO2017166066A1 (zh) * | 2016-03-29 | 2017-10-05 | 华为技术有限公司 | 红外遥控方法、终端及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432608B2 (en) * | 2012-03-29 | 2016-08-30 | Lg Electronics Inc. | Multimedia device connected to at least one electronic device and controling method thereof |
US9514641B2 (en) * | 2012-11-02 | 2016-12-06 | Huawei Technologies Co., Ltd. | Smart remote control |
-
2017
- 2017-10-27 CN CN201711038428.5A patent/CN107885347B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1641134A2 (en) * | 2004-09-24 | 2006-03-29 | Samsung Electronics Co., Ltd. | Integrated remote control device and method for controlling multiple devices |
CN101276334A (zh) * | 2007-03-29 | 2008-10-01 | 上海新跃仪表厂 | 一种快速检索数据的链表实现方法 |
CN102790918A (zh) * | 2012-08-17 | 2012-11-21 | 中国科学院声学研究所 | 一种智能电视及其接收遥控器输入的方法 |
CN103000008A (zh) * | 2012-12-13 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 遥控接收设备响应遥控信号的方法和装置 |
CN106920384A (zh) * | 2015-12-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 智能电子设备适配遥控器的方法和装置 |
WO2017166066A1 (zh) * | 2016-03-29 | 2017-10-05 | 华为技术有限公司 | 红外遥控方法、终端及装置 |
CN106168883A (zh) * | 2016-05-05 | 2016-11-30 | 诸葛晴凤 | 一种高效的数据组织与访问方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107885347A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108305296B (zh) | 图像描述生成方法、模型训练方法、设备和存储介质 | |
CN111107667B (zh) | 蓝牙耳机的配对方法、装置及可读存储介质 | |
CN108197686B (zh) | 物品条形码解析方法、装置及计算机可读存储介质 | |
CN106294308B (zh) | 命名实体识别方法及装置 | |
CN109947771B (zh) | 文件类型的转换方法、装置、设备和计算机可读存储介质 | |
CN108108436B (zh) | 数据存储方法、装置、存储介质及电子设备 | |
CN107885347B (zh) | 遥控驱动方法、装置及计算机可读存储介质 | |
US20200356541A1 (en) | Mechanism for efficient storage of graph data | |
CN111045676B (zh) | 物联网设备的控制界面的生成方法、装置、存储介质及电子设备 | |
CN106203228A (zh) | 二维码信息传输方法、装置以及设备 | |
CN108737618B (zh) | 信息处理方法和装置、电子设备、计算机可读存储介质 | |
US20120017241A1 (en) | Handheld device and text input method | |
JP2018049308A (ja) | サーバ装置、計算方法およびプログラム | |
US20200012630A1 (en) | Smaller Proximate Search Index | |
CN104881308B (zh) | 一种应用程序的处理方法及装置 | |
CN112562602B (zh) | 背光控制的数据处理方法、显示设备及存储介质 | |
CN113672311A (zh) | 结构体赋值方法、赋值器及计算机可读存储介质 | |
CN111030848B (zh) | 电子产品自动配置方法、装置和存储介质 | |
CN111246268B (zh) | 红外设备的配对方法、电视和存储介质 | |
CN108009393B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN111009247B (zh) | 语音识别修正方法、装置和存储介质 | |
CN111061512B (zh) | 分支指令的处理方法、装置、设备和存储介质 | |
KR102186595B1 (ko) | 검색 서비스 제공 시스템 및 방법 | |
CN109298862B (zh) | 客制化数据的数值获取方法、装置和存储介质 | |
WO2020070943A1 (ja) | パターン認識装置及び学習済みモデル |
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 |