專利名稱:在多個輸入裝置之間實現一致性操作的操作系統的制作方法
技術領域:
本說明書一般地涉及操作運行在移動計算裝置上的應用程序,并且更具體地,本 說明書涉及將通常與應用程序相關的操作委派給移動計算裝置的操作系統。
背景技術:
諸如個人數字助理(PDA)、智能手機、MP3播放器的移動計算裝置通常采用不同的 用戶輸入裝置。例如,某些移動計算裝置采用觸摸屏和許多按鈕的組合,作為其用戶輸入裝 置,而其他移動計算裝置采用小鍵盤或者觸摸屏,作為其唯一用戶輸入裝置。在某些情況 下,同一移動計算裝置的兩個或者更多個輸入裝置使得在該移動計算裝置上執行相同的操 作。例如,為了在智能電話上執行電話呼叫,用戶可以按下智能電話上的制定鍵,或者觸摸 顯示在智能電話的觸摸屏上的圖標。在傳統的移動計算裝置上,編制應用程序,以處理來自設備驅動器的原始輸入信 息,并且根據該輸入信息的指示,執行操作。在采用觸摸屏的移動計算裝置中,例如,安裝在 移動計算裝置上的操作系統(具體地說,設備驅動器)將物理輸入信號翻譯為可以被應用 程序譯碼的原始輸入事件信息(例如,小鍵盤上的鍵“a”被按下)。每個應用程序均包括代 碼或者例程,以接收輸入事件信息,并根據該輸入事件信息,執行操作。在傳統的移動計算裝置上,每個應用程必須被編制,以接收該輸入事件信息,并對 該輸入事件信息做出響應。盡管該操作系統的設備驅動器將物理輸入信號翻譯為輸入事件 信息,但是每個應用程序均包括代碼或者例程,以尋址與不同設備驅動器相關的輸入事件 信息。此外,不同的應用程序開發者可以采用不同的準則來定義哪個輸入事件信息代表哪 個應用程序的操作。這樣可能導致,在不同的應用程序中,用戶輸入的定義不一致,這樣降 低了移動計算裝置的總體用戶體驗。此外,由于包括尋址不同類型輸入裝置的代碼和例程,增加了應用程序編程者的 負擔。應用程序開發者必須預先考慮可能用于該移動計算裝置的用戶輸入裝置,并且在每 個應用程序中設置例程和代碼,以從不同類型的用戶輸入裝置中尋址用戶輸入。當開發新 型用戶輸入裝置,并且將該新型用戶輸入裝置集成到移動計算裝置上時,問題就嚴重了。當 新的用戶輸入裝置可用時,應用程序開發者必須分別對應用程序進行更新,以結合新用戶 輸入裝置工作。因此,連同其他缺陷,即使采用不同的輸入裝置來接收用戶輸入,現有技術仍缺少 使用戶在多個應用程序中有一致體驗的技術方案和方法。此外,現有技術還缺少使應用程 序與不同類型的用戶輸入裝置一致通信的導航方案和方法。
發明內容
所披露的實施例采用操作系統將來自輸入裝置的物理輸入信號翻譯為導航信息, 該導航信息代表其邏輯級別比該物理輸入信號的邏輯級別高的信號,并且對該操作系統上 可執行的兩個或者更多個應用程序,調用導航操作。該導航操作代表用戶有意在應用程序上執行的動作單元(例如,“選擇”項目)。該導航操作可以是兩個或者更多個應用程序共 同的或者可以應用于兩個或者更多個應用程序的操作。該操作系統被分配了將該低級輸入 信號處理成高級導航信息的任務,因此,該應用程序免除了尋址該低級輸入信號的任務。在一個實施例中,該導航信息調用核心導航命令,例如,包括選擇該應用程序中 的項目,激活該應用程序中的被選項目,返回該移動計算裝置在激活被選項目之前的狀態, 變更為該移動計算裝置的預定操作可以被執行時該移動計算裝置的狀態,以及變更為該應 用程序的選項可以被設置的狀態。在一個實施例中,該操作系統包括核心導航模塊,用于將來自不同輸入裝置的輸 入映射到該導航信息。該核心導航模塊包括輸入映射表,該輸入映射表指出,來自哪個輸入 裝置的哪個輸入信號會調用哪個導航操作。該核心導航模塊用于將來自不同輸入裝置的用 戶輸入一致翻譯為導航信息,用于在該應用程序調用該導航操作。在一個實施例中,該操作系統定義一組導航信息。該第一輸入裝置的第一輸入信 號可以被映射到該組導航信息中的第一分組,而該第二輸入裝置的第二輸入信號可以被映 射到該組導航信息中的第二分組。該第一分組的導航信息可以與該第二分組的導航信息重 疊。通過對不同輸入裝置采用不同分組的導航信息,該輸入裝置可以被編排,以根據該輸入 裝置的能力和特性表示大量的導航信息。該說明書中描述的特征和優點并不是全部包括在內的,特別是,根據附圖、說明書 和權利要求書,許多附加特征和優點對于本技術領域內的技術人員是顯而易見的。此外,應 當注意,選擇該說明書中使用的語言主要是為了便于閱讀和講授,而不是為了描述或者限 定所披露的主題選擇的。
結合附圖研究下面的詳細說明,可以輕而易舉地理解所披露的實施例。圖1A是示出根據一個實施例,具有第一硬件配置的第一移動計算裝置的示意圖。圖1B是示出根據一個實施例,具有第二硬件配置的第二移動計算裝置的示意圖。圖2是示出根據一個實施例的移動計算裝置的結構的方框圖。圖3A和3B是示出根據一個實施例,在具有不同硬件配置的移動計算裝置上生成 屏幕圖像的處理過程的方框圖。圖4A和4B是示出根據一個實施例,利用從輸入裝置收到的用戶輸入在應用程序 內或者在應用程序之外導航的處理過程的方框圖。圖5是根據一個實施例的操作系統的核心導航模塊的示意圖。圖6是示出根據一個實施例,采用不同輸入裝置執行導航操作的方法的流程圖。
具體實施例方式操作系統的實施例提供了一種環境,在這種環境下,應用程序無需尋找來自不同 輸入裝置的輸入信號的差異。該操作系統將原始輸入信號處理為表示在應用程序上的導航 操作的高級導航信息。該操作系統將該高級導航信息送到該應用程序,代替該原始輸入信 號;因此,該應用程序被解除了與從來自不同輸入裝置的原始輸入信號中尋找特異性相關 的任務。
5
該移動計算裝置指具有至少一個輸入裝置的任意便攜式計算裝置。該移動計算裝 置可以是包括智能電話、個人數字助理(PDA)、游戲機(game console)、MP3播放器和移動 電話的計算裝置以及其他裝置。該移動計算裝置還可以指移動客戶機裝置或者手持計算裝 置。該移動客戶機裝置至少包括處理器和用于存儲操作系統和應用程序的存儲裝置。物理輸入信號是由該移動計算裝置的輸入裝置產生的原始信號。該物理輸入信號 表示該輸入裝置上的物理變化,包括電子部件的電阻或者電容的變化以及其他變化。例如, 在小鍵盤上,物理輸入信號表示特定鍵是否被用戶按下。例如,在觸摸屏上,物理輸入信號 表示屏幕上的哪個部分(垂直坐標和水平坐標)被用戶觸摸。導航信息是指,由操作系統提供的表示移動計算裝置的用戶想要執行的導航操作 的信息。根據想要在應用程序上執行的特定事件,移動計算裝置的用戶對移動計算裝置的 輸入裝置提供用戶輸入。例如,當用戶按下“返回(back)”鍵時,用戶的意圖并不是使來自 該鍵的電信號,而是使導航操作返回該應用程序的先前屏幕。導航信息表示用戶的這種意 圖,即,在該應用程序上的該部分調用導航操作。導航信息的數量和類型可以根據移動計算 裝置變化。即,移動計算裝置可以僅使用操作系統提供的導航信息子集。作為一種選擇,移 動計算裝置還可以提供由該操作系統確定的公用導航信息之外的導航信息。典型移動計算裝置圖1A和1B示出根據本說明書的實施例,具有不同硬件配置的兩種移動計算裝置。 圖1A是智能電話的例子,它至少包括觸摸屏26、小鍵盤24、五向導航鍵16以及功能按鈕 18、20、22,作為其用戶輸入裝置。該小鍵盤用于輸入字母數字字符,而五向導航鍵16可以 用于在該應用程序的菜單或者項目上向左、向右、向上以及向下導航。五向導航鍵16的中 心可以被按下,以表示在導航經過該菜單或者項目后,選擇該項目。功能鍵18、20、22可以 用于執行特定指定功能(例如,設置或者啟動萬維網瀏覽器的選項)。觸摸屏26可以用于 結合小鍵盤24或者其他鍵16、18、20、22輸入數據。圖1B是采用觸摸屏40、功能鍵32、34、36、38、撥盤40和中心按鈕42作為其輸入 裝置的移動電話的例子。大多數用戶輸入都是由觸摸屏40提供的,而其他輸入裝置專用于 其他基本功能。例如,功能鍵32、34、36、38可以用于執行指定功能,諸如發出呼叫,啟動互 聯網瀏覽器、拍攝照片、或者啟動電子郵件程序。圖1A所示的智能電話和圖1B所示的移動電話均采用相同的操作系統,下面將參 考圖2進行詳細解釋。安裝在圖1A所示智能電話中的和安裝在圖1B所示移動電話中的操 作系統與多個用戶輸入裝置交互,但是提供一致的高級導航信息,下面將參考圖4A和4B作 詳細解釋。具體地說,圖1A所示智能電話上的操作系統對來自觸摸屏26、小鍵盤24、五向 導航鍵16以及功能按鈕18、20、22的用戶輸入進行處理,而圖1B所示移動電話上的相同操 作系統對來自觸摸屏40、功能鍵32、34、36、38、撥盤40、以及中心按鈕42的用戶輸入進行處 理。移動計算裝置的上述例子僅用于說明可以引入移動計算裝置的各種不同輸入裝 置。可以用于移動計算裝置的各種其他類型的輸入裝置包括鼠標、跟蹤球、鍵盤、游戲桿、 語音命令系統的麥克風或者待開發的其他輸入裝置,以及其他裝置。移動計算裝置的結構圖2是示出根據一個實施例的移動計算裝置的各部件的方框圖。圖2所示的移動 計算裝置包括處理器(未示出)、內存200、屏幕238、以及多個輸入裝置240A-N,以及其他
6部件。輸入裝置240A-N可以是例如參考圖1A和1B描述的各種類型的用戶輸入裝置。處理器與內存200相連,以執行使移動計算裝置操作的指令。內存200存儲軟件 部件,包括操作系統220和應用程序210A-N(下面統稱為應用程序210)。內存200可以由 包括閃速存儲器件、硬盤、軟盤、以及隨機存取存儲器(RAM)的各種存儲裝置予以實現。操作系統220管理移動計算裝置的資源,并且使應用程序210與輸入裝置240A-N 交互。操作系統220包括驅動器226、硬件信息224、核心導航模塊228、以及樣式表222。 與傳統操作系統中相同,每個設備驅動器均與諸如屏幕238或者輸入裝置240A-N的硬件部 件相連,從而使應用程序210與硬件部件交互。具體地說,與輸入裝置240A-N相連的設備驅 動器將來自輸入裝置的物理輸入信號翻譯為原始輸入事件信息(例如,小鍵盤上的鍵“a” 被按下)。在一個或者多個實施例中,多個序列的輸入事件信息被映射到單個導航信息。然 后,該輸入事件信息由核心導航模塊228翻譯為代表高級導航操作的導航信息。硬件信息224由操作系統管理,以指出移動計算裝置的當前硬件配置。硬件信息 224可以由該移動計算裝置在檢測到安裝在該移動計算裝置上的硬件部件后自動產生。作 為一種選擇,硬件信息224可以由該移動計算裝置的制造商編譯或者存儲在該移動計算裝 置上。在一個實施例中,操作系統220根據硬件信息224確定要裝載的設備驅動器和要映 射到核心導航模塊228的用戶輸入裝置240A-N。核心導航模塊228將該導航信息送到該應用程序210。在一個實施例中,核心導航 模塊228將來自不同輸入裝置的用戶輸入映射到該導航信息,正如下面參考圖5所詳細描 述的。核心導航模塊228檢索映射到該輸入事件信號的導航信息,然后,將該導航信息送到 應用程序210,以激勵導航操作。樣式表222與應用程序210交互,以在該移動計算裝置的顯示器件上顯示外觀一 致的屏幕圖像,正如下面參考圖3A和3B所詳細描述的。導航信息和導航操作該導航信息不同于由驅動器226提供的低級輸入事件信息。驅動器226提供的輸 入事件信息表示來自該用戶輸入裝置的特定用戶輸入,而可以不代表要在應用程序調用的 高級導航操作。該驅動器在收到物理輸入信號時所提供的輸入事件信息不代表特定導航操 作。該輸入事件信息可以由該應用程序(在傳統方法中)或者由該核心導航模塊(在本說 明書的實施例中)映射到不同操作,因此,該輸入事件信息本身可以不代表特定導航操作。 在本說明書的移動計算裝置中,該輸入事件信息由核心導航模塊228翻譯為導航信息。與 輸入事件信息相反,該導航信息代表導航操作,因為相同的導航信息在可能程度上的多個 應用程序210中調用相同的導航操作。在一個實施例中,該導航信息表示“選擇”操作、“激活”操作、“返回”操作、“歸位” 操作和“選項”操作以及其他操作。“選擇”操作允許用戶通過導航選擇該應用程序上的項 目。“激活”操作激活通過該應用程序的菜單或者項目導航后選擇的項目。“返回”操作表 示該應用程序中的先前狀態(例如,返回先前頁或者屏幕)。“歸位”操作變化到該操作系 統或者該應用程序的特定屏幕。移動計算裝置的應用程序可以被組織為樹結構,該樹結構 的每個分支代表不同的操作集。“歸位”操作允許用戶從操作的一個分支轉移到該操作的根 或者操作的另一個分支。例如,“歸位”操作允許用戶離開當前活動的應用程序(例如,日歷 程序),而轉移到執行諸如發出電話呼叫或者接收電話呼叫的預定操作的不同操作軸(axis
7of operation)。“選項”操作允許用戶將該應用程序轉移到可以對該應用程序的特定用戶 選項進行配置的狀態。在另一個實施例中,該導航信息進一步表示縮放(相對縮放或者縮放到特定比 例)、卷動/搖攝、以及定向輕彈(directional flicking)操作。該導航信息代表的操作的數量和類型可以依據該移動計算裝置的類型和應用的 不同而不同。在一些實施例中,為該應用程序操作所必不可少的導航操作,設置該導航信 息。在另一個實施例中,無遺漏地定義該導航信息,以包括通過該應用程序可以執行的所有 導航操作。典型移動計算裝置的輸出操作圖3A和3B示出在該移動計算裝置的顯示器件上產生輸出屏幕圖像的實施例。在 一個實施例中,應用程序210利用不同的可視單元(例如,圖標或者字母數字字符)在顯示 器件上產生屏幕圖像。利用樣式表222,應用程序210A-N可以在移動計算裝置的顯示器件 上產生具有一致外觀的屏幕圖像。在一個實施例中,應用程序210A將代表該可視單元的代碼送到樣式表222。樣式 表222解釋來自該應用程序210A的代碼,并產生代表將顯示在顯示器件上的可視單元的信 息。利用樣式表222,可以以一致方式在顯示器件上對該可視單元進行潤色,而不考慮該應 用程序210或者該顯示器件的硬件配置的差異。在圖3A所示的例子中,移動計算裝置(實線所示的)包括輸入/輸出裝置組340A。 具體地說,移動計算裝置包括觸摸屏314和小鍵盤318作為其輸入裝置以及屏幕A 322作 為其輸出裝置。應用程序210將代表可視單元的代碼(例如,指出在屏幕上繪制“電話”圖 標的代碼)送到樣式表222后,樣式表222將該代碼翻譯為可視單元信息(例如,“電話”圖 標的像素信息)。可視單元信息被送到屏幕驅動器A 338,以產生送到屏幕A 322的物理裝 置信號,用于潤色包括屏幕A 322上的可視單元的屏幕圖像。除了圖3B所示的移動計算裝置包括不同的輸入/輸出裝置組340B外,圖3B所示 的移動計算裝置(實線所示的)與圖3A所示的移動計算裝置基本相同。具體地說,輸入/ 輸出裝置組340B包括觸摸屏326、撥盤330和屏幕B 334。與屏幕A 322相比,屏幕B 334可以具有不同的能力、特性或者尺寸。盡管該屏幕 的能力或者尺寸不同,但是應用程序210仍可以在屏幕B上顯示一致的屏幕圖像,因為樣式 表222將來自應用程序210的代碼翻譯為適于屏幕B 334的可視單元信息。具體地說,樣 式表222根據硬件信息224確定屏幕B的能力、特性或者尺寸。然后,樣式表222考慮到屏 幕的不同能力、特性或者尺寸,以使不同屏幕上的屏幕圖像具有類似外觀的方式,產生可視 單元信息。典型移動計算裝置的輸入操作圖4A和4B示出根據從輸入裝置收到的物理輸入信號產生導航信息的移動計算裝 置的實施例。圖4A所示的移動計算裝置(實線示出)與圖3A所示的移動計算裝置相同。 圖4A僅是圖3A的鏡像處理,它示出同一個移動計算裝置中的輸入處理(圖3A示出輸出處 理)。如上參考圖3A所述,圖4A所示的移動計算裝置包括觸摸屏314和小鍵盤318,作為 其用戶輸入裝置。來自輸入裝置314、318的物理輸入信號由相應設備驅動器350和354翻譯為輸入
8事件信息。具體地說,來自觸摸屏314的物理輸入信號由觸摸屏驅動器354翻譯為輸入事 件信息。同樣,來自小鍵盤318的物理輸入信號由小鍵盤驅動器350翻譯為輸入事件信息。 撥盤驅動器360 (虛線框所示的)沒有激活,因為輸入/輸出裝置組340A不包括撥盤。輸 入事件信息被送到核心導航模塊228,以將該輸入事件信息翻譯為導航信息,如下參考圖5 所作的詳細解釋。圖4B示出與圖4A所示的移動計算裝置相同的移動計算裝置的實施例,只是圖4B 所示的移動計算裝置包括撥盤330,代替小鍵盤318作為其輸入裝置,而屏幕B 334作為其 輸出裝置。圖4B所示的移動計算裝置是圖3B的鏡像處理,它示出相同移動計算裝置中的 輸入處理(圖3B示出輸出處理)。在圖4B所示的實施例中,撥盤驅動器360是激活的,因 為輸入/輸出裝置組340B包括撥盤330。小鍵盤驅動器350 (虛線框所示的)沒有激活,因 為輸入/輸出裝置組340B不包括小鍵盤。如圖4A和4B所示,核心導航模塊228對來自不同設備驅動器的輸入事件信息進 行翻譯,以將高級導航信息送到應用程序210。該導航信息代表獨立于特定輸入裝置的導航 操作。因為應用程序210通過高級導航信息與該輸入裝置交互,所以該應用程序210不需 要在來自不同輸入裝置的輸入事件信息中尋找特異性,諸如數據類型、信息的頻率以及包 括在該輸入事件信息中的不同信息。圖4A和4B所示的例子僅是說明性的。還可以采用各種其他類型的輸入裝置。此 外,核心導航模塊228也不需要是與驅動器350、354、360分立的模塊。在一個實施例中,核 心導航模塊228可以與驅動器350、354、360組合在一起。而且,核心導航模塊228不需要 是專用于將輸入事件信息翻譯為導航信息的模塊。核心導航模塊228可以是執行翻譯輸入 事件信息以及其他操作的該操作系統中的其他模塊的一部分。核心導航模塊的結構圖5是示出根據一個實施例的核心導航模塊228的原理圖。核心導航模塊228是 用于將原始輸入事件信息翻譯為高級導航信息的操作系統220的一部分。在一個實施例 中,核心導航模塊228尤其包括輸入映射表530。從設備驅動器350、354、360收到一個或者 多個輸入事件信息后,該核心導航模塊228利用該輸入映射表530識別與該輸入事件信息 相關的導航信息。傳統的算法或者方法可以用于識別與該輸入事件信息匹配的導航操作。識別并且檢索了對應于該輸入事件信息的導航信息后,核心導航模塊228將該導 航信息送到該應用程序,以調用該導航操作。在一個實施例中,核心導航模塊228將該導航 信息修改為可以被收到該導航信息的特定應用程序識別的形式。例如,核心導航模塊228 可以將未被該應用程序識別的導航信息翻譯為被該應用程序識別的一系列導航信息。在圖5所示的例子中,輸入映射表530包括多行的項目,每行分別代表與一個輸入 裝置(例如,觸摸屏、撥盤或者小鍵盤)相關的用戶輸入。輸入映射表530中的列表示在該 應用程序上實現相同導航操作的輸入裝置的用戶輸入。例如,單觸該觸摸屏、撥盤的盤旋轉 指尖運動、以及按下導航鍵(例如,五向導航鍵)均使得在該應用程序210上“選擇”導航 操作。一些輸入裝置可以僅與該操作系統220提供的一個分組的導航操作相關。在圖5 所示的例子中,撥盤僅提供與該“選擇”操作、“激活”操作以及“歸位”操作相關的用戶輸 入。此外,不同輸入裝置可以與不同分組的導航操作相關。例如,觸摸屏可以僅與“選擇”操
9作和“激活”操作相關,而小鍵盤可以僅與“返回”操作和“歸位”操作相關。在一個實施例 中,該操作系統可以提供的導航信息的數量和類型局限于適用于兩個或者更多個應用程序 的導航信息。在另一個實施例中,可以提供的導航信息的數量和類型局限于,即使不適用于 全部,也適用于大多數應用程序的導航信息。盡管輸入裝置存在差異,但是核心導航模塊228仍可以將高級導航信息送到該應 用程序。因此,該應用程序不需要尋找來自不同輸入裝置的輸入信號的差異,并且可以在不 同計算裝置之間實現一致操作。該應用程序不需要包括用于尋址不同類型的輸入裝置的代 碼和例程。此外,核心導航模塊228可以允許從復合序列的輸入事件信息中映射高級導航 信息,因此,允許使用復合導航操作,否則,對于該應用程序就太麻煩了,以致不能實現。此 外,當新輸入裝置可用并被集成到移動計算裝置時,只是核心導航模塊228需要更新,而無 需為了適應該新輸入裝置調整全部應用程序。利用核心導航模塊進行導航的方法圖6是示出根據一個實施例,執行應用程序上的導航操作的方法的流程圖。首先, 在第一輸入裝置(例如,小鍵盤)接收614第一用戶輸入。然后,該第一輸入裝置將該物理 輸入信號送到操作系統220。操作系統220 (具體地說,該第一輸入裝置的設備驅動器)接 收630該物理輸入信號,然后,產生第一輸入事件信息。操作系統220從該核心導航模塊 230檢索634第一導航信息,然后,將該第一導航信息送到638該應用程序210。該應用程 序210接收該第一導航信息,然后,執行對應于該第一導航信息的導航操作(例如,“選擇” 操作)。在第二輸入裝置(例如,觸摸屏)收到622第二用戶輸入后,該第二輸入裝置將該 物理輸入信號送到626該操作系統220。該操作系統220 (具體地說,該第二輸入裝置的設 備驅動器)接收642該物理輸入信號,然后,產生第二輸入事件信息。該操作系統220從該 核心導航模塊228檢索646第二導航信息,然后,將該第二導航信息送到650該應用程序 210。該應用程序210接收658第二導航信息,然后,執行對應于該第二導航信息的第二導 航操作(例如,“激活”操作)。變型例子在一個實施例中,該設備驅動器可以包括使該輸入事件信息與該導航信息映射的 信息。當該設備驅動器活動時,該信息可以被傳送到核心導航模塊228。在一個實施例中, 利用來自設備驅動器的信息在輸入映射表530中插入新行。利用該設備驅動器上的信息, 當新輸入裝置被連接到或者集成到該移動計算裝置上時,該核心導航模塊228自動更新或 者改變。如上所述,實施例可以被配置為軟件單元或者模塊。軟件可以是利用編程語言編 寫為或者編碼為指令的進程(例如,參考圖6所述的)。編程語言的例子可以包括C、C++、 BASIC、Perl、Matlab、Pascal、Visual BASIC、JAVA、ActiveX、匯編語言、機器碼等等。指令 可以包括任意適當類型的代碼,諸如源代碼、目標代碼、編譯代碼、解釋代碼、可執行代碼、 靜態代碼、動態代碼等等。可以利用任意類型的計算機可讀介質或者機器可讀介質存儲該 軟件。此外,該軟件可以作為源代碼或者目標代碼存儲在介質上。該軟件還可以作為壓縮 的和/或者加密的數據存儲在介質上。該軟件的例子可以包括任意軟件部件、程序、應用軟 件、計算機程序、應用程序、系統程序、機器程序、操作系統軟件、中間件、固件、軟件模塊、例
10程、子例程、函數、方法、過程、軟件界面、應用程序編程接口(API)、指令集、計算代碼、計算 機代碼、代碼段、計算機代碼段、字、值、符號、或者它們的任意組合。該實施例并不局限于這 種情況。例如,一些實施例可以利用任意有形計算機可讀介質、機器可讀介質、或者能夠存 儲軟件的制品。該介質或者制品可以包括任意適當類型的存儲單元、存儲器件、存儲制品、 存儲介質、儲存器件、儲存制品、儲存介質和/或者儲存單元,諸如參考存儲器描述的任意 例子。介質或者制品可以包括存儲器、可移動或者不可移動介質、可擦或者不可擦介質、可 寫或者可重寫介質、數字或者模擬介質、硬盤、軟盤、只讀光盤(CD-ROM)、可錄光盤(CD-R)、 可擦寫光盤(CD-RW)、光盤、磁介質、磁光盤、可移動存儲卡或者盤、各種類型的數字多功能 光盤(DVD)、用戶識別模塊、磁帶、卡型盒式磁帶機等等。在此使用的任何涉及“一個實施例”或者“實施例”均指,結合該實施例描述的特 定單元、特征、結構或者特性包括在至少一個實施例中。在該說明書各位置出現的短語“在 一個實施例中”不一定都指同一個實施例。在此使用的術語“包括”、“包含”、“含有”、“含括”、“具有”、“有”或者它們的任何其
它變型均用于指非排他性包括。例如,包括一系列單元的處理過程、方法、制品或者設備不 必僅局限于這些單元,而是可以包括沒有明確列出的或者對這些處理過程、方法、制品或者 設備固有的其它單元。此外,除非有明確相反地說明,“或者”指包含的或,而非指排他性的 或。例如,條件A或者B由下面中的任何一項滿足:A成立(或者存在)而B不成立(或者 不存在),A不成立(或者不存在)而B成立(或者存在),以及A和B 二者都成立(或者 存在)。此外,在此采用“一個”描述本發明實施例的單元和部件。這樣做只是為了方便并 給出本發明實施例的一般意義。應當認為該描述包括一個或者至少一個,并且該單數形式 也包括多個,除非顯而易見地意味著別的意思。本說明書的實施例提供了一種環境,在這種環境下,應用程序被解除了處理與不 同輸入裝置相關的低級輸入信息的任務。該低級輸入信息由該操作系統翻譯為高級導航信 息,然后,將它送到該應用程序。有利的是,該應用程序中的代碼不需要為了尋址與不同輸 入裝置相關的不同低級輸入信息而改變。此外,可以在該應用程序之內或者之外實現一致 導航操作,因為不同的應用程序之間采用相同的高級導航信息。閱讀了所披露的內容后,根據在此披露的原理,本技術領域內的技術人員還可以 設想,用于提供導航信息的系統和處理過程的附加變型結構和功能設計。因此,盡管在此示 出并描述了特定實施例和應用,但是應當明白,所披露的實施例并不局限于在此披露的具 體構造和部件,在不脫離所附權利要求書限定的實質范圍的情況下,可以對在此披露的本 實施例的方法和設備的布置、操作和細節進行各種修改、變更和變型,這對于本技術領域內 的技術人員是顯而易見的。
1權利要求
一種移動計算裝置,包括第一輸入裝置,配置成產生第一輸入信號以響應收到第一用戶輸入;操作系統,與該第一輸入裝置相關,該操作系統配置成將該第一輸入信號翻譯為與多個應用程序相關的導航信息,該導航信息代表邏輯級別比該第一輸入信號高的信號,并且代表用戶有意在多個應用程序上執行的導航操作;以及應用程序模塊,與該操作系統相關,用于執行多個應用程序,該應用程序執行該導航信息表示的導航操作。
2.根據權利要求1所述的移動計算裝置,進一步包括第二輸入裝置,用于產生第二輸 入信號以響應收到第二用戶輸入,該操作系統將該第二輸入信號翻譯為另一個導航信息, 該多個應用程序執行由該另一個導航信息表示的導航操作。
3.根據權利要求2所述的移動計算裝置,其中該操作系統包括核心導航模塊,用于將 該第一輸入信號和該第二輸入信號映射到導航信息。
4.根據權利要求2所述的移動計算裝置,其中該操作系統存儲一組導航信息,每個導 航信息調用該多個應用程序上的不同導航操作,該第一輸入信號映射到該組導航信息中的 第一分組,并且該第二輸入信號映射到該組導航信息中的第二分組。
5.根據權利要求1所述的移動計算裝置,其中該導航操作包括選自下面的組中的至少 一個操作選擇該應用程序的項目,激活該應用程序的被選項目,返回該移動計算裝置在激 活被選項目之前的狀態,在該移動計算裝置的預定操作可以被執行時變更該移動計算裝置 的狀態,以及變更狀態以接收配置選項。
6.根據權利要求1所述的移動計算裝置,其中該多個應用程序不包括用于處理來自該 第一輸入裝置的該第一輸入信號的代碼或者例程。
7.一種用于處理對移動計算裝置操作的用戶輸入的方法,該方法包括在第一輸入裝置,產生第一輸入信號以響應收到第一用戶輸入;在操作系統,將該第一輸入信號翻譯為與多個應用程序相關的導航信息,該導航信息 代表邏輯級別比該第一輸入信號高的信號,并且代表用戶有意在多個應用程序上執行的導 航操作;以及在多個應用程序上,執行由該導航信息表示的導航操作。
8.根據權利要求7所述的方法,進一步包括產生第二輸入信號以響應在第二輸入裝置 上收到第二用戶輸入的,該操作系統將該第二輸入信號翻譯為另一個導航信息,并且該多 個應用程序執行由該另一個導航信息表示的導航操作。
9.根據權利要求8所述的方法,其中將該第一輸入信號翻譯為導航信息包括從輸入映 射表中檢索對應于該第一輸入信號的導航信息。
10.根據權利要求8所述的方法,其中該操作系統將該第一輸入信號映射到第一組導 航信息,并且將該第二輸入信號映射到第二組導航信息。
11.根據權利要求7所述的方法,其中該導航操作包括選自下面的組中的至少一個操 作選擇該應用程序的項目,激活該應用程序的被選項目,返回該移動計算裝置在激活被 選項目之前的狀態,在該移動計算裝置的預定操作可以被執行時變更該移動計算裝置的狀 態,以及變更狀態以接收配置選項。
12.根據權利要求7所述的方法,其中該多個應用程序不對該第一輸入信號進行處理。
13.—種包括計算機可讀存儲介質的計算機程序產品,構造成存儲可以被移動客戶機 裝置內的處理器執行的指令,該指令當被執行時使該處理器在該操作系統,接收來自第一用戶輸入的第一輸入信號以響應第一用戶輸入;在該操作系統,將該第一輸入信號翻譯為與多個應用程序相關的導航信息,該導航信 息代表邏輯級別比該第一輸入信號高的信號,并且代表用戶有意在多個應用程序上執行的 導航操作;以及在該多個應用程序,執行該導航信息表示的導航操作。
14.根據權利要求13所述的計算機程序產品,進一步包括指令,以在該操作系統,接收第二輸入信號以響應在第二輸入裝置收到第二用戶輸入;在該操作系統,將該第二輸入信號翻譯為另一個導航信息;以及在該多個應用程序,執行該另一個導航信息表示的導航操作。
15.根據權利要求14所述的計算機程序產品,其中將該第一輸入信號翻譯為導航信息 的指令包括在輸入映射表中檢索對應于該第一輸入信號的導航信息的指令。
16.根據權利要求13所述的計算機程序產品,其中該導航操作包括選自下面的組中的 至少一個操作選擇該應用程序的項目,激活該應用程序的被選項目,返回該移動計算裝置 在激活被選項目之前的狀態,在該移動計算裝置的預定操作可以被執行時變更該移動計算 裝置的狀態,以及變更狀態以接收配置選項。
17.根據權利要求13所述的計算機程序產品,其中該多個應用程序不包括對該第一輸 入信號的進行處理的指令。
18.—種移動計算裝置,包括第一輸入裝置,配置成產生第一輸入信號以響應收到第一用戶輸入;操作系統,與該第一輸入裝置相關,該操作系統配置成將該第一輸入信號翻譯為與多 個應用程序相關的導航信息,該導航信息代表邏輯級別比該第一輸入信號高的信號,并且 代表從包括選自下面的組中的至少一個導航操作選擇該應用程序的項目,激活該應用程 序的被選項目,返回該移動計算裝置在激活被選項目之前的狀態,在該移動計算裝置的預 定操作可以被執行時變更該移動計算裝置的狀態,以及變更狀態以接收配置選項;以及應用程序模塊,與該操作系統相關,用于執行多個應用程序,該應用程序執行由該導航 信息表示的導航操作,該多個應用程序不包括用于處理該第一輸入信號的代碼或者例程。
19.根據權利要求18所述的移動計算裝置,進一步包括第二輸入裝置,用于產生第二 輸入信號以響應收到第二用戶輸入,該操作系統將該第二輸入信號翻譯為另一個導航信 息,該多個應用程序執行由該另一個導航信息表示的導航操作。
20.根據權利要求18所述的移動計算裝置,該操作系統進一步配置成在該移動計算裝 置的顯示器件上提供與該多個應用程序相關的屏幕圖像,該屏幕圖像具有一致的外觀。全文摘要
移動計算裝置的操作系統將來自輸入裝置的原始輸入信號翻譯為用于調用應用程序上的導航操作的導航信息。該導航操作代表用戶有意在應用程序上執行的動作單元(例如,“選擇”項目)。在該操作系統,來自不同輸入裝置的輸入信號被映射到導航信息。該應用程序接收并處理該導航信息,因此,該應用程序被解除了與處理原始輸入信號相關的任務。通過提供來自該操作系統的導航信息,可以在不同應用程序上,實現一致導航操作,并且應用程序的編程者可以為具有不同硬件配置的計算裝置方便地編制應用程序。
文檔編號G06F3/02GK101978364SQ200980109342
公開日2011年2月16日 申請日期2009年1月15日 優先權日2008年1月18日
發明者保羅·默瑟 申請人:帕姆公司