專利名稱:智能軟鍵盤的制作方法
智能軟鍵盤背景便攜式計(jì)算機(jī),諸如圖形輸入板PC、膝上型計(jì)算機(jī)、PDA和袖珍PC有 許多挑戰(zhàn)性的設(shè)計(jì)問題。 一方面,期望它們重量應(yīng)較輕并易于攜帶且易于使用。 另一方面,期望它們應(yīng)具有長電池壽命、強(qiáng)有力且提供大顯示器。這些潛在沖 突的設(shè)計(jì)準(zhǔn)則使得難以產(chǎn)生理想的便攜式計(jì)算機(jī)。為了最小化重量和空間,一種方法是在顯示器上使用軟鍵盤來進(jìn)行數(shù)據(jù)輸 入。提供軟鍵盤的一種方法是提供具有觸摸敏感特征的顯示器。顯示器的一部 分,它可以是從1至l」1/N的一分?jǐn)?shù),其中N為正整數(shù),它可被配置來在類似于 鍵盤的裝置中的軟按鍵上顯示符號,諸如字母表中的字符。通過按壓顯示器上 的適當(dāng)位置,可選擇符號。通過重復(fù)選擇符號,個(gè)人可用已知方式輸入數(shù)據(jù)。然而,如可以理解的,便攜式設(shè)備的顯示器上可用的空間量有限。如果顯 示器的一部分要用于顯示用戶選擇,則可用空間被進(jìn)一步減小。此外,將符號 大小減少到某一點(diǎn)以下是不切實(shí)際的,因?yàn)殡y以在視覺上區(qū)分符號的差異。從 而,可能難以顯示期望顯示的所有符號。采用包括可能包括或可能不包括重音 符的符號的某些語言,這個(gè)問題進(jìn)一步惡化。一個(gè)解決方案提供諸如shift (換檔)鍵的修正健。通過選擇適當(dāng)?shù)男拚。?每一軟按鍵可用的選擇可改變。然而,這需要額外的選擇。在常規(guī)硬鍵盤上使 用修飾鍵一般不是問題,因?yàn)殡p手可同時(shí)使用。然而,通常使用同一手指或定 點(diǎn)設(shè)備選擇隨后的軟按鍵來操作軟鍵盤。因此,要求用戶首先選擇修飾鍵然后 選擇所需鍵可能會(huì)不合期望地降低數(shù)據(jù)輸入的速度。概述可在觸摸敏感顯示器上提供具有多個(gè)軟按鍵的軟鍵盤,且每一軟按鍵可包 括一符號。用戶可通過按壓觸摸敏感屏幕上適當(dāng)位置中的選擇器來選擇軟按鍵 之一。用戶可通過以與修飾鍵對準(zhǔn)的方向拖曳選擇器來選擇初始選中的符號的 修飾版本。選擇可通過在觸摸敏感屏幕上抬起選擇器來敲定(finalize)或輸入。為了向用戶提供反饋,與初始選中符號相關(guān)聯(lián)的潛在符號可在初始選擇周圍顯 示,使得以所需符號的方向拖曳選擇器將允許用戶選擇該符號。提供該概述以簡化形式介紹將在以下在詳細(xì)描述中進(jìn)一步描述的一些概 念。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或本質(zhì)特征,也不旨在用 于顯示所要求保護(hù)的主題的范圍。附圖簡述作為示例而非限制在附圖中示出本發(fā)明,其中相同的參考標(biāo)號指示相似的 元素,附圖中
圖1A示出了可在其中實(shí)現(xiàn)本發(fā)明的某些方面的通用數(shù)字計(jì)算環(huán)境的示意圖。圖IB到1M示出支持本發(fā)明的一個(gè)或多個(gè)方面的通用計(jì)算機(jī)環(huán)境。 圖2示出可在其中實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的圖形輸入板計(jì)算環(huán)境 的示意圖。圖3示出了可在其中實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的便攜式計(jì)算機(jī)環(huán)境的示意圖。圖4示出了可在其中實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的顯示器上的軟鍵盤的實(shí)施例。圖5示出了可在其中實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的顯示符號的軟按鍵。 圖6a到6b示出了根據(jù)本發(fā)明的一個(gè)或多個(gè)方面的沿第一符號周界設(shè)置的一組符號的實(shí)施例。圖7到8示出了根據(jù)本發(fā)明的一個(gè)或多個(gè)方面的選擇與第一符號相關(guān)聯(lián)的符號的方法。圖9示出了根據(jù)本發(fā)明的一個(gè)或多個(gè)方面的輸入符號的方法。 詳細(xì)描述使用軟鍵盤具有一定的好處。首先,可提供API以允許其它應(yīng)用程序控制 和監(jiān)控對屏幕上顯示的使用。此外,可容易地定制軟鍵盤的顏色和外觀。此外, 可對各種應(yīng)用程序和硬件使用類似的軟鍵盤,而僅對軟按鍵的顯示大小和用于符號的字體大小進(jìn)行簡單修改。根據(jù)以下公開,其它優(yōu)點(diǎn)將變得顯而易見。通用計(jì)算環(huán)境圖la示出了可在其上實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境ioo只是合適的計(jì)算環(huán)境的一個(gè)示例,并不旨在對本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該把計(jì)算環(huán)境100解釋為對示例性操作環(huán)境 100中示出的任一組件或其組合有任何依賴性或要求。本發(fā)明可用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作。適合在本發(fā) 明中使用的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算 機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、 機(jī)頂盒、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包含上述系統(tǒng) 或設(shè)備中的任一個(gè)的分布式計(jì)算機(jī)環(huán)境等。本發(fā)明可在諸如程序模塊等由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的通用語 境中描述。 一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等, 它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計(jì)算環(huán)境 中實(shí)現(xiàn),其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介 質(zhì)中。參考圖la,用于實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括計(jì)算機(jī)110形式的通 用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可以包括,但不限于,處理單元120、系統(tǒng)存 儲(chǔ)器130和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng) 總線121。系統(tǒng)總線121可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器 總線或存儲(chǔ)器控制器、外圍總線和使用各種總線體系結(jié)構(gòu)中的任一種的局部總 線。作為示例,而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總 線、微通道體系結(jié)構(gòu)(MCA)總線、擴(kuò)展的ISA (EISA)總線、視頻電子技 術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也被稱為Mezzanine 總線)。計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能夠被 計(jì)算機(jī)110訪問的任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì) 和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算 機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、 ROM、 EEPROM、 閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、 磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以 由計(jì)算機(jī)110訪問的任何其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳 輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù) 據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"指的是這樣一種信號, 其一個(gè)或多個(gè)特征以在信號中編碼信息的方式被設(shè)定或更改。作為示例,而非 限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接的有線介質(zhì),以及諸如聲學(xué)、 RF、紅外線和其它無線介質(zhì)的無線介質(zhì)。上述中任一個(gè)的組合也應(yīng)包括在計(jì)算 機(jī)可讀介質(zhì)的范圍之內(nèi)。系統(tǒng)存儲(chǔ)器130包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì), 諸如只讀存儲(chǔ)器(ROM) 131和隨機(jī)存取存儲(chǔ)器(RAM) 132?;据斎?輸出 系統(tǒng)133 (BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)110中元件之間傳遞信息的 基本例程,它通常被存儲(chǔ)在ROM131中。RAM 132通常包含處理單元120可 以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制, 圖la示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。計(jì)算機(jī)110也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存 儲(chǔ)介質(zhì)。僅作為示例,圖la示出了從不可移動(dòng)、非易失性磁介質(zhì)中讀取或向 其寫入的硬盤驅(qū)動(dòng)器141,從可移動(dòng)、非易失性磁盤152中讀取或向其寫入的 磁盤驅(qū)動(dòng)器151,以及從諸如CDROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光 盤156中讀取或向其寫入的光盤驅(qū)動(dòng)器155。可以在示例性操作環(huán)境下使用的 其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,盒 式磁帶、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。 硬盤驅(qū)動(dòng)器141通常由諸如接口 140等不可移動(dòng)存儲(chǔ)器接口連接至系統(tǒng)總線 121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常由諸如接口 150等的可移動(dòng)存儲(chǔ) 器接口連接至系統(tǒng)總線121。以上描述和在圖la中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算 機(jī)110提供了對計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例 如,在圖la中,硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其 它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用 程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng) 用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的標(biāo)號是 為了說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,諸如鍵盤162和定 點(diǎn)設(shè)備161 (通常指鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)20輸入命令和信息。其 它輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、 掃描儀等。這些和其它輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 160連 接至處理單元120,但也可以由其它接口或總線結(jié)構(gòu),諸如并行端口、游戲端 口或通用串行總線(USB)連接。監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由接 口,諸如視頻接口 190連接至系統(tǒng)總線121。除監(jiān)視器以外,計(jì)算機(jī)也可以包 括其它外圍輸出設(shè)備,諸如揚(yáng)聲器197和打印機(jī)196,它們可以通過輸出外圍 接口 195連接。計(jì)算機(jī)110可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯 連接在網(wǎng)絡(luò)化環(huán)境下操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由 器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上文相對于計(jì)算機(jī) IIO描述的許多或所有元件,盡管在圖la中只示出存儲(chǔ)器存儲(chǔ)設(shè)備181。圖la 中所示邏輯連接包括局域網(wǎng)(LAN) 171和廣域網(wǎng)(WAN) 173,但也可以包 括其它網(wǎng)絡(luò)。這樣的連網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特 網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連 接至LAN 171。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)IIO通常包括調(diào)制解調(diào) 器172或用于通過諸如因特網(wǎng)等WAN 173建立通信的其它裝置。調(diào)制解調(diào)器 172可以是內(nèi)置或外置的,它可以通過用戶輸入接口 160或其它合適的機(jī)制連 接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于計(jì)算機(jī)110描述的程序模塊或其 部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非限制,圖la示出了 遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上。可以理解,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。編程環(huán)境編程接口 (或簡稱為接口)可被視為用于允許一個(gè)或多個(gè)代碼段與一個(gè)或 多個(gè)其它代碼段所提供的功能通信或?qū)ζ湓L問的任何機(jī)制、過程、協(xié)議?;蛘撸?編程接口可被視為系統(tǒng)中能夠通信上耦合至其它組件的一個(gè)或多個(gè)機(jī)制、方 法、功能調(diào)用、模塊等的一組件的一個(gè)或多個(gè)機(jī)制、方法、功能調(diào)用、模塊、 對象等。前述語句中的術(shù)語"代碼段"旨在包括一條或多條指令或代碼行,且 包括例如代碼模塊、對象、子例程、函數(shù)等,而不考慮所應(yīng)用的術(shù)語是什么或 者代碼段是否被單獨(dú)編譯、或者代碼段是否作為源、中間或目標(biāo)代碼來提供、 代碼段是否在運(yùn)行時(shí)系統(tǒng)或進(jìn)程中利用、或者它們是否位于相同或不同的機(jī)器 上或跨多臺(tái)機(jī)器分布、或者代碼段所表示的功能是否全部使用軟件實(shí)現(xiàn)、全部 使用硬件實(shí)現(xiàn)或使用硬件和軟件的組合。概念上,編程接口一般可如圖1B或圖1C中所示地查看。圖1B示出接口 "接口 1"為第一和第二代碼段可經(jīng)其通信的管道。圖1C將接口示為包括接口對象Il和12 (它們可以是或可以不是第一和第二代碼段的一部分),它們 允許系統(tǒng)的第一和第二代碼段經(jīng)由介質(zhì)M來通信。在圖1C的視圖中,可將接 口對象II和12認(rèn)為是同一系統(tǒng)的分開的接口,也可認(rèn)為對象II和12加上介 質(zhì)M構(gòu)成了接口。盡管圖1B和1C示出雙向流和位于流兩側(cè)的接口,但某些 實(shí)現(xiàn)可使信息僅在一個(gè)方向上流動(dòng)(或如下所述沒有信息流),或僅在一側(cè)有 接口對象。作為示例,而非限制,諸如應(yīng)用程序編程接口 (API)、入口點(diǎn)、 方法、函數(shù)、子例程、遠(yuǎn)程過程調(diào)用、以及組件對象模型(COM)接口等術(shù)語 均被包含在編程接口的定義內(nèi)。這一編程接口的各方面可包括第一代碼段將信息發(fā)送給第二代碼段的方 法(其中,"信息"按其最廣義來使用,包括數(shù)據(jù)、命令、請求等);第二代 碼段接收信息的方法;以及信息的結(jié)構(gòu)、序列、句法、組織、模式、定時(shí)和內(nèi) 容。在這一點(diǎn)上,底層傳輸介質(zhì)本身對接口的操作而言是無關(guān)緊要的,無論該 介質(zhì)是有線還是無線的,或者是其組合,只要信息按照接口所定義的方式傳輸。 在某些情況中,信息可以不在常規(guī)意義上的一個(gè)或兩個(gè)方向上傳遞,因?yàn)樾畔魉突蛘呤墙?jīng)由另一介質(zhì)(例如,信息被置于與代碼段之間的信息流分開的緩 沖區(qū)、文件等中)或不存在,如當(dāng)一個(gè)代碼段僅訪問第二代碼段所執(zhí)行的功能 時(shí)。例如取決于代碼段是否是松耦合或緊耦合配置的系統(tǒng)中的一部分,任何或 所有這些方面在給定情況中可能是重要的,因此該列表應(yīng)被認(rèn)為是說明性而非 限定性的。編程接口的概念為本領(lǐng)域的技術(shù)人員所知,并可從本發(fā)明的前述詳細(xì)描述 中清楚。然而,存在實(shí)現(xiàn)編程接口的其它方式,且除非明確排除,否則這些其 它方式旨在包括在本說明書所附的權(quán)利要求書中。這些其它方式可能看似比圖1B和1C的簡單視圖更高級或更復(fù)雜,但是它們?nèi)詧?zhí)行完成相同的總體結(jié)果的類似功能?,F(xiàn)在將簡要描述編程接口的一些說明性替換實(shí)現(xiàn)。丄分,Ofector/"gJ 從一個(gè)代碼段到另一個(gè)代碼段的通信可通過將通信分成多個(gè)離散通信來 間接完成。這在圖1D和1E中示意性描述。如圖所示,某些接口可按照可分 功能集來描述。因此,圖1B和1C的接口功能可被分解來實(shí)現(xiàn)相同的結(jié)果, 就如在數(shù)學(xué)上可提供24或2乘2乘3乘2—樣。從而,如圖1D中所示,接口 "接口 1"提供的功能可被細(xì)分以將接口的通信轉(zhuǎn)換成多個(gè)接口 "接口 1A"、 "接口 1B"、"接口 1C"等,而同時(shí)仍實(shí)現(xiàn)相同的結(jié)果。如圖1E中所示, 接口Il提供的功能可被細(xì)分成多個(gè)接口Ila、 Ilb、 Ilc等,同時(shí)仍實(shí)現(xiàn)相同的 結(jié)果。類似地,從第一代碼段接收信息的第二代碼段的接口 12可被分解成多 個(gè)接口 I2a、 I2b、 I2c等。當(dāng)分解時(shí),隨第一代碼段所包括的接口的數(shù)目不必 與隨第二代碼段所包括的接口的數(shù)目匹配。在圖1D和1E中任一情況中,接 口 "接口 1"和II的功能本質(zhì)分別與圖1B和1C的保持相同。接口的分解也 可遵循結(jié)合、交換和其它的數(shù)學(xué)性質(zhì),使得分解難以識(shí)別。例如,操作的順序 可能是不重要的,因此接口實(shí)現(xiàn)的功能可在到達(dá)該接口之前由另一代碼或接口 良好實(shí)現(xiàn),或由系統(tǒng)的單獨(dú)組件執(zhí)行。而且,程序設(shè)計(jì)領(lǐng)域的普通技術(shù)人員可 以理解,存在進(jìn)行實(shí)現(xiàn)相同的結(jié)果的不同功能調(diào)用的各種方式。5.置定義在某些情況中,有可能忽略、添加或重定義編程接口的特定方面(例如,參數(shù))而仍實(shí)現(xiàn)預(yù)期的結(jié)果。這在圖1F和1G中示出。例如,假定圖1B的接 口"接口 l"包括函數(shù)調(diào)用Square(i叩ut, precision, output),即包括三個(gè)參數(shù)input (輸入)、precision (精度)和output (輸出),并從第一代碼段向第二代碼 段發(fā)出的一個(gè)調(diào)用。如果中間參數(shù)precision在給定情形中無關(guān)緊要,則如圖 IF中所示,它可無妨被忽略甚至使用meaningless (無意義)(在該情況中) 的參數(shù)來替換。也可添加無關(guān)緊要的附加參數(shù)。在任一情況中,square (求平 方)的功能可被實(shí)現(xiàn),只要在第二代碼段對i叩ut求平方之后返回output。 precision對計(jì)算系統(tǒng)的某些下游或其它部分而言可能很好地作為有意義的參 數(shù);然而, 一旦認(rèn)識(shí)到precision對計(jì)算平方的狹窄用途而言不必要時(shí),它可被 替換或忽略。例如,可傳遞諸如生日等無意義的值來代替?zhèn)鬟f有效的precision 值而不會(huì)對結(jié)果造成不利影響。類似地,如圖1G中所示,接口 II被接口 II' 替換,它被重定義來忽略參數(shù)或向接口添加參數(shù)。接口 12可類似地被重定義 為接口 12',它被重定義來忽略不必要的參數(shù)或可在別處處理的參數(shù)。此處的重 點(diǎn)在于在某些情況中,編程接口可包括諸如參數(shù)等對某種用途而言不需要的各 方面,因此它們可被忽略或重定義或在別處為其它用途而處理。C. /^凝/f礙編寫6'"/Z"e coW"gJ 將兩個(gè)單獨(dú)代碼模塊的某些或全部功能合并使得其間的"接口"改變形式 也是可行的。例如,圖IB和1C的功能可分別被轉(zhuǎn)換成圖1H和II的功能。 在圖1H中,圖IB的之前的第一和第二代碼段被合并成包含兩者的模塊。在 這種情況中,代碼段仍可彼此通信,但接口可適應(yīng)更適于單個(gè)模塊的形式。因 此,例如正式的Call和Return語句可能不再必需,但根據(jù)接口 "接口 1"的類 似處理或響應(yīng)仍有效。類似地,如圖II中所示,來自圖1C的接口 12的一部 分(或全部)可被內(nèi)聯(lián)地寫入接口 II以形成接口 11"。如圖所示,接口 12被劃 分成I2a和I2b,接口部分I2a與接口I1內(nèi)聯(lián)地編寫代碼來形成接口 11"。對一 個(gè)具體的示例,考慮來自圖1C的接口 II執(zhí)行函數(shù)調(diào)用square(i叩ut, output), 該函數(shù)調(diào)用由接口I2接收,在由第二代碼段處理隨i叩ut傳遞的值(對其求平 方)之后,將求平方后的結(jié)果隨output傳回。在這樣的情況中,第二代碼段執(zhí)行的處理(對i叩Ut求平方)可由第一代碼段在不調(diào)用接口的情況下執(zhí)行。D.厲蓐"hwceJ 從一個(gè)代碼段到另一個(gè)代碼段的通信可通過將通信分成多個(gè)離散通信來 間接完成。這在圖1J和1K中示意性地示出。如圖1J中所示,提供一個(gè)或多 個(gè)中間件(脫離接口,因?yàn)樗鼈儗⒐δ芎?或接口函數(shù)從原始接口脫離)來轉(zhuǎn)換 對第一接口 "接口 1"的通信以使其遵循不同的接口,在該情況中為接口 "接 口 2A"、"接口 2B"和"接口 2C"。這可例如在存在被設(shè)計(jì)成與例如根據(jù) 接口 1協(xié)議的操作系統(tǒng)通信的應(yīng)用程序庫,而該操作系統(tǒng)然后被改為使用不同 的接口,在該情況中為接口2A、接口2B和接口2C時(shí)進(jìn)行。重點(diǎn)在于第二代 碼段使用的原始接口被改變了,使得它不再與第一代碼段使用的接口兼容,因 此使用中介來使新老接口兼容。類似地,如圖1K中所示,隨脫離接口DI1可 引入第三代碼段來接收來自接口 II的通信,并使用脫離接口 DI2將接口功能 發(fā)送給例如被重新設(shè)計(jì)成與DI2 —起工作但提供相同的功能結(jié)果的接口 12a和 12b。類似地,DI1和DI2可一起工作將圖1C的接口 II和12的功能轉(zhuǎn)換到新 操作系統(tǒng),而同時(shí)提供相同或類似的功能結(jié)果。五.群又一可能的變型是動(dòng)態(tài)重寫代碼以使用別的但實(shí)現(xiàn)相同的總體結(jié)果的東 西來替換接口功能。例如,可能存在其中將以中間語言(例如,MicrosoftIL、 Java ByteCode等)呈現(xiàn)的代碼段提供給執(zhí)行環(huán)境(諸如由.Net框架提供的、Java 運(yùn)行時(shí)環(huán)境、或其它類似的運(yùn)行時(shí)類型環(huán)境)中的運(yùn)行時(shí)編譯(Just-in-Time, JIT)編譯器或解釋器的系統(tǒng)。可編寫JIT編譯器以便于將來自第一代碼段的通 信動(dòng)態(tài)轉(zhuǎn)換到第二代碼段,即使其遵循如由第二代碼段(原始或不同的第二代 碼段)所需的不同接口。這在圖1L和1M中示出。如圖1L中可見,該方式類 似于上述脫離情形。它例如可在已安裝的應(yīng)用程序庫被設(shè)計(jì)成與根據(jù)接口 1協(xié) 議的操作系統(tǒng)通信,但該操作系統(tǒng)然后被改為使用不同的接口時(shí)進(jìn)行。JIT編 譯器可被用來使來自已安裝應(yīng)用程序庫的運(yùn)行時(shí)通信遵循操作系統(tǒng)的新接口。 如圖1M中所示,動(dòng)態(tài)重寫接口的這種方式也可被應(yīng)用于動(dòng)態(tài)分解以及更改接口。還注意到,也可按照各種方式、串行和/或并行地或使用其它介入代碼來 組合上述經(jīng)由替換實(shí)施例實(shí)現(xiàn)與接口相同或類似的結(jié)果的情形。因此,以上呈現(xiàn)的替換實(shí)施例不是互斥的,而是可被混合、匹配和組合來產(chǎn)生與圖1B和1C 中所呈現(xiàn)的一般情形相同或等效的情形。還注意到,與大多數(shù)編程構(gòu)造一樣, 存在此處未描述的實(shí)現(xiàn)接口的相同或類似功能的其它類似方式,但它們?nèi)杂杀?發(fā)明的精神和范圍表示,即,注意到它們至少部分是由作為接口的值的基礎(chǔ)的 接口所表示的功能及其允許的有利結(jié)果。便攜式計(jì)算環(huán)境圖2示出了根據(jù)本發(fā)明的各方面可使用的說明性圖形輸入板PC 201。圖 la的系統(tǒng)中的任何或所有功能部件、子系統(tǒng)和功能可被包括在圖2的計(jì)算機(jī) 中。圖形輸入板PC201包括大顯示表面202,例如數(shù)字化平板顯示器,優(yōu)選的 是液晶顯示器(LCD)屏幕,其上顯示多個(gè)窗口 203。使用指示筆204,它是 選擇器的一個(gè)示例,用戶可在數(shù)字化顯示表面202上選擇、突出顯示和/或書寫。 合適的數(shù)字化顯示表面202的示例包括電磁筆數(shù)字化儀,諸如Mutoh或Wacom 筆數(shù)字化儀。也可使用其它類型的筆數(shù)字化儀,例如光數(shù)字化儀。圖形輸入板 PC 201解釋使用指示筆204作出的姿勢以便操縱數(shù)據(jù)、輸入文本、創(chuàng)建繪圖和 /或執(zhí)行常規(guī)計(jì)算機(jī)應(yīng)用程序任務(wù),諸如電子表、文字處理程序等。指示筆204可配備有一個(gè)或多個(gè)按鈕或其它功能部件以增加其選擇能力。 在一個(gè)實(shí)施例中,指示筆204可被實(shí)現(xiàn)為"鉛筆"或"筆",其中一端構(gòu)成書 寫部分,另一端構(gòu)成"擦除器"端,且當(dāng)其在顯示器上移動(dòng)時(shí),指示顯示器中 要擦除的部分??墒褂闷渌愋偷妮斎朐O(shè)備,諸如鼠標(biāo)、跟蹤球等。此外,用 戶自己的手指可以是指示筆204,并用于或指示觸摸敏感或接近敏感顯示器上 所顯示的部分。因此,如此處所使用的,術(shù)語"用戶輸入設(shè)備"旨在具有寬泛 的定義,并涵蓋諸如指示筆204的公知輸入設(shè)備的各種變體。區(qū)域205示出允 許用戶確定何處為指示筆204接觸顯示表面202的反饋區(qū)或接觸區(qū)。因此,指 示筆204在本發(fā)明的各方面中可用作有效的選擇器。在各個(gè)實(shí)施例中,系統(tǒng)提供墨水平臺(tái)作為應(yīng)用程序可用來捕捉、操縱和存儲(chǔ)墨水的一組COM (組件對象模型)服務(wù)。 一個(gè)服務(wù)允許應(yīng)用程序使用所公 開的墨水表示來讀取和書寫墨水。墨水平臺(tái)也可包括標(biāo)記語言,即包括如可擴(kuò)展標(biāo)記語言(XML)的語言。此外,系統(tǒng)可使用DCOM作為另一實(shí)現(xiàn)。可使 用又一實(shí)現(xiàn),包括Microsoft公司的Win32程序設(shè)計(jì)模型和.Net程序設(shè)計(jì)模型。圖3示出了手持計(jì)算設(shè)備("H/PC" ) 320的功能組件。如所描述地, H/PC 320包括處理器360、存儲(chǔ)器362、顯示器368和鍵盤332。存儲(chǔ)器362 可包括易失性存儲(chǔ)器(例如,RAM)和非易失性存儲(chǔ)器(例如,ROM、 PCMCIA 卡等)。操作系統(tǒng)364可駐留在存儲(chǔ)器362中,且可在處理器360上執(zhí)行。在 一實(shí)施例中,H/PC 320包括操作系統(tǒng),諸如Microsoft公司的Windows CE 操作系統(tǒng)或其它操作系統(tǒng)。一個(gè)或多個(gè)應(yīng)用程序366可被加載到存儲(chǔ)器362中并運(yùn)行在操作系統(tǒng)364 上。應(yīng)用程序的示例包括電子郵件程序、日程安排程序、PIM (個(gè)人信息管理) 程序、字處理程序、電子表程序、因特網(wǎng)瀏覽器程序、游戲和其它已知的應(yīng)用 程序。H/PC320也可包括加載在存儲(chǔ)器362中的通知管理器368,該管理器也 可在處理器360上執(zhí)行。通知管理器368可處理來自應(yīng)用程序366的通知請求。H/PC 320包括電源370,后者可被實(shí)現(xiàn)為一個(gè)或多個(gè)電池或諸如電容器或 燃料電池等某種其它電源。電源370還可包括覆蓋或?qū)?nèi)建電池重新充電的外 部電源,諸如AC適配器或供電支架。如所述地,H/PC320包括三種類型的外部通知機(jī)制LED 340、振動(dòng)設(shè)備 372和音頻生成器374。這些設(shè)備可直接耦合至電源370,從而在激活時(shí),即使 H/PC處理器360和其它組件可能關(guān)閉以降低能耗,它們也可在由通知機(jī)制指 示的持續(xù)時(shí)間內(nèi)保持開啟。在一實(shí)施例中,LED 340可保持開啟直到用戶采取 動(dòng)作。振動(dòng)設(shè)備372和音頻生成器374的當(dāng)前版本使用了當(dāng)今H/PC電池的過 多電力,因此它們可被配置成在系統(tǒng)其余部分關(guān)閉時(shí)或在激活之后某個(gè)有限持 續(xù)時(shí)間關(guān)閉。應(yīng)用程序轉(zhuǎn)向圖4,描述了便攜式計(jì)算機(jī)401的實(shí)施例??扇缟纤雠渲玫谋銛y式 計(jì)算機(jī)包括其中設(shè)置顯示器405的外殼402。如所述地,設(shè)置了包括軟按鍵410 的排列408的軟鍵盤406。應(yīng)注意,也可設(shè)置其它排列408。如有需要,軟鍵盤406的排列408可由應(yīng)用程序通過上述的API控制。在 一實(shí)施例中,可使用參數(shù)來調(diào)整軟按鍵410的排列408。參數(shù)可包括可被修改 以便調(diào)整排列408的默認(rèn)值,由此不同的應(yīng)用程序可按需調(diào)整軟按鍵410的排 列408。在一實(shí)施例中,軟鍵盤406可包括可由應(yīng)用程序選擇的一組排列408, 每一排列將軟按鍵410放置在不同的預(yù)定位置中。在另一實(shí)施例中,排列408 可完全自定義,使得應(yīng)用程序可按需放置各個(gè)軟按鍵410。為了使人能將數(shù)據(jù)輸入到計(jì)算設(shè)備中,每一軟按鍵410可與諸如英語語言中使用的字符"a"的一符號相關(guān)聯(lián)。在一實(shí)施例中,如圖5中所示,軟按鍵410可包括位于軟按鍵410的中心附近的符號505。 一旦選中軟按鍵410,這可通過按壓觸摸敏感顯示器的表面上的選擇器來實(shí)現(xiàn),就可調(diào)整與該軟按鍵相關(guān)聯(lián)的顯示。如可以理解地,如果軟按鍵足夠大,則可在軟按鍵上顯示一個(gè)以上的符號,且選擇軟按鍵使得用戶然后能夠選擇期望選擇所顯示符號中的哪一 個(gè)。在一實(shí)施例中,如圖6a中所示,對軟按鍵410的選擇使得附加符號505 顯示。應(yīng)當(dāng)注意到,選擇可以是按壓觸摸敏感顯示器上處于與所需軟按鍵對準(zhǔn) 位置上的選擇器。在一實(shí)施例中,可顯示符號505a到505h。符號505也可繼 續(xù)顯示。符號505a-505h表示符號505連同不同的修飾鍵。因此,符號505a 與符號505和第一修飾鍵相關(guān)聯(lián)。圖6b示出替換實(shí)施例。符號505是"5"的表示。通過提供方向輸入,可 選擇另一數(shù)字,諸如1-4或6-9。如可以理解地,這樣的實(shí)施例可允許單個(gè)軟 按鍵提供除O以外的所有數(shù)字。提供O的一種可能的方法是要求用戶移動(dòng),先 在一個(gè)方向上提供方向拖曳然后在相反方向上提供。因此,如可以理解地,如 有需要,復(fù)合移動(dòng)可與附加的修飾鍵相關(guān)聯(lián)。或者,與各個(gè)修飾鍵相關(guān)聯(lián)的一 個(gè)或多個(gè)符號可在一段時(shí)間的延遲之后改變。因此,在一實(shí)施例中,如果維持 觸摸而不提供方向輸入,則符號505可在某個(gè)預(yù)定時(shí)間段之后從"5"變?yōu)?0"。在一實(shí)施例中,用戶可選擇軟按鍵505,且各個(gè)符號可立即變?yōu)榭梢姟T?一替換實(shí)施例中,各個(gè)符號僅當(dāng)用戶對軟按鍵505作出延長接觸時(shí)才可出現(xiàn)。 如可以理解的,使附加符號顯示所需的與軟按鍵505接觸的時(shí)間段可通過如上 所述的API調(diào)整。在一實(shí)施例中,表示對符號505的最常見修改的某些符號可首先出現(xiàn)。因 此,可提供分層的響應(yīng)。此外,在其它位置之前,可用符號填充某些位置。如可以理解地,眾多變化是可能的,且在一實(shí)施例中,這些變化可通過API調(diào)整。 因此,例如但非限制,符號505a可首先出現(xiàn),然后是符號505e等等。如可以 理解地,如果符號505缺少足夠的可能修改,則可顯示的符號505a-505e的數(shù) 目可相應(yīng)地減少。而且,某些符號可被分配給用戶定義事件和動(dòng)作,且可由應(yīng) 用程序或用戶或兩者來自定義。在一實(shí)施例中,可響應(yīng)于應(yīng)用確定顯示在軟按鍵上的第一符號和與最初顯 示的符號相關(guān)聯(lián)的符號。因此,某些最初顯示的符號可具有較多數(shù)目的相關(guān)聯(lián) 符號,而其它符號則可具有較少數(shù)目的相關(guān)聯(lián)符號。在一實(shí)施例中,第一符號 可具有表示受到與之相關(guān)聯(lián)的修飾鍵作用的第一符號的單個(gè)第二符號。在這樣 的實(shí)施例中,時(shí)間長于編程時(shí)間段(可以是大于0的任何時(shí)間段)的接觸可引 起第二符號顯示。為了增加與這樣的符號相關(guān)聯(lián)的選項(xiàng)的數(shù)目,用戶可使附加 符號與第一符號相關(guān)聯(lián)。在一實(shí)施例中,用戶可或者通過置換現(xiàn)有符號或者通 過選擇目前不與第一符號相關(guān)聯(lián)的位置以及方向輸入來選擇附加符號的位置。 在一替換實(shí)施例中,位置可由應(yīng)用程序根據(jù)算法來自動(dòng)選擇。 一個(gè)這樣的算法 可以是首先以順時(shí)針方式填充如圖6中示為符號505a、 505c、 505e和505g的 位置。如可以理解地,這樣的算法中的變化是無數(shù)的,且可包括對用戶動(dòng)作的 統(tǒng)計(jì)分析,還可包括來自可用性研究的輸入。為選擇一符號,用戶可按符號方向移動(dòng)選擇器,選擇器可以是指示筆或手 指或適于提供方向輸入的某種其它設(shè)備。如圖6中所示,最初選擇之后的8個(gè) 方向的移動(dòng)可提供與第一符號505相關(guān)的八個(gè)不同的符號。然而,如果用戶沒 有提供方向輸入(或如果方向輸入低于預(yù)定閾值),則將選擇第一符號505。 應(yīng)注意到,盡管示出了8個(gè)不同的符號,但可顯示附加的符號。然而,人們有 可能難以始終如一地提供八個(gè)以上方向上的精確移動(dòng),因此如果8個(gè)以上的修 飾鍵要與單個(gè)軟按鍵相關(guān)聯(lián),則某些附加步驟可能是有用的。在一實(shí)施例中,附加符號可沿軟按鍵505的邊界外的周界顯示,或可被分 隔開。為了幫助用戶選擇所需符號,符號方向上的移動(dòng)可引起圖形改變,諸如 潛在選中符號的顏色或梯度改變。用戶然后可按不同方向移動(dòng)以突出顯示沿周界的不同符號。如可以理解地,相關(guān)聯(lián)符號的數(shù)目、周界的大小、反饋的類型、 以及敏感度僅是可隨軟按鍵或隨應(yīng)用程序變化的參數(shù)中的某些,且這些參數(shù)可 由應(yīng)用程序通過API控制。圖7示出了根據(jù)本發(fā)明的一方面選擇符號的方法。如所示地,在步驟710中,用戶選擇第一符號。在一實(shí)施例中,選擇涉及用選擇器在觸摸敏感顯示器 的表面上按壓,與所需軟按鍵對準(zhǔn)的觸摸顯示適當(dāng)?shù)姆?。接著在步驟715,與第一符號相關(guān)聯(lián)的一組符號變?yōu)榭梢?。在一?shí)施例中, 該組包含一個(gè)符號。在一替換實(shí)施例中,該組包含8個(gè)符號。如可以理解地, 組中提供的符號的數(shù)目的變化可按需變化。在一實(shí)施例中,符號可逐漸變?yōu)榭?見,或以某種其它方式出現(xiàn),諸如從右邊滑入、從中央滑出、或僅是突然出現(xiàn)。 如可以理解地,對于如何填充符號以及使符號可見的這種圖形控件可變化,且 可通過API控制。逐漸淡入可能是有用的,因?yàn)樗试S用戶接收關(guān)于哪些符號 與最初選中符號相關(guān)聯(lián)的暗示而不在屏幕上提供不期望的雜亂。在步驟720,用戶提供方向輸入以從與最初選中的符號相關(guān)聯(lián)的一組符號 中選擇一符號。方向輸入可通過按所需符號的方向移動(dòng)選擇器來提供。在一實(shí) 施例中,方向輸入可通過按與一組符號中的一符號對準(zhǔn)的方向沿觸摸敏感顯示 器的表面滑動(dòng)選擇器來提供。這種滑動(dòng)可被稱為選擇器的方向拖曳。如上所述, 方向輸入可引起與特定方向輸入相關(guān)聯(lián)的符號變?yōu)橥怀鲲@示。在一實(shí)施例中, 突出顯示的符號可改變大小,可改變顏色或?qū)Ρ榷龋蚩商峁┌▌?dòng)畫在內(nèi)的 某種其它種類的圖形反饋。在一實(shí)施例中,可在組中設(shè)置多個(gè)符號。在一個(gè)在 組中設(shè)置了多個(gè)符號的實(shí)施例中,用戶提供的最初方向輸入可選擇組中的符號 之一。在組中具有多個(gè)符號的替換實(shí)施例中,用戶可按不同方向自由移動(dòng),以 便突出顯示或選擇除基于所提供的初始方向輸入而被選擇的符號以外的符號。然后在步驟725,在突出顯示了所需符號之后,用戶敲定選擇,并使突出 顯示的符號被發(fā)送(例如,將所需符號輸入到應(yīng)用程序)。在一實(shí)施例中,對 符號選擇的敲定可通過從顯示器的表面移去選擇器來實(shí)現(xiàn)。如可以理解地,諸 如輸入設(shè)備的驅(qū)動(dòng)等其它方法也可用于敲定對突出顯示的符號的選擇。在一實(shí) 施例中,對按鈕的驅(qū)動(dòng)可引起選擇的敲定和當(dāng)前突出顯示的符號的發(fā)送。這樣 的方法對處于其中用戶正體驗(yàn)大量振動(dòng)或因諸如醫(yī)學(xué)狀況的某種其它原因而不能穩(wěn)定持有選擇器的情況中的便攜式設(shè)備可能是有用的。圖8示出了選擇符號的方法的另一實(shí)施例。如可以理解地,圖7和圖8中所示的方法之間的差異在于,略去了使與第一符號相關(guān)聯(lián)的符號變?yōu)榭梢姷?步驟。因此,在一實(shí)施例中,與第一符號相關(guān)聯(lián)的符號將不會(huì)變?yōu)榭梢?,但?可由用戶提供的適當(dāng)?shù)倪x擇和方向性輸入選擇。在一替換實(shí)施例中,對符號的 選擇不會(huì)使相關(guān)聯(lián)的符號變?yōu)榭梢姡怯醒娱L時(shí)間段的延遲(例如,用戶繼 續(xù)在觸摸敏感顯示器上按壓長達(dá)延長的時(shí)間段)。在另一替換實(shí)施例中,相關(guān) 聯(lián)的符號不會(huì)變?yōu)榭梢姡怯脩籼峁┹o助輸入。如可以理解地,相關(guān)聯(lián)的符 號是否變?yōu)榭梢娍捎蓱?yīng)用程序控制,且可被設(shè)置成由用戶通過打開或關(guān)閉應(yīng)用 程序中的這個(gè)功能部件來控制。圖8中所示方法的優(yōu)點(diǎn)在于,顯示器不會(huì)因附加符號而雜亂,且取決于顯示器的類型可能需要較少的電力,因?yàn)閷︼@示并未作出任何改變。此外,這樣 的方法從圖形角度而言較不復(fù)雜。然而,如可以理解地,這樣的方法的確要求 用戶了解什么符號與第一符號相關(guān)聯(lián)以及選擇所需相關(guān)聯(lián)符號所需的移動(dòng)方 向。對其中眾多二級符號與第一符號相關(guān)聯(lián)的某些語言,不顯示二級符號的配置可能稍微更加困難。從而,這樣的配置最適于有能力的或?qū)<矣脩簟H缈蓮囊陨嫌懻撝欣斫獾?,?dāng)有多個(gè)符號與每一符號相關(guān)聯(lián)時(shí),就變得難 以向用戶提供足夠的信息而不會(huì)不合期望地使顯示雜亂。根據(jù)本發(fā)明的各方面 可使用的一個(gè)潛在的解決方案是使特定的修飾鍵與特定方向相關(guān)聯(lián)。例如,如果可能的方向與范圍在0到359度(因?yàn)?60度將與0相同)的度數(shù)中的一個(gè) 值相關(guān)聯(lián),則沿0度向量的移動(dòng)可與shift鍵相關(guān)聯(lián)。應(yīng)注意到,0度的方向取 決于基準(zhǔn)點(diǎn),從而可按需調(diào)整。再參看圖6, 0度可以與符號505a的定位對準(zhǔn)。 因此在一實(shí)施例中,將選擇器置于符號上,然后以O(shè)度方向移動(dòng)(例如,向上) 將等同于按壓"選擇"軟按鍵然后按壓該符號。如可以理解地,按壓符號然后 提供方向性拖曳更加高效,且可比首先選擇shift軟按鍵然后選擇所需按鍵更迅 速地完成。盡管可能有許多變化,但要求用戶瞄準(zhǔn)至少45度的區(qū)域使得選擇 之間存在足夠的分隔是有幫助的。在一實(shí)施例中,向上(即0度)可與"shift"修飾鍵相關(guān)聯(lián),向下(即180 度)與"control (控制)"修飾鍵相關(guān)聯(lián),向右(即270度)與"alt"修飾鍵相關(guān)聯(lián),而向左(即90度)與"功能"修飾鍵相關(guān)聯(lián)。如可以理解地,可提 供對此的變型,且與特定修飾鍵相關(guān)聯(lián)的方向可由用戶自定義。此外,對諸如 上標(biāo)或下標(biāo)等符號的某些修改也可與方向性拖曳相關(guān)聯(lián)。應(yīng)注意,某些軟按鍵沒有足夠的變型來填充與顯示在軟按鍵上的符號相關(guān)聯(lián)的所有方向。例如,可能沒有任何東西與修飾鍵"alt"和英語符號"m"相 關(guān)聯(lián)。盡管這是應(yīng)用專用且可通過上述API調(diào)整,但在一實(shí)施例中,第一符號 正常地可僅有一個(gè)修飾鍵與之相關(guān)聯(lián),諸如但不限于shift修飾鍵。例如,在一 實(shí)施例中,旨在用于鍵入英語的鍵盤可使向上方向與字母表的26個(gè)字母的大 寫版本相關(guān)聯(lián),且任何其它移動(dòng)可被忽視。因此,大寫"a"可通過選擇"a" 軟按鍵然后提供O度方向或向量的方向拖曳來輸入。在一替換實(shí)施例中,大寫 字母可以是正常類型的輸入符號,且小寫字母可通過選擇大寫字母然后沿180 度向量拖曳來輸入。如上所述,不考慮與在軟按鍵上描繪的符號相關(guān)聯(lián)的符號的數(shù)目,允許用 戶使附加符號與第一符號相關(guān)聯(lián)可能是有用的。因此,在一實(shí)施例中,用戶可 將符號分配給軟按鍵和移動(dòng)方向。在這樣的實(shí)施例中,符號"§"可與對顯示 符號"s"的軟按鍵的選擇和向下移動(dòng)相關(guān)聯(lián)。如有需要,用戶甚至可導(dǎo)入附 加符號。因此,如可以理解地,用戶的創(chuàng)造性是對可能變化的數(shù)目的主要限制 因素。在一實(shí)施例中,也可將一連串動(dòng)作分配給特定的選擇和移動(dòng)方向。例如, 使得將來的符號變?yōu)榇煮w的宏可與選擇符號"b"和向右移動(dòng)相關(guān)聯(lián)。為了關(guān) 閉粗體功能部件,可使用相同的操作,或用戶可選擇"b"并向左移動(dòng)。因此, 如可以理解地,存在眾多變化,其中部分或全部可根據(jù)應(yīng)用自定義。應(yīng)注意到, 更復(fù)雜的宏也可與對軟按鍵的選擇和方向輸入相關(guān)聯(lián)。應(yīng)注意到,某些語言基于之前輸入的內(nèi)容限制輸入。此外,某些語言形成 字母的組合。例如,對日語假名中的"n"的選擇可向用戶提供對na、 ni、皿、 ne和no的選擇。因此,在輸入或選擇最初符號之后,人們將僅能夠輸入對應(yīng) 于之前輸入或選擇的符號的上下文的某些符號。因此,在一實(shí)施例中,與特定 符號相關(guān)聯(lián)的符號可根據(jù)書寫文法規(guī)則和之前輸入的符號來調(diào)整。圖9示出這樣的方法的實(shí)施例。首先,在步驟910,用戶輸入第一符號。符號的輸入可通過使用可以是指示筆的選擇器來觸摸和釋放在觸摸屏幕顯示器的軟鍵盤上設(shè)置的軟按鍵來提供。接著,在步驟915,用戶選擇顯示第二符 號的軟按鍵;第二符號與第一符號有關(guān)或旨在與第一符號一起使用。在一實(shí)施 例中,選擇通過繼續(xù)用選擇器在該軟按鍵上按壓來完成。因?yàn)榈诙柨膳c多 個(gè)潛在的變化相關(guān)聯(lián),所以在步驟920,在第二符號周圍顯示與第二符號中至 少某些潛在變化有關(guān)的一組符號。在一實(shí)施例中,以所需方式在第二符號周圍 顯示了與第一符號和第二符號相關(guān)聯(lián)的所有符號。在步驟925,用戶提供方向輸入。當(dāng)符號設(shè)置在第二符號周圍時(shí),離開最 初選擇點(diǎn)的移動(dòng)將一般朝向組中的符號之一。在一實(shí)施例中,方向輸入可通過 在最初在顯示第二符號的軟按鍵上按壓之后在觸摸敏感顯示器上朝向組中的 符號之一拖曳選擇器來提供。在步驟930,用戶停止選擇和方向輸入過程,且 對來自符號組中的所選符號的選擇被敲定(例如,輸入)。在字處理應(yīng)用程序 中,輸入可導(dǎo)致所選符號緊跟在之前輸入的符號之后顯示。在一實(shí)施例中,用 戶可在按所需符號的方向拖曳選擇器之后從觸摸敏感顯示器抬起選擇器來敲 定選擇。選擇的敲定也可被稱為輸入或發(fā)送所選符號。在一實(shí)施例中,如上所 述,顯示器可突出顯示當(dāng)前所選的符號,以便向用戶提供關(guān)于如果用戶在此刻 從顯示器上抬起選擇器則將輸入哪一符號的反饋。應(yīng)注意到,盡管應(yīng)用程序可通過API控制所公開的功能部件,但如有需要, 操作系統(tǒng)也可控制功能部件。然而,如果功能部件可由應(yīng)用程序通過API控制, 則潛在增加了靈活性程度。按照本發(fā)明的優(yōu)選和示例性實(shí)施例描述了本發(fā)明。盡管用結(jié)構(gòu)特征和/或 方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主 題不必限于上述特定特征或動(dòng)作。相反,上述特定特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利 要求書的示例形式而公開的。根據(jù)審閱本公開,本領(lǐng)域的普通技術(shù)人員可以想 到所附權(quán)利要求書范圍和精神內(nèi)的眾多其它實(shí)施例、修改和變化。
權(quán)利要求
1.一種用觸摸敏感屏幕上的軟鍵盤向運(yùn)行在計(jì)算機(jī)上的應(yīng)用程序輸入數(shù)據(jù)的方法,包括(a)接收所述觸摸敏感屏幕上的選擇器觸摸和選擇器方向性拖曳;(b)確定所述選擇器觸摸與描繪第一符號的第一軟按鍵相關(guān)聯(lián)且所述選擇器方向性拖曳與第一修飾鍵相關(guān)聯(lián);(c)選擇第二符號,所述第二符號與所述第一符號和第一修飾鍵相關(guān)聯(lián);以及(d)將所述第二符號發(fā)送給所述應(yīng)用程序。
2. 如權(quán)利要求1所述的方法,其特征在于,四個(gè)修飾鍵與所述第一符號 相關(guān)聯(lián),且其中每一修飾鍵與從選自0度、卯度、180度和270度的一組方向 的一不同方向相關(guān)聯(lián),且所述選擇器方向性拖曳指向O度方向。
3. 如權(quán)利要求l所述的方法,其特征在于,(b)中所述確定與所述選擇 器觸摸相關(guān)聯(lián)的軟按鍵包括(i) 確定所述選擇器正在第一位置觸摸所述觸摸敏感顯示器;以及(ii) 確定所述第一軟按鍵與所述觸摸敏感顯示器上的所述第一位置 相關(guān)聯(lián)。
4. 如權(quán)利要求l所述的方法,其特征在于,(a)中所述接收所述選擇器 方向性拖曳包括(i) 確定所述選擇器觸摸所述觸摸敏感屏幕的所述第一位置;(ii) 確定當(dāng)所述選擇器停止觸摸所述觸摸敏感屏幕時(shí)的結(jié)束位置;以及(iii) 確定與所述第一位置和所述結(jié)束位置之間的位置的改變相關(guān)聯(lián) 的向量。
5. 如權(quán)利要求4所述的方法,其特征在于,(b)中所述確定所述第一修 飾鍵與所述選擇器方向性拖曳相關(guān)聯(lián)包括(i) 確定與所述第一軟按鍵相關(guān)聯(lián)的一組方向;(ii) 從所述一組方向中確定所述選擇器方向性拖曳的所述向量最嚴(yán)格對準(zhǔn)的第一方向;以及(iii)確定所述第一修飾鍵與所述第一方向相關(guān)聯(lián)。
6. 如權(quán)利要求5所述的方法,其特征在于,所述接收還包括突出顯示與所述第一修飾鍵相關(guān)聯(lián)的所述第二符號。
7. 如權(quán)利要求l所述的方法,其特征在于,還包括(e)在接收所述觸摸之后但在接收所述方向性拖曳之前,沿與所述第一修飾鍵相關(guān)聯(lián)的向量可視地放置所述第二符號。
8. —種包括用于執(zhí)行以下步驟的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì)(a) 接收與具有第一符號的第一軟按鍵相關(guān)聯(lián)的第一選擇;(b) 確定與所述第一軟按鍵相關(guān)聯(lián)的一組符號;(C)接收與所述第一選擇相關(guān)聯(lián)的方向性拖曳;以及(d) 從所述一組符號中發(fā)送第二符號,所述第二符號與所述方向輸入和 所述第一符號相關(guān)聯(lián)。
9. 如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)可讀指令(e) 接收選擇器已觸摸一觸摸敏感屏幕長達(dá)預(yù)定時(shí)間段的通知;以及(f) 在所述第一符號周圍顯示所述一組符號。
10. 如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)可讀指令(g) 在接收所述方向性拖曳之后,突出顯示與所述方向輸入相關(guān)聯(lián)的所 述第二符號。
11. 如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,(f)中的顯示包括(i) 確定用于在所述第一符號周圍放置所述一組符號的周界;以及(ii) 提供將所述一組符號中的每一符號放置在所述周界上的適當(dāng)位 置中的指令。
12. 如權(quán)利要求ll所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,(ii)中指令的提供包括(1)確定與所述第一符號相關(guān)聯(lián)的所述一組符號;(2) 確定與關(guān)聯(lián)于所述一組符號的至少一個(gè)修飾鍵分別相關(guān)聯(lián) 的所述方向;以及(3) 提供將所述一組符號中的每一符號對應(yīng)于相應(yīng)的至少一個(gè)修飾鍵的所述方向放置的指令。
13. 如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于執(zhí)行 以下步驟的計(jì)算機(jī)可讀指令(e)提供在所述第一符號周圍顯示所述一組符號的指令,所述組中的每 一符號被置于對應(yīng)于與所述相應(yīng)的符號相關(guān)聯(lián)的修飾鍵的方向中。
14. 如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,(c)中的所述 接收包括(i) 確定選擇器在第一位置驅(qū)動(dòng)了觸摸敏感屏幕;以及(ii) 確定所述選擇器在所述觸摸敏感屏幕上滑動(dòng)到第二位置。
15. 在具有包括顯示器的圖形用戶界面和用戶界面選擇設(shè)備的計(jì)算機(jī)系統(tǒng) 中, 一種使用所述顯示器上的一組軟按鍵輸入數(shù)據(jù)的方法,所述方法包括以下 步驟(a) 接收對所述一組軟按鍵中第一軟按鍵的選擇,所述第一軟按鍵包括 第一符號;(b) 接收由所述用戶界面選擇設(shè)備提供的方向輸入;以及(c) 輸入與所述方向輸入和所述第一符號相關(guān)聯(lián)的第二符號。
16. 如權(quán)利要求15所述的方法,其特征在于,還包括以下步驟(d) 在接收所述方向輸入之前顯示與所述第一符號相關(guān)聯(lián)的所述第二符號。
17. 如權(quán)利要求16所述的方法,其特征在于,步驟(d)中的所述顯示包括(i) 在接收所述選擇之后等待可感知的一段時(shí)間;以及(ii) 在所述顯示器上的適當(dāng)位置中生成與所述第一符號相關(guān)聯(lián)的所 述第二符號的圖形描繪。
18. 如權(quán)利要求17所述的方法,其特征在于,步驟(ii)包括(1)在接收對所述第一軟按鍵的選擇之后,確定所述第二符號與所述軟按鍵相關(guān)聯(lián);(2) 確定與所述第二符號相關(guān)聯(lián)的所述方向輸入;以及(3) 在所述顯示器上顯示所述第二符號的所述圖形描繪,所述 第二符號根據(jù)與所述第二符號相關(guān)聯(lián)的所述方向輸入放置。
19. 如權(quán)利要求15所述的方法,其特征在于,(b)中的所述接收包括(i) 注意選擇器在觸摸敏感屏幕上的最初位置;(ii) 注意所述選擇器在所述觸摸敏感屏幕上的最終位置;以及(iii) 確定所述選擇器相對于預(yù)定基準(zhǔn)移動(dòng)的方向。
20. 如權(quán)利要求15所述的方法,其特征在于,還包括以下步驟(d)在顯示器上按自定義排列提供所述一組軟按鍵,其中應(yīng)用程序可從 至少兩個(gè)不同排列中的一個(gè)選擇。
全文摘要
公開了一種使用軟鍵盤的方法。提供了具有一個(gè)或多個(gè)軟按鍵的軟鍵盤,其中符號顯示在一個(gè)或多個(gè)軟按鍵上??赏ㄟ^選擇軟按鍵然后提供方向輸入來對顯示在軟按鍵之一上的符號之一應(yīng)用修飾鍵。在一實(shí)施例中,不同的方向輸入與不同的修飾鍵相關(guān)聯(lián),從而取決于方向輸入不同的符號被輸入。在一實(shí)施例中,用戶可用選擇器在觸摸敏感屏幕上的觸摸和方向性拖曳來提供方向輸入。在一實(shí)施例中,在選中軟按鍵之后使與多個(gè)修飾鍵相關(guān)聯(lián)的多個(gè)符號可見,使得用戶可在視覺上確定哪個(gè)方向輸入將提供所需符號。
文檔編號G06F3/048GK101331440SQ200680047191
公開日2008年12月24日 申請日期2006年11月17日 優(yōu)先權(quán)日2005年12月15日
發(fā)明者K·V·科蒂帕利 申請人:微軟公司