远程操作键控制器 本申请要求2002年4月22日提交的美国临时专利申请号为60/374,400的权益。
【技术领域】
本发明涉及计算机操作系统领域,尤其涉及管理运行多个应用程序的设备中的用户命令。
背景技术
已经存在运行多个应用程序和接收多个用户控制信号的设备。例如,众所周知的由诸如Windows CE的单个操作系统控制的设备,在这些设备中包括电视机、因特网、卫星电视机、录像机(PVR)、以及数字多功能盘(DVD)应用。
在这样的设备中的操作系统从多个源接收用户信号,例如,来自遥控设备的红外(IR)信号、来自前面板组件(FPA)和系统其他部分的电子信号。从各个IR驱动器、FPA驱动器以及系统地其他部分接收并处理数据。目前,可获得的系统采用为前台窗口而设计操作键。然而,有时用户想要控制后台应用,这对于当前的系统是不可能的。
【发明内容】
本发明的目的是组织接收各种用户操作键及将其定向到各种应用。本发明实现了根据以下公开和附图而显而易见的上述目的和其他方面,本发明的一个方面包括一种具有存储器和运行多个应用程序的操作系统的装置,该应用程序被用户信号控制,该装置包括:对由每个应用程序要求的用户信号进行注册的单元、接收用户信号的单元、以及将每个所接收的用户信号发送给注册要请求该信号的应用程序的单元。
本发明的另一方面是一种传递用户信号到多个应用程序的方法,该多个应用程序使用一个操作系统运行,所述方法包括:从每个应用程序接收关于被应用程序要求的用户信号的信息;将要求的与每个应用程序相关的用户信号存储到存储器中;从用户界面设备接收用户信号;从所述存储器检索要求所接收的用户信号的应用程序;以及将所接收的用户信号发送给每个被检索到的应用程序。
所接收的用户信号能够直接发送到所述应用程序或能够转换为被所述操作系统可识别的第二信号,该第二信号依次发送给所述操作系统。
目前典型的操作系统的示例是Windows CE,但是其他操作系统当然能够用于本发明中。通常,所述应用程序包括用户界面和浏览器。
例如,通过来自遥控设备、前面板按钮、和/或所述系统的IR可以接收所述用户信号。例如,某个应用程序能够模仿按下操作键的操作。
用户信号的检错和转换能够通过已知的方法和软件执行。
能够提供操作键管理器,并且所述操作键管理器能够通过红外驱动器和前面板组件驱动器被注册。
激活的应用程序能够通过所述操作键管理器注册,并且当应用程序变成未激活时,取消应用程序的注册。当所述应用程序已注册时,一组对应于每个激活程序的操作键能够被注册,以便当接收了操作键时,所述操作键管理器将所接收的操作键传递到注册了所述操作键的激活的应用程序。
能够注册对应于每个应用程序的消息队列,包括队列的名字和大小,根据队列的名字和大小,所述操作键管理器能够创建用于传递操作键到所述应用程序的消息队列的一个尾端。在某些实施例中,所有的操作键能够被转换以等效匹配操作系统、当接收时被发送到所述操作系统、以及其后被传递到顶层应用程序,并且如果所述顶层应用程序不需要所述操作键,则随后所述操作键被顺序地传递到下一层需要所述操作键的应用程序。在一些实施例中,所述系统在分配的优先级下面提供锁定(block)应用程序的选项以接收操作键。在一些实施例中,所述操作键被转换以等效匹配操作系统、当接收时被发送到所述操作系统、以及其后被传递到响应于所述操作键的每个应用程序。当注册了所述应用程序,通过操作键管理器能够注册应用程序要求的操作键的类型。
可应用本发明的装置包括存储器和适宜运行多个应用程序的操作系统,所述应用程序被用户信号控制,该装置包括:对每个应用程序要求的所述用户信号进行注册的单元、接收用户信号的单元、以及将每个所接收的用户信号发送给注册要求该用户信号的所述应用程序的单元。该装置的示例是具有因特网浏览器能力的电视机。所述装置通常具有显示用户界面的单元、接收遥控信号的单元、接收前面板组件信号的单元以及接收键盘信号的单元。
【附图说明】
图1是根据本发明的方法的高层流程图;
【具体实施方式】
首先,参考图1,描绘了一中方法,其中来自IR驱动器、键盘、以及FPA的原操作键(raw key)被传递到不同的应用程序和系统。
本发明的方法和装置在此被称为操作键管理器。在该说明的实施例中,所述操作键管理器从IR驱动器以IR数据11的形式和从前面板组件(FPA)操作键以有线数据12的形式取得原操作键,并且对所述原操作键数据进行解码(步骤14)。所述操作键管理器15还从所述系统的其它部分接收内部数据13,例如,可以“模仿”操作键的其他应用程序。所述操作键管理器15管理将解码的操作键数据传递给不同的应用程序和系统,以便每个部分接收它所需要的操作键数据,如在本实施例中说明的。
在经由IR 11从例如遥控器接收操作键按下的信号后,所述操作键管理器15判断是否存在注册的应用程序(步骤16),并且如果存在注册的应用程序,然后确定所注册的应用程序是否需要所述操作键管理器接收的操作键的类型(步骤17)。如果第一个注册的应用程序不需要由所述操作键管理器发送的操作键的类型(步骤17),则所述操作键管理器检查是否还有任何其他的注册的应用程序(步骤16)直到找到需要的所发送的操作键的类型的一个注册的应用程序(步骤17)为止,然后检查是否有用于那个应用程序的注册的队列(步骤18)。
如果不再有注册的应用程序,则所述操作键管理器检查所述操作键是否转换(translate)为操作系统特定的操作键(步骤21),如果如此,则操作键管理器将所述操作键发送给操作系统(步骤22),否则,所述操作键管理器等待其他的操作键。然后,所述操作键管理器判断是否存在用于应用程序的注册命名的列队(步骤18),该应用程序需要被发送的操作键的类型,如果存在,则操作键管理器检查是否为那个应用程序锁定(block)操作键(步骤19)。对每个应用程序安排优先级。如果在所述应用程序的优先级之上没有锁定所述操作键(步骤19),则所述操作键管理器通过注册命名的列队将所述操作键发送给所注册的应用程序(步骤20),否则,如果在所述应用程序的优先级之上锁定所述操作键,则操作键管理器对于下一个注册的应用程序进行检查(步骤16)。如果所述操作键管理器检查对于第一个注册的应用程序是否存在注册命名的队列(步骤18),该第一个注册的应用程序需要由操作键管理器接收的操作键的类型,并且如果对于需要所述操作键的类型的第一个注册的应用程序不存在注册命名的列队,则将所述操作键发送给所述操作系统(步骤22),该操作系统随后将所述操作键发送给操作系统应用程序(步骤23)。
作为操作键管理器怎样解决问题的示例,当浏览器正显示时,即,浏览器处于前台时,用户界面(UI)和浏览器两者都需要知道“频道增加”操作键。在该实例中,两个应用程序要求频道增加操作键。由于操作键管理器将操作键发送到要求所述操作键的任何已知的应用程序,以及发送到正使用缺省的方法来接收操作键的任何已知的或未知的应用程序,所以UI和浏览器两者都将接收频道增加操作键按下的信号。
本发明从低层系统获得操作键数据并将其传递到系统的高层部分。一些数据基于红外(IR)协议、一些数据基于FPA的按钮检索、以及一些数据通过所述系统发送回去。在进行了基本的数据检错和转换后,所述数据被传送到操作键管理器以便进行处理。
操作键管理器使用IR/FPA驱动器注册它本身,以便从IR/FPA驱动器接收操作键。使用操作键管理器注册运行在高层的应用程序和取消注册运行在高层的应用程序。操作键管理器使用注册数据来管理哪个应用程序应该得到哪个操作键。当所述操作键管理器从IR驱动器、FPA驱动器、以及所述系统的其他部分接收数据时,该操作键管理器将预处理该数据,然后传递所述数据到系统的其他部分,这是根据这些部分怎样通过操作键管理器注册的而进行的。
存在两种操作键管理器传递操作键的方法。第一种方法是经由消息列队。当应用程序通过操作键管理器注册时,其提供用于其消息列队的名字和大小。操作键管理器然后创建该列队的一个尾端,操作键管理器将使用该尾端来将操作键传递给那个应用程序。第二种方法是通过微软视窗操作键传递机制。所有的操作键被转换以匹配等效的窗口虚拟操作键,然后少量发送到操作系统,接着操作系统将该操作键传递给顶层应用程序(如果那个应用程序不需要所述操作键,则窗口将其向下传递给下一层应用程序等等)。
操作键管理器有能力将操作键传递到已知的应用程序(该已知的应用程序可以是或可以不是使用传递操作键的微软Windows CE方法)和未知的应用程序(该未知的应用程序使用传递操作键的微软Windows CE方法)。由于微软Windows CE仅仅将操作键传递到前台应用程序,当前所改进的系统容许多个应用程序知道已经按下了什么操作键。在某些环境中,多个应用程序可能需要响应一个操作键,即,浏览器和UI。对于传统的传递操作键的微软Windows CE方法,不存在那种能力。所述操作键管理器有能力注册和取消注册已知的应用程序,这是对本技术的改进。
当应用程序通过操作键管理器进行注册时,该应用程序也让操作键管理器知道它需要什么类型的操作键。该应用程序的选择是遥控操作键、键盘操作键、以及FPA操作键。所述操作键管理器使用这个信息来决定所述应用程序是否需要接收来自某一设备的操作键。
尽管在此已经详细说明了本发明和发明人已知的执行本发明的最好的方法,对于本领域的技术人员将理解本发明并制作和使用它,在不偏离本发明的精神和范围的情况下,各种替代、修改和改进应该是显而易见的。