TWI494791B - 判斷觸控裝置之手勢之方法 - Google Patents
判斷觸控裝置之手勢之方法 Download PDFInfo
- Publication number
- TWI494791B TWI494791B TW098137681A TW98137681A TWI494791B TW I494791 B TWI494791 B TW I494791B TW 098137681 A TW098137681 A TW 098137681A TW 98137681 A TW98137681 A TW 98137681A TW I494791 B TWI494791 B TW I494791B
- Authority
- TW
- Taiwan
- Prior art keywords
- touch
- touch device
- dragged
- threshold
- distance
- Prior art date
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Description
本發明係相關於一種判斷觸控裝置之手勢之方法,尤指一種利用簡單運算判斷觸控裝置之手勢之方法。
當計算平台變得愈益強大且能以許多新式而不同的方式回應使用者時,計算裝置和使用者之間的互動持續改進,使用者不再需要在鍵盤上打字以控制應用程式和輸入資料。圖形使用者界面系統(像是由微軟視窗作業系統或其他手持式裝置的作業系統)的發展可讓使用者以較自然且直覺的方式來進行輸入以及選擇,大為改善使用者與計算裝置互動的易用度。對於需要快速且有效輸入之應用程式(例如,視訊遊戲、虛擬環境、檔案/資料夾管理、等等)而言,提供快速且有效輸入是重要的,所以使用者可輸入控制動作的易用度特別重要。在過去,使用者通常藉由控制滑鼠、搖桿、滾輪、遊戲盤、軌跡球或其他使用者輸入裝置,來執行一些由產生虛擬環境之軟體程式定義的操作,以與虛擬環境互動。
觸控裝置可回應使用者藉由手指或尖筆等物件在顯示器上拖曳,這些觸控裝置在計算系統中愈益普遍,因為它們允許使用者使用所熟悉的自然手勢進行指令的輸入,所以非常方便。觸控式顯示器可以藉由按壓啟動,其回應電感或磁場密度改變;使用表面聲波,其藉由偵測在顯示器上之物件之光線或陰影,回應亮度改變;或回應物件在顯示器上的位置之其他狀況。因此,使用者可更直接與計算裝置之應用程式或作業系統互動。然而,碰觸感應、電感或電磁感應顯示器表面缺乏好的影像解析度、不適當的識別形狀和物件方向。另外,偵測多重物件或手勢的方式則需要複雜的數字運算。
因此,本發明之一目的在於提供一種利用簡單運算判斷觸控裝置之手勢之方法。
本發明係提供一種判斷觸控裝置之手勢之方法,包含:根據一第一臨界值以及一第二臨界值定義複數個方向號碼用來表示一物件在一觸控裝置上拖曳之方向;記錄該物件觸碰該觸控裝置直到該物件離開該觸控裝置之期間所產生之方向號碼;以及根據記錄之方向號碼執行相對應之指令。
請參考第1圖,第1圖為判斷觸控裝置之手勢所定義之方向號碼之示意圖。本發明判斷觸控裝置之手勢之方法根據一組拖曳之方向號碼,以此達到拖曳方向的判斷,再輔以按住按鍵的時間或拖曳的動作,來進行細部的微調及回復動作。本發明之判斷觸控裝置之手勢之方法根據臨界值VT以及臨界值HT定義複數個方向號碼0~7用來表示物件在觸控裝置上拖曳之方向。當拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往右超過臨界值HT且上下拖曳小於臨界值VT時,此時就會得到方向號碼0;當物件拖曳往上超過臨界值VT且左右拖曳小於臨界值HT時,此時就會得到方向號碼1;當物件拖曳往左超過臨界值HT且上下拖曳小於臨界值VT時,此時就會得到方向號碼2;當物件拖曳往下超過臨界值VT且左右拖曳小於臨界值HT時,此時就會得到方向號碼3;當物件拖曳往右超過臨界值HT且往上拖曳超過臨界值VT時,此時就會得到方向號碼4;當物件拖曳往左超過臨界值HT且往上拖曳超過臨界值VT時,此時就會得到方向號碼5;當物件拖曳往左超過臨界值HT且往下拖曳超過臨界值VT時,此時就會得到方向號碼6;當物件拖曳往右超過臨界值HT且往下拖曳超過臨界值VT時,此時就會得到方向號碼7。當該物件在該觸控裝置上拖曳時,記錄該物件觸碰該觸控裝置直到該物件離開該觸控裝置之期間所產生之方向號碼,並以精簡的四則運算來判斷手勢的種類,之後根據記錄之方向號碼執行相對應之指令。在以下的實施例中,第2圖至第8圖說明單點觸控之手勢之指令,第9圖至第14圖說明多點觸控之手勢之指令。
請參考第2圖,第2圖為單點觸控之手勢之放大(Zoom In)指令之示意圖。首先輕觸觸控裝置上任意一點PF
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往右超過臨界值HT時,此時會得到方向號碼0(T=t1
),接下來只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向往上超過臨界值VT時,就會得到方向號碼1並進入下一個狀態(T=t2
),然後在這個狀態也是一樣,只要往上拖曳,都會維持在目前狀態,直到產生拖曳方向為往右超過臨界值HT時就會得到方向號碼0並進入下一個狀態(T=t3
),一進入此狀態就會發出放大一倍(1X)指令,只要往右每一次每超過一次臨界值HT就會繼續發出放大之指令,以T=t4
與T=t5
為例,分別為放大二倍(2X)以及放大四倍(4X)。而如果是往左超過臨界值HT時,得到方向號碼2(T=t6
),此時回復上一次的動作。在本實施例中,會回復到放大二倍(2X)的狀態。另外,亦可持續按壓住不動一段時間(T=t7
),就會進行放大四倍(4X)的指令。物件由第一碰觸點PF
拖曳經過轉換點P1
~P6
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到放大的動作。同樣地,根據上述之方法,當產生一組方向號碼「010」、「121」、「232」或「303」時,就會執行放大指令。
請參考第3圖,第3圖為單點觸控之手勢之縮小(Zoom Out)指令之示意圖。首先輕觸觸控裝置上任意一點PF
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往右超過臨界值HT時,此時會得到方向號碼0(T=t1
),接下來只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向為向下超過臨界值VT時,就會得到方向號碼3並進入下一個狀態(T=t2
),然後在這個狀態也是一樣,只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向為往右超過臨界值HT時就會得到方向號碼0並進入下一個狀態(T=t3
),一進入此狀態就會發出縮小一倍(1X)指令,只要往右每一次每超過一次臨界值HT就會繼續發出縮小之指令,以T=t4
與T=t5
為例,分別為縮小二倍(2X)以及縮小四倍(4X)。而如果是往左超過臨界值HT時,得到方向號碼2(T=t6
),此時回復上一次的動作。在本實施例中,就回復到縮小二倍(2X)的狀態。另外,亦可持續按壓住不動一段時間(T=t7
),就會進行縮小四倍(4X)的指令。物件由第一碰觸點PF
拖曳經過轉換點P1
~P6
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到縮小的動作。同樣地,根據上述之方法,當產生一組方向號碼「030」、「101」、「212」或「323」時,就會執行縮小指令。
請參考第4圖,第4圖為單點觸控之手勢之上一頁(Previous Page)指令及下一頁(Next Page)指令之示意圖。進行上一頁指令時,首先輕觸觸控裝置上任意一點PF
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成矩形範圍,則維持在目前狀態。當物件拖曳往下超過臨界值VT時就會得到方向號碼3(T=t1
),接下來只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向為往左超過臨界值HT時,就會得到方向號碼2並進入下一個狀態(T=t2
),然後在這個狀態也是一樣,只要往左拖曳,都會維持目前狀態,在直到物件離開觸控裝置,就會發出上一頁指令。進行下一頁指令時,首先輕觸觸控裝置上任意一點(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成矩形範圍,則維持在目前狀態。當物件拖曳往下超過臨界值VT時就會得到方向號碼3(T=t1
),接下來只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向為往右超過臨界值HT時,就會得到方向號碼0並進入下一個狀態(T=t2
),然後在這個狀態也是一樣,只要往右拖曳,都會維持目前狀態,在直到物件離開觸控裝置,就會發出下一頁指令。物件由第一碰觸點PF
拖曳經過轉換點P1
~P2
最後到達最終碰觸點PT
,當物件離開觸控裝置放之後則需重頭再做一次上述的動作,才能達到下一頁/上一頁的動作。同樣地,根據上述之方法,當產生一組方向號碼「32」、「21」、「10」或「03」時,就會執行上一頁指令;當產生一組方向號碼「30」、「01」、「12」或「23」時,就會執行一下一頁指令。
請參考第5圖,第5圖為單點觸控之手勢之左移(Move Left)指令及下移(Move Down)指令之示意圖。進行左移指令時,首先輕觸觸控裝置上任意一點(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往左超過臨界值HT時,就會得到方向號碼2(T=t1
),接下來只要往左拖曳,都會維持在目前狀態,直到物件離開觸控裝置,就會發出左移指令。進行下移指令時,首先輕觸觸控裝置上任意一點(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往下超過臨界值VT時,就會得到方向號碼3(T=t1
),接下來只要往下拖曳,都會維持在目前狀態,直到物件離開觸控裝置,就會發出下移指令。物件由第一碰觸點PF
拖曳經過轉換點P1
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到左移/下移的動作。同理,右移與上移之動作可根據上述說明類推。另外,根據手勢定義之方向號碼4、5、6、7可進一步達到右上移、左上移、左下移以及右下移等指令。
請參考第6圖,第6圖為單點觸控之手勢之刪除(Delete)指令之示意圖。首先輕觸觸控裝置上任意一點PBD
(T=t0
),接著放開物件,然後在一固定時間內在輕觸觸控裝置上任意一點PF
(T=t1
),只要拖曳沒有超過臨界值2HT與臨界值2VT,則維持在目前狀態。當物件拖曳往下超過臨界值VT時,就會得到方向號碼3(T=t2
),都會維持在目前狀態,直到物件離開觸控裝置,就會發出刪除指令。物件由第一碰觸點PF
拖曳經過轉換點P1
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作才能達到刪除的動作。
請參考第7圖,第7圖為單點觸控之手勢之逆時針旋轉(Rotate Counterclockwise)指令之示意圖。首先輕觸觸控裝置上任意一點PF
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往右超過臨界值HT時,此時會得到方向號碼0(T=t1
),接下來只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向往上超過臨界值VT時,就會得到方向號碼1(T=t2
),同樣地在這個狀態只要往上拖曳,都會維持在目前狀態,直到產生拖曳方向往左超過臨界值HT時,就會得到方向號碼2(T=t3
),一進入此狀態就會發出逆時針旋轉90度的指令,同樣地在這個狀態只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向為向下且超過臨界值VT時,就會得到方向號碼3(T=t4
),一進入此狀態就會發出逆時針旋轉180度的指令,同樣地在這個狀態只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向往右超過臨界值HT,就會得到方向號碼0(T=t5
),一進入此狀態就會發出逆時針旋轉270度的指令,同樣地在這個狀態只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向為向上且超過臨界值VT時,就會得到方向號碼1(T=t6
),一進入此狀態就會發出逆時針旋轉360度的指令,同樣地在這個狀態只要往上拖曳,都會維持在目前狀態。在狀態(T=t3
)之後,只要往逆時針方向拖曳,每超過一次臨界值HT或臨界值VT就會繼續發出逆時針旋轉指令,而往順時針方向拖曳每超過一次臨界值HT或臨界值VT就會繼續發出上一個狀態的逆時針旋轉指令或回復到最初未做動作之前的狀態,例如在狀態(T=t7
)就發出逆時針旋轉270度的指令。另外,亦可持續按壓住不動一段時間(T=t8
),也會自動發出逆時針旋轉指令,直到物件離開觸控裝置。物件由第一碰觸點PF
拖曳經過轉換點P1
~P7
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到逆時針旋轉的動作。同樣地,根據上述之方法,當產生一組方向號碼「012」、「0412」、「0152」、「04152」、「123」、「1523」、「1263」、「15263」、「230」、「2630」、「2370」、「26370」、「301」、「3701」、「3041」或「37041」時,就會執行逆時針旋轉指令。
請參考第8圖,第8圖為單點觸控之手勢之順時針旋轉(Rotate Clockwise)指令之示意圖。首先輕觸觸控裝置上任意一點PF
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當物件拖曳往左超過臨界值HT時,此時會得到方向號碼2(T=t1
),接下來只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向往上超過臨界值VT時,就會得到方向號碼1(T=t2
),同樣地在這個狀態只要往上拖曳,都會維持在目前狀態,直到產生拖曳方向往右超過臨界值HT時,就會得到方向號碼0(T=t3
),一進入此狀態就會發出一個順時針旋轉90度的指令,同樣地在這個狀態只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向為向下且超過臨界值VT時,就會得到方向號碼3(T=t4
),一進入此狀態就會發出順時針旋轉180度的指令,同樣地在這個狀態只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向往左超過臨界值HT,就會得到方向號碼2(T=t5
),一進入此狀態就會發出順時針旋轉270度的指令,同樣地在這個狀態只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向為向上且超過臨界值VT時,就會得到方向號碼1(T=t6
),一進入此狀態就會發出順時針旋轉360的指令,同樣地在這個狀態只要往上拖曳,都會維持在目前狀態。在狀態(T=t3
)之後,只要往順時針方向拖曳,每超過一次臨界值HT或臨界值VT就會繼續發出順時針旋轉指令,而往逆時針方向拖曳每超過一次臨界值HT或臨界值VT就會繼續發出上一個狀態的順時針旋轉指令或回復到最初未做動作之前的狀態,例如在狀態(T=t7
)就發出順時針旋轉270度的指令。另外,亦可持續按壓住不動一段時間(T=t8
),也會自動發出順時針旋轉指令,直到物件離開觸控裝置。物件由第一碰觸點PF
拖曳經過轉換點P1
~P7
最後到達最終碰觸點PT
,當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到順時針旋轉的動作。同樣地,根據上述之方法,當產生一組方向號碼「210」、「2510」、「2140」、「25140」、「103」、「1403」、「1073」、「14073」、「032」、「0732」、「0362」、「07362」、「321」、「3621」、「3251」或「36251」時,執行一順時針旋轉指令。
請參考第9圖,第9圖為多點觸控之手勢之放大(Zoom In)指令之示意圖。首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),接著利用第二物件輕觸觸控裝置上任一點PB_F
(T=t1
),然後由PB_F
拖曳一段距離,就進入下一個狀態(T=t2
),並且利用兩點式的方法,計算出PB_F
與PB_1
這兩點所形成的參考直線。如果碰觸點PA_F
與參考直線的投影距離小於投影距離臨界值DT,此時保持碰觸點PA_F
不動。接下來碰觸點PB_F
只要往上拖曳超過臨界值VT時,就會得到方向號碼1,當轉換點PB_1
至碰觸點PB_F
之距離大於縮放臨界值ZT且轉換點PB_1
(T=t2
)至碰觸點PA_F
之距離大於轉換點PB_F
至碰觸點PA_F
之距離時,就會發出放大一倍(1X)指令。放大指令之倍數將根據轉換點至碰觸點PA_F
之距離決定。轉換點PB_2
(T=t3
)至碰觸點PA_F
之距離大於轉換點PB_1
至碰觸點PA_F
之距離,所以發出放大二倍(2X)指令。轉換點PB_3
(T=t4
)至碰觸點PA_F
之距離大於轉換點PB_2
至碰觸點PA_F
之距離,所以發出放大四倍(4X)指令。轉換點PB_4
(T=t5
)至碰觸點PA_F
之距離小於轉換點PB_3
至碰觸點PA_F
之距離,所以發出放大二倍(2X)指令。當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到放大的動作。
請參考第10圖,第10圖為多點觸控之手勢之縮小(Zoom Out)指令之示意圖。首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),接著利用第二物件輕觸觸控裝置上任一點PB_F
(T=t1
),然後由PB_F
拖曳一段距離,就進入下一個狀態(T=t2
),並且利用兩點式的方法,計算出PB_F
與PB_1
這兩點所形成的參考直線。如果碰觸點PA_F
與參考直線的投影距離小於投影距離臨界值DT,此時保持碰觸點PA_F
不動。接下來碰觸點PB_F
只要往下拖曳超過臨界值VT時,就會得到方向號碼3,當轉換點PB_1
至碰觸點PB_F
之距離大於縮放臨界值ZT且轉換點PB_1
(T=t2
)至碰觸點PA_F
之距離小於轉換點PB_F
至碰觸點PA_F
之距離時,就會發出縮小一倍(1X)指令。縮小指令之倍數將根據轉換點至碰觸點PA_F
之距離決定。轉換點PB_2
(T=t3
)至碰觸點PA_F
之距離小於轉換點PB_1
至碰觸點PA_F
之距離,所以發出縮小二倍(2X)指令。轉換點PB_3
(T=t4
)至碰觸點PA_F
之距離小於轉換點PB_2
至碰觸點PA_F
之距離,所以發出縮小四倍(4X)指令。轉換點PB_4
(T=t5
)至碰觸點PA_F
之距離大於轉換點PB_3
至碰觸點PA_F
之距離,所以發出縮小二倍(2X)指令。當物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到縮小的動作。
請參考第11圖,第11圖為多點觸控之手勢之上一頁(Previous Page)指令及下一頁(Next Page)指令之示意圖。進行上一頁指令時,首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),接著利用第二物件輕觸觸控裝置上任一點PB_F
(T=t1
),然後由PB_F
拖曳一段距離,就進入下一個狀態(T=t2
),並且利用兩點式的方法,計算出PB_F
與PB_1
這兩點所形成的參考直線。如果碰觸點PA_F
與參考直線的投影距離大於投影距離臨界值DT,此時保持碰觸點PA_F
不動。接下來碰觸點PB_F
只要往左拖曳超過臨界值VT時,就會得到方向號碼2並進入一個狀態(T=t2
),然後在這個狀態也是一樣,只要往左拖曳,都會維持目前狀態,在直到物件由碰觸點PB_F
(T=t3
)離開觸控裝置,就會發出上一頁指令。同樣地,根據上述之方法,當產生方向號碼3時,也會執行上一頁指令。進行下一頁指令時,首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0),接著利用第二物件輕觸觸控裝置上任一點PB_F
(T=t1),然後由PB_F
拖曳一段距離,就進入下一個狀態(T=t2
),並且利用兩點式的方法,計算出PB_F
與PB_1
這兩點所形成的參考直線。如果碰觸點PA_F
與參考直線的投影距離大於投影距離臨界值DT,此時保持碰觸點PA_F
不動。接下來碰觸點PB_F
只要往右拖曳超過臨界值VT時,就會得到方向號碼0並進入一個狀態(T=t2
),然後在這個狀態也是一樣,只要往右拖曳,都會維持目前狀態,在直到物件由碰觸點PB_F
(T=t3
)離開觸控裝置,就會發出下一頁指令。同樣地,根據上述之方法,當產生方向號碼1時,也會執行下一頁指令。
請參考第12圖,第12圖為多點觸控之手勢之刪除(Delete)指令之示意圖。利用第一物件以及第二物件同時輕觸觸控裝置上任意二點PB_F
、PA_F
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態,接著放開物件,就會發出刪除指令。
請參考第13圖,第13圖為多點觸控之手勢之逆時針旋轉(Rotate Counterclockwise)指令之示意圖。首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),接著利用第二物件輕觸觸控裝置上任意一點PB_F
(T=t1
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當第二物件拖曳往右超過臨界值HT時,此時會得到方向號碼0(T=t2
),接下來只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向往上超過臨界值VT時,就會得到方向號碼1(T=t3
),同樣地在這個狀態只要往上拖曳,都會維持在目前狀態,直到產生拖曳方向往左超過臨界值HT時,就會得到方向號碼2(T=t4
),一進入此狀態就會發出逆時針旋轉90度的指令,同樣地在這個狀態只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向為向下且超過臨界值VT時,就會得到方向號碼3(T=t5
),一進入此狀態就會發出逆時針旋轉180度的指令,同樣地在這個狀態只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向往右超過臨界值HT,就會得到方向號碼0(T=t6
),一進入此狀態就會發出逆時針旋轉270度的指令,同樣地在這個狀態只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向為向上且超過臨界值VT時,就會得到方向號碼1(T=t7
),一進入此狀態就會發出逆時針旋轉360的指令,同樣地在這個狀態只要往上拖曳,都會維持在目前狀態。在狀態(T=t4
)之後,只要往逆時針方向拖曳,每超過一次臨界值HT或臨界值VT就會繼續發出逆時針旋轉指令,而往順時針方向拖曳每超過一次臨界值HT或臨界值VT就會繼續發出上一個狀態的逆時針旋轉指令或回復到最初未做動作之前的狀態,例如在狀態(T=t8
)就發出逆時針旋轉270度的指令。另外,亦可持續按壓住不動一段時間(T=t9
),也會自動發出逆時針旋轉指令,直到二物件離開觸控裝置。第二物件由第一碰觸點PB_F
拖曳經過轉換點PB_1
~PB_7
最後到達最終碰觸點PB_T
,當二物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到逆時針旋轉的動作。同樣地,根據上述之方法,當產生一組方向號碼「012」、「0412」、「0152」、「04152」、「123」、「1523」、「1263」、「15263」、「230」、「2630」、「2370」、「26370」、「301」、「3701」、「3041」或「37041」時,就會執行逆時針旋轉指令。
請參考第14圖,第14圖為多點觸控之手勢之順時針旋轉(Rotate Clockwise)指令之示意圖。首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),接著利用第二物件輕觸觸控裝置上任意一點PB_F
(T=t1
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當第二物件拖曳往左超過臨界值HT時,此時會得到方向號碼2(T=t2
),接下來只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向往上超過臨界值VT時,就會得到方向號碼1(T=t3
),同樣地在這個狀態只要往上拖曳,都會維持在目前狀態,直到產生拖曳方向往右超過臨界值HT時,就會得到方向號碼0(T=t4
),一進入此狀態就會發出順時針旋轉90度的指令,同樣地在這個狀態只要往右拖曳,都會維持在目前狀態,直到產生拖曳方向為向下且超過臨界值VT時,就會得到方向號碼3(T=t5
),一進入此狀態就會發出順時針旋轉180度的指令,同樣地在這個狀態只要往下拖曳,都會維持在目前狀態,直到產生拖曳方向往左超過臨界值HT,就會得到方向號碼2(T=t6
),一進入此狀態就會發出順時針旋轉270度的指令,同樣地在這個狀態只要往左拖曳,都會維持在目前狀態,直到產生拖曳方向為向上且超過臨界值VT時,就會得到方向號碼1(T=t7
),一進入此狀態就會發出順時針旋轉360的指令,同樣地在這個狀態只要往上拖曳,都會維持在目前狀態。在狀態(T=t4
)之後,只要往順時針方向拖曳,每超過一次臨界值HT或臨界值VT就會繼續發出順時針旋轉指令,而往逆時針方向拖曳每超過一次臨界值HT或臨界值VT就會繼續發出上一個狀態的順時針旋轉指令或回復到最初未做動作之前的狀態,例如在狀態(T=t8
)就發出順時針旋轉270度的指令。另外,亦可持續按壓住不動一段時間(T=t9
),也會自動發出順時針旋轉指令,直到二物件離開觸控裝置。第二物件由第一碰觸點PB_F
拖曳經過轉換點PB_1
~PB_7
最後到達最終碰觸點PB_T
,當二物件離開觸控裝置放開之後,則需重頭再做一次上述的動作,才能達到順時針旋轉的動作。同樣地,根據上述之方法,當產生一組方向號碼「210」、「2510」、「2140」、「25140」、「103」、「1403」、「1073」、「14073」、「032」、「0732」、「0362」、「07362」、「321」、「3621」、「3251」或「36251」時,就會執行一順時針旋轉指令。
請參考第15圖,第15圖為多點觸控之手勢之左移(Move Left)指令及下移(Move Down)指令之示意圖。進行左移指令時,首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當第一物件拖曳往左超過臨界值HT時,就會得到方向號碼2(T=t1
),接下來第一物件往左拖曳至碰觸點PA_T
(T=t2
),當第二物件碰觸觸控裝置上任一點PB-AD
(T=t3
)時,就會發出左移指令。進行下移指令時,首先利用第一物件輕觸觸控裝置上任意一點PA_F
(T=t0
),只要拖曳沒有超過臨界值2HT與臨界值2VT所形成的矩形範圍,則維持在目前狀態。當第一物件拖曳往下超過臨界值VT時,就會得到方向號碼3(T=t1
),接下來第一物件往下拖曳至碰觸點PA_T
(T=t2
),當第二物件碰觸觸控裝置上任一點PB-AD
(T=t3
)時,就會發出下移指令。
請參考第16圖,第16圖為本發明之單點觸控與多點觸控之手勢之順時針旋轉指令與逆時針旋轉指令判斷之有限狀態機(finite state machine)之示意圖。本發明偵測物件在觸控裝置上之拖曳係根據第16圖之有限狀態機進行判斷,以得到方向號碼。當物件拖曳產生Drag_Right(方向號碼0)、Drag_Right_Down(方向號碼7)訊號時會進入狀態右,當物件拖曳產生Drag_Left(方向號碼2)、Drag_Left_Up(方向號碼5)訊號時會進入狀態左,當物件拖曳產生Drag_Up(方向號碼1)、Drag_Right_Up(方向號碼4)訊號時會進入狀態上,當物件拖曳產生Drag_Down(方向號碼3)、Drag_Left_Down(方向號碼6)訊號時會進入狀態下,當物件拖曳產生Drag_None訊號時則會離開。根據有限狀態機,使得順時針旋轉指令與逆時針旋轉指令都可以從四個方向開始,並不一定要限制實施例中。舉例來說,根據有限狀態機,利用參數degree_counter來進行計數,degree_counter之初始值設定為-2,當進入一個新的狀態時(也就是方向號碼改變時),degree_counter就會加1。接著,判斷前二個方向號碼為順時針旋轉指令或是逆時針旋轉指令,例如,前二個方向號碼1、2為逆時針旋轉指令,前二個方向號碼1、0為順時針旋轉指令。因此,當degree_counter為0、1、2、3時,就是順時針或逆時針旋轉90度、180度、270度、360度。
綜上所述,本發明判斷觸控裝置之手勢之方法,利用定義複數個方向號碼用來表示物件在觸控裝置上拖曳之方向,再根據該物件觸碰該觸控裝置直到該物件離開該觸控裝置之期間所產生之方向號碼以簡單之運算執行相對應之指令,可增加判斷觸控裝置之手勢之速度以及準確度。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
HT‧‧‧垂直臨界值
VT‧‧‧水平臨界值
(0)~(7)‧‧‧方向號碼
PF‧‧‧第一碰觸點
PT‧‧‧最終碰觸點
P1~P7‧‧‧轉換點
DT‧‧‧投影距離臨界值
ZT‧‧‧縮放臨界值
第1圖為判斷觸控裝置之手勢所定義之方向號碼之示意圖。
第2圖為單點觸控之手勢之放大指令之示意圖。
第3圖為單點觸控之手勢之縮小指令之示意圖。
第4圖為單點觸控之手勢之上一頁指令及下一頁指令之示意圖。
第5圖為單點觸控之手勢之左移指令及下移指令之示意圖。
第6圖為單點觸控之手勢之刪除指令之示意圖。
第7圖為單點觸控之手勢之逆時針旋轉指令之示意圖。
第8圖為單點觸控之手勢之順時針旋轉指令之示意圖。
第9圖為多點觸控之手勢之放大指令之示意圖。
第10圖為多點觸控之手勢之縮小指令之示意圖。
第11圖為多點觸控之手勢之上一頁指令及下一頁指令之示意圖。
第12圖為多點觸控之手勢之刪除指令之示意圖。
第13圖為多點觸控之手勢之逆時針旋轉指令之示意圖。
第14圖為單點觸控之手勢之順時針旋轉指令之示意圖。
第15圖為多點觸控之手勢之左移指令及下移指令之示意圖。
第16圖為本發明之單點觸控與多點觸控之手勢之順時針旋轉指令與逆時針旋轉指令判斷之有限狀態機之示意圖。
HT...水平臨界值
VT...垂直臨界值
(0)~(7)...方向號碼
Claims (27)
- 一種判斷觸控裝置之手勢之方法,包含:根據一第一臨界值以及一第二臨界值定義複數個方向號碼用來表示一物件在一觸控裝置上拖曳之方向,該第一臨界值係對應於一第一方向,該第二臨界值係對應於相異於該第一方向之一第二方向;根據該第一臨界值以及該第二臨界值判斷該物件觸碰該觸控裝置直到該物件離開該觸控裝置之期間的拖曳軌跡所對應之複數個方向號碼;記錄該複數個方向號碼;以及根據記錄之該複數個方向號碼之組合執行相對應之指令。
- 如請求項1所述之方法,其中根據該第一臨界值以及該第二臨界值定義該複數個方向號碼用來表示該物件在該觸控裝置上拖曳之方向包含:當該物件沿水平正方向拖曳之距離大於該第一臨界值且垂直方向之拖曳距離小於該第二臨界值時,定義為方向號碼0;當該物件沿垂直正方向拖曳之距離大於該第二臨界值且水平方向之拖曳距離小於該第一臨界值時,定義為方向號碼1;當該物件沿水平負方向拖曳之距離大於該第一臨界值且垂直方向之拖曳距離小於該第二臨界值時,定義為方向號碼2;以及 當該物件沿垂直負方向拖曳之距離大於該第二臨界值且水平方向之拖曳距離小於該第一臨界值時,定義為方向號碼3。
- 如請求項2所述之方法,根據該第一臨界值以及該第二臨界值定義該複數個方向號碼用來表示該物件在該觸控裝置上拖曳之方向另包含:當該物件沿水平正方向以及垂直正方向之拖曳距離分別大於該第一臨界值以及該第二臨界值時,定義為方向號碼4;當該物件沿水平負方向以及垂直正方向之拖曳距離分別大於該第一臨界值以及該第二臨界值時,定義為方向號碼5;當該物件沿水平負方向以及垂直負方向之拖曳距離分別大於該第一臨界值以及該第二臨界值時,定義為方向號碼6;以及當該物件沿水平正方向以及垂直負方向之拖曳距離分別大於該第一臨界值以及該第二臨界值時,定義為方向號碼7。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「010」、「121」、「232」或「303」時,執行一放大指令。
- 如請求項4所述之方法,另包含:當執行該放大指令時,該物件可來回拖曳以調整放大倍率,或停住一段時間以增加放大倍率。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「030」、「101」、「212」或「323」時,執行一縮小指令。
- 如請求項6所述之方法,另包含:當執行該縮小指令時,該物件可來回拖曳以調整縮小倍率,或停住一段時間以增加縮小倍率。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「32」、「21」、「10」或「03」時,執行一上一頁指令。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「30」、「01」、「12」或「23」時,執行一下一頁指令。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生該方向號碼2時,執行一左移指令。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上拖曳產生該方向號碼3時,執行一下移指令。
- 如請求項2所述之方法,另包含:當該物件在該觸控裝置上觸碰後離開,接著在該觸控裝置上拖曳產生該方向號碼3時,執行一刪除指令。
- 如請求項3所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「012」、「0412」、「0152」、「04152」、「123」、「1523」、「1263」、「15263」、「230」、「2630」、「2370」、「26370」、「301」、「3701」、「3041」或「37041」時,執行一逆時針旋轉指令。
- 如請求項13所述之方法,另包含:當執行該逆時針旋轉指令時,該物件可繼續在該觸控裝置上拖曳以調整旋轉角度,或停住一段時間以持續旋轉。
- 如請求項3所述之方法,另包含:當該物件在該觸控裝置上拖曳產生一組方向號碼「210」、「2510」、「2140」、「25140」、「103」、「1403」、「1073」、「14073」、「032」、「0732」、「0362」、「07362」、「321」、「3621」、「3251」或「36251」時,執行一順時針旋轉指令。
- 如請求項15所述之方法,另包含:當執行該順時針旋轉指令時,該物件可繼續在該觸控裝置上拖曳 以調整旋轉角度,或停住一段時間以持續旋轉。
- 如請求項2所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上之第一碰觸點;一第二物件觸碰該觸控裝置之第二碰觸點並由該第二碰觸點拖曳至一第一轉換點,該碰觸點與該第一轉換點形成一參考直線;當該第一碰觸點與該參考直線之投影距離小於一第三臨界值、該第二碰觸點至該第一轉換點之距離大於一第四臨界值且該第一轉換點至該第一碰觸點的距離大於該第二碰觸點至該第一碰觸點的距離時,執行一放大指令;當該第二物件由該第一轉換點拖曳至一第二轉換點,使得該第二轉換點至該第一碰觸點之距離大於該第一轉換點至該第一碰觸點之距離時,增加放大倍率;以及當該第二物件由該第二轉換點拖曳至一第三轉換點,使得該第二轉換點至該第一碰觸點之距離大於該第三轉換點至該第一碰觸點之距離時,減少放大倍率。
- 如請求項2所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上之第一碰觸點;一第二物件觸碰該觸控裝置之第二碰觸點並由該第二碰觸點拖曳至一第一轉換點,該第二碰觸點與該第一轉換點形成一參考直線; 當該第一碰觸點與該參考直線之投影距離小於一第三臨界值、該第二碰觸點至該第一轉換點之距離大於一第四臨界值且該第一轉換點至該第一碰觸點的距離小於該第二碰觸點至該第一碰觸點的距離時,執行一縮小指令;當該第二物件由該第一轉換點拖曳至一第二轉換點,使得該第二轉換點至該第一碰觸點之距離小於該第一轉換點至該第一碰觸點之距離時,增加縮小倍率;以及當該第二物件由該第二轉換點拖曳至一第三轉換點,使得該第二轉換點至該第一碰觸點之距離小於該第三轉換點至該第一碰觸點之距離時,減少縮小倍率。
- 如請求項2所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上之第一碰觸點;一第二物件觸碰該觸控裝置之第二碰觸點並由該第二碰觸點拖曳至一第一轉換點,該第二碰觸點與該第一轉換點形成一參考直線;以及當該第一碰觸點與該參考直線之投影距離大於一第三臨界值且該第二物件在該觸控裝置上拖曳產生該方向號碼2或3時,執行一上一頁指令。
- 如請求項2所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上之第一碰觸點;一第二物件觸碰該觸控裝置之第二碰觸點並由該第二碰觸點拖 曳至一第一轉換點,該第二碰觸點與該第一轉換點形成一參考直線;以及當該第一碰觸點與該參考直線之投影距離大於一第三臨界值且該第二物件在該觸控裝置上拖曳產生該方向號碼0或1時,執行一下一頁指令。
- 如請求項2所述之方法,另包含:一第一物件以及一第二物件同時觸碰該觸控裝置時,執行一刪除指令。
- 如請求項3所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上;以及當一第二物件在該觸控裝置上拖曳產生一組方向號碼「012」、「0412」、「0152」、「04152」、「123」、「1523」、「1263」、「15263」、「230」、「2630」、「2370」、「26370」、「301」、「3701」、「3041」或「37041」時,執行一逆時針旋轉指令。
- 如請求項22所述之方法,另包含:當執行該逆時針旋轉指令時,該第二物件可繼續在該觸控裝置上拖曳以調整旋轉角度,或停住一段時間以持續旋轉。
- 如請求項3所述之方法,另包含:一第一物件觸碰並停留在該觸控裝置上;以及 當一第二物件在該觸控裝置上拖曳產生一組方向號碼「210」、「2510」、「2140」、「25140」、「103」、「1403」、「1073」、「14073」、「032」、「0732」、「0362」、「07362」、「321」、「3621」、「3251」或「36251」時,執行一順時針旋轉指令。
- 如請求項24所述之方法,另包含:當執行該順時針旋轉指令時,該第二物件可繼續在該觸控裝置上拖曳以調整旋轉角度,或停住一段時間以持續旋轉。
- 如請求項2所述之方法,另包含:一第一物件在該觸控裝置上拖曳產生該方向號碼2;以及當一第二物件觸碰並停留在該觸控裝置上時,執行一左移指令。
- 如請求項2所述之方法,另包含:一第一物件在該觸控裝置上拖曳產生該方向號碼3;以及當一第二物件觸碰並停留在該觸控裝置上時,執行一下移指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098137681A TWI494791B (zh) | 2009-11-06 | 2009-11-06 | 判斷觸控裝置之手勢之方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098137681A TWI494791B (zh) | 2009-11-06 | 2009-11-06 | 判斷觸控裝置之手勢之方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201117047A TW201117047A (en) | 2011-05-16 |
TWI494791B true TWI494791B (zh) | 2015-08-01 |
Family
ID=44935095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098137681A TWI494791B (zh) | 2009-11-06 | 2009-11-06 | 判斷觸控裝置之手勢之方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI494791B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902075A (zh) * | 2012-12-26 | 2014-07-02 | 宏碁股份有限公司 | 提高触控成功率的方法及使用此方法的电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200847001A (en) * | 2007-01-31 | 2008-12-01 | Apple Inc | Gesturing with a multipoint sensing device |
TW200945174A (en) * | 2008-04-14 | 2009-11-01 | Pointgrab Ltd | Vision based pointing device emulation |
-
2009
- 2009-11-06 TW TW098137681A patent/TWI494791B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200847001A (en) * | 2007-01-31 | 2008-12-01 | Apple Inc | Gesturing with a multipoint sensing device |
TW200945174A (en) * | 2008-04-14 | 2009-11-01 | Pointgrab Ltd | Vision based pointing device emulation |
Also Published As
Publication number | Publication date |
---|---|
TW201117047A (en) | 2011-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180067572A1 (en) | Method of controlling virtual object or view point on two dimensional interactive display | |
CA2771918C (en) | Direct manipulation gestures | |
JP5922598B2 (ja) | マルチタッチ利用、ジェスチャ及び実装 | |
KR101794498B1 (ko) | 터치-감지형 디스플레이를 사용하여 오브젝트를 복제하는 방법 및 시스템 | |
JP2014241139A (ja) | 仮想タッチパッド | |
TWI389014B (zh) | Touchpad detection method | |
US20120174044A1 (en) | Information processing apparatus, information processing method, and computer program | |
US20110018806A1 (en) | Information processing apparatus, computer readable medium, and pointing method | |
JP2007334870A (ja) | 直接入力装置の位置をマッピングする方法およびシステム | |
KR20080104858A (ko) | 터치 스크린 기반의 제스쳐 정보 제공 방법 및 장치, 그장치를 포함하는 정보 단말 기기 | |
JP2009259079A (ja) | タッチボードカーソル制御方法 | |
TW201112074A (en) | Touch gesture detecting method of a touch panel | |
US20140210742A1 (en) | Emulating pressure sensitivity on multi-touch devices | |
JP2013504794A (ja) | 時間分離タッチ入力 | |
JP2014533866A (ja) | タッチ・センサーの動的スケーリング | |
CN103513914B (zh) | 应用对象的触摸控制方法与装置 | |
TW201319921A (zh) | 觸控螢幕畫面控制方法及觸控螢幕畫面顯示方法 | |
JP2014182814A (ja) | 描画装置、描画方法および描画プログラム | |
TWI354223B (zh) | ||
CN101876865B (zh) | 判断触控装置的手势的方法 | |
US20140298275A1 (en) | Method for recognizing input gestures | |
TWI497357B (zh) | 多點觸控板控制方法 | |
TWI494791B (zh) | 判斷觸控裝置之手勢之方法 | |
KR101171623B1 (ko) | 멀티터치 기반 터치 패널 제어장치, 방법 및 이를 이용한 모바일 기기 | |
CN108132721A (zh) | 生成拖动手势的方法、触控装置以及便携式电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |