專利名稱:可編程計算機鼠標(biāo)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計算機外設(shè)領(lǐng)域,更具體地,涉及可編程用戶輸入 設(shè)備,如計算機鼠標(biāo)。
背景技術(shù):
計算機輸入設(shè)備,如計算機鼠標(biāo)、操縱桿、振動手柄(rumblepad )、 鍵盤、鍵區(qū)等,是人們與計算設(shè)備進(jìn)行交互所必需的,因此已經(jīng)成為計算 機行業(yè)的基石。通常,這種設(shè)備在特定的市場劃分(如玩計算機游戲或模 擬的人)當(dāng)中的普及可能有所不同并且要求提高。對于很多這樣的用戶, 所述設(shè)備的適用性依賴于所感受到的總體感覺、靈敏性、準(zhǔn)確性、靈活性 以及使用的舒適性。由于游戲和其它軟件應(yīng)用程序變得越來越復(fù)雜,因此, 用戶輸入需要有更多選項。由于需要有針對用戶輸入的更多選項,所產(chǎn)生的趨勢是計算機輸入設(shè) 備,如計算機鼠標(biāo),設(shè)計有越來越多的按鈕、滾動盤(scroll pad)以及 其它觸發(fā)部和控制部。雖然這種方法滿足了對更多選項及用戶控制的部分 需要,但是又出現(xiàn)了對更高的靈活性、用戶控制以及簡化能力的需求。因此,所需要的是能夠提供更多選項、靈活性和控制的計算機外設(shè)。 更具體而言,需要可編程的用戶輸入設(shè)備,以允許用戶對用途進(jìn)而對外設(shè) 上不同輸入部件(例如掩組、鍵、滑動器(slider)等)的用戶輸入進(jìn)行 限定。發(fā)明內(nèi)容本發(fā)明公開了一種改進(jìn)的用戶輸入設(shè)備,其中,該設(shè)備包括永久存儲 器而且是可編程的,以允許輸入可由用戶定制的各種專用指令。這些指令 可以包括宏,所述宏通過允許利用 一次或多次g按壓或其它設(shè)備操縱來 實現(xiàn)鼠標(biāo)的相對復(fù)雜的輸入,從而便于用戶輸入。然后,編程信息可以保 存在與輸入設(shè)備相關(guān)聯(lián)的非易失性存儲器中。 根據(jù)一個方面,用戶具有為不同用戶或軟件應(yīng)用程序創(chuàng)建用戶簡檔(profile)的能力,其可能需要對應(yīng)于設(shè)備輸入的所存儲的指令的不同集 合。以上發(fā)明內(nèi)容不是旨在提出本發(fā)明的每個實施例或每個方面。以下具 體描述和附圖將對本發(fā)明的許多實施例和方面進(jìn)行說明。
通過閱讀以下具體描述以及參考附圖,本發(fā)明的上述和其它優(yōu)點將變 得明顯,其中圖1示出了才艮據(jù)本發(fā)明一實施例的具有多個用戶輸入的可編程鼠標(biāo) 的透視圖;圖2示出了才艮據(jù)本發(fā)明一個方面的可以用于為用戶輸入指定功能的 下拉菜單;圖3示出了才艮據(jù)本發(fā)明一個方面的可以指定給用戶輸入的示例性功 能或宏;圖4示出了根據(jù)本發(fā)明一個方面的將指定給用戶輸入的宏存儲在鼠 標(biāo)硬件中的方法;圖5示出了根據(jù)本發(fā)明一個方面的用于對計算機^Jt進(jìn)行編程的示 例性軟件窗口;圖6示出了允許選擇不同的簡檔使得可以建立和選中不同的用戶簡 檔的下拉菜單;圖7示出了對源鍵的標(biāo)識,針對該源鍵,將為所選擇的簡檔編制宏。圖8示出了與圖7的源鍵相關(guān)聯(lián)的目的宏的標(biāo)識,該目的宏將為所選 擇的簡檔而進(jìn)行編制;圖9示出了根據(jù)本發(fā)明的一實施例,如何能夠?qū)⒃存I與開啟程序相關(guān)聯(lián);圖10示出了一窗口,通過該窗口,用戶可以限定要開啟的相關(guān)聯(lián)的 程序?qū)⑷绾未蜷_(例如將使用哪個應(yīng)用程序);圖11示出了根據(jù)本發(fā)明一實施例如何清除鍵與任一宏的關(guān)聯(lián);
圖12示出了根據(jù)本發(fā)明的一個方面如何根據(jù)可編程^Jt對鍵進(jìn)行編程;圖13示出了根據(jù)本發(fā)明的一個方面,根據(jù)可編程^it來輸入與如圖 12所示的用戶所選擇的^^相關(guān)聯(lián)的宏;圖14示出了根據(jù)本發(fā)明一個方面的具有編程部件的可編程鼠標(biāo)的俯視圖和仰視圖;圖15示出了根據(jù)本發(fā)明一個方面的具有編程部件的可編程鼠標(biāo)的側(cè) 視圖;圖16是示出了根據(jù)本發(fā)明一個方面的使用可編程M對鍵輸入進(jìn)行 編程的流程圖;圖17是示出了根據(jù)本發(fā)明另一方面的使用可編程鼠標(biāo)對用戶輸入進(jìn) -f亍編禾呈的流禾呈圖。雖然容易對本發(fā)明進(jìn)行不同修改和形式替換,但是在附圖中通過示例 示出了特定實施例,并且將在這里對其進(jìn)行詳細(xì)說明。然而,應(yīng)該理解的 是,本發(fā)明不是旨在限于所公開的特定形式。相反,本發(fā)明旨在覆蓋落入 本發(fā)明的由所附權(quán)利要求限定的精神和范圍內(nèi)的所有的修改、等同內(nèi)容以 及替換。
具體實施方式
下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)描述,其中,針對相同或相似部件的 參考號繼續(xù)沿用。如上所述,本發(fā)明的實施例提供了 一種通過允許對用戶輸入設(shè)備進(jìn)行 編程來增強該設(shè)備的靈活性和操控的系統(tǒng)和方法。為了便于討論,這里往 往將該設(shè)備稱為計算機鼠標(biāo)。然而,本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明可 以應(yīng)用于其它類型的用戶輸入i殳備。本發(fā)明涉及修改任何可編程輸入設(shè)備外設(shè),包括計算機鼠標(biāo)、計算機 鍵盤和計算機游戲手柄(gamepad),該修改通過以下進(jìn)行在輸入設(shè)備 上包括非易失性存儲器,如電可擦除可編程只讀存儲器(EEPROM),使 得所述可編程輸入設(shè)備外設(shè)的用戶能夠?qū)λ鲚斎朐O(shè)備外設(shè)的所選擇的 按鈕或鍵進(jìn)行限定和/或編程,使其成為其它按鈕或鍵,或者表示一系列M或鍵,其通常稱為宏。現(xiàn)今,可編程輸入設(shè)備外設(shè)通常可用于計算機系統(tǒng),而這種外設(shè)包括 例如可編程鼠標(biāo),鍵盤和游戲手柄。在優(yōu)選實施例中,可以通過軟件程序 對這種可編程輸入設(shè)備外設(shè)進(jìn)行編程,該軟件程序為可編程設(shè)備上的特定 ^或鍵指定特定的掩組、鍵、宏或功能。這樣,用戶可以定制輸入設(shè)備 使其根據(jù)用戶的喜好來執(zhí)行,其中,掩組和/或鍵被編程為用戶所限定的 鍵擊。這可以在使用該計算機系統(tǒng)進(jìn)行工作或娛樂時提高用戶的生產(chǎn)率和 效率。以前,這種編程功能通常限于計算機系統(tǒng)上的軟件方案,這要求用戶 在能夠?qū)λ鲚斎朐O(shè)備外設(shè)進(jìn)行編程之前,將特定的軟件驅(qū)動程序或應(yīng)用 程序加載到計算機系統(tǒng)上。本發(fā)明使得用戶能夠?qū)斎朐O(shè)備外設(shè)如計算機鼠標(biāo)、鍵盤或游戲手柄 進(jìn)行編程,以便編制特定的鍵擊或一系列鍵擊(也稱為宏),使其對應(yīng)于 輸入設(shè)備外設(shè)上特定的按鈕或鍵。這是通過建立宏控制器以及在用戶輸入 設(shè)備上提供存儲器來實現(xiàn)的。當(dāng)用戶執(zhí)行特定的鍵擊和/或鍵擊過程時,宏控制器自動從標(biāo)準(zhǔn)模式 切換到可編程模式。然后用戶選擇輸入設(shè)備外設(shè)上被定義為主鍵的特定按 鈕或鍵,接著輸入另一鍵或宏,以便將該鍵或宏與主鍵相關(guān)聯(lián)。接下來, 用戶可以輸入特定的鍵擊和/或鍵擊過程,將宏控制器從可編程模式切換 到標(biāo)準(zhǔn)模式,其中,所述主鍵就被編程成與可編程模式期間輸入的鍵或宏 相關(guān)聯(lián)。每個被編程的鍵或宏可以是特定的鍵、文件、命令或以上這些的 組。在主鍵被編程后,每次用戶按下該主鍵時,輸入i殳^自動提供與所 編程的鍵或宏相關(guān)聯(lián)的輸出這種對輸入設(shè)備進(jìn)行編程的方法需要有用于輸入設(shè)備外設(shè)的、使其退 出標(biāo)準(zhǔn)模式并^可編程模式的預(yù)^列,以M應(yīng)的退出可編程模式并^標(biāo)準(zhǔn)模式的預(yù)定序列。利用該方法,用戶不需要訪問圖形用戶界面來對用戶輸入設(shè)備進(jìn)行編程,因為編程可以簡單地通過按壓編程鍵和鍵輸入 來完成??商孢x地,還可以通過軟件應(yīng)用程序?qū)斎朐O(shè)備外設(shè)進(jìn)行編程,其中, 用戶可以選擇為所選擇的鍵編制鍵擊或宏。由于所編制的鍵擊或宏可以存儲在所述輸入設(shè)備外設(shè)上的電可擦除 可編程只讀存儲器上,于是所編制的鍵擊、宏和功能將駐留在輸入設(shè)備外
設(shè)上而不依賴于任何軟件應(yīng)用程序。因此,當(dāng)輸入設(shè)備外設(shè)從一計算機系 統(tǒng)移到另 一計算機系統(tǒng)時,該輸入設(shè)備外設(shè)保留所編制的鍵擊、宏和功能, 不需要用戶再次設(shè)法對輸入設(shè)備外設(shè)進(jìn)行編程。在可替選的實施例中,非易失性存儲器可以是模塊化的,并可以從用 戶輸入設(shè)備移除。這樣,例如可以將存儲器模塊插到不同的用戶輸入設(shè)備 (例如鼠標(biāo))中,而且可以在不需要對該設(shè)備進(jìn)行單獨編程的情況下訪問 用戶定義的簡檔。而且,由于用戶可能更喜歡所編程的鍵或g具有不同的簡檔,因此 輸入設(shè)備外設(shè)希望能夠在特定簡檔中存儲所編程的鍵的不同集合。通過鍵 或掩組的預(yù)定序列,可以為輸入設(shè)備外設(shè)設(shè)置這種簡檔,使其退出一個筒檔ii^下一個簡檔??商孢x地,輸入設(shè)備外設(shè)還可以通過軟件應(yīng)用程序從 一個簡檔變到另一個簡檔。圖l示出了具有用戶輸入l-7的計算機鼠標(biāo)。這些用戶輸入中的每 個用戶輸入可以根據(jù)本發(fā)明被單獨進(jìn)行編程。該編程可以通過幾種方式來 完成,包括通過與鼠標(biāo)驅(qū)動程序相關(guān)的軟件,以及通過這里所討論的可以 與鼠標(biāo)包括在一起以利于編程的專用編程硬件部件。圖2示出了本發(fā)明的實施例,其中,使用計算機軟件來對與所#^的 用戶輸入相關(guān)的宏或輸入功能進(jìn)4亍編制。該軟件顯示列出了與七個用戶輸 入l-7對應(yīng)的七個掩組指定。圖2中,用戶選定一個這樣的用戶輸入6, 并且在下拉菜單中從多個可能的編程選項中進(jìn)行選擇。這些編程選項包括 一般的滾動、雙擊、可定制的宏、掩組關(guān)閉以及其它特性。如果用戶選擇了宏選項,則會出現(xiàn)一個新的對話框,該對話框?qū)⒉东@ 隨后的任何鍵壓,所述鍵壓可以是特定鍵的形式,或者是一系列鍵。從而 用戶可以建立用戶定義的與所選擇的用戶輸入6相關(guān)聯(lián)的宏。該宏可以對 應(yīng)于相對復(fù)雜的一系列鍵擊。圖3中所示的是用戶定義的宏 LShfU Al AfKlKtLShftT。通過以這種方式對用戶輸入6進(jìn)行編考呈,用戶 從而可以在將所需要的數(shù)據(jù)輸入提供給計算設(shè)備時,相當(dāng)大地降低所需鍵 擊或用戶輸入的復(fù)雜度。在用戶確定了所需要的宏之后,該用戶可以通過 確認(rèn)動作如通過單擊"OK,,對他或她的選擇進(jìn)行確認(rèn)。如圖4所示,在用戶對他或她的針對用戶輸入1-7中的任何一個或 全部的編程選擇感到滿意之后,用戶可以指示更新鼠標(biāo)硬件設(shè)置。在圖4 所示的示例性實施例中,這是通過用戶指示選擇"UPDATE MOUSE (更
新鼠標(biāo))"來完成。本發(fā)明還設(shè)想對^it、鍵區(qū)等設(shè)備上的鍵進(jìn)行編程。圖5示出了便于 為鍵編制宏或用戶定義功能的軟件截屏。該軟件允許訪問固定的簡檔列 表,每個簡檔可能包含它自己的、快捷方式和/或宏的集合。在對另外的鍵進(jìn)行編程或者從鍵盤清除以前的筒檔之前,可以加載所需要的筒檔以對其進(jìn)行^Mt,如圖6所示,其中,已選中簡檔2。然后, 用戶可以選^^他或她希望針對其編制宏或快捷方式的"源鍵"。在圖7中, "A"被選作源鍵。接下來,用戶對要與該源鍵相關(guān)聯(lián)的目標(biāo)宏或快捷方 式進(jìn)行限定。圖8顯示"ALT+SHIFT+k"被選作目標(biāo)。然后,這些設(shè)置 可以通過諸如單擊"Apply (應(yīng)用)"鍵,由驅(qū)動應(yīng)用程序保存在Profile 2 下。當(dāng)用戶完成后,又希望將所更新的編程信息保存到鍵盤硬件如 EEPROM中時,則用戶按壓"Update Keyboard (更新^JO" ^^。如圖9所示,除了宏或快捷方式之外,可以將鍵指定成開啟可執(zhí)行程 序。在這種情況下,用戶可以選擇圖9所示的"Launch Program (開啟 程序)" , ,會出現(xiàn)一個新的彈出窗口,提示用戶選擇開啟所選 程序所需要的應(yīng)用程序。在圖10所示的示例中選擇了 QuickTimePlayer.exe。圖11示出了還可以從鍵上將其以前編制的功能清除,而無論該功能 是宏、開啟程序或其它。在圖11所示的示例性軟件窗口中,當(dāng)用戶如同 與進(jìn)行編程一樣選擇了筒檔和鍵之后,按壓清除M。再一次地,這可以 M到可編程設(shè)備中的硬件中。在圖12中,7>開了一種具有專用編程輸入部件的可編程鍵盤。圖12 示出了與6個不同的簡檔對應(yīng)的一系列專用掩組或鍵P1-P6(在圖12中 示出為21-26)。在圖12中還示出了 CLEAR(清除)^fe30和SET(設(shè) 置)掩組31。如圖13所示,利用這種鍵盤,用戶可以通過按下所需要的 簡檔選擇掩組22、接著按下SET按鈕31來選擇用戶筒檔進(jìn)行修改。于 是SET拾組31開始閃爍,以指示硬件已準(zhǔn)備好進(jìn)行有效編程。然后,用 戶可以選擇所需要的源鍵,在這之后,SET掩組31上的指示可發(fā)生變化, 諸如從閃爍變?yōu)橐恢绷痢=酉聛?,用戶可以輸入目?biāo)宏序列,在這之后, SET掩組31可變暗,表示編程完成。同樣地,可以按下CLEAR掩組30 來清除各個源鍵與宏或其它目標(biāo)功能的關(guān)聯(lián)。在本發(fā)明的可替選實施例中,計算機鼠標(biāo)設(shè)想成具有與結(jié)合圖12所 示鍵盤所描述的專用編程輸入部件相似的專用編程輸入部件。圖14示出 了計算機鼠標(biāo),其具有與編程和確iM目對應(yīng)的專用掩組40和41。在這種 情況下,用戶可以按壓鼠標(biāo)底部的"Program (程序)"掩組41。然后, 用戶可以單擊要綁定快捷方式/宏的源鼠標(biāo)按鈕。在輸入所需要的快捷方 式/宏之后,用戶可以按壓鼠標(biāo)底部的"Confirm (確認(rèn))"掩組40來結(jié)束編程o圖16示出了本發(fā)明可編程鍵盤的示例性編程流程。如上所述,編程 可以通過軟件界面或硬件接口來完成。圖17示出了本發(fā)明所設(shè)想的一種 類型的可編程鼠標(biāo)的示例性編程流程。雖然已經(jīng)參考一個或多個特定實施例對本發(fā)明進(jìn)行了描述,但是,本 領(lǐng)域技術(shù)人員應(yīng)該理解,可以對本發(fā)明進(jìn)4iS午多修改而不脫離本發(fā)明的精 神和范圍。這些實施例中的每個實施例及其變型認(rèn)為是落入本發(fā)明的、由 所附權(quán)利要求所限定的精神和范圍內(nèi)。
權(quán)利要求
1.一種可編程用戶輸入設(shè)備,包括處理器;多個控制輸入;用于存儲用戶配置數(shù)據(jù)的非易失性存儲器,所述用戶配置數(shù)據(jù)包括用于所述控制輸入的用戶定義的功能,其中,所述非易失性存儲器以通信的方式與數(shù)據(jù)輸入耦合,使得所述用戶能夠通過針對所述控制輸入中的至少一個控制輸入來定義用戶定義的功能而對所述用戶輸入設(shè)備進(jìn)行編程。
2. 如權(quán)利要求1所述的可編程用戶輸入i殳備,還包括編程鍵,該編 程鍵使得能夠?qū)崿F(xiàn)對所述用戶輸入設(shè)備的編程而不需要圖形用戶界面。
3. 如權(quán)利要求2所述的可編程用戶輸入i殳備,其中,所述用戶輸入 設(shè)備為計算機鼠標(biāo)。
4. 如權(quán)利要求2所述的可編程用戶輸入設(shè)備,其中,所述用戶輸入 設(shè)備為計算機鍵盤。
5. 如權(quán)利要求1所述的可編程用戶輸入i殳備,其中,可以選擇多個 用戶定義的簡檔中的一個以便進(jìn)行編程。
6. 如權(quán)利要求1所述的可編程用戶輸A^殳備,其中,所述用戶定義 的功能配置成允許開啟可執(zhí)行文件。
7. 如權(quán)利要求1所述的可編程用戶輸入i殳備,其中,所述非易失性 存儲器為EEPROM。
8. 如權(quán)利要求1所述的可編程用戶輸入設(shè)備,其中,所述非易失性 存儲器是模塊化的,并且可以從所述可編程用戶輸入設(shè)備移除。
9. 一種用于對用戶輸入i史備進(jìn)行編程的方法,包括 針對所述用戶輸入i更備i^編程模式; 針對所述用戶輸入設(shè)備選擇多個用戶簡檔中的一個; 選擇源鍵;針對所述源鍵定義定制的目標(biāo)功能,由此產(chǎn)生用戶配置數(shù)據(jù);以及 將所述用戶配置數(shù)據(jù)存儲到非易失性存儲器中。
10. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述選擇步驟是通過選擇與所需要的簡檔相關(guān)的專用硬件選項來完成的。
11. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述用戶輸入設(shè)備為計算機鼠標(biāo)。
12. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述用戶輸入設(shè)備為計算機^ 。
13. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述用戶定義的功能包括開啟可執(zhí)行文件。
14. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,還包 括選擇軟件應(yīng)用程序,該軟件應(yīng)用程序用來開啟所述可執(zhí)行文件。
15. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述非易失性存儲器為EEPROM。
16. 如權(quán)利要求9所述的用于對用戶輸入設(shè)備進(jìn)行編程的方法,其中, 所述非易失性存儲器是模塊化的,并且可以從所述可編程用戶輸入設(shè)備移 除。
17. —種用于對計算機輸入設(shè)備的非易失性存儲器進(jìn)行編程的計算 ^#呈序,包括用于選擇多個用戶簡檔中的一個用戶簡檔的用戶界面;編程模塊,其允許進(jìn)行對源輸入和與所述源輸入相關(guān)聯(lián)的目標(biāo)功能的 用戶定義的選擇,同時包括編程信息;數(shù)據(jù)通信模塊,其實現(xiàn)所述編程信息到非易失性存儲器的傳送,以便 存儲在所述非易失性存儲器。
18. 如權(quán)利要求17所述的計算機程序,還包括清除模塊,該清除模 塊允許所述用戶選擇性地清除至少一些所述編程信息。
19. 如權(quán)利要求17所述的計算M序,其中,所述編程模塊響應(yīng)于 專用編程鍵,用于使得能夠進(jìn)行對所述計算機輸入設(shè)備的編程而不需要圖 形用戶界面。
20. 如權(quán)利要求17所述的計算積4呈序,其中,所述用戶輸入設(shè)備為 計算機鼠標(biāo)。
21. 如權(quán)利要求17所述的計算枳^呈序,其中,所述用戶輸入設(shè)備為 計算機勉。
22. 如權(quán)利要求17所述的計算機程序,其中,所述目標(biāo)功能包括開 啟可執(zhí)行文件。
23. 如權(quán)利要求17所述的計算;t^呈序,其中,所述編程模塊提示所 述用戶標(biāo)識用來開啟可執(zhí)行文件作為所述目標(biāo)功能的軟件應(yīng)用程序。
24. 如權(quán)利要求17所述的計算^^呈序,其中,所述非易失性存儲器 為EEPROM。
25. 如權(quán)利要求17所述的計算;l^呈序,其中,所述非易失性存儲器 是模塊化的,并且可以從所述可編程用戶輸入設(shè)備移除。
全文摘要
本發(fā)明公開了一種系統(tǒng)和方法,用于對用戶輸入設(shè)備如計算機鼠標(biāo)或計算機鍵盤進(jìn)行編程。所述用戶輸入設(shè)備包括存儲器,該存儲器用于存儲與各個用戶輸入如按鈕或鍵相關(guān)聯(lián)的編程信息。用戶可以對與各用戶簡檔中的任何一個或全部相關(guān)聯(lián)的宏、快捷方式、程序以及其它功能進(jìn)行限定,使得用戶可以容易地在各個編制的數(shù)據(jù)集合間切換。
文檔編號G06F3/023GK101156128SQ200580049373
公開日2008年4月2日 申請日期2005年4月6日 優(yōu)先權(quán)日2005年4月6日
發(fā)明者陳民亮, 黃成安 申請人:雷澤美國有限公司