本申請要求2014年9月8日提交的美國臨時專利申請第62/047618號的優(yōu)先權(quán),其全部內(nèi)容通過引用并入于此。
本發(fā)明涉及一種自適應(yīng)界面裝置。
背景技術(shù):
個人計算機裝置(包括例如,臺式計算機、膝上型計算機、平板電腦、智能電話和個人數(shù)字助理)通常包括或可連接到各種界面設(shè)備,諸如鍵盤、鼠標(biāo)和游戲控制器。通常來說,某些外部輸入(例如,人為輸入或移動)導(dǎo)致界面裝置將預(yù)定數(shù)據(jù)或控制信號輸出到計算機裝置。隨后,由在計算機裝置上執(zhí)行的軟件接收這些數(shù)據(jù)或控制信號,這導(dǎo)致計算機裝置按照軟件的方式做出反應(yīng)。
某些界面裝置是自適應(yīng)的,并且可由用戶配置以改變響應(yīng)于在界面裝置上的特定輸入而產(chǎn)生的特定輸出。然而,配置自適應(yīng)界面裝置可能需要在計算機裝置上執(zhí)行的專業(yè)軟件并且與自適應(yīng)界面裝置進(jìn)行雙向通行以使計算機裝置能夠在自適應(yīng)界面裝置上重寫數(shù)據(jù)。
因此,需要一種用于對界面裝置進(jìn)行編程的增強型系統(tǒng)和方法。
技術(shù)實現(xiàn)要素:
在一個實施例中,本發(fā)明提供一種對自適應(yīng)界面裝置進(jìn)行編程的方法。所述方法包括:在計算機裝置的顯示屏上提供重映射圖形用戶界面;在所述重映射圖形用戶界面上提供所述自適應(yīng)界面裝置的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)的圖形表示;所述自適應(yīng)界面裝置接收指示導(dǎo)航輸入的導(dǎo)航代碼?;趯?dǎo)航代碼更新圖形表示。所述方法包括基于導(dǎo)航代碼確定自適應(yīng)界面裝置已被重映射為具有更新后的映射。在所述重映射圖形用戶界面上顯示自適應(yīng)界面裝置的更新后的映射。
在某些示例中,所述計算機裝置容納連接到所述自適應(yīng)界面裝置的數(shù)據(jù)線纜,其中,導(dǎo)航代碼通過所述數(shù)據(jù)線纜被接收。在某些示例中,所述方法包括從所述自適應(yīng)界面裝置接收重映射模式信息,其中,重映射模式信息指示所述重映射界面裝置已進(jìn)入重映射模式。在某些示例中,所述方法包括從所述自適應(yīng)界面裝置接收當(dāng)前映射數(shù)據(jù);在所述重映射圖形用戶界面上基于當(dāng)前映射數(shù)據(jù)顯示所述自適應(yīng)界面裝置的當(dāng)前映射。在某些示例中,所述方法包括在所述重映射圖形用戶界面上顯示包括所述自適應(yīng)界面裝置的可編程輸入的虛擬自適應(yīng)界面裝置。在某些實施例中,顯示自適應(yīng)界面裝置的更新后的映射的步驟包括:在所述虛擬自適應(yīng)界面裝置上顯示更新后的映射。在某些實施例中,所述導(dǎo)航數(shù)據(jù)結(jié)構(gòu)的圖形顯示是虛擬鍵盤。
在另一實施例中,本發(fā)明提供對自適應(yīng)界面裝置進(jìn)行編程的另一方法。所述方法包括:由所述自適應(yīng)界面裝置將重映射模式信息發(fā)送到計算機裝置。所述重映射模式信息指示自適應(yīng)界面裝置已進(jìn)入重映射模式。所述自適應(yīng)界面裝置接收對所述自適應(yīng)界面裝置的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)進(jìn)行導(dǎo)航的導(dǎo)航輸入以用于對所述自適應(yīng)的可編程輸入進(jìn)行重映射。所述自適應(yīng)界面裝置基于導(dǎo)航輸入對可編程輸入進(jìn)行重映射。所述方法還包括由所述自適應(yīng)界面裝置發(fā)送指示接收到的導(dǎo)航輸入并指示重映射的導(dǎo)航代碼。
在某些示例中,所述自適應(yīng)界面裝置接收連接到所述計算機裝置的數(shù)據(jù)線纜,其中,導(dǎo)航代碼通過所述數(shù)據(jù)線纜被發(fā)送。在某些示例中,所述方法包括:在進(jìn)入重映射模式時,將當(dāng)前映射數(shù)據(jù)發(fā)送到所述計算機裝置,其中,所述當(dāng)前映射數(shù)據(jù)指示所述自適應(yīng)界面裝置的可編程輸入的當(dāng)前映射。在某些示例中,所述方法包括經(jīng)由可編程輸入接收請求以使自適應(yīng)界面裝置進(jìn)入重映射模式。在某些示例中,所述方法包括在接收到所述請求進(jìn)入重映射模式之前,接收在可編程輸入的第一可編程輸入處的用戶輸入。這些示例還可包括由所述自適應(yīng)界面裝置將第一代碼發(fā)送到所述計算機裝置,其中,所述第一代碼表示響應(yīng)于所述用戶輸入的第一映射的輸出;接收在重映射之后在第一可編程輸入處的另一用戶輸入;由所述自適應(yīng)界面裝置將第二代碼發(fā)送到所述計算機裝置,其中,所述第二代碼表示響應(yīng)于所述另一用戶輸入表示第二映射的輸出。
在另一實施例中,本發(fā)明提供一種可編程自適應(yīng)界面裝置。所述可編程自適應(yīng)界面裝置包括可編程輸入、輸入/輸出界面、存儲器和處理器。所述輸入/輸出界面被配置為連接到計算機裝置。所述存儲器包括導(dǎo)航數(shù)據(jù)結(jié)構(gòu)和鍵映射索引。所述處理器被配置將重映射模式信息經(jīng)由所述輸入/輸出界面發(fā)送到所述計算機裝置,所述重映射模式信息指示所述自適應(yīng)結(jié)構(gòu)裝置已進(jìn)入重映射模式。所述處理器還被配置為經(jīng)由可編程輸入接收使導(dǎo)航數(shù)據(jù)結(jié)構(gòu)進(jìn)行導(dǎo)航的導(dǎo)航輸入。所述處理器基于導(dǎo)航輸入對可編程輸入進(jìn)行重映射并經(jīng)由所述輸入/輸出界面將導(dǎo)航代碼發(fā)送到所述計算機裝置。所述導(dǎo)航代碼指示接收的導(dǎo)航輸入并指示重映射。
在某些示例中,所述可編程自適應(yīng)界面裝置包括:數(shù)據(jù)線纜,連接到所述輸入/輸出界面和計算機以形成通信鏈接。在某些示例中,鍵映射索引將可編程輸入中的每個輸入與對應(yīng)輸出代碼相關(guān)聯(lián)。在某些示例中,在進(jìn)入重映射模式時,鍵映射索引具有指示所述自適應(yīng)界面裝置的可編程輸入的當(dāng)前映射的當(dāng)前映射數(shù)據(jù)。在某些示例中,在完成重映射時,鍵映射索引具有指示所述自適應(yīng)界面裝置的可編程輸入的更新后的映射的更新后的映射數(shù)據(jù)。在某些示例中,所述處理器還被配置為接收在可編程輸入的第一可編程輸入處的用戶輸入;將表示響應(yīng)于用戶輸入的第一映射的輸出的第一代碼發(fā)送到所述計算機裝置;接收在重映射之后經(jīng)由第一可編程輸入的另一用戶輸入;將第二代碼發(fā)送到所述計算機裝置,其中,第二代碼表示響應(yīng)于所述另一用戶輸入的第二映射的輸出。在某些示例中,所述裝置還包括導(dǎo)體,選擇性地固定可編程輸入中的兩個可編程輸入以在所述兩個可編程輸入之間形成導(dǎo)電通道。所述處理器還被配置為檢測由導(dǎo)體形成的導(dǎo)電通道,并且作為響應(yīng),使自適應(yīng)界面裝置進(jìn)入所述重映射模式。
通過考慮具體實施方式和附圖,本發(fā)明的其它方面將變得顯而易見。
附圖說明
圖1a示出根據(jù)本發(fā)明的某些實施例的自適應(yīng)界面裝置的前側(cè)。
圖1b示出圖1a中的自適應(yīng)界面裝置的背側(cè)。
圖2示出操作為計算機裝置的界面裝置的圖1a中的自適應(yīng)界面裝置的框圖。
圖3示出包括圖1a的自適應(yīng)界面裝置的重編程系統(tǒng)的框圖。
圖4a和圖4b示出對諸如圖1a中的自適應(yīng)界面裝置進(jìn)行編程的方法。
圖5a、圖5b、圖5c、圖5d和圖5e示出根據(jù)本發(fā)明的某些實施例的重映射圖形用戶界面的各種屏幕。
具體實施方式
在對本發(fā)明的任何實施例進(jìn)行詳細(xì)解釋之前,將理解本發(fā)明不受限于在隨后的具體實施方法闡述的或在隨后的附圖中示出的結(jié)構(gòu)的細(xì)節(jié)和組件的排列方式。本發(fā)明能夠具有其它實施例并且以各種方式實施或?qū)嵺`。
圖1a和圖1b分別示出根據(jù)某些實施例的自適應(yīng)界面裝置100的正面和背面。自適應(yīng)界面裝置100是基于用戶輸入模擬諸如,鍵盤或鼠標(biāo)的計算機外圍裝置的可編程裝置。用戶輸入包括例如導(dǎo)致完成導(dǎo)電回路的動作??捎勺赃m應(yīng)界面裝置100檢測出用戶輸入,反過來,自適應(yīng)界面裝置100生成模擬外圍裝置輸出的輸出。
自適應(yīng)界面裝置100包括印刷電路板(pcb)102和連接器線纜104(例如,通用串行總線
參照圖3,連接器線纜104的另一端與計算機112(例如,桌面電腦、筆記本電腦或平板電腦)的外端端口110連接。連接器線纜104、端口108和外圍端口110可以是例如
返回至圖1a和圖1b,pcb102包括(例如,經(jīng)由pcb上的軌跡)與微控制器106連接的若干輸入引腳。pcb102包括沿底部設(shè)置的六個接地引腳114。此外,pcb102包括多個輸入引腳,通常被稱作輸入引腳116,但是更具體地在此處使用附加到標(biāo)識符116的字母來標(biāo)識(例如,上箭頭引腳116a)。pcb102的正面包括六個引腳,上箭頭引腳116a、下箭頭引腳116b、左箭頭引腳116c、右箭頭引腳116d、空格引腳116e和點擊引腳116f,統(tǒng)稱為輸入引腳116。每個接地引腳114和輸入引腳116包括兩個導(dǎo)電孔,這能夠使鱷魚夾線纜快速連接,這是由于鱷魚夾的每一半都由相應(yīng)的孔接收,并且(彈簧加載的)鱷魚夾夾具夾在pcb的橋接部分上,將兩個孔分開。當(dāng)然,沒有鱷魚夾的導(dǎo)體也可經(jīng)由焊接和其它技術(shù)被連接到輸入引腳。
pcb102的背面(圖1b)具有用于附加鍵盤按鍵和鼠標(biāo)控制的若干附加輸入引腳。如圖所示,pcb102的背面包括用于鍵盤按鍵的8個附加鍵盤輸入116g,這各個被標(biāo)簽為w、a、s、d、f、g、h和j,以及用于鼠標(biāo)控制的6個附加輸入鼠標(biāo)引腳,用鼠標(biāo)上移、鼠標(biāo)下移、鼠標(biāo)左移、鼠標(biāo)右移、右擊、和左擊圖形進(jìn)行圖示標(biāo)簽。鍵盤輸入引腳116g和鼠標(biāo)輸入引腳116h是可以容納紙夾端部、引線端部、跳線端部或其它導(dǎo)體的母座。pcb102的背面還包括用于使用板來控制輸出的區(qū)域。此外,如圖1a和圖1b所示,因為在pcb102的前側(cè)的輸入引腳116包括穿過pcb102延伸的孔,所以這些輸入引腳116也可從pcb102的后側(cè)接近以進(jìn)行鱷魚夾連接。
在pcb102上的具體引腳布局和引腳數(shù)目是示例性的。在某些實施例中,輸入引腳116位于pcb102的其它部分和/或以其它布局排列方式。在某些實施例中,pcb102在前側(cè)、后側(cè)或兩側(cè)包括更多或更少的輸入引腳。
以上示出的輸入引腳116中的每一個包括默認(rèn)引腳分配,使得每個輸入引腳116映射于特定鍵盤按壓(例如,“w”)、鼠標(biāo)控制(例如,鼠標(biāo)右擊)或其它hid協(xié)議信號。pcb102的標(biāo)簽、圖形和布局使得對用戶而言默認(rèn)引腳分配是清楚的。例如,上箭頭輸入引腳116a位于上箭頭圖示內(nèi),空格輸入引腳116e包括在其下方的文字“空格”(參見圖1a)。在某些實施例中,不同默認(rèn)鍵按壓和鼠標(biāo)控制被分配給輸入引腳116。此外,如以下將詳細(xì)討論的,可對輸入引腳116的分配進(jìn)行重編程,使得它們映射到并模擬不同鍵按壓、鼠標(biāo)控制或其它hid協(xié)議信號。
返回參照圖2,接地導(dǎo)體120和輸入導(dǎo)體122分別被連接到接地引腳114以及鍵盤輸入引腳116g之一。圖2中的鍵盤輸入引腳被標(biāo)簽為116g至116w,并表示具有字母“w”的默認(rèn)引腳分配的鍵盤輸入引腳116g(參見圖1b中的最高輸入引腳116)。作為示例,接地導(dǎo)體120和輸入導(dǎo)體122是鱷魚夾線纜,其是在一端或兩端均具有鱷魚夾的電線。除了暴露用于導(dǎo)電耦合的端部之外,可以在電線周圍設(shè)置絕緣包裹物。接地導(dǎo)體120和輸入導(dǎo)體122在一端分別連接到接地引腳114和鍵盤輸入引腳116g至116w,并且在另一端分別連接到人124和蘋果126。雖然在一些實施例中是可移除的,如連接器線纜104,接地導(dǎo)體120和輸入導(dǎo)體122可以被認(rèn)為是自適應(yīng)界面裝置100的一部分。
當(dāng)人124觸摸蘋果126(例如,使用手指),在鍵盤輸入引腳116-w與接地引腳116之間形成完整的電路回路128。該回路128包括鍵盤輸入引腳116g至116w、輸入導(dǎo)體122、蘋果126、人124、接地導(dǎo)體120和接地引腳114。由pcb102的微控制器106檢測到完整的電路回路128。完成輸入引腳116之一的電路回路(隨后被pcb102檢測到)是觸發(fā)輸入引腳116的示例。響應(yīng)于此,pcb102向計算機112發(fā)送與鍵盤輸入引腳116g至116w相關(guān)聯(lián)的hid信號。也就是說,pcb102產(chǎn)生模擬鍵盤或鼠標(biāo)動作(例如,鍵盤按壓、鼠標(biāo)點擊或鼠標(biāo)移動)的輸出。
計算機112做出反應(yīng)以接收來自pcb102的輸出,猶如輸出是從標(biāo)準(zhǔn)鍵盤或鼠標(biāo)發(fā)送的。因此,用戶(諸如,在以上示出的圖中的人124)可通過觸摸蘋果126模擬在鍵盤上的鍵擊,計算機112可接收所模擬的鍵擊并做出反應(yīng),猶如用戶按壓正被模擬的鍵盤上的真實按鍵。例如,在文字處理程序中,在用戶觸摸蘋果時,所模擬的鍵擊是字母“w”,文字處理程序?qū)⑷缤脩粼阪I盤上按壓“w”一樣做出反應(yīng)并將新的“w”顯示在計算機112的顯示器上。
微控制器106監(jiān)視輸入引腳116并使用高電阻開關(guān)和濾波以提供靈敏檢測器,其甚至檢測到通過諸如皮膚、葉子和建?;衔锏牟牧?其不是高度導(dǎo)電的)完成的電路回路。例如,pcb102使用二十二(22)兆歐姆的上拉電阻器。在微控制器106上執(zhí)行的軟件使用移動窗口平均器到低通濾波器來過濾每個輸入引腳116上的噪聲??蛇x地,盡管潛在地增加了成本,自適應(yīng)界面設(shè)備可以使用硬件過濾。
雖然以上示出了蘋果126,但是可導(dǎo)電的任何材料,即使僅輕微導(dǎo)電將操作以完成電路回路并可由自適應(yīng)界面裝置100檢測到。用于完成在輸入引腳116之一與pcb102的接地引腳114之間的電路回路的導(dǎo)電項中的其它示例包括番茄醬、鉛筆石墨、指甲油、檸檬、植物、硬幣、其他人類、銀器、水(和濕的物體)、大多數(shù)食品、貓、狗、鋁卷、雨等等。
此外,如果人124接地,則輸入引腳116是觸摸敏感的。換言之,用戶可直接觸摸輸入引腳116g至116w以完成電路回路,而不是人124觸摸蘋果126以觸發(fā)輸入116g至116w。
雖然參照文字處理應(yīng)用進(jìn)行了描述,自適應(yīng)界面裝置100類似地與進(jìn)行鍵盤輸入、鼠標(biāo)輸入和其它hid輸入的其他程序和網(wǎng)頁一起工作。在另一示例中,自適應(yīng)界面設(shè)備100與在生成虛擬鋼琴的計算機112上執(zhí)行的計算機程序一起使用。在典型操作中,虛擬鋼琴使用在鍵盤上的鍵按壓和/或鼠標(biāo)動作來演奏。自適應(yīng)界面裝置100代替使用計算機鍵盤按鈕來演奏虛擬鋼琴,產(chǎn)生用于演奏虛擬鋼琴的輸出。選擇輸入引腳116之一可經(jīng)由輸入導(dǎo)體(與輸入導(dǎo)體122類似)連接到香蕉,用戶經(jīng)由接地導(dǎo)體(與輸入導(dǎo)體122類似)接地,香蕉變成鋼琴鍵。也就是說,每次接地的用戶觸摸香蕉中的一個時,在接地引腳114和輸入引腳116中的一個之間完成電路回路,其由自適應(yīng)界面設(shè)備100檢測。反過來,自適應(yīng)界面裝置100生成至計算機112的輸出,其輸出模擬鍵按壓或鼠標(biāo)動作,具體鍵按壓或鼠標(biāo)動作取決于輸入引腳116中被觸發(fā)的具體一個。由在計算機112上執(zhí)行的計算機程序接收所述輸出,導(dǎo)致演奏虛擬鋼琴的一個鍵或多個鍵。
如上所述,自適應(yīng)界面裝置100被重編程使得輸入引腳116的引腳分配可被改變。換言之,自適應(yīng)界面裝置100可被重編程以改變響應(yīng)于輸入引腳116中正被觸發(fā)的具體引腳而通過連接器線纜104發(fā)送的輸出信號。例如,在針對圖2描述的示例中,觸發(fā)輸入引腳114g-w導(dǎo)致“w”hid代碼將被發(fā)送到計算機112。然而,在重編程之后,自適應(yīng)界面裝置100可被配置使得輸入引腳114g-w的另一觸發(fā)導(dǎo)致“x”hid代碼被發(fā)送而非“w”hid代碼。
在某些實施例中,重編程也被稱為重映射,其在無需將自適應(yīng)界面裝置連接到在其上具有特定驅(qū)動程序或特定軟件的計算機的情況下被實施。此外,在沒有將固件或其它更新從計算機通信至自適應(yīng)界面裝置100的情況下可實施重編程。相反,在自適應(yīng)界面裝置100本身的輸入引腳116上的用戶輸入導(dǎo)致自適應(yīng)界面裝置100的重編程。
圖3示出界面重編程系統(tǒng)(reprogrammingsystem)的框圖,所述系統(tǒng)包括自適應(yīng)界面裝置100、本地計算機154和遠(yuǎn)程服務(wù)器156。本地計算機是計算機裝置,可以是例如筆記本電腦、平板電腦或桌面電腦,諸如,圖2中示出的計算機112。自適應(yīng)界面裝置100包括處理器160、存儲器162、輸入引腳116(也被稱作可編程輸入)和端口108。處理器160和存儲器162形成微控制器106的一部分(圖1b示出)以及可編程輸入包括輸入引腳116(在圖1a和圖1b中示出)。
在某些實施例中,存儲器162包括由計算器160執(zhí)行的指令以及由處理器160使用的數(shù)據(jù)以執(zhí)行在此描述的自適應(yīng)界面裝置160的功能。所述指令包括由處理器160在重映射模式下執(zhí)行的重編程代碼170,以及至少包括用于自適應(yīng)界面裝置的正常操作模式的代碼的其它固件172。重編程代碼170定義了用戶在重編程期間可導(dǎo)航的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174并根據(jù)用戶導(dǎo)航控制輸入引腳116的重編程。
在某些實施例中,存儲器162還包括鍵映射180,其定義了(a)可由用戶觸發(fā)的自適應(yīng)界面裝置152的輸入引腳116與(b)自適應(yīng)界面裝置152響應(yīng)于被觸發(fā)而產(chǎn)生的關(guān)聯(lián)輸出代碼之間的相關(guān)性。例如,在處理器160響應(yīng)于輸入引腳116之一的致動而接收到用戶輸入時,處理器160可以存取存儲器162并且使用致動的輸入引腳116的標(biāo)識符作為數(shù)索引寫入鍵映射180的數(shù)據(jù)表中。數(shù)據(jù)表(也被稱作鍵映射索引)將標(biāo)識符與hid輸出代碼相關(guān)聯(lián),這被反提供至處理器160。處理器160隨后在端口108上輸出返回的hid輸出代碼。鍵映射180可包括定義當(dāng)前輸入引腳至輸出代碼分配的當(dāng)前鍵映射以及默認(rèn)鍵映射,所述默認(rèn)鍵映射可用于在重置或重存儲自適應(yīng)界面裝置100的操作時重寫當(dāng)前鍵映射。在此示例中,為了對自適應(yīng)界面裝置100進(jìn)行重編程,則鍵映射180中的至少一部分被重寫或以其它方式更新以改變被存儲的輸入引腳至輸出代碼分配。換言之,輸入引腳116中的某些引腳或全部引腳被重映射到不同的輸出代碼。
在某些實施例中,本地計算機154經(jīng)由網(wǎng)絡(luò)連接到遠(yuǎn)程服務(wù)器156,可包括一個或多個有線和/或無線連接。雖然并未示出,本地計算機154和遠(yuǎn)程服務(wù)器156中的每一個包括處理器和存儲器。本地計算機154包括由處理器(未示出)執(zhí)行的網(wǎng)頁瀏覽器軟件應(yīng)用(網(wǎng)頁瀏覽器)182、包括顯示器184的用戶界面和其它用戶輸入(未示出),諸如,鍵盤和鼠標(biāo),用于與網(wǎng)頁瀏覽器182進(jìn)行交互。用戶可操作以將地址輸入到網(wǎng)頁瀏覽器中或以其它方式將導(dǎo)航網(wǎng)頁瀏覽器182至網(wǎng)站以向在遠(yuǎn)程服務(wù)器156上的自適應(yīng)界面裝置進(jìn)行重編程,這導(dǎo)致遠(yuǎn)程服務(wù)器將包括java應(yīng)用軟件(網(wǎng)頁軟件186)的網(wǎng)頁發(fā)送到網(wǎng)頁瀏覽器182。網(wǎng)頁瀏覽器182解釋和/或執(zhí)行網(wǎng)頁軟件186,并向顯示器184提供相應(yīng)可視化輸出,如在以下進(jìn)一步詳細(xì)討論的,這幫助對自適應(yīng)界面裝置100進(jìn)行重編程。在某些實施例中,本地計算機154和遠(yuǎn)程服務(wù)器156經(jīng)由不包括互聯(lián)網(wǎng)的網(wǎng)絡(luò)連接(諸如,本地網(wǎng)絡(luò)或局域網(wǎng)連接)而連接。此外,在某些實施例中,網(wǎng)頁軟件186被存儲在本地計算機154上,使得在對自適應(yīng)界面裝置進(jìn)行重編程期間無法使用連接到遠(yuǎn)程服務(wù)器156的互聯(lián)網(wǎng)(或其它連接)。
為了重編程,用戶通過使用輸入引腳116的用戶輸入的某些指定組合在自適應(yīng)界面裝置100的微控制器106內(nèi)對導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174導(dǎo)航。如圖1a和圖1b中示出的自適應(yīng)界面裝置100本身不具有顯示器或用于提供自適應(yīng)界面裝置的用戶重編程的可視化反饋的簡單裝置。然而,如上所述,自適應(yīng)界面裝置100能夠?qū)⑿盘栞敵鲋劣嬎銠C154以向用戶提供可視化/可聽的反饋以幫助編程。更具體地說,在用戶對導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174進(jìn)行導(dǎo)航以對自適應(yīng)界面裝置100進(jìn)行重編程時,處理器160輸出表示經(jīng)由輸入引腳116接收的導(dǎo)航輸入的信號并生成在連接器線纜104之上的導(dǎo)航輸入的輸出。在重編程時,網(wǎng)頁軟件186在所連接的本地計算機154的網(wǎng)頁瀏覽器182上執(zhí)行,其操作以接收來自適應(yīng)界面裝置100的輸出,并向用戶提供在顯示器184上用戶正在對其進(jìn)行導(dǎo)航的用于重編程自適應(yīng)界面裝置的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174的圖形表示。
為了提供圖形表示,在本地計算機154上執(zhí)行的網(wǎng)頁瀏覽器包括從網(wǎng)頁軟件186接收到的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174的對應(yīng)副本,被稱作副本數(shù)據(jù)結(jié)構(gòu)(replicadatastructure)188。網(wǎng)頁軟件186可包括若干副本數(shù)據(jù)結(jié)構(gòu)188,每一個對應(yīng)于自適應(yīng)界面裝置的每種類型。網(wǎng)頁瀏覽器182從自適應(yīng)界面裝置100接收輸出,并相應(yīng)地對副本數(shù)據(jù)結(jié)構(gòu)188進(jìn)行導(dǎo)航,從而提供對用戶導(dǎo)航的實時可視化反饋。這種基于瀏覽器的圖形用戶界面向用戶提供其他方式不可用的可視化反饋并允許用戶更容易地導(dǎo)航在自適應(yīng)界面裝置100內(nèi)的其它復(fù)雜陣列的數(shù)據(jù)結(jié)構(gòu)。
自適應(yīng)界面裝置100與本地計算機154之間的通信是單行的,從自適應(yīng)界面裝置100到本地計算機154,即,到網(wǎng)頁瀏覽器182。由于通信是單行的,本地計算機154不會回傳到自適應(yīng)界面裝置100,至少實質(zhì)上不行。在某些示例中,從本地計算機154向自適應(yīng)界面裝置100發(fā)送某些確認(rèn)和握手通信以建立或維持根據(jù)特定通信協(xié)議的通信鏈接。在這些示例中,計算機154與自適應(yīng)界面裝置之間的通信可能仍被認(rèn)為是單行的,這是因為實質(zhì)數(shù)據(jù)載荷并非從本地服務(wù)器154傳遞到自適應(yīng)界面裝置100。換言之,單行通信意味著實質(zhì)數(shù)據(jù)載荷僅沿一個方向(例如,從裝置a至裝置b,而不從裝置b到裝置a)而非沿兩個方向(例如,從裝置a到裝置b,并且也從裝置b到裝置a)經(jīng)由通信鏈接發(fā)送。作為示例,更新鍵映射180(例如,特定引腳分配值、保存命令和恢復(fù)命令)的編程數(shù)據(jù)和命令并非從本地服務(wù)器154提供。相反,編程數(shù)據(jù)和命令是在自適應(yīng)界面裝置100內(nèi)經(jīng)由重編程代碼170響應(yīng)于輸入引腳116接收到的導(dǎo)航輸入而產(chǎn)生的。在此,編程數(shù)據(jù)和命令是實質(zhì)數(shù)據(jù)載荷的示例,而根據(jù)某些通信協(xié)議僅確認(rèn)和握手通信來建立或維持通信鏈路是非實質(zhì)的。
在重編碼期間,網(wǎng)頁瀏覽器182是在本地計算機154上在前景中的應(yīng)用以確保其從自適應(yīng)界面裝置100接收通信。如果用戶導(dǎo)航至另一應(yīng)用或網(wǎng)頁,導(dǎo)致網(wǎng)頁瀏覽器182位于背景中,則用戶觸發(fā)自適應(yīng)界面裝置100的輸入引腳116之一,網(wǎng)頁瀏覽器182可不接收用戶輸入。因此,在自適應(yīng)界面裝置100上的導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174的實際導(dǎo)航與在網(wǎng)頁瀏覽器182上的副本數(shù)據(jù)結(jié)構(gòu)188之間的同步可能會喪失。因此,用戶在自適應(yīng)界面裝置100上從該點向前的實際導(dǎo)航的視覺反饋可能是不準(zhǔn)確的。
在可替換示例中,用戶將五伏特(5v)dc電源連接到pcb102,而非將其經(jīng)由連接器線纜104連接到本地計算機154,在沒有來自本地計算機154的可視化反饋的情況下對自適應(yīng)界面裝置100進(jìn)行編程。此外,自適應(yīng)界面裝置100僅是在此處描述的可被編程的自適應(yīng)界面裝置的示例。其它界面裝置可使用包括用于接收用戶輸入并觸發(fā)輸入導(dǎo)致界面裝置的輸出的其它技術(shù)。這種其它技術(shù)可包括按鈕、鍵盤、光學(xué)傳感器和與微控制器交互的電容傳感器中的一個或多個。
圖4a和圖4b分別示出對自適應(yīng)界面裝置進(jìn)行編程的方法200和方法210。方法200和方法210是關(guān)于對自適應(yīng)界面裝置進(jìn)行重編程的描述,然而,在某些實施例中,所述方法用于對其它界面裝置進(jìn)行重編程。方法200總體上來說是從連接到將被重編程的自適應(yīng)界面裝置的計算機裝置的視角上進(jìn)行描述,而方法210總體上來說是從將被重編程的自適應(yīng)界面裝置的觀點上進(jìn)行描述。方法200和方法210可一起由重編程系統(tǒng)的組件(諸如,重編程系統(tǒng)150)執(zhí)行以對自適應(yīng)界面裝置進(jìn)行重編程。
在圖4a的方法200的步驟220,重映射圖形用戶界面(重映射gui)221被設(shè)置在本地計算機154的顯示器184上。重映射gui221可如上所述由網(wǎng)頁瀏覽器182基于從遠(yuǎn)程服務(wù)器156獲得的網(wǎng)頁軟件186或基于在本地計算機154上存在的本地軟件應(yīng)用而獲得。重編程gui221包括向用戶傳達(dá)信息的各種屏幕,其示例將針對圖5a至圖5e進(jìn)行描述。
例如,在步驟220,用戶啟動本地計算機154上的網(wǎng)頁瀏覽器182,本地計算機154連接到互聯(lián)網(wǎng),并導(dǎo)航至具有網(wǎng)頁軟件186的重編程網(wǎng)頁。網(wǎng)頁瀏覽器182反過來如圖5a所示顯示重映射啟動屏幕222。如下所示,該屏幕222指示用戶斷開他們的自適應(yīng)界面裝置100的連接并隨后通過點擊啟動按鈕224(例如,使用連接到本地計算機154的鼠標(biāo))來啟動進(jìn)程。該點擊動作確保網(wǎng)頁瀏覽器182處于本地計算機154的前景中并在稍后階段從自適應(yīng)界面裝置100接收數(shù)據(jù)。
在選擇啟動按鈕224時,重編程gui221被更新以顯示進(jìn)入重映射模式屏幕226(圖5b)。屏幕226指示用戶在重映射模式下如何啟動自適應(yīng)界面裝置100。在屏幕226上的示例指令中,指示用戶連接輸入引腳116a和116b(例如,使用第一鱷魚夾線纜),連接輸入引腳116c和116d(例如,使用第二鱷魚夾線纜)并隨后使用連接器線纜104將自適應(yīng)界面裝置100連接到計算機154。當(dāng)自適應(yīng)界面裝置100在重映射模式下被啟動時,pcb102的發(fā)光二極管(led)將緩慢脈沖開和關(guān)以指示用戶啟動成功并且自適應(yīng)界面裝置100處于重映射模式而非處于正常操作模式。
在用戶遵循屏幕226中所述的指令之后,本地計算機154從自適應(yīng)界面裝置100接收重映射模式信息(步驟228)。例如,自適應(yīng)界面裝置100在進(jìn)入重映射模式時輸出確認(rèn)字符串,所述字符串包括自適應(yīng)界面裝置100的名稱、軟件版本和硬件版本(例如,“mmvl.20ab”)。網(wǎng)頁瀏覽器182可從確認(rèn)字符串確定所連接的自適應(yīng)界面裝置100的軟件版本和硬件版本。因此,當(dāng)自適應(yīng)界面裝置100被改進(jìn)或可能具有不同布局、輸入和性能的可替換版本被連接時,網(wǎng)頁瀏覽器182可適當(dāng)?shù)剡M(jìn)行(例如,獲得適當(dāng)?shù)母北緮?shù)據(jù)結(jié)構(gòu)188)。
響應(yīng)于接收到重映射模式信息,網(wǎng)頁瀏覽器182將重映射gui221推進(jìn)到圖5c的確認(rèn)屏幕230。確認(rèn)屏幕230指示用戶斷開鱷魚夾。當(dāng)自適應(yīng)界面裝置100檢測到鱷魚夾被斷開時,自適應(yīng)界面裝置100將當(dāng)前映射數(shù)據(jù)發(fā)送到網(wǎng)頁瀏覽器182(步驟232)。例如,當(dāng)前映射數(shù)據(jù)可包括標(biāo)識自適應(yīng)界面裝置100的當(dāng)前編程映射(即,鍵映射180)的網(wǎng)頁瀏覽器182的五十七個字符配置字符串,諸如,“suph50h52h51h4fh2chf0h1ah04h16h07h09h0ahf4hf5hf2h3hf0hf1”,加上三個附加字符(例如,“h50”),指示用戶位于導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174內(nèi)的位置。
在接收到當(dāng)前映射數(shù)據(jù)之后,網(wǎng)頁瀏覽器182推進(jìn)重映射gui221到如圖5d所示的重映射屏幕236(在步驟234)。重映射屏幕236包括導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174的圖形表示的顯示器。導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174的圖形表示包括自適應(yīng)界面裝置100的圖形表示及其輸入引腳116(虛擬自適應(yīng)界面240)、屏幕上鍵盤(osk)242(也稱為虛擬鍵盤242)以及虛擬編程控制按鈕244。
所示的虛擬自適應(yīng)界面240是基于在步驟228作為重映射模式信息的部分發(fā)送的版本資料。換言之,示出的具體形狀、布局和可編程輸入是基于版本資料。此外,虛擬自適應(yīng)界面240被示出為具有在步驟232被提供有當(dāng)前映射數(shù)據(jù)的輸入引腳116的當(dāng)前映射。因此,虛擬自適應(yīng)界面240是具有針對輸入引腳116的每個輸入引腳的當(dāng)前映射的自適應(yīng)界面裝置100的前側(cè)和后側(cè)的可視化表示。
虛擬編程控制按鈕244包括具有保存按鈕246、取消按鈕247和恢復(fù)按鈕248的一行,這將在下面進(jìn)一步詳細(xì)地描述。
重映射屏幕236的導(dǎo)航經(jīng)由在自適應(yīng)界面裝置100上的用戶輸入來執(zhí)行的,所述用戶輸入被解釋并作為導(dǎo)航代碼通過單行通信傳送至本地計算機154。用戶可通過在自適應(yīng)界面裝置100上使激活(觸發(fā))上箭頭輸入引腳116a、下箭頭輸入引腳116b、左箭頭輸入引腳116c和右箭頭輸入引腳116d以及點擊輸入引腳116f來對重映射屏幕236進(jìn)行導(dǎo)航。如所示,通過觸發(fā)這些輸入引腳116來對重映射屏幕236進(jìn)行導(dǎo)航,使在自適應(yīng)界面裝置100上的通過同一觸發(fā)正發(fā)生的數(shù)據(jù)結(jié)構(gòu)174的真實導(dǎo)航可視化。觸發(fā)這些輸入引腳116中的一個輸入引腳產(chǎn)生導(dǎo)航控制代碼,所述導(dǎo)航控制代碼將經(jīng)由連接器線纜104發(fā)送到網(wǎng)頁瀏覽器182。所述導(dǎo)航控制代碼是以“x”值開始的三個十六進(jìn)制字符代碼。更具體地,導(dǎo)航控制代碼如隨后表i中所示:
表i
重映射屏幕236的導(dǎo)航(包括虛擬自適應(yīng)界面240、虛擬鍵盤242和虛擬編程控制按鈕244)是線性的。光標(biāo)250被提供在重映射屏幕236上。光標(biāo)250可以是有對比效果的顏色、閃光元素或者如圓圈所示,突出使用戶在導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174內(nèi)的當(dāng)前位置。
自適應(yīng)界面裝置100從用戶觸發(fā)輸入引腳116接收各種導(dǎo)航輸入,并響應(yīng)于每個導(dǎo)航輸入,自適應(yīng)界面裝置輸出導(dǎo)航代碼至本地計算機154的網(wǎng)頁瀏覽器182(步驟252)。網(wǎng)頁瀏覽器182反過來根據(jù)接收到的導(dǎo)航代碼更新重映射屏幕236(步驟254)。所述更新例如改變光標(biāo)250在重映射屏幕236上的位置。在基于導(dǎo)航代碼更新重映射屏幕236之后,網(wǎng)頁瀏覽器182確定最新的導(dǎo)航代碼是否指示自適應(yīng)界面裝置100已被重映射(例如,保存按鈕246已被選中)。如果自適應(yīng)界面裝置100未被重映射,則所述方法返回至步驟252。步驟252和254可在用戶對導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174導(dǎo)航時重復(fù),并且步驟256繼續(xù)被評估為否。
例如,當(dāng)光標(biāo)250在虛擬自適應(yīng)界面240上時,左箭頭導(dǎo)航代碼使光標(biāo)250按以下順序通過輸入引腳116前進(jìn):左箭頭、上箭頭、下箭頭、右箭頭、空格、點擊、w、a、s、d、f、g、鼠標(biāo)上移、鼠標(biāo)下移、鼠標(biāo)左移、鼠標(biāo)右移、鼠標(biāo)左擊、鼠標(biāo)右擊,然后,循環(huán)返回,再次左箭頭。
觸發(fā)在自適應(yīng)界面裝置100上的下箭頭輸入引腳114b將使虛擬自適應(yīng)界面240的光標(biāo)下降至虛擬編程控制按鈕224,其中,用戶可選擇保存按鈕246、取消按鈕247或恢復(fù)按鈕248。觸發(fā)在自適應(yīng)界面裝置100上的上箭頭輸入引腳114a將光標(biāo)250帶回至虛擬自適應(yīng)界面240。
當(dāng)光標(biāo)250在虛擬自適應(yīng)界面240的(虛擬)輸入引腳116上的一個輸入引腳上時,通過觸發(fā)在自適應(yīng)界面裝置100上的點擊輸入引腳116f執(zhí)行導(dǎo)航到虛擬鍵盤242。選擇(虛擬)輸入引腳116中的一個并導(dǎo)航至虛擬鍵盤242允許用戶修改分配到自適應(yīng)界面裝置100的輸入引腳116中所選中的引腳的按鍵/控制。在當(dāng)光標(biāo)250是虛擬輸入引腳116中的一個時觸發(fā)點擊輸入引腳116f時,光標(biāo)250跳到在虛擬鍵盤242上當(dāng)前分配的按鍵的位置。用戶可隨后通過觸發(fā)在自適應(yīng)界面裝置100上的箭頭輸入引腳114a-d來導(dǎo)航至虛擬鍵盤242上的新鍵以控制在虛擬鍵盤上的光標(biāo)250。通過再次觸發(fā)點擊輸入引腳116f,光標(biāo)250返回至虛擬自適應(yīng)界面240上的虛擬輸入引腳116。當(dāng)點擊輸入引腳116f被觸發(fā)時,選中的虛擬輸入引腳116也在圖形上被改變?yōu)橄惹霸谔摂M鍵盤242上突出的新鍵。例如,圖5e示出在虛擬自適應(yīng)界面240上的輸入引腳116g-w從“w”字符更新至“x”字符之后的重映射屏幕236。
當(dāng)現(xiàn)在虛擬自適應(yīng)界面240具有修改后的鍵映射時,自適應(yīng)界面裝置100的實際鍵映射180還未更新。與之相反,為了使用顯示在虛擬界面裝置240上的修改后的鍵映射來更新鍵映射180,用戶將光標(biāo)250定位在保存按鈕246上并觸發(fā)點擊輸入引腳116f。在當(dāng)光標(biāo)位于保存按鈕246上時觸發(fā)點擊輸入引腳116f時,自適應(yīng)界面裝置100被重映射。在步驟256,該重映射被網(wǎng)頁瀏覽器基于導(dǎo)航輸入檢測到,其中,所述導(dǎo)航輸入包括當(dāng)光標(biāo)250位于保存按鈕246上時觸發(fā)點擊輸入引腳116f。
響應(yīng)于檢測到重映射,網(wǎng)頁瀏覽器182在自適應(yīng)界面240上顯示自適應(yīng)界面裝置100的更新后的鍵映射180。在某些示例中,在選擇保存按鈕246時,虛擬自適應(yīng)界面240將準(zhǔn)備顯示更新后的鍵映射,并在步驟258,虛擬界面裝置240不被改變。在某些示例中,在步驟258,附加可視的指示(例如,閃光、顏色改變或特定文字)被顯示在重映射屏幕236上以指示映射已被更新。
在步驟260,網(wǎng)頁瀏覽器182確定是否接收到附加導(dǎo)航輸入。如果網(wǎng)頁瀏覽器182接收到附加導(dǎo)航代碼,則所述方法返回至步驟254以更新重映射屏幕236。如果例如在預(yù)定時間段內(nèi)沒有接收到附加導(dǎo)航代碼,則所述方法200結(jié)束。所述方法也可通過選擇取消按鈕247退出。
現(xiàn)在提供使用所述方法200對輸入引腳116g至116w進(jìn)行重編程的示例。為了對自適應(yīng)界面裝置100的輸入引腳116g至116w進(jìn)行重編程以輸出“x”值而非“w”,用戶可執(zhí)行以下步驟:
i.將光標(biāo)250導(dǎo)航至虛擬自適應(yīng)界面240的“w”(輸入引腳116g至116w)并觸發(fā)自適應(yīng)界面裝置100上的點擊輸入引腳116f,使得光標(biāo)250向下跳轉(zhuǎn)到虛擬鍵盤242上的“w”;
ii.通過啟動在真實自適應(yīng)界面裝置100上的右箭頭輸入引腳116d一次使光標(biāo)位于虛擬鍵盤242的“x”上;
iii.觸發(fā)點擊輸入引腳116f,使光標(biāo)250返回至虛擬自適應(yīng)界面240上的輸入引腳116g至116w,隨后在圖形上從具有“w”改變?yōu)椤皒”(參見圖5e);
iv.觸發(fā)在自適應(yīng)界面裝置上的下箭頭輸入引腳116b以將光標(biāo)250移動到保存按鈕246;
v.觸發(fā)點擊輸入引腳116f以保存在自適應(yīng)界面裝置上的新映射。
如先前所示,選擇保存按鈕246不導(dǎo)致更新后的映射從計算機154發(fā)送到自適應(yīng)界面裝置100。與之相反,由重編程代碼170接收由用戶在步驟i、ii和iii提供至自適應(yīng)界面裝置的各種導(dǎo)航輸入,當(dāng)在步驟v選擇保存按鈕246時,重編程代碼170根據(jù)接收到的用戶輸入更新鍵映射180。
當(dāng)由用戶選擇取消按鈕247時,其被用于使自適應(yīng)界面裝置100退出重映射模式并返回至正常操作模式。在返回至正常操作模式時,鍵映射180將具有在最近保存操作中分配的值。
當(dāng)由用戶選擇恢復(fù)按鈕248時,其用于使自適應(yīng)界面裝置返回至默認(rèn)設(shè)置。在選擇恢復(fù)按鈕248時,鍵映射180使用默認(rèn)鍵分配被重寫。
返回圖4b,示出了用于對自適應(yīng)界面裝置100進(jìn)行編程的方法210。所述方法210開始于自適應(yīng)界面裝置100接收到使其進(jìn)入重映射模式的輸入(步驟270)開始。更具體地,如以上針對圖5b的描述,用戶可連接特定輸入引腳116一起并隨后經(jīng)由連接器線纜104將自適應(yīng)界面裝置100連接至本地計算機154以為自適應(yīng)界面裝置100供電。在對自適應(yīng)界面裝置100供電時,由微控制器106檢測到特定連接,并且自適應(yīng)界面裝置進(jìn)入重映射模式。
在自適應(yīng)界面裝置100進(jìn)入重映射模式之后,自適應(yīng)界面裝置100將重映射模式信息發(fā)送到本地計算機154(步驟272)。如針對圖4a的步驟228所描述的,重映射模式信息在步驟272被發(fā)送。在步驟274,在檢測到用于進(jìn)入重映射模式的輸入引腳116的具體連接已斷開時,如針對圖4a的步驟232所描述的,自適應(yīng)界面裝置100將當(dāng)前映射數(shù)據(jù)發(fā)送到本地計算機154。
在步驟276,自適應(yīng)界面裝置100接收到在輸入引腳116處的導(dǎo)航輸入。換言之,用戶通過選擇性地將輸入引腳116接地來觸發(fā)各種輸入引腳116?;诮邮諏?dǎo)航輸入,在步驟278,導(dǎo)航數(shù)據(jù)結(jié)構(gòu)178被導(dǎo)航并且自適應(yīng)界面裝置100被重映射。例如,如以上已經(jīng)詳細(xì)描述的,導(dǎo)航輸入使導(dǎo)數(shù)據(jù)結(jié)構(gòu)174進(jìn)行導(dǎo)航,這導(dǎo)致重編碼代碼170更新鍵映射180。
在步驟280,自適應(yīng)界面裝置100將指示接收到的導(dǎo)航輸入的導(dǎo)航代碼發(fā)送到本地計算機154的網(wǎng)頁瀏覽器。反過來,網(wǎng)頁瀏覽器182更新重映射屏幕236(參加圖5d)。實際上,步驟276、步驟278和步驟280在重映射自適應(yīng)界面設(shè)備100的可編程輸入的過程期間在執(zhí)行中重復(fù)循環(huán)并且在執(zhí)行中重疊。具體來說,針對在步驟276接收到的每個導(dǎo)航輸入,在步驟280發(fā)送導(dǎo)航代碼,并且隨著在步驟276接收導(dǎo)航輸入,實時發(fā)生步驟280中的發(fā)送步驟。步驟276、步驟278和步驟280的這種重疊執(zhí)行與通過在進(jìn)行到步驟278之前等待步驟276完成并在進(jìn)行至步驟280之前等待步驟278完成的順序執(zhí)行步驟276、步驟278,然后步驟280形成對比。如以上針對圖4a的方法200所描述的,在步驟280中發(fā)送的導(dǎo)航代碼用于更新重映射屏幕236。在步驟282,如果自適應(yīng)界面裝置100接收到另一導(dǎo)航輸入,則所述方法返回至步驟278。如果例如在預(yù)定時間段內(nèi)在步驟282沒有接收到附加導(dǎo)航代碼,則所述方法210結(jié)束。所述方法210還可通過選擇取消按鈕247來退出。
自適應(yīng)界面裝置100和網(wǎng)頁瀏覽器182的重映射屏幕236是半獨立狀態(tài)機。重映射屏幕236的狀態(tài)受控于自適應(yīng)界面裝置100,但自適應(yīng)界面裝置100并不受控于重映射屏幕236,也不從重映射屏幕236接收數(shù)據(jù)以確認(rèn)狀態(tài)機處于同步。因此,除了導(dǎo)航控制代碼(l、r、u、d、點擊),自適應(yīng)界面裝置100利用每個輸入引腳116的致動來發(fā)送導(dǎo)航狀態(tài)代碼(即,光標(biāo)250的預(yù)期位置)。每個導(dǎo)航狀態(tài)代碼也是三個十六進(jìn)制字符代碼,但是導(dǎo)航狀態(tài)代碼以“h”開始,而導(dǎo)航控制代碼以“x”開始。例如,上箭頭導(dǎo)航狀態(tài)代碼由“h52”表示,而上箭頭導(dǎo)航控制代碼由“x52”表示。在下面的表ii中提供了導(dǎo)航狀態(tài)代碼的列表。
表ii
例如,如上所示,在步驟232,在當(dāng)前映射數(shù)據(jù)提供給網(wǎng)頁瀏覽器182時,三個附加字符(例如,“h50”)指示在導(dǎo)航數(shù)據(jù)結(jié)構(gòu)174內(nèi)的當(dāng)前位置(即,光標(biāo)250的位置)。從而,光標(biāo)250基于在以上表ii的編碼在虛擬自適應(yīng)界面240上的左箭頭處開始。當(dāng)用戶按壓自適應(yīng)界面裝置100上的右箭頭(輸入引腳116d)時,字符串“x4fh52”作為導(dǎo)航代碼被發(fā)送,所述字符串包括導(dǎo)航控制代碼“x4f”和導(dǎo)航狀態(tài)代碼“h52”。該導(dǎo)航代碼向網(wǎng)頁瀏覽器182指示(1)光標(biāo)250將基于導(dǎo)航控制代碼“x4f”向右移動一個增量,(2)移動之后光標(biāo)250的預(yù)期位置是基于導(dǎo)航狀態(tài)代碼“h52”的向上箭頭。再次按壓右箭頭使自適應(yīng)界面裝置輸出字符串“x4fh51”作為導(dǎo)航代碼,這表示將光標(biāo)250向右推進(jìn)一個增量(“x4f”),并確認(rèn)光標(biāo)250將位于向下箭頭(“h51”)。
由于在自適應(yīng)界面裝置100與本地計算機154之間的通信是單行的并且網(wǎng)頁瀏覽器182無法向自適應(yīng)界面裝置進(jìn)行反向通信,所以通過除了自適應(yīng)界面裝置100之外的輸入裝置的重映射屏幕236的用戶導(dǎo)航對于自適應(yīng)界面裝置100來說是未知的。因此,重映射gui221和網(wǎng)頁瀏覽器182被設(shè)置為經(jīng)由其它典型外圍裝置(例如,鍵盤或鼠標(biāo))的計算機輸入不會影響重映射屏幕236或無法對重映射屏幕236進(jìn)行導(dǎo)航。該技術(shù)幫助允許重映射屏幕236與自適應(yīng)界面裝置100的內(nèi)部狀態(tài)保持同步。
為了確保用戶無法使用標(biāo)準(zhǔn)鍵盤或鼠標(biāo)對重映射屏幕236進(jìn)行導(dǎo)航,自適應(yīng)界面裝置100輸出的導(dǎo)航控制代碼是非標(biāo)準(zhǔn)的十六進(jìn)制字符串,而非標(biāo)準(zhǔn)的hid等同物。例如,當(dāng)處于正常操作模式時,用戶可觸發(fā)在自適應(yīng)界面裝置100上的右箭頭輸入引腳116d以輸出在本地計算機154的顯示器184上向右導(dǎo)航的hid等同物,當(dāng)處于重映射模式下時,在自適應(yīng)界面裝置100上的右箭頭實際上輸出“x4f”(隨同表示預(yù)期狀態(tài)的三個十六進(jìn)制字符代碼),這并非標(biāo)準(zhǔn)hid代碼。因此,如果用戶按壓在連接到本地計算機154的鍵盤上的右箭頭,則重映射屏幕236無法識別所述輸入。
如果本地計算機154在重映射模式下在預(yù)定時間段內(nèi)無法接收到用戶輸入,則網(wǎng)頁瀏覽器將顯示超時信息。超時信息可指示通信已超時并請求用戶刷新網(wǎng)頁以重新開始(例如,在圖5a的屏幕222)。自適應(yīng)界面裝置100也可被設(shè)置為如果其在重映射模式下在預(yù)定時間段內(nèi)無法接收到用戶輸入,則退出重映射模式。如果由于已到達(dá)超時時間段而發(fā)生這種自動退出,則自適應(yīng)界面裝置100可恢復(fù)至其輸入引腳116的默認(rèn)編程,或可恢復(fù)至其輸入引腳116的最近保存的編程。
上述自適應(yīng)界面裝置100的實施例是可使用以上示出的技術(shù)進(jìn)行重編程的裝置的示例。在某些實施例中,重編程技術(shù)用于對例如其它可編程計算機界面裝置和/或通常無法作為計算機界面裝置的其它可編程裝置進(jìn)行重編程。例如,通常不是計算機界面裝置的可編程裝置可包括其上安裝有微控制器的pcb以及在典型的操作期間獨立于與計算機接合、可用于各種功能的各種輸入和輸出(例如,引腳、led、傳感器、振動發(fā)生器和/或揚聲器)。在重映射模式下,然而,可編程裝置例如使用usb線纜連接到計算機,并且計算機隨后使用如上所述的相似技術(shù)基于單行通信提供用戶的重編程的實時可視化反饋。例如,重編程可用于改變微控制器的設(shè)置,改變輸入?yún)?shù)或輸出參數(shù),重映射將被分配到不同值或功能的輸入和/或輸出,回復(fù)默認(rèn)設(shè)置或定制裝置的其它可編程方面。
因此,本發(fā)明尤其提供了可編程的自適應(yīng)界面裝置以及對自適應(yīng)界面設(shè)備進(jìn)行編程的系統(tǒng)和方法。本發(fā)明的各種特征和優(yōu)點在權(quán)利要求中闡述。