專利名稱:遠程操作鍵控制器的制作方法
技術領域:
本發明涉及計算機操作系統領域,尤其涉及管理運行多個應用程序的設備中的用戶命令。
背景技術:
已經存在運行多個應用程序和接收多個用戶控制信號的設備。例如,眾所周知的由諸如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操作鍵。所述操作鍵管理器使用這個信息來決定所述應用程序是否需要接收來自某一設備的操作鍵。
盡管在此已經詳細說明了本發明和發明人已知的執行本發明的最好的方法,對于本領域的技術人員將理解本發明并制作和使用它,在不偏離本發明的精神和范圍的情況下,各種替代、修改和改進應該是顯而易見的。
權利要求
1.一種將用戶信號傳遞給使用操作系統運行的多個應用程序的方法,該方法包括步驟從每個應用程序收到關于所述應用程序所要求的用戶信號的信息;將與每個應用程序相關的所要求的用戶信號存儲到存儲器中;從用戶界面設備接收用戶信號;從所述存儲器檢索要求所述接收的用戶信號的應用程序;以及將所接收的用戶信號發送給每個被檢索到的應用程序。
2.如權利要求1所述的方法,還包括步驟將所接收的用戶信號發送給所述操作系統。
3.如權利要求1所述的方法,還包括步驟將所接收的用戶信號轉換為可由所述操作系統識別的第二信號并將該第二信號發送給所述操作系統。
4.如權利要求1所述的方法,其中所述操作系統是Windows CE。
5.如權利要求1所述的方法,其中所述應用程序包括用戶界面和瀏覽器。
6.如權利要求1所述的方法,其中所述用戶信號通過來自遙控設備、前面板按鈕、和/或所述系統的IR而接收。
7.如權利要求1所述的方法,還包括用戶信號的檢錯和轉換。
8.如權利要求1所述的方法,包括通過紅外驅動器和前面板組件驅動器注冊操作鍵管理器、通過所述操作鍵管理器注冊激活的應用程序以及對未激活的應用程序取消注冊、注冊與每個激活的應用程序對應的一組操作鍵以及當應用程序為未激活時對該組操作鍵取消注冊、和將所接收的操作鍵傳遞給注冊了所接收操作鍵的激活應用程序。
9.如權利要求8所述的方法,其中當注冊應用程序時,由操作鍵管理器存儲對應于所述應用程序的消息列隊的名字和大小,所述操作鍵管理器根據名字和大小產生一個消息列隊的尾端以便將操作鍵傳遞給所述應用程序。
10.如權利要求8所述的方法,其中將所有的操作鍵進行轉換,以便等效匹配操作系統、被發送到所述操作系統、以及其后被傳遞到頂層應用程序,而如果所述頂層應用程序不需要該操作鍵,則該操作鍵隨后依次被傳遞到接受所述操作鍵的下一最高層應用程序。
11.如權利要求8所述的方法,其中所述操作鍵被轉換以等效匹配操作系統、被發送到所述操作系統、以及其后被傳遞到響應所述操作鍵的每個應用程序。
12.如權利要求8所述的方法,其中當通過所述操作鍵管理器對應用程序進行注冊時,對被所述應用程序要求的操作鍵類型進行注冊。
13.如權利要求12所述的方法,其中所述操作鍵類型是從由遙控操作鍵、鍵盤操作鍵、和前面板組件的操作鍵組成的組中選擇的。
14.一種具有存儲器和適宜運行多個應用程序的操作系統的裝置,該應用程序由用戶信號控制,該裝置包括注冊每個應用程序要求的所述用戶信號的單元、接收用戶信號的單元、以及將每個所接收的用戶信號發送給注冊要求該用戶信號的所述應用程序的單元。
15.如權利要求14所述的裝置,該裝置包括電視機、瀏覽器、顯示器、以及鍵盤。
16.如權利要求14所述的裝置,包括顯示用戶界面的單元、接收紅外遙控信號的單元、接收前面板組件信號的單元以及接收鍵盤信號的單元。
全文摘要
一種裝置,具有存儲器和運行由用戶信號控制的多個應用程序的操作系統,所述裝置包括對每個應用程序要求的用戶信號進行注冊的單元、接收用戶信號的單元、以及將每個所接收的用戶信號發送給注冊要求該信號的應用程序的單元。一種將用戶信號傳遞給使用操作系統運行的多個應用程序的方法,該方法包括從每個應用程序接收關于被應用程序要求的用戶信號的信息;將要求的與每個應用程序相關的用戶信號存儲到存儲器中;從用戶界面設備接收用戶信號;從存儲器檢索要求所接收的用戶信號的應用程序;以及將所接收的用戶信號發送給每個被檢索到的應用程序。
文檔編號G06F9/44GK1653426SQ03811112
公開日2005年8月10日 申請日期2003年4月17日 優先權日2002年4月22日
發明者查德·A·勒菲弗里, 小史蒂文·L·庫珀, 詹姆斯·D·坦巴奇, 戴維·J·林奇 申請人:湯姆森特許公司