一种智能电视及其接收遥控器输入的方法

文档序号:7858278阅读:244来源:国知局
专利名称:一种智能电视及其接收遥控器输入的方法
技术领域
本发明涉及人机交互领域,尤其涉及一种智能电视及其接收遥控器输入的方法及系统。
背景技术
随着移动终端智能操作系统的发展,电视产业也开始了从传统的中间件技术向智能电视操作系统的转变。作为智能电视操作系统,会有大量的第三方的应用运行其上,这些应用很多是已经开发完成的,其支持的输入方式基本上是标准的键盘和鼠标操作。采用传统的电视遥控器进行人机交互的工作方式却与上述的输入方式有所区别。一般来说,有如下两种方式从遥控器驱动读取到遥控器的键值,然后在应用程序中对该键值进行处理,以实现相应的操作;或是添加一层抽象层,实现跨平台的键值处理。这两种方·式的弊端都在于,需要在应用程序中对遥控器的键值进行处理,并且不能对目前主流的智能操作系统的已有应用提供支持。一个解决途径是为智能电视操作系统定制新的遥控器,但是也会带来新的问题新型遥控器会带来可能很高的生产成本;现有的大部分遥控器也得不到有效利用;同时,大部分用户还是习惯于使用传统的遥控器进行电视操作。基于此,如何研发出一种针对智能电视操作系统的遥控器输入方法及系统,使得原有遥控器模块在不作改动的情况下,能够对智能电视操作系统上的大部分已有应用进行操作,使得传统遥控器能够迅速地对智能电视进行适配。

发明内容
本发明的目的是提供一种能克服上述缺陷的智能电视及其接收遥控器输入的方法。在本发明的第一方面,提供了一种智能电视接收遥控器输入的方法,包括接收来自遥控器的遥控信号;根据所述遥控信号获取对应的遥控器键值;将所述遥控器键值转换成智能电视操作系统的标准键值;以及通过虚拟驱动将所述标准键值转换成对应的输入事件,以便所述智能电视操作系统对所述输入事件进行相关的输入处理。在本发明的第二方面,提供了一种智能电视,包括键值获取模块,用于根据来自遥控器的遥控信号获取对应的遥控器键值;标准键值转换模块,用于将所述遥控器键值转换成智能电视操作系统的标准键值;以及虚拟驱动模块,用于通过虚拟驱动将所述标准键值转换成对应的输入事件,以便所述智能电视操作系统对所述输入事件进行相关的输入处理。本发明将从传统遥控器得到的键值信息转化为标准的键盘和鼠标信息,再经由虚拟驱动将其以操作系统输入事件的形式提交给智能电视的操作系统,从而在复用传统遥控器代码的同时,能够支持大部分应用程序的键盘和鼠标操作。


下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中图I是根据本发明实施例的一种智能电视接收遥控器输入的结构框图;图2是根据本发明实施例的一种智能电视接收遥控器输入的方法的流程图;以及图3是根据本发明实施例的智能电视接收遥控器输入的信息传递示意图。
具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图I是根据本发明实施例的一种智能电视接收遥控器输入的结构框图。
·
用户通过遥控器向电视发射遥控信号,该遥控信号中包含了遥控器的键值。信号接收模块接收遥控器发射的遥控信号,并将其送入键值获取模块。键值获取模块对遥控信号进行处理,得到该信号所对应的遥控器键值。标准键值转换模块将键值转换成标准键值并将其送入虚拟驱动模块,该标准键值对于智能电视的操作系统来说是统一的。虚拟驱动模块将该标准键值转换成操作系统的输入事件,并将其提交给操作系统的输入子系统。输入子系统支持模块,用于在智能电视操作系统中对其输入子系统提供支持,输入事件经过输入子系统中的核心层和事件处理层的处理和分发,可以供操作系统的图形子系统进行读取,以进行相应的操作。在本发明的另一个实施例中,根据本发明的系统还可以包括键值类型判断模块和键值映射模块。键值类型判断模块对键值获取模块得到的遥控器键值的类型进行判断,所述键值类型被预先设置为单键值和组合键值,其中,所述两种类型的键值都对应单个遥控器按键的操作。组合键值转换模块在所述键值类型是组合键值的情况下按照预先设定的映射关系将一个遥控器键值转换成对应的多个遥控器键值。然后,在标准键值转换模块中,所述多个遥控器键值被转换成对应的多个标准键值。后续处理与图I中的处理类似,因此不再赘述。这样,通过按下遥控器上的一个按键,就可以在智能电视的操作系统中实现具有特定功能的组合键。图2是根据本发明实施例的一种智能电视接收遥控器输入的方法的流程图。在步骤201,接收用户通过遥控器向电视发出的遥控信号,遥控信号中包含对应的键值。在步骤202,从遥控器信号中获取对应的遥控器键值,遥控器键值可以预先设置成对应操作系统支持的键盘和鼠标的按键。在步骤203,判断所获取的遥控器键值的类型。针对遥控器上的键值和键盘键值不一定完全对应的情况,可以将遥控器上的一些特殊功能键的键值类型预先设定为组合键值,对应智能电视操作系统支持的标准键盘上的组合键,例如ctrl+alt+del等等;遥控器上的其他键的键值类型为单键值,对应智能电视操作系统支持的标准键盘上的一个按键。根据键值类型判断结果,如果是单键值类型,则流程进行到步骤205 ;如果是组合键值类型,则流程进行到步骤204。在步骤204,按照预先设定的映射关系将其类型是组合键值的一个键值映射成多个遥控器键值,步骤进行到205。在步骤205,将一个或多个键值转换成标准键值,该标准键值对于智能电视操作系统来说是统一的。对于不同的硬件平台,遥控器的键值不一样;对于同一硬件平台,不同型号的遥控器的键值也不一样。因此,为了屏蔽底层的差异,方便上层的统一处理,对遥控器键值进行统一的转换,将其转换成统一的标准键值。在下面,以操作系统Linux为例对标准键值的转换进行说明。依据Iinux内核的input, h头文件,对得到的键值keyvalue进行转换,例如当keyvalue代表遥控器上面的数字键O时,键值转换如下keyvalue->KEY_0(其中,ΚΕΥ_0是Iinux的input, h头文件中对键盘值的宏定义)。·当keyvalue代表遥控器上面的字母键A时,键值转换如下Keyvalue_>KEY_A(其中,1^¥_么是Iinux的input, h头文件中对键盘值的宏定义)。当keyvalue代表遥控器上面的退出键时,键值转换如下Keyvalue->KEY_ESC (其中 KEY_ESC 是 Iinux 的 input, h 头文件中对键盘值的宏定义)。当keyvalue代表遥控器上面的down方向键时,键值转换如下Keyvalue->KEY_DOWN (其中 KEY_D0WN 是 Iinux 的 input, h 头文件中对键盘值的
宏定义)。其他键值转换与上述键值转换类似,详见Iinux内核源码头文件input, h。上述的组合键值的转换方法与上述转换方法类似,不同之处需要将组合键值对应的多个键值一一转换成针对操作系统统一的标准键值。在步骤206,通过虚拟驱动将标准键值转换成智能电视操作系统的输入事件。以Linux操作系统为例,虚拟驱动将用户空间的Iinux标准键值,在内核空间中转换成对应的输入事件向操作系统的输入子系统提交。首先,虚拟驱动需要在模块加载函数中,将虚拟驱动自身注册为输入设备驱动,具体为利用系统函数将自身注册为字符设备;利用系统函数input_allocate_device()函数,在内存中为输入设备结构体分配一段内存空间;向input子系统声明它可以支持的事件,按键事件、相对坐标、绝对坐标和同步事件等;调用系统函数input_register_device O注册已经分配了空间的输入设备结构体。然后,虚拟驱动利用写函数中的C0py_fr0m_USer函数,将用户空间的键值信息复制到内核空间,调用系统函数向输入子系统提交,键值信息包括键值类型(键盘键值、鼠标键值等)和键值数值等。下面,以具体的例子对虚拟驱动的键值-事件的转换过程进行说明。虚拟驱动以驱动模块的形式存在于Linux系统中,会在/dev/目录下生成相应的设备节点。在虚拟驱动获取经由转换得到的标准键值信息之后,需要把标准键值信息写入虚拟驱动,将其转换成输入事件的形式。如果是写入单键值信息,需要打开虚拟驱动,写入键值压下事件,然后写入键值释放事件,最后写入代表单键值的输入事件写入完毕的同步事件。至此,单键值事件提交完毕;
如果是写入组合键信息,需要打开虚拟驱动,写入第一个键值的压下事件,再写入第一个键值的释放事件,然后写入第二个键值的压下事件,再写入第二个键值的释放事件,依此类推。当所有组合键信息中包含的所有单键值信息写完之后,最后写入代表组合键值的输入事件写入完毕的同步事件。至此,组合键事件提交完毕;如果是写入鼠标键值信息,需要打开虚拟驱动,写入键值对应的X坐标变化事件,然后写入键值对应的Y坐标变化事件,最后写入代表鼠标键值的输入事件完成的同步事件。至此,鼠标事件提交完毕;针对操作系统的其他输入事件可依此类推或扩展。在步骤207,智能电视操作系统中的图形子系统经由输入子系统的处理和分发,读取该输入事件并进行相应的后续操作,其中,输入子系统包括核心层和事件处理层。核心层起一个承上启下的作用,用于管理输入设备并且在虚拟驱动和事件处理 层之间传递信息。一方面,为下层的虚拟驱动提供输入设备注册和操作接口,例如,提供input_register_device等系统函数供虚拟驱动调用;另一方面,将输入事件提交给上层的事件处理层,通知事件处理层对输入事件进行处理。事件处理层的作用主要是创建与输入事件相对应的设备节点,并将核心层提交的输入事件分发到相应的设备节点,以供上层的图形子系统读取。图形子系统可以通过从设备节点自动读取诸如键盘事件或鼠标事件之类的输入事件,从而获知所请求的操作,进而进行相应的处理。图3是根据本发明实施例的智能电视接收遥控器输入的信息传递示意图。在用户空间中,遥控器服务进程负责监听遥控器信号,从中获取遥控器的键值,并将其转换成针对操作系统的同一的标准键值,将其送入对应于虚拟驱动模块的设备节点,例如,/dev/virtualdevice。虚拟驱动模块从其对应的设备节点中将标准键值从用户控件复制到内核空间,并将其转换成操作系统的输入事件。然后,经由输入子系统的核心层将输入事件提交给事件
处理层。事件处理层创建与输入事件相应的设备节点,例如,/dev/input/eventX,然后将输入事件分发到用户空间中的相应的设备节点,Xwindow图形系统会自动从设备节点中读取到输入事件,进而进行相应的处理。由上述描述可以看出,代表遥控器信号的输入事件从用户空间中经过虚拟驱动模块进入内核空间,再经由输入子系统的核心层和事件处理层的处理和分发,最终到达用户空间,传递给图形系统以待处理。应当理解,本发明的技术方案适用于包括但不限于Linux的各种操作系统,图形子系统包括但不限于Xwindow。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。·
权利要求
1.一种智能电视接收遥控器输入的方法,包括 接收来自遥控器的遥控信号; 根据所述遥控信号获取对应的遥控器键值; 将所述遥控器键值转换成智能电视操作系统的标准键值;以及通过虚拟驱动将所述标准键值转换成对应的输入事件,以便所述智能电视操作系统对所述输入事件进行相关的输入处理。
2.根据权利要求I所述的方法,还包括在虚拟驱动将所述标准键值转换成对应的输入事件的步骤之前 判断所述遥控器键值的键值类型,其中,所述遥控器键值对应于单个遥控器按键的操作; 在所述键值类型是组合键值的情况下,按照预定的映射关系将所述遥控器键值映射成多个遥控器键值; 将所述多个遥控器键值转换成智能电视操作系统的多个标准键值,其中,所述多个标准键值对应具有特定功能的组合键。
3.根据权利要求I所述的方法,其中,所述通过虚拟驱动将所述标准键值转换成对应的输入事件的步骤包括 在所述虚拟驱动中依次写入所述标准键值的压下事件、释放事件和代表所述输入事件写入完成的同步事件。
4.根据权利要求2所述的方法,其中,所述通过虚拟驱动将所述标准键值转换成对应的输入事件的步骤包括 在所述虚拟驱动中依次写入所述多个标准键值中每一个标准键值的压下事件、释放事件,最后写入代表所述输入事件完成的同步事件。
5.根据权利要求I所述的方法,其中,所述智能电视操作系统包括输入子系统和图形子系统,所述输入子系统包括核心层和事件处理层,所述核心层获取所述输入事件并提交给所述事件处理层,事件处理层分发所述操作系统输入事件以便于所述图形子系统读取。
6.根据权利要求I所述的方法,其中,所述遥控器键值被预先设置成对应所述智能电视操作系统支持的键盘和/或鼠标的按键,所述输入事件是键盘输入事件和/或鼠标输入事件。
7.根据权利要求6所述的方法,其中,所述输入事件是鼠标输入事件,所述通过虚拟驱动将所述标准键值转换成对应的输入事件的步骤包括 在所述虚拟驱动中写入所述标准键值对应的X坐标变化事件、Y坐标变化事件,最后写入代表所述输入事件完成的同步事件。
8.—种智能电视,包括 键值获取模块,用于根据来自遥控器的遥控信号获取对应的遥控器键值; 标准键值转换模块,用于将所述遥控器键值转换成智能电视操作系统的标准键值;以及 虚拟驱动模块,用于通过虚拟驱动将所述标准键值转换成对应的输入事件,以便所述智能电视操作系统对所述输入事件进行相关的输入处理。
9.根据权利要求8所述的智能电视,还包括键值类型判断模块,用于判断所述遥控器键值的键值类型,其中,所述遥控器键值对应于单个遥控器按键的操作;以及 键值映射模块,用于在所述键值类型是组合键值的情况下,按照预定的映射关系将所述遥控器键值映射成多个遥控器键值; 所述标准键值转换模块还用于将所述多个遥控器键值转换成智能电视操作系统的多个标准键值,其中,所述多个标准键值对应具有特定功能的组合键。
10.根据权利要求8所述的智能电视,还包括 输入子系统支持模块,用于支持智能电视操作系统中的输入子系统,所述输入子系统包括核心层和事件处理层,所述核心层获取所述输入事件并提交给所述事件处理层,事件处理层分发所述输入事件以便于图形子系统读取。
全文摘要
本发明涉及一种智能电视及其接收遥控器输入方法和系统,该方法包括接收来自遥控器的遥控信号;根据所述遥控信号获取对应的遥控器键值;将所述遥控器键值转换成智能电视操作系统的标准键值;以及通过虚拟驱动将所述标准键值转换成对应的输入事件,以便所述智能电视操作系统对所述输入事件进行相关的输入处理。本发明将从传统遥控器得到的键值信息转化为标准的键盘和鼠标信息,再经由虚拟驱动将其以操作系统输入事件的形式提交给智能电视的操作系统,从而在复用传统遥控器代码的同时,能够支持大部分应用程序的键盘和鼠标操作。
文档编号H04N21/422GK102790918SQ20121029459
公开日2012年11月21日 申请日期2012年8月17日 优先权日2012年8月17日
发明者孙鹏, 张辉, 桓自强, 邓峰 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1