專利名稱:遠(yuǎn)程操作鍵控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)操作系統(tǒng)領(lǐng)域,尤其涉及管理運(yùn)行多個(gè)應(yīng)用程序的設(shè)備中的用戶命令。
背景技術(shù):
已經(jīng)存在運(yùn)行多個(gè)應(yīng)用程序和接收多個(gè)用戶控制信號(hào)的設(shè)備。例如,眾所周知的由諸如Windows CE的單個(gè)操作系統(tǒng)控制的設(shè)備,在這些設(shè)備中包括電視機(jī)、因特網(wǎng)、衛(wèi)星電視機(jī)、錄像機(jī)(PVR)、以及數(shù)字多功能盤(DVD)應(yīng)用。
在這樣的設(shè)備中的操作系統(tǒng)從多個(gè)源接收用戶信號(hào),例如,來自遙控設(shè)備的紅外(IR)信號(hào)、來自前面板組件(FPA)和系統(tǒng)其他部分的電子信號(hào)。從各個(gè)IR驅(qū)動(dòng)器、FPA驅(qū)動(dòng)器以及系統(tǒng)的其他部分接收并處理數(shù)據(jù)。目前,可獲得的系統(tǒng)采用為前臺(tái)窗口而設(shè)計(jì)操作鍵。然而,有時(shí)用戶想要控制后臺(tái)應(yīng)用,這對于當(dāng)前的系統(tǒng)是不可能的。
發(fā)明內(nèi)容
本發(fā)明的目的是組織接收各種用戶操作鍵及將其定向到各種應(yīng)用。本發(fā)明實(shí)現(xiàn)了根據(jù)以下公開和附圖而顯而易見的上述目的和其他方面,本發(fā)明的一個(gè)方面包括一種具有存儲(chǔ)器和運(yùn)行多個(gè)應(yīng)用程序的操作系統(tǒng)的裝置,該應(yīng)用程序被用戶信號(hào)控制,該裝置包括對由每個(gè)應(yīng)用程序要求的用戶信號(hào)進(jìn)行注冊的單元、接收用戶信號(hào)的單元、以及將每個(gè)所接收的用戶信號(hào)發(fā)送給注冊要請求該信號(hào)的應(yīng)用程序的單元。
本發(fā)明的另一方面是一種傳遞用戶信號(hào)到多個(gè)應(yīng)用程序的方法,該多個(gè)應(yīng)用程序使用一個(gè)操作系統(tǒng)運(yùn)行,所述方法包括從每個(gè)應(yīng)用程序接收關(guān)于被應(yīng)用程序要求的用戶信號(hào)的信息;將要求的與每個(gè)應(yīng)用程序相關(guān)的用戶信號(hào)存儲(chǔ)到存儲(chǔ)器中;從用戶界面設(shè)備接收用戶信號(hào);從所述存儲(chǔ)器檢索要求所接收的用戶信號(hào)的應(yīng)用程序;以及將所接收的用戶信號(hào)發(fā)送給每個(gè)被檢索到的應(yīng)用程序。
所接收的用戶信號(hào)能夠直接發(fā)送到所述應(yīng)用程序或能夠轉(zhuǎn)換為被所述操作系統(tǒng)可識(shí)別的第二信號(hào),該第二信號(hào)依次發(fā)送給所述操作系統(tǒng)。
目前典型的操作系統(tǒng)的示例是Windows CE,但是其他操作系統(tǒng)當(dāng)然能夠用于本發(fā)明中。通常,所述應(yīng)用程序包括用戶界面和瀏覽器。
例如,通過來自遙控設(shè)備、前面板按鈕、和/或所述系統(tǒng)的IR可以接收所述用戶信號(hào)。例如,某個(gè)應(yīng)用程序能夠模仿按下操作鍵的操作。
用戶信號(hào)的檢錯(cuò)和轉(zhuǎn)換能夠通過已知的方法和軟件執(zhí)行。
能夠提供操作鍵管理器,并且所述操作鍵管理器能夠通過紅外驅(qū)動(dòng)器和前面板組件驅(qū)動(dòng)器被注冊。
激活的應(yīng)用程序能夠通過所述操作鍵管理器注冊,并且當(dāng)應(yīng)用程序變成未激活時(shí),取消應(yīng)用程序的注冊。當(dāng)所述應(yīng)用程序已注冊時(shí),一組對應(yīng)于每個(gè)激活程序的操作鍵能夠被注冊,以便當(dāng)接收了操作鍵時(shí),所述操作鍵管理器將所接收的操作鍵傳遞到注冊了所述操作鍵的激活的應(yīng)用程序。
能夠注冊對應(yīng)于每個(gè)應(yīng)用程序的消息隊(duì)列,包括隊(duì)列的名字和大小,根據(jù)隊(duì)列的名字和大小,所述操作鍵管理器能夠創(chuàng)建用于傳遞操作鍵到所述應(yīng)用程序的消息隊(duì)列的一個(gè)尾端。在某些實(shí)施例中,所有的操作鍵能夠被轉(zhuǎn)換以等效匹配操作系統(tǒng)、當(dāng)接收時(shí)被發(fā)送到所述操作系統(tǒng)、以及其后被傳遞到頂層應(yīng)用程序,并且如果所述頂層應(yīng)用程序不需要所述操作鍵,則隨后所述操作鍵被順序地傳遞到下一層需要所述操作鍵的應(yīng)用程序。在一些實(shí)施例中,所述系統(tǒng)在分配的優(yōu)先級(jí)下面提供鎖定(block)應(yīng)用程序的選項(xiàng)以接收操作鍵。在一些實(shí)施例中,所述操作鍵被轉(zhuǎn)換以等效匹配操作系統(tǒng)、當(dāng)接收時(shí)被發(fā)送到所述操作系統(tǒng)、以及其后被傳遞到響應(yīng)于所述操作鍵的每個(gè)應(yīng)用程序。當(dāng)注冊了所述應(yīng)用程序,通過操作鍵管理器能夠注冊應(yīng)用程序要求的操作鍵的類型。
可應(yīng)用本發(fā)明的裝置包括存儲(chǔ)器和適宜運(yùn)行多個(gè)應(yīng)用程序的操作系統(tǒng),所述應(yīng)用程序被用戶信號(hào)控制,該裝置包括對每個(gè)應(yīng)用程序要求的所述用戶信號(hào)進(jìn)行注冊的單元、接收用戶信號(hào)的單元、以及將每個(gè)所接收的用戶信號(hào)發(fā)送給注冊要求該用戶信號(hào)的所述應(yīng)用程序的單元。該裝置的示例是具有因特網(wǎng)瀏覽器能力的電視機(jī)。所述裝置通常具有顯示用戶界面的單元、接收遙控信號(hào)的單元、接收前面板組件信號(hào)的單元以及接收鍵盤信號(hào)的單元。
圖1是根據(jù)本發(fā)明的方法的高層流程圖;具體實(shí)施方式
首先,參考圖1,描繪了一中方法,其中來自IR驅(qū)動(dòng)器、鍵盤、以及FPA的原操作鍵(raw key)被傳遞到不同的應(yīng)用程序和系統(tǒng)。
本發(fā)明的方法和裝置在此被稱為操作鍵管理器。在該說明的實(shí)施例中,所述操作鍵管理器從IR驅(qū)動(dòng)器以IR數(shù)據(jù)11的形式和從前面板組件(FPA)操作鍵以有線數(shù)據(jù)12的形式取得原操作鍵,并且對所述原操作鍵數(shù)據(jù)進(jìn)行解碼(步驟14)。所述操作鍵管理器15還從所述系統(tǒng)的其它部分接收內(nèi)部數(shù)據(jù)13,例如,可以“模仿”操作鍵的其他應(yīng)用程序。所述操作鍵管理器15管理將解碼的操作鍵數(shù)據(jù)傳遞給不同的應(yīng)用程序和系統(tǒng),以便每個(gè)部分接收它所需要的操作鍵數(shù)據(jù),如在本實(shí)施例中說明的。
在經(jīng)由IR 11從例如遙控器接收操作鍵按下的信號(hào)后,所述操作鍵管理器15判斷是否存在注冊的應(yīng)用程序(步驟16),并且如果存在注冊的應(yīng)用程序,然后確定所注冊的應(yīng)用程序是否需要所述操作鍵管理器接收的操作鍵的類型(步驟17)。如果第一個(gè)注冊的應(yīng)用程序不需要由所述操作鍵管理器發(fā)送的操作鍵的類型(步驟17),則所述操作鍵管理器檢查是否還有任何其他的注冊的應(yīng)用程序(步驟16)直到找到需要的所發(fā)送的操作鍵的類型的一個(gè)注冊的應(yīng)用程序(步驟17)為止,然后檢查是否有用于那個(gè)應(yīng)用程序的注冊的隊(duì)列(步驟18)。
如果不再有注冊的應(yīng)用程序,則所述操作鍵管理器檢查所述操作鍵是否轉(zhuǎn)換(translate)為操作系統(tǒng)特定的操作鍵(步驟21),如果如此,則操作鍵管理器將所述操作鍵發(fā)送給操作系統(tǒng)(步驟22),否則,所述操作鍵管理器等待其他的操作鍵。然后,所述操作鍵管理器判斷是否存在用于應(yīng)用程序的注冊命名的列隊(duì)(步驟18),該應(yīng)用程序需要被發(fā)送的操作鍵的類型,如果存在,則操作鍵管理器檢查是否為那個(gè)應(yīng)用程序鎖定(block)操作鍵(步驟19)。對每個(gè)應(yīng)用程序安排優(yōu)先級(jí)。如果在所述應(yīng)用程序的優(yōu)先級(jí)之上沒有鎖定所述操作鍵(步驟19),則所述操作鍵管理器通過注冊命名的列隊(duì)將所述操作鍵發(fā)送給所注冊的應(yīng)用程序(步驟20),否則,如果在所述應(yīng)用程序的優(yōu)先級(jí)之上鎖定所述操作鍵,則操作鍵管理器對于下一個(gè)注冊的應(yīng)用程序進(jìn)行檢查(步驟16)。如果所述操作鍵管理器檢查對于第一個(gè)注冊的應(yīng)用程序是否存在注冊命名的隊(duì)列(步驟18),該第一個(gè)注冊的應(yīng)用程序需要由操作鍵管理器接收的操作鍵的類型,并且如果對于需要所述操作鍵的類型的第一個(gè)注冊的應(yīng)用程序不存在注冊命名的列隊(duì),則將所述操作鍵發(fā)送給所述操作系統(tǒng)(步驟22),該操作系統(tǒng)隨后將所述操作鍵發(fā)送給操作系統(tǒng)應(yīng)用程序(步驟23)。
作為操作鍵管理器怎樣解決問題的示例,當(dāng)瀏覽器正顯示時(shí),即,瀏覽器處于前臺(tái)時(shí),用戶界面(UI)和瀏覽器兩者都需要知道“頻道增加”操作鍵。在該實(shí)例中,兩個(gè)應(yīng)用程序要求頻道增加操作鍵。由于操作鍵管理器將操作鍵發(fā)送到要求所述操作鍵的任何已知的應(yīng)用程序,以及發(fā)送到正使用缺省的方法來接收操作鍵的任何已知的或未知的應(yīng)用程序,所以UI和瀏覽器兩者都將接收頻道增加操作鍵按下的信號(hào)。
本發(fā)明從低層系統(tǒng)獲得操作鍵數(shù)據(jù)并將其傳遞到系統(tǒng)的高層部分。一些數(shù)據(jù)基于紅外(IR)協(xié)議、一些數(shù)據(jù)基于FPA的按鈕檢索、以及一些數(shù)據(jù)通過所述系統(tǒng)發(fā)送回去。在進(jìn)行了基本的數(shù)據(jù)檢錯(cuò)和轉(zhuǎn)換后,所述數(shù)據(jù)被傳送到操作鍵管理器以便進(jìn)行處理。
操作鍵管理器使用IR/FPA驅(qū)動(dòng)器注冊它本身,以便從IR/FPA驅(qū)動(dòng)器接收操作鍵。使用操作鍵管理器注冊運(yùn)行在高層的應(yīng)用程序和取消注冊運(yùn)行在高層的應(yīng)用程序。操作鍵管理器使用注冊數(shù)據(jù)來管理哪個(gè)應(yīng)用程序應(yīng)該得到哪個(gè)操作鍵。當(dāng)所述操作鍵管理器從IR驅(qū)動(dòng)器、FPA驅(qū)動(dòng)器、以及所述系統(tǒng)的其他部分接收數(shù)據(jù)時(shí),該操作鍵管理器將預(yù)處理該數(shù)據(jù),然后傳遞所述數(shù)據(jù)到系統(tǒng)的其他部分,這是根據(jù)這些部分怎樣通過操作鍵管理器注冊的而進(jìn)行的。
存在兩種操作鍵管理器傳遞操作鍵的方法。第一種方法是經(jīng)由消息列隊(duì)。當(dāng)應(yīng)用程序通過操作鍵管理器注冊時(shí),其提供用于其消息列隊(duì)的名字和大小。操作鍵管理器然后創(chuàng)建該列隊(duì)的一個(gè)尾端,操作鍵管理器將使用該尾端來將操作鍵傳遞給那個(gè)應(yīng)用程序。第二種方法是通過微軟視窗操作鍵傳遞機(jī)制。所有的操作鍵被轉(zhuǎn)換以匹配等效的窗口虛擬操作鍵,然后少量發(fā)送到操作系統(tǒng),接著操作系統(tǒng)將該操作鍵傳遞給頂層應(yīng)用程序(如果那個(gè)應(yīng)用程序不需要所述操作鍵,則窗口將其向下傳遞給下一層應(yīng)用程序等等)。
操作鍵管理器有能力將操作鍵傳遞到已知的應(yīng)用程序(該已知的應(yīng)用程序可以是或可以不是使用傳遞操作鍵的微軟Windows CE方法)和未知的應(yīng)用程序(該未知的應(yīng)用程序使用傳遞操作鍵的微軟Windows CE方法)。由于微軟Windows CE僅僅將操作鍵傳遞到前臺(tái)應(yīng)用程序,當(dāng)前所改進(jìn)的系統(tǒng)容許多個(gè)應(yīng)用程序知道已經(jīng)按下了什么操作鍵。在某些環(huán)境中,多個(gè)應(yīng)用程序可能需要響應(yīng)一個(gè)操作鍵,即,瀏覽器和UI。對于傳統(tǒng)的傳遞操作鍵的微軟Windows CE方法,不存在那種能力。所述操作鍵管理器有能力注冊和取消注冊已知的應(yīng)用程序,這是對本技術(shù)的改進(jìn)。
當(dāng)應(yīng)用程序通過操作鍵管理器進(jìn)行注冊時(shí),該應(yīng)用程序也讓操作鍵管理器知道它需要什么類型的操作鍵。該應(yīng)用程序的選擇是遙控操作鍵、鍵盤操作鍵、以及FPA操作鍵。所述操作鍵管理器使用這個(gè)信息來決定所述應(yīng)用程序是否需要接收來自某一設(shè)備的操作鍵。
盡管在此已經(jīng)詳細(xì)說明了本發(fā)明和發(fā)明人已知的執(zhí)行本發(fā)明的最好的方法,對于本領(lǐng)域的技術(shù)人員將理解本發(fā)明并制作和使用它,在不偏離本發(fā)明的精神和范圍的情況下,各種替代、修改和改進(jìn)應(yīng)該是顯而易見的。
權(quán)利要求
1.一種將用戶信號(hào)傳遞給使用操作系統(tǒng)運(yùn)行的多個(gè)應(yīng)用程序的方法,該方法包括步驟從每個(gè)應(yīng)用程序收到關(guān)于所述應(yīng)用程序所要求的用戶信號(hào)的信息;將與每個(gè)應(yīng)用程序相關(guān)的所要求的用戶信號(hào)存儲(chǔ)到存儲(chǔ)器中;從用戶界面設(shè)備接收用戶信號(hào);從所述存儲(chǔ)器檢索要求所述接收的用戶信號(hào)的應(yīng)用程序;以及將所接收的用戶信號(hào)發(fā)送給每個(gè)被檢索到的應(yīng)用程序。
2.如權(quán)利要求1所述的方法,還包括步驟將所接收的用戶信號(hào)發(fā)送給所述操作系統(tǒng)。
3.如權(quán)利要求1所述的方法,還包括步驟將所接收的用戶信號(hào)轉(zhuǎn)換為可由所述操作系統(tǒng)識(shí)別的第二信號(hào)并將該第二信號(hào)發(fā)送給所述操作系統(tǒng)。
4.如權(quán)利要求1所述的方法,其中所述操作系統(tǒng)是Windows CE。
5.如權(quán)利要求1所述的方法,其中所述應(yīng)用程序包括用戶界面和瀏覽器。
6.如權(quán)利要求1所述的方法,其中所述用戶信號(hào)通過來自遙控設(shè)備、前面板按鈕、和/或所述系統(tǒng)的IR而接收。
7.如權(quán)利要求1所述的方法,還包括用戶信號(hào)的檢錯(cuò)和轉(zhuǎn)換。
8.如權(quán)利要求1所述的方法,包括通過紅外驅(qū)動(dòng)器和前面板組件驅(qū)動(dòng)器注冊操作鍵管理器、通過所述操作鍵管理器注冊激活的應(yīng)用程序以及對未激活的應(yīng)用程序取消注冊、注冊與每個(gè)激活的應(yīng)用程序?qū)?yīng)的一組操作鍵以及當(dāng)應(yīng)用程序?yàn)槲醇せ顣r(shí)對該組操作鍵取消注冊、和將所接收的操作鍵傳遞給注冊了所接收操作鍵的激活應(yīng)用程序。
9.如權(quán)利要求8所述的方法,其中當(dāng)注冊應(yīng)用程序時(shí),由操作鍵管理器存儲(chǔ)對應(yīng)于所述應(yīng)用程序的消息列隊(duì)的名字和大小,所述操作鍵管理器根據(jù)名字和大小產(chǎn)生一個(gè)消息列隊(duì)的尾端以便將操作鍵傳遞給所述應(yīng)用程序。
10.如權(quán)利要求8所述的方法,其中將所有的操作鍵進(jìn)行轉(zhuǎn)換,以便等效匹配操作系統(tǒng)、被發(fā)送到所述操作系統(tǒng)、以及其后被傳遞到頂層應(yīng)用程序,而如果所述頂層應(yīng)用程序不需要該操作鍵,則該操作鍵隨后依次被傳遞到接受所述操作鍵的下一最高層應(yīng)用程序。
11.如權(quán)利要求8所述的方法,其中所述操作鍵被轉(zhuǎn)換以等效匹配操作系統(tǒng)、被發(fā)送到所述操作系統(tǒng)、以及其后被傳遞到響應(yīng)所述操作鍵的每個(gè)應(yīng)用程序。
12.如權(quán)利要求8所述的方法,其中當(dāng)通過所述操作鍵管理器對應(yīng)用程序進(jìn)行注冊時(shí),對被所述應(yīng)用程序要求的操作鍵類型進(jìn)行注冊。
13.如權(quán)利要求12所述的方法,其中所述操作鍵類型是從由遙控操作鍵、鍵盤操作鍵、和前面板組件的操作鍵組成的組中選擇的。
14.一種具有存儲(chǔ)器和適宜運(yùn)行多個(gè)應(yīng)用程序的操作系統(tǒng)的裝置,該應(yīng)用程序由用戶信號(hào)控制,該裝置包括注冊每個(gè)應(yīng)用程序要求的所述用戶信號(hào)的單元、接收用戶信號(hào)的單元、以及將每個(gè)所接收的用戶信號(hào)發(fā)送給注冊要求該用戶信號(hào)的所述應(yīng)用程序的單元。
15.如權(quán)利要求14所述的裝置,該裝置包括電視機(jī)、瀏覽器、顯示器、以及鍵盤。
16.如權(quán)利要求14所述的裝置,包括顯示用戶界面的單元、接收紅外遙控信號(hào)的單元、接收前面板組件信號(hào)的單元以及接收鍵盤信號(hào)的單元。
全文摘要
一種裝置,具有存儲(chǔ)器和運(yùn)行由用戶信號(hào)控制的多個(gè)應(yīng)用程序的操作系統(tǒng),所述裝置包括對每個(gè)應(yīng)用程序要求的用戶信號(hào)進(jìn)行注冊的單元、接收用戶信號(hào)的單元、以及將每個(gè)所接收的用戶信號(hào)發(fā)送給注冊要求該信號(hào)的應(yīng)用程序的單元。一種將用戶信號(hào)傳遞給使用操作系統(tǒng)運(yùn)行的多個(gè)應(yīng)用程序的方法,該方法包括從每個(gè)應(yīng)用程序接收關(guān)于被應(yīng)用程序要求的用戶信號(hào)的信息;將要求的與每個(gè)應(yīng)用程序相關(guān)的用戶信號(hào)存儲(chǔ)到存儲(chǔ)器中;從用戶界面設(shè)備接收用戶信號(hào);從存儲(chǔ)器檢索要求所接收的用戶信號(hào)的應(yīng)用程序;以及將所接收的用戶信號(hào)發(fā)送給每個(gè)被檢索到的應(yīng)用程序。
文檔編號(hào)G06F9/44GK1653426SQ03811112
公開日2005年8月10日 申請日期2003年4月17日 優(yōu)先權(quán)日2002年4月22日
發(fā)明者查德·A·勒菲弗里, 小史蒂文·L·庫珀, 詹姆斯·D·坦巴奇, 戴維·J·林奇 申請人:湯姆森特許公司