TWI459237B - 適用於觸控面板之手勢演算法之動態載入方法 - Google Patents
適用於觸控面板之手勢演算法之動態載入方法 Download PDFInfo
- Publication number
- TWI459237B TWI459237B TW101122495A TW101122495A TWI459237B TW I459237 B TWI459237 B TW I459237B TW 101122495 A TW101122495 A TW 101122495A TW 101122495 A TW101122495 A TW 101122495A TW I459237 B TWI459237 B TW I459237B
- Authority
- TW
- Taiwan
- Prior art keywords
- gesture
- algorithm code
- application
- file
- memory
- Prior art date
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本發明有關於觸控面板(touch panel),尤有關於一種應用於觸控面板之手勢演算法(finger gesture algorithm)之動態載入方法。
隨著科技的演進,手勢觸控已成為電容式觸控面板的輸出輸入的不二選項。各應用手呈式App常搭配各種不同的手勢以操控應用程式,而為了判斷使用者使用哪一種手勢,也發展出各種不同的手勢演算法。一般而言,有些觸控面板廠商會將使用者常用的數種手勢演算法程式碼預先燒錄在韌體中,缺點是受限於韌體(firmware)容量大小、支援手勢演算法的數目有限,優點是速度較快。另外,有些觸控面板廠商則直接利用軟體來進行手勢演算法,優點是可支援的大量的手勢演算,缺點是會占用CPU或系統過多的資源,速度也明顯比較慢。
有鑑於上述問題,因此提出本發明。
本發明之目的之一是提供一種手勢演算法之動態載入方法以解決上述的問題。
本發明之目的之一是提供一種手勢演算法之動態載入方法,能夠在記憶體容量有限的情況下,支援大量的手
勢演算法。
為達成上述目的,本發明之一實施例提供了一種方法,用以將至少一種手勢演算法動態載入一可多次寫入之記憶體,係適用於一行動裝置,該行動裝置至少設有一電容式觸控面板及一非揮發性記憶體裝置,其中,該電容式觸控面板至少設有一微控制器及該可多次寫入之記憶體,該方法包含以下步驟:判斷一目前正被開啟的應用程式是否有使用手勢;當該目前正被開啟的應用程式有使用手勢時,判斷該可多次寫入之記憶體的空間是否足夠;當記憶體空間不足時,根據一手勢演算法程式碼檔案之至少一手勢的權重,刪除該至少一手勢的演算法程式碼集之至少其中之一,其中各該手勢演算法的權重係與對應之應用程式之啟動序號有關;當記憶體空間足夠時,根據該目前正被開啟的應用程式所使用的至少一手勢,依序從該非揮發性記憶體裝置讀取相對應之手勢演算法程式碼集以產生一最新的手勢演算法程式碼檔案;以及,將該最新的手勢演算法程式碼檔案寫入該可多次寫入之記憶體。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
一般行動裝置都具有電容式觸控面板,而市面上大部份電容式觸控面板本身都具有微控制器(microcontroller
unit,MCU)及韌體,以加速手勢觸控的相關操作。本發明特色之一是將一手勢演算法程式碼檔案(包含至少一種手勢的演算法程式碼集(programming code set))交給電容式觸控面板的微控制器來執行,由於不會占用系統CPU的時間及系統資源,所以速度快。本發明的另一特色是只要使用者新啟動一應用程式,即可動態更新該手勢演算法程式碼檔案並寫入至電容式觸控面板之可多次寫入之記憶體中(藉以使觸控面板的微控制器來執行),所以雖然該可多次寫入之記憶體之容量有限,仍可支援大量的手勢演算法。
第1圖係根據本發明,顯示一行動裝置內部之應用程式、驅動程式及電容式觸控面板的記憶體之間的資料流。參考第1圖,一行動裝置(圖未示)具有一電容式觸控面板160,係支援多點式觸控(multi-touch)功能,即使使用者在同一時間按壓多個點,系統都能同時偵測到。該電容式觸控面板160至少包含一微控制器166、一非揮發性記憶體164及一可多次寫入之記憶體162。該微控制器166係用以執行儲存於該非揮發性記憶體164的韌體(firmware)、或儲存於該可多次寫入之記憶體162的手勢演算法程式碼檔案130,以進行手勢觸控的相關運算。
當該行動裝置的系統開機後,作業系統150隨即被載入,接著,各驅動程式(包含觸控面板驅動程式110)陸續開始運作。接著,當使用者開啟第一個應用程式140時,
應用程式140會先向作業系統150註冊(register)並同時報告基本資料,包含會使用到的所有手勢ID等。就第1圖的實施例而言,應用程式140註冊時會報告它會用到五種手勢(ID1~5)。接著,觸控面板驅動程式110會被作業系統150告知目前有一個應用程式140被載入,觸控面板驅動程式110便跟作業系統150查詢並讀取該應用程式140使用的五個手勢ID-1~5。至於,觸控面板驅動程式110跟作業系統150查詢並讀取的方式可以是藉由呼叫系統應用程序介面(system application programming interface)、呼叫回呼(callback)函式或是輪詢(polling)。
然後,觸控面板驅動程式110根據手勢ID-1~5,依序讀取存放於一非揮發性記憶體裝置120的手勢演算法程式碼集,以產生一手勢演算法程式碼檔案130,接著,再將該檔案130寫入該觸控面板160的可多次寫入之記憶體162中。請注意,一般而言,使用者開啟一應用程式140到完全載入,需花費時間t。利用這段時間t,本發明同時亦建立該檔案130並寫入該可多次寫入之記憶體162中,所以使用者不會感覺到有時間差。
非揮發性記憶體裝置120可以是,但不限於,記憶卡、唯讀記憶體、快閃記憶體等。非揮發性記憶體裝置120至少包含二個區域,即一起始區及一程式碼區(圖未示)。該起始區中預先存放各種手勢演算法程式碼集的大小(size)與其在該程式碼區的位址。而該程式碼區中預先儲存了電
容式觸控面板160支援的所有手勢演算法程式碼集,例如:若該電容式觸控面板160支援一百種手勢演算法,則非揮發性記憶體裝置120內就預先儲存了一百手勢演算法程式碼集。另外,每一手勢演算法程式碼集大小係取決於各手勢演算法的複雜度,例如:簡單的手勢演算法程式碼集之大小不到1K位元組(byte),而十指複雜之手勢演算法程式碼集之大小可能超過10K位元組。
可多次寫入之記憶體162可以是,但不限於,靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)及快閃記憶體(flash)。在上述三種記憶體中,只有靜態隨機存取記憶體可以和微控制器整合在同一個晶片;另外,靜態隨機存取記憶體的讀取與寫入速度最快,動態隨機存取記憶體稍慢,快閃記憶體最慢(尤其於寫入時,不但速度慢,還需特殊命令)。本發明係利用該微控制器166來執行儲存於該可多次寫入之記憶體162的手勢演算法程式碼檔案130,由於有大量的數學運算,故該可多次寫入之記憶體162最適合利用靜態隨機存取記憶體來實施,不但設計方便、效率最高、速度也最快。
第2a圖及2b圖根據第1圖的實施例,顯示手勢演算法程式碼檔案的二種格式(format)。請參考第2a圖,手勢演算法程式碼檔案130a的格式包含一個標頭(header)130a0及至少一手勢演算法程式碼集130a1~130aN(N為大於或等於1之正整數)。請同時參考第1圖及第2a圖,當觸控面板驅動
程式110讀取該應用程式140使用的手勢ID之前,先判斷該手勢演算法程式碼檔案130a是否已存在,若未存在,則先建立該標頭130a0;若已存在,則開啟並更新該標頭130a0。之後,觸控面板驅動程式110根據讀取到的手勢ID-1~5,依序讀取存放於該非揮發性記憶體裝置120的手勢演算法程式碼集,並依序排列該些手勢演算法程式碼集以連結成一個檔案130a。其中,標頭130a0包含,但不限於,目前檔案130a包含之手勢演算法程式碼集的總數、每一種手勢演算法的ID、每一手勢演算法程式碼集存放於130a1~a5區的啟始位址或指標(pointer)、目前檔案130a的大小、及目前該可多次入之記憶體162的剩餘空間(以下簡稱:目前記憶體的剩餘空間)等欄位。
第2a圖的手勢演算法程式碼檔案130a的格式是比較直觀,直接排列該些手勢演算法程式碼集而連結成一個檔案。然而,觀察這些手勢操控,可發現一些共同行為,例如:加速、按壓、或滑動等。有鑑於此,本發明歸納出各種手勢演算法之間的共同行為,並將至少一種共同行為的對應演算法程式碼集存放於130cb區,至於各種手勢之獨特行為之演算法程式碼集再依序存放於130b1~130bN(N為大於或等於1之正整數)中,如第2b圖所示。而根據第1圖的實施例,若觸控面板驅動程式110根據相同手勢ID-1~5可以產生二種檔案130a及130b,則檔案130b大小
通常會小於檔案130a,這是因為檔案130b已將共同行為的對應演算法程式碼集抽離出來並存放於130cb區。至於標頭130b0除了包含標頭130a0所包含的內容之外,還需包含各共同行為的對應演算法程式碼集存放於130cb區的位址或指標,以便該微控制器166能順利找到對程式碼集以便執行。
電路設計者可依據系統要求的讀取或寫入速度、及該可多次寫入之記憶體162之硬體成本與設計方便度,選擇適合的手勢演算法程式碼檔案格式(130a或130b)與檔案大小、及該可多次寫入之記憶體162之種類與容量大小。而根據本發明,最晚被啟動的應用程式具有最高優先權,其使用的手勢演算法應全部被包含於該手勢演算法程式碼檔案130中,故電路設計者選擇的手勢演算法程式碼檔案大小、及該可多次寫入之記憶體162之容量大小應適當,不能過小,否則產生該手勢演算法程式碼檔案的過程將會沒有效率。
以下將介紹本發明如何動態更新手勢演算法程式碼檔案(皆適用於檔案130a及檔案130b)。為簡化說明,以下圖式與實施例僅以手勢演算法程式碼檔案130a為例作介紹,同時,假設該可多次寫入之記憶體162容量等於64K位元組且該手勢演算法程式碼檔案130a的檔案大小被設定為小於或等於64K位元組。在此請注意,前述該可多次寫入之記憶體162的容量等於64K位元組、及該手勢演算
法程式碼檔案130的檔案大小被設定為小於或等於64K位元組,僅只為本發明之一實施例,而非本發明的限制。
第3圖係根據本發明,顯示一應用程式App-N被載入前後該手勢演算法程式碼檔案130a內容之差異。請參考第3圖,在該應用程式App-N被載入前,該手勢演算法程式碼檔案130a僅包含五種手勢ID-1~ID-5之演算法程式碼集(時間為T)。當該應用程式App-N被載入時(時間為T+1),由於該應用程式App-N使用了五種手勢,其中有三種手勢ID-1~ID-3已存在於檔案130a中,而有二種手勢ID-14~ID-25則尚未存在於檔案130a中。假設該觸控面板驅動程式110判斷檔案130a即使再包含二種手ID-14~ID-25的演算法程式碼集仍不會超過64K位元組(該可多次寫入之記憶體162的容量),則該檔案130a會被更新如圖所示(時間為T+2)。
依照應用程式被啟動的順序,作業系統150會給予每一個應用程式一個啟動序號(serial number),換言之,一應用程式之啟動序號越大,表示該應用程式越晚被啟動。根據本發明,最晚被啟動的應用程式具有最高優先權,其使用的手勢演算法必須全部被包含於該手勢演算法程式碼檔案130a中。第4圖根據本發明一實施例,說明依據不同應用程式的啟動序號,該手勢演算法程式碼檔案130a動態併入手勢演算法程式碼集之過程。
本實施例中,該觸控面板驅動程式110會給予每一種
手勢一個權重(weighting),而權重大小係取決於應用程式的啟動序號。若相同應用程式被重複開啟,則相對應手勢的權重等於啟動序號之累加,例如:手勢ID-4的權重等於(1+2=3)。例外的是最晚被開啟的應用程式之相對應手勢的權重等於無限大(表示具最高優先權,檔案130a應包含該應用程式使用之所有手勢)。
請參考第4圖,當僅有應用程式App-1被載入時(啟動序號為1),檔案130a僅包含五種手勢ID-1、ID-21、ID-35、ID-4、ID-15的演算法程式碼集。之後,當應用程式App-2也被載入時(啟動序號為2),由於應用程式App-2使用的手勢ID-4、ID-35的演算法程式碼已包含於檔案130a,所以該觸控面板驅動程式110僅需判斷檔案130a再併入一種手勢ID-2的演算法程式碼集是否會超過64K位元組(該可多次寫入之記憶體162的容量)。若否,檔案130a將總共包含六種手勢ID-1、ID-21、ID-35、ID-4、ID-15、ID-2的演算法程式碼集。最後,當應用程式App-3被載入時(啟動序號為3),由於應用程式App-3使用的手勢ID-1、ID-21、ID-35的演算法程式碼集已包含於檔案130a中,所以該觸控面板驅動程式110僅需判斷檔案130a再併入手勢ID-25、ID-14的演算法程式碼集是否會超過64K位元組。若否,則檔案130a將總共包含八種手勢ID-1、ID-21、ID-35、ID-4、ID-15、ID-2、ID-14、ID-25的演算法程式碼集。若會超過64K位元組,則優先剔除檔案130a中權
重最小的手勢,在第4圖的實施例中,由於最晚被開啟的應用程式App-3之手勢ID-1、ID-21、ID-35、ID-14、ID-25的權重等於無限大,而手勢ID-15的權重最小,所以優先被剔除,以容納手勢ID-25、ID-14的演算法程式碼集。若碰到至少二種手勢具相同的權重最小值的情況,就再依據使用率高低(請參考第5圖之說明),從該至少二種手勢中優先剔除掉使用率較低的手勢演算法程式碼集。依此類推,直到檔案130a可併入手勢ID-25、ID-14的演算法程式碼集且不會超過64K位元組為止。
第5圖根據本發明,說明依據不同應用程式的啟動序號及各手勢使用時間,以計算該手勢演算法程式碼檔案130a中各手勢之權重與使用率的一個例子。在第5圖的實施例中,該觸控面板驅動程式110亦會給予每一種手勢一個權重,而權重大小係取決於應用程式的啟動序號及手勢的使用時間。請參考第5圖,假設當應用程式App-3被載入後(啟動序號為30),系統共開啟四個應用程式(其中應用程式App-1被開啟二次,而其他啟動序號的應用程式已被關閉),而且,該可多次寫入之記憶體162的空間足夠容納六種手勢演算法程式碼。在本實施例中,各種手勢的權重等於相對應應用程式之啟動序號乘上使用時間(單位為秒),例如:手勢ID-3的權重等於應用程式App-2之啟動序號乘上使用時間:7 * 4=28。同樣地,最晚被開啟的應用程式之相對應手勢的權重等於無限大(表示具最高優先
權,檔案130a應包含該應用程式使用之所有手勢),例如:最晚被開啟的應用程式App-3之手勢ID-5、ID-6的權重等於無限大。若相同應用程式被重複開啟,則相對應手勢的權重等於啟動序號乘上使用時間之累加,例如:手勢ID-1的權重等於(12×1+13×24)=324,而手勢ID-2的權重等於(5×1+19×24)=461。當然,稍後,若相同應用程式之一被關閉(圖未示),則相對應手勢的權重須減去被關閉的應用程式之權重,例如:假設啟動序號等於1之應用程式App-1被關閉時,手勢ID-1的權重等於324-(12×1)=312,而手勢ID-2的權重等於461-(5×1)=456。
在第5圖的實施例中,若使用者接著開啟下一個應用程式App-4(會使用到手勢,圖未示),但該可多次寫入之記憶體162的空間已無法再多容納一種手勢演算法程式碼時,該觸控面板驅動程式110會根據各種手勢的權重,將具最小權重的一種手勢演算法程式碼集剔除。在第5圖的實施例中,手勢ID-3的權重最小,所以優先被剔除,以容納下一個應用程式的手勢演算法程式碼集。假設此時至少二種手勢具相同的權重最小值,則該觸控面板驅動程式110可以再比較該至少二種手勢的使用率,最後是使用率最低的手勢被剔除。依此類推,直到檔案130a可併入應用程式App-4所有的手勢的演算法程式碼集且不會超過64K位元組為止。
在此請注意,在本說明書與申請專利範圍中,「使用
率」的定義如下:單一手勢的總使用時間/所有手勢的使用時間,其中,時間的單位是秒。例如:手勢a,共使用了三次,使用時間依序是1秒、2秒、1秒;手勢b,共使用了二次,使用時間依序是2秒、3秒;手勢c,只使用了一次,使用時間是3秒。因此,手勢a的總使用時間是4秒、手勢b的總使用時間是5秒、手勢c的總使用時間是3秒,而所有手勢總使用時間是12秒。故,手勢a的使用率是33%,手勢b為42%,手勢c為25%。
第6圖為本發明手勢演算法之動態載入方法之流程圖。本發明用以將至少一種手勢演算法動態載入一可多次寫入之記憶體162中,係適用於一行動裝置,該行動裝置至少設有一電容式觸控面板160及一非揮發性記憶體120,其中,該電容式觸控面板至少設有一微控制器166及該可多次寫入之記憶體162。
在執行本發明之方法前,該行動裝置的系統已開機、作業系統150已被載入,且觸控面板驅動程式110也已開始運作。在本實施例中,由於供該手勢演算法程式碼檔案動態寫入之該可多次寫入之記憶體162大小等於64K位元組,故該手勢演算法程式碼檔案130的檔案大小被設定為小於或等於64K位元組。以下根據第1圖及第6圖,詳細說明本發明手勢演算法之動態載入方法。
步驟S602:判斷使用者目前是否正開啟一應用程式。就第1圖的實施例而言,當使用者目前正開啟一應用程式
140時,應用程式140會先向作業系統150註冊並同時報告基本資料,包含會使用到的所有手勢ID-1~5等。接著,觸控面板驅動程式110會被作業系統150告知目前有一個應用程式140被載入,之後,執行步驟S604。反之,若觸控面板驅動程式110未被作業系統150告知,則重覆執行本步驟。
步驟S604:判斷該應用程式是否有使用手勢。如上所述,當觸控面板驅動程式110向作業系統150查詢後,例如:藉由呼叫系統應用程序介面、呼叫回呼函式或是輪詢方式,可讀取到該應用程式140使用的五個手勢ID-1~5,之後,跳到步驟S606繼續執行。反之,若觸控面板驅動程式110所讀取到的值等於0或是未獲得作業系統150回應,表示該應用程式不使用手勢,然後,回到步驟S602。
步驟S606:判斷該檔案130是否已存在。若該應用程式140是使用者開啟的第一個程式(啟動序號=1),則該檔案130尚未存在,之後,跳到步驟S614繼續執行(如上所述,此時,該可多次寫入之記憶體162容量須足夠容納該應用程式(啟動序號=1)使用之所有手勢)。否則,該檔案130已存在,並跳到步驟S608繼續執行。
步驟S608:根據最後載入之應用程式使用的所有手勢,判斷是否需更新該檔案130。觸控面板驅動程式110逐一比對五個手勢ID-1~5及該手勢演算法程式碼檔案130,判斷五個手勢ID-1~5是否皆已包含於該手勢演算法
程式碼檔案130中。若該檔案130已包含目前載入應用程式140使用的所有手勢ID-1~5,則該檔案130無須更新,然後,回到步驟S602。反之,若至少有一種手勢(假設為ID-1)尚未包含於該手勢演算法程式碼檔案130中,則須更新該檔案130,接著,執行步驟S610。
步驟S610:判斷記憶體空間是否足夠。觸控面板驅動程式110從該非揮發性記憶體裝置120的啟始區域讀取手勢ID1演算法程式碼集的大小,同時,亦透過讀取該檔案130的標頭130a或130b中的目前記憶體的剩餘空間欄位。若目前記憶體的剩餘空間大於該手勢ID1之演算法程式碼集的大小,表示目前該可多次寫入之記憶體162之空間足夠再容納手勢ID-1之演算法程式碼,故跳到步驟S614繼續執行。否則,表示該可多次寫入之記憶體162之空間已不足,再跳到步驟S612執行。
步驟S612:從該檔案130中刪除至少一種手勢演算法程式碼集。首先,比較已包含於該檔案130之各種手勢的權重,刪除權重最小的一種手勢演算法程式碼集。若至少二種的手勢具權重相同的權重最小值,再繼續比較該至少二種手勢的使用率,並刪除使用率最低的一種手勢演算法程式碼集。其中,各種手勢的權重等於相對應用程式之啟動序號乘上手勢使用時間之累加(請參考第5圖之說明)。
步驟S614:產生一手勢演算法程式碼檔案130。若檔案130尚未存在,觸控面板驅動程式110可以先建立該標
頭130a0或130b0。之後,根據手勢ID-1~5,依序讀取存放於該非揮發性記憶體裝置120的手勢演算法程式碼集,並依序排列該些手勢演算法程式碼集以連結成一個檔案130。
若檔案130已存在且手勢ID-1尚未包含於該手勢演算法程式碼檔案130中,則觸控面板驅動程式110讀取存放於該非揮發性記憶體裝置120的手勢ID-1演算法程式碼集,並將手勢ID-1演算法程式碼集排列於檔案130之適當位置,以完成檔案130之更新。
步驟S616:將該檔案130寫入該可多次寫入之記憶體162。觸控面板驅動程式110將該檔案130寫入該可多次寫入之記憶體162後,即完成本發明手勢演算法之動態載入方法之所有步驟。
以上雖以實施例說明本發明,但並不因此限定本發明之範圍,只要不脫離本發明之要旨,該行業者可進行各種變形或變更,都屬本發明之範疇。
110‧‧‧觸控面板驅動程式
120‧‧‧非揮發性記憶體裝置
130、130a、130b‧‧‧手勢演算法程式碼檔案
130a0、130b0‧‧‧標頭
130a1~a5‧‧‧各手勢演算法程式碼集
130cb‧‧‧至少一種共同行為的對應演算法程式碼集存放區
130b1~b7‧‧‧各種手勢之獨特行為之演算法程式碼集
140‧‧‧應用程式
150‧‧‧作業系統
160‧‧‧電容式觸控面板
162‧‧‧可多次寫入之記憶體
164‧‧‧非揮發性記憶體
166‧‧‧微控制器
第1圖係根據本發明,顯示一行動裝置內部之應用程式、驅動程式及電容式觸控面板的記憶體之間的資料流。
第2a圖及2b圖根據第1圖的實施例,顯示手勢演算法程式碼檔案的二種格式。
第3圖係根據本發明,顯示一應用程式App-N被載入前後該手勢演算法程式碼檔案130a內容之差異。
第4圖根據本發明一實施例,說明依據不同應用程式的啟動序號,該手勢演算法程式碼檔案130a動態併入手勢演算法程式碼集之過程。
第5圖根據本發明,說明依據不同應用程式的啟動序號及各手勢使用時間,以計算該手勢演算法程式碼檔案130a中各手勢之權重與使用率的一個例子。
第6圖為本發明手勢演算法之動態載入方法之流程圖。
Claims (14)
- 一種方法,用以將至少一種手勢演算法動態載入一可多次寫入之記憶體,係適用於一行動裝置,該行動裝置至少設有一電容式觸控面板及一非揮發性記憶體裝置,其中,該電容式觸控面板至少設有一微控制器及該可多次寫入之記憶體,該方法包含以下步驟:判斷一目前正被開啟的應用程式是否有使用手勢;當該目前正被開啟的應用程式有使用手勢時,判斷該可多次寫入之記憶體的空間是否足夠;當記憶體空間不足時,根據一手勢演算法程式碼檔案之至少一手勢的權重,刪除該至少一手勢的演算法程式碼集之至少其中之一,其中該手勢演算法程式碼檔案包含該至少一手勢的演算法程式碼集,以及各該手勢的權重係與對應之應用程式之啟動序號有關;當記憶體空間足夠時,根據該目前正被開啟的應用程式所使用的至少一手勢,依序從該非揮發性記憶體裝置讀取相對應之手勢演算法程式碼集以產生一最新的手勢演算法程式碼檔案;其中該非揮發性記憶體裝置至少包含一起始區及一程式碼區;以及,其中該起始區中預先存放各種手勢演算法程式碼集的大小(size)與其在該程式碼區的位址,該判斷該可多次寫入之記憶體的空間是否足夠包含:比較該目前正被開啟的應用程式使用的手勢及該手勢演算法程式碼檔案包含的手勢以判斷是否需更新該手勢演算法程式碼檔案;以及當 需更新該手勢演算法程式碼檔案時,讀取該非揮發性記憶體裝置的啟始區以估算尚未載入之至少一手勢演算法程式碼集之一容量,以及讀取該手勢演算法程式碼檔案的目前記憶體剩餘空間欄位,藉以比較該目前記憶體剩餘空間及該尚未載入之手勢演算法程式碼集的容量;以及將該最新的手勢演算法程式碼檔案寫入該可多次寫入之記憶體。
- 如申請專利範圍第1項所記載之方法,係藉由一觸控面板驅動程式來實施。
- 如申請專利範圍第1項所記載之方法,其中該手勢演算法程式碼檔案更包含一標頭。
- 如申請專利範圍第3項所記載之方法,其中該手勢演算法程式碼檔案中各該手勢的演算法程式碼集包含至少一獨特行為之手勢演算法程式碼集,以及其中各該手勢的演算法程式碼集更包含至少一共同行為的演算法程式碼集。
- 如申請專利範圍第1項所記載之方法,其中該手勢演算法程式碼檔案之大小係小於或等於該可多次寫入之記憶體之容量。
- 如申請專利範圍第1項所記載之方法,其中該刪除步驟中,更根據該手勢演算法程式碼檔案中各種手勢的使用率,以刪除該些手勢演算法程式碼集之至少其中之一。
- 如申請專利範圍第1項所記載之方法,其中該可多次寫入之記憶體為靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)及快閃記憶體(flash)之其一。
- 如申請專利範圍第1項所記載之方法,其中該判斷該目前正被開啟的應用程式是否有使用手勢之步驟包含:判斷一使用者目前是否正開啟一應用程式;當該使用者目前正開啟該應用程式時,向一作業系統查詢該目前正被開啟的應用程式所使用的手勢;以及根據該作業系統的一回傳值,判斷該目前正被開啟的應用程式是否使用手勢。
- 如申請專利範圍第8項所記載之方法,其中該查詢方式為呼叫系統應用程序介面(system API)、呼叫回呼(callback)函式及輪詢(polling)之其一。
- 如申請專利範圍第1項所記載之方法,其中當該手勢演算法程式碼檔案之一手勢的對應之應用程式只啟動一次時,該手勢的權重等於該對應之應用程式的啟動序號。
- 如申請專利範圍第1項所記載之方法,其中當該手勢演算法程式碼檔案之一手勢的對應之應用程式啟動超過一次時,該手勢的權重等於該些對應之應用程式的啟動序號的累加值。
- 如申請專利範圍第1項所記載之方法,其中各該手勢的權重更與各該手勢的使用時間有關。。
- 如申請專利範圍第12項所記載之方法,其中當該手勢演算法程式碼檔案之一手勢的對應之應用程式啟動超過一次時,該手勢的權重等於該些對應之應用程式的啟動序號乘上該手勢使用時間的累加值。
- 如申請專利範圍第12項所記載之方法,其中當該手勢演算法程式碼檔案之一手勢的對應之應用程式只啟動一次時,該手勢的權重等於該對應之應用程式的啟動序號乘上該 手勢使用時間。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101122495A TWI459237B (zh) | 2012-06-22 | 2012-06-22 | 適用於觸控面板之手勢演算法之動態載入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101122495A TWI459237B (zh) | 2012-06-22 | 2012-06-22 | 適用於觸控面板之手勢演算法之動態載入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201401103A TW201401103A (zh) | 2014-01-01 |
TWI459237B true TWI459237B (zh) | 2014-11-01 |
Family
ID=50345064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101122495A TWI459237B (zh) | 2012-06-22 | 2012-06-22 | 適用於觸控面板之手勢演算法之動態載入方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI459237B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI496047B (zh) * | 2013-03-19 | 2015-08-11 | Compal Electronics Inc | 觸控裝置及其操作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM347623U (en) * | 2007-01-05 | 2008-12-21 | Apple Inc | Handheld mobile communication device |
TW201011775A (en) * | 2008-08-04 | 2010-03-16 | Sandisk Il Ltd | Managing storage of cached content |
US20110173204A1 (en) * | 2010-01-08 | 2011-07-14 | Microsoft Corporation | Assigning gesture dictionaries |
-
2012
- 2012-06-22 TW TW101122495A patent/TWI459237B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM347623U (en) * | 2007-01-05 | 2008-12-21 | Apple Inc | Handheld mobile communication device |
TW201011775A (en) * | 2008-08-04 | 2010-03-16 | Sandisk Il Ltd | Managing storage of cached content |
US20110173204A1 (en) * | 2010-01-08 | 2011-07-14 | Microsoft Corporation | Assigning gesture dictionaries |
Also Published As
Publication number | Publication date |
---|---|
TW201401103A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9122493B2 (en) | Retrieving boot instructions from nonvolatile memory | |
US7322029B2 (en) | Method and system for recovering program code in a computer system | |
JP5636034B2 (ja) | データ利用についてのマウント時間の調停 | |
US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
EP2765503B1 (en) | Method and electronic device of the file system prefetching and boot-up method | |
US20050086551A1 (en) | Memory optimization for a computer system having a hibernation mode | |
US12032990B2 (en) | Electronic device which prefetches application and method therefor | |
JP2010525453A (ja) | ソリッドステートドライブ最適化用リムーブオンデリート技術 | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
GB2418043A (en) | Storing data | |
US6637023B1 (en) | Method and system for updating read-only software modules | |
CN111240601B (zh) | 一种分区空间的超级块确定方法、装置、设备及存储介质 | |
CN111897743B (zh) | 数据储存装置及逻辑至物理地址映射表的载入方法 | |
US8156278B2 (en) | Non-volatile data storage system and method thereof | |
KR100816763B1 (ko) | 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법 | |
TWI475485B (zh) | 韌體更新之方法及其相關電腦系統 | |
US20230350834A1 (en) | Method and apparatus for configuring mmioh base address of server system | |
CN113641597B (zh) | 管理数据存储的方法及装置以及计算机可读取存储介质 | |
TWI459237B (zh) | 適用於觸控面板之手勢演算法之動態載入方法 | |
US10671526B2 (en) | Electronic computing device, method for adjusting the trigger mechanism of a garbage collection function, and non-transitory computer readable storage medium thereof | |
US20050060530A1 (en) | Method for displaying information of updating BIOS | |
CN110515665B (zh) | 一种处理器***的启动方法、***及装置 | |
WO2008083187A2 (en) | Dynamically updateable and moveable memory zones | |
TWI614684B (zh) | 即時韌體更新方法及其電腦可讀取媒介 | |
EP3772063A1 (en) | Memory device including plurality of buffer areas for supporting fast write and fast read and storage device including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |