TWI494795B - 多點觸控物件慣性模擬 - Google Patents

多點觸控物件慣性模擬 Download PDF

Info

Publication number
TWI494795B
TWI494795B TW098133607A TW98133607A TWI494795B TW I494795 B TWI494795 B TW I494795B TW 098133607 A TW098133607 A TW 098133607A TW 98133607 A TW98133607 A TW 98133607A TW I494795 B TWI494795 B TW I494795B
Authority
TW
Taiwan
Prior art keywords
application
user
touch
inertial
manipulation
Prior art date
Application number
TW098133607A
Other languages
English (en)
Other versions
TW201019176A (en
Inventor
Reed L Townsend
Xiao Tu
Bryan D Scott
Todd A Torset
Kenneth W Sykes
Samir S Pradhan
Jennifer A Teed
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW201019176A publication Critical patent/TW201019176A/zh
Application granted granted Critical
Publication of TWI494795B publication Critical patent/TWI494795B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Description

多點觸控物件慣性模擬
本發明係關於多點觸控物件慣性模擬。
一平板型PC或筆型電腦為一種筆記型或板狀行動電腦,其裝設有一觸控螢幕或繪圖板/螢幕複合式技術,而允許使用者利用觸控筆、數位筆、或指尖而非鍵盤或滑鼠來操作該電腦。平板型PC提供更為自然的輸入型式,因為速寫及手寫遠比鍵盤及滑鼠為更熟悉的輸入型式,特別是對於電腦新手而言。平板型PC亦為更容易使用,因為那些身體上無法打字的人即可利用平板型PC的額外特徵而能夠與電子世界進行互動。
多點觸控(Multi-touch或寫為multitouch)代表一組互動技術,其允許電腦使用者使用多指或輸入裝置(例如觸控筆)來控制繪圖應用。多點觸控實施通常包含觸控硬體(例如螢幕、平板、壁面等等)及辨識多點同時觸控點之軟體。多點觸控係相對於一次僅辨識一觸控點之傳統型觸控螢幕(例如電腦觸控板、ATM、購物互動資訊站)。多點觸控硬體可使用熱量、手指壓力、高補捉率相機、紅外光、光學補捉、可調整電磁感應、超音波接收器、傳感器麥克風、雷射測距儀、陰影補捉及其它機制來感測觸碰。目前已經存在有許多多點觸控介面的應用程式,而應用程式設計師與使用者提出更多的建議。一些使用係個人化的(例如Microsoft Surface、Apple iPhone、HTC Diamond)。做為一種新的輸入方法,多點觸控提供了新的使用者經驗範例的可能性。
一種應用不能夠使用多點觸控硬體,其不具有用於自該多點觸控硬體接收資訊的應用軟體之一介面。可惜地是,每個多點觸控硬體裝置包含其本身的專屬介面,且應用程式開發者必須具有硬體裝置之特定知識來撰寫配合該裝置使用之軟體。例如,一多點觸控硬體供應商可以提供一核心模式驅動器及一使用者模式應用程式介面,藉此使用者模式軟體應用能夠與該多點觸控硬體通訊來接收觸碰資訊。一應用開發者撰寫與該使用者模式應用程式介面通訊的軟體,但該應用開發者之軟體僅配合於該多點觸控硬體運作。利用不同多點觸控硬體裝置之電腦使用者不能夠使用該應用開發者的軟體,除非該應用開發者生產該軟體的一不同版本來正確地與該電腦使用者的裝置配合操作。此即對於應用開發者造成非常有限的可能性市場,降低了撰寫支援多點觸控互動之應用程式的誘因,並使得那些易於取得應用程式之最為常用裝置成本居高不下。
另一個問題為這些應用很難基於自多點觸控硬體所接收的觸碰輸入來判定使用者的意圖。觸碰輸入可被接收成一座標清單,其為該硬體在任何給定時間所感測到的觸碰輸入。每個應用必須包含軟體來解譯該等座標並判定該使用者的意圖。此外,使用者的意圖可能超越所接收到的實際觸碰輸入。使用者可能期待虛擬物件可以如同其在現實世界中一樣運轉。例如,一使用者可能期待能夠藉由輕彈他/她的手指而由桌面的一側「拋」一個檔案到另一側。這種移動並未由目前的多點觸控應用程式所支援,其將可期待該使用者自該螢幕的一側拖曳他/她的手指直到另一側。即使一應用提供此種移動的支援,其他應用無法受惠於此,因此應用開發者必須重複第一應用開發者的工作以於他們的應用中提供相同的功能。
慣性系統提供一種共用平台及做為應用之應用程式化介面(Application-programming interface,API),以延伸自多種多點觸控硬體裝置接收的輸入而模擬物件之真實行為。由該應用程式接收的操縱基於接觸該多點觸控硬體之移動而僅描述了一物件的移動。但是,為了自然地移動,物件亦必須呈現物理特性,例如彈性及減速度。當一使用者提高所有與物件的接觸(contact)時,該慣性系統提供額外的操縱事件到該應用程式,如此該應用程式可以如同使用者仍在利用觸碰來移動該物件,處理該等事件。但是,該慣性系統實際上基於模擬物件之行為而產生事件。如果該使用者移動一物件到另一物件當中,該慣性系統基於該等物件之邊界特性而傳送操縱事件。因此,慣性系統對於使用者使用多點觸控硬體操縱的應用物件提供更為真實的移動,且API提供橫跨應用之操縱的一致性感覺。
此「發明內容」係以一簡化型式來做一選擇性觀念之介紹,其在以下的「實施方式」中會進一步加以說明。此「發明內容」並無意於識別出所主張申請標的之關鍵特徵或基本特徵,也並無意於用以限制所主張申請標的之範疇。
慣性系統提供一種共用平台及做為應用之API,以延伸自多種多點觸控硬體裝置接收的輸入而模擬物件之真實行為。例如,真實物件在當使用者停止推動它們時基本上並不會停止移動,而會呈現某種慣性及保持移動,直到磨擦力放慢它們,最後才停止。在一些具體實施例中,觸碰輸入首先經由一程序來解譯一或多個做為操縱之接觸的移動。操縱會比個別觸碰輸入更為直接地對映到使用者意圖,並使用多點觸控接觸加入物件之基本轉換的支援。應用程式能夠使用操縱而同時支援旋轉、改變大小及平移多個物件(例如相片)。該等操縱可被描述為含有旋轉、縮放(例如放大縮小)及平移(例如搖攝(pan))資訊的二維(two-dimensional,2D)仿射轉換。
該多點觸控硬體之每次觸碰稱之為接觸。例如,當使用者放置他/她的手指在該多點觸控硬體上時,在周圍移動他/她的手指及提高他/她的手指時,該系列的事件為單一接觸。例如,如果使用者移動兩個接觸使其更為靠近或更為遠離,該系統可以判定該使用者正在調整(例如放大或縮小)一物件。在另一例中,如果使用者以圓形運動之方式移動多個接觸,則該系統可解譯該移動為一物件的旋轉。每個應用程式可定義不同相關的物件,所以其係根據該應用程式來附加該系統的實體(稱之為操縱處理器)到每個物件,其可由使用者在該應用程式內使用觸控輸入來操縱。例如,相片瀏覽應用程式可以附加一操縱處理器到每張顯示的相片,如此該使用者可四處移動相片、縮放相片、旋轉相片等等。
由該應用程式所處理的操縱基於該接觸的移動而僅描述了一物件的移動。但是,為了自然地移動,物件亦必須呈現物理特性,例如彈性及減速度。當使用者提高所有與物件的接觸時,該慣性系統提供額外的操縱事件到應用程式,如此該應用程式可以如同使用者仍在利用觸碰來移動該物件,處理該等事件。但是,慣性系統實際上基於模擬物件之行為而產生該等事件。例如,如果使用者提高接觸而該物件在一特定方向上具有一速度時,則慣性系統持續傳送指示該物件正在該方向上移動的事件,而當物件減速時則會隨時間改變而減慢。如果使用者移動一物件到另一物件當中,像是螢幕的邊緣,該慣性系統基於該等物件之邊界特性而傳送操縱事件。例如,如果一應用開發者定義兩個物件為有彈性,則該等兩個物件在當使用者移動該等物件到另一個當中時可能會彼此彈開。因此,慣性系統對於使用者使用多點觸控硬體操縱的應用物件提供更為真實的移動,且API提供橫跨應用之操縱的一致性感覺。
第1圖為在一具體實施例中,說明該慣性系統之組件的方塊圖。慣性系統100包含一硬體介面110、一或多個操縱處理器120、一輸入轉換組件130、一模擬組件140,及一應用程式介面150。這些組件的每個將在本文更為詳細地描述。
硬體介面110與該硬體通訊來接收觸碰接觸及移動。硬體介面110可以提供數種子組件,其一起運作來提供觸碰輸入資訊。例如,作業系統可以提供多點觸控硬體製造商一共用驅動器模型,以提供它們的特定硬體之觸碰資訊。該作業系統可解譯經由此模型接收的觸碰資訊成為視窗訊息(例如本文所述的WM_TOUCH),並傳遞這些訊息到該應用。因此,硬體介面110可以涉及硬體、硬體驅動器及作業系統層的協調。該結果為一系列傳至該慣性系統之訊息,其可識別一特定接觸(例如手指觸碰),及不同時間該接觸的座標。例如,作業系統可提供當在多點觸控硬體上記下一新接觸的訊息,每次該接觸移動時的一訊息,及當該接觸自多點觸控硬體移開時的一訊息。
一或多個操縱處理器120使用輸入轉換組件130來解譯相關於一特定應用物件之每個接觸的移動。操縱處理器120可以判定使用者正在使用多個接觸來執行一單一動作。例如,使用者可用一隻手的所有五隻手指觸碰一相片,並扭轉他/她的手來指示要旋轉該相片的意圖。操縱處理器120接收五個個別接觸(每隻手指一個)及當該使用者旋轉他/她的手時之每個接觸的座標變化。操縱處理器120判定每個接觸正在抓取相同的物件並正執行相同的旋轉。該系統將通知該應用程式使用者旋轉該物件,但該應用程式可忽略該使用者係使用兩個、五個或任何特定數目的手指或其它接觸來執行該旋轉。因為該應用程式開發者可以處理那些關於該應用程式之操縱種類,且將其留給慣性系統來解譯自該多點觸控硬體接收的每一個低階觸控輸入之意義,此即可大為簡化該應用之編寫。
操縱處理器120使用輸入轉換組件130來做出關於單獨或共同之多個接觸的已接收移動的意義之判定。例如,如果使用者正在利用兩隻手指操縱一相片,其即產生兩個相對應輸入接觸,則操縱處理器120使用輸入轉換組件130來判定該等兩個接觸之間相對移動的意義。如果該等兩個接觸為互相分開,則輸入轉換組件130可以判定使用者正在縮放物件來改變該物件的大小。如果該等兩個接觸旋轉,則輸入轉換組件130可以判定使用者正在旋轉物件。如果該等兩個接觸皆在一特定方向上滑動,則輸入轉換組件130可以判定使用者正在平移物件到一新的位置。雖然每種移動被單獨地討論,請注意使用者可以同時做出所有三種移動,且該輸入轉換處理器可以回報整體的轉換到該應用。例如,使用者可在一個動作中同時旋轉、縮放及平移一物件。
模擬組件140基於對於物件定義的初始化參數及限制,在該使用者停止觸碰該物件之後即模擬一應用物件之持續移動。一應用程式可以利用相關於物件之操縱處理器120的最後狀態來初始化模擬組件140。該應用程式亦可以定義該物件之多種特性,像是該物件的邊界必須如何運作。模擬組件140使用基於物理的技術來模擬在該使用者釋放該物件之後的一段時間該物件之行為。例如,當該使用者正在移動該物件時,模擬組件140可用與該應用程式接收的操縱事件相同的型式來繼續發出通知至該應用程式。則該應用程式可聚焦於對物件移動的反應,而非考慮是哪些動作(使用者或物理動作)造成該物件的移動。本技術專業人士將可瞭解到有多種已為吾人所熟知的技術來模擬軟體中虛擬物件之等效物理行為。
應用程式介面150與該應用程式進行通訊來接收資訊,並提供操縱轉換到該應用程式。應用程式介面150自該應用接收初始化資訊。該初始化資訊可以指定該應用物件對於一特定物件的支援之哪種轉換,以及相關的操縱處理器,還有當使用者不再移動該物件時模擬組件140之初始化資料。例如,一些應用物件可以支援縮放,但非旋轉。初始化資訊亦可指定物件的一樞轉點(pivot point)。該慣性系統經由應用程式介面提供操縱轉換到該應用程式。例如,當該慣性系統接收該系統解譯成一辨識的轉換(例如旋轉)之低階觸碰輸入,該系統發出一事件來通知該應用程式關於該操縱。該應用程式處理該操縱轉換以基於轉換來修正該物件。例如,如果使用者旋轉物件,則該應用程式可以儲存該物件的新定位以於下次應用程式顯示該物件時使用。在另一例中,如果物件基於模擬組件140之計算在該使用者將其釋放之後持續地旋轉,則該應用程式可以儲存該物件的新定位。
在該系統上被實施的運算裝置可以包括一中央處理器、記憶體、輸入裝置(例如鍵盤及指向裝置)、輸出裝置(例如顯示裝置)及儲存裝置(例如磁碟機)。該記憶體及儲存裝置為電腦可讀取媒體,可以實施該系統之電腦可執行指令來進行編碼,其代表含有該等指令之電腦可讀取媒體。此外,資料結構與訊息結構可被儲存或藉由一資料傳輸媒體傳送,像是在一通訊鏈結上的一信號。可使用多種通訊鏈結,像是網際網路、區域網路、廣域網路、點對點撥接連線、行動電話網路等等。
該系統之具體實施例可實施在多種操作環境中,其中包含個人電腦、伺服器電腦、掌上型或膝上型裝置、多處理器系統、微處理器式系統、可程式化消費性電子產品、數位相機、網路PC、微型電腦、大型電腦、包含任何上述系統或裝置的分散式運算環境等等。該等電腦系統可為行動電話、個人數位助理、智慧型電話、個人電腦、可程式化消費性電子產品、數位相機等等。
該系統可在由一或多部電腦或其它裝置所執行之電腦可執行指令(像是程式模組)的一般性內容中描述。概言之,程式模組包含例式、程式、物件、組件、資料結構等等,其可執行特定工作或實施特定的抽象資料類型。基本上,該等程式模組的功能在多種具體實施例中可視需要組合或分散。
第2圖為在一具體實施例中,用以說明慣性系統之典型操作環境及組件之間的資料流動之資料流程圖。一多點觸控硬體裝置經由一硬體介面產生輸入210。例如,該硬體可以經由硬體製造商所提供的一軟體驅動器來傳送輸入210到一作業系統。該硬體介面提供輸入事件220到一應用程式230。例如,一應用程式可以通知作業系統該應用程式230支援多點觸控使用者輸入,並註冊以接收關於多點觸控使用者輸入的訊息。應用程式230接收低階觸碰輸入資訊做為輸入變化240,並轉送輸入變化240到一操縱系統250。例如,該輸入變化240可以使用指示每個接觸的目前位置與其他移動特性之一組座標來描述與該硬體之一或多個觸碰接觸之每個移動。操縱系統250解譯輸入變化240,並通知一或多個操縱事件260之應用程式230來指示該使用者正在對一顯示的物件所執行的較高階操縱。例如,如果該等接觸之移動指示該使用者想要旋轉物件,操縱事件260指示旋轉的角度。
當使用者完成移動該物件(例如當該應用程式接收到每個觸碰一物件之接觸已經自該觸碰硬體上移除的通知)時,應用程式230傳送初始化資訊270到慣性系統280。慣性系統280判定該物件的下一位置,並提供類似於操縱事件260之慣性事件290,其為操縱系統250當使用者正在移動該物件時所提供者。應用程式230亦提供一驅動計時器來定期地呼叫慣性系統280來經由慣性事件290提供該物件的下一位置。應用程式230以類似於操縱事件的方式處理該等慣性事件。
雖然該圖式說明該應用程式首先接收觸碰輸入,並傳送該觸碰輸入到操縱系統與慣性,在一些具體實施例中,這些系統直接自硬體介面接收觸碰輸入,解譯該觸碰輸入,並提供解譯的操縱事件到該應用程式。同樣地,該應用程式可能不知道獨立慣性系統280在一使用者停止利用觸碰移動一物件之後提供慣性事件,而是有可能在該使用者正在移動該物件期間及當該物件基於慣性正在移動之後,自一介面接收事件。此代表一種替代架構,其提供類似結果功能,但對於該應用程式針對輸入之處理給予較少控制。例如,該應用程式可能無法定義該系統附加個別操縱處理器之個別的應用程式物件。本文所述的RTS嵌入程式為該系統之此替代架構之一示例。
第3圖為在一具體實施例中,用以說明由使用者觸碰所操縱的應用物件之示意圖。一應用程式可對於許多這種物件同時顯示及接收觸碰輸入。例如,作業系統層應用可以顯示儲存在該使用者之電腦桌面上的一或多個文件物件。在顯示器310中,文件物件320在使用者的桌面上代表該使用者想要使用觸碰拖曳到資源回收筒330之文件。該使用者執行文件物件320之輕彈動作,使得系統處理一第一操縱位置340、第二操縱位置350及第三操縱位置360。當該使用者剛開始利用一或多隻手指(即接觸)觸碰文件物件320時,該應用程式接收第一操縱位置340。當使用者滑動他/她的手指跨過螢幕時,該應用程式接收第二操縱位置350。當使用者提起他/她的手指離開螢幕時,該應用程式接收第三操縱位置。箭頭365代表文件物件320的移動向量。
若沒有慣性,文件物件320將停止在第三操縱位置360,其有可能並非該使用者想要的。該慣性系統提供額外的操縱位置到該應用程式,如同基於當使用者釋放文件物件320時文件物件320的速度,而該使用者仍然觸碰及移動文件物件320。當該應用程式初始化慣性系統及首次呼叫該慣性系統的處理功能時,該應用程式接收第一慣性式操縱位置370。當該應用程式繼續呼叫慣性系統的處理功能時,該應用程式接收第二慣性式操縱位置380。因為文件物件320之最終操縱位置380在資源回收筒330之上,該應用程式處理該等兩個物件之間的接觸(例如藉由放置文件物件320在資源回收筒330中)。在以圖示說明的示例中,雖然慣性系統使文件物件320之移動減速,文件物件320基於該使用者在開始時,文件物件320之使用者移動的高初始速度而仍能夠移動橫跨顯示器310一段相當的距離。
第4圖為在一具體實施例中,用以說明使用慣性系統來處理操縱事件的一多點觸控應用程式之輸入迴圈處理的流程圖。在方塊410中,該應用程式接收低階觸碰輸入。例如,作業系統或慣性系統之實體自多點觸控硬體接收觸碰接觸資訊,並轉送該觸碰接觸資訊到該應用程式。在方塊420中,該應用程式識別該輸入所套用到的物件。例如,該應用程式可以藉由比較該等座標與由該應用程式顯示的每個應用物件之座標而命中測試(hit test)該接收到的輸入之座標。如果該觸碰輸入在一已顯示的應用物件之邊界內,則該應用程式判定該觸碰輸入套用到該物件。在方塊430中,該應用程式傳送該接收到的觸碰輸入及關於該識別的應用物件之資訊到一操縱API來引動慣性系統(參見第5圖)。例如,該應用程式可以產生每個應用物件之數值識別,並在每次觸碰輸入對應於該物件時傳送該數值識別到該慣性系統。
在方塊440中,該應用程式自慣性系統接收一操縱事件,其描述該識別的應用物件之一或多個操縱。例如,該應用程式可以接收描述該應用物件之2D仿射轉換之一事件。請注意到方塊440係在方塊430之後依序圖示,以用於簡化說明。實際上,該應用程式在慣性系統通知該應用程式一操縱事件之前,可以接收許多觸碰輸入事件。不需要有觸碰輸入事件對操縱事件之一對一對映。因為操縱事件代表低階觸碰輸入之較高階解譯,多個觸碰輸入可構成一單一操縱事件。在方塊450中,該應用程式處理接收到的操縱事件。例如,如果該收到的操縱事件為一旋轉,則該應用程式可以在螢幕上旋轉應用物件,並儲存該等應用物件之新的位置來以用於當該應用物件被再次顯示時。慣性系統使得該應用程式可以免於在一特殊多點觸控硬體裝置所執行之特定步驟,或甚至可免於知道哪一個硬體裝置正在提供該多點觸控輸入。此外,該慣性系統使得該應用程式免於處理個別的接觸移動,並允許該應用程式聚焦在處理該應用物件層級的轉換。
在方塊460中,該應用程式等待下一個觸碰輸入。例如,該應用程式可以呼叫提供訊息API之作業系統,該訊息為像是Microsoft Windows上的GetMessage,其等待下一個訊息來傳遞到該應用程式的訊息佇列。在決策方塊470中,如果該應用程式接收到下一個觸控輸入,則該應用程式經迴路至方塊410來處理該輸入,否則該應用程式經迴路至方塊460來繼續等待另外的輸入。當應用程式關閉時,該應用程式離開該輸入迴圈(未顯示出)。
第5圖為在一具體實施例中,用以說明當該系統接收觸控輸入時,慣性系統之處理的流程圖。在方塊505中,該系統接收觸控輸入及識別該觸碰輸入所相關的一應用物件之資訊。例如,該觸碰輸入可以包含一或多次觸碰接觸之座標或其他位置資訊,且該應用物件資訊可以包含一識別碼,其為該應用程式指定給該觸碰輸入位在多點觸控硬體之上的一特定顯示物件。在方塊510中,該系統識別相關於該應用物件之一操縱處理器。在決策方塊520中,如果該系統先前並未使一操縱處理器與該應用物件產生相關,則該系統繼續到方塊530,否則該系統繼續到方塊540。在方塊530中,該系統產生一操縱處理器,且將其與應用物件產生相關,然後繼續到方塊540。
在決策方塊540中,如果接收的觸碰輸入指示該應用程式接收一新接觸(例如一向下觸碰事件),則該系統繼續到系統550,否則該系統繼續到方塊560。例如,使用者可以進行手指與一螢幕上物件的初始接觸,或放置另一隻手指(即接觸)於先前觸碰過的物件上。在方塊550中,該系統加入新的接觸到相關於操縱處理器之接觸清單,然後繼續到方塊560。在決策方塊560中,如果接收的觸碰輸入指示該應用程式接收到一觸碰接觸被移除(例如向上觸碰事件)的通知,則系統繼續到方塊570,否則系統繼續到方塊580。例如,該使用者可自一先前觸碰過的物件移開一或多隻手指。在方塊570中,系統自相關於該操縱處理器的接觸清單中移除該接觸,然後繼續到方塊580。在方塊580中,該系統處理觸碰輸入來判定由該觸碰輸入所代表的任何操縱。例如,觸碰移動可以指示一旋轉或平移操縱,而觸碰接觸移除可指示操縱完成。在方塊590中,該系統發出一操縱事件來傳送描述該操縱的轉換資訊到該應用程式。例如該系統可以提供該物件之角旋轉度數到該應用程式。在方塊590之後,這些步驟即結束。
第6圖為在一具體實施例中,用以說明使用該慣性系統來處理慣性事件的一多點觸控應用程式之處理的流程圖。在方塊610中,該應用程式判定使用者已經釋放一物件。例如,在第4圖的方塊450中之操縱事件的處理之後,該應用程式可接收到操縱已完成的指示,或者接收到該使用者已經提起觸碰一應用物件之所有接觸的指示。在方塊620中,該應用程式初始化慣性系統。例如,該應用程式可傳送一基準給正在處理該物件之移動及其他初始化資訊的操縱處理器。在方塊630中,該應用程式設定一計時器,其將會驅動該慣性系統之慣性處理期間。例如,該應用程式可以設定一計時器,其將會在每100毫秒發出以處理一物件之下一個移動增量。在方塊640中,該應用程式呼叫該慣性系統之處理功能(參見第7圖)。例如,該慣性系統可以提供一「處理」功能,其可由該應用程式呼叫來通知慣性系統,自從最後模擬期間起算已經是時候來執行該期間的模擬。
在方塊650中,該應用程式接收一或多個慣性事件,其描述基於模擬的慣性之該物件的操縱(例如旋轉、平移及/或縮放)。例如,如果該物件在一特定方向上行進,該應用程式可以接收描述在該方向上一平移操縱的慣性事件。在另一例中,如果該物件當使用者釋放它時正在變大,該應用程式可以接收描述一縮放操縱之慣性事件。請注意到方塊650係在方塊640之後依序圖示,用於簡化說明。實際上,該應用程式在慣性系統通知該應用程式一慣性事件之前,會數次呼叫該慣性處理功能。並不需要一對一的呼叫對映到該處理功能及慣性事件。另一方面,該慣性系統在單一呼叫到該處理功能之後,可以通知該應用程式有多個慣性事件。
在方塊660中,該應用程式基於在該特定應用之內容中操縱的意義(即效果)來處理該接收的慣性事件。例如,如果該接收的慣性事件為旋轉,則該應用程式可以在螢幕上旋轉該應用物件,並儲存該等應用物件之新的位置,以當應用程式再次顯示該應用物件時來使用。在決策方塊670中,如果該等慣性事件已完成,則這些步驟結束,否則該系統繼續到方塊680。慣性系統可以通知該應用程式一特定模擬的操縱已完成,做為來自該處理功能或經由該等通知提供給該應用程式之傳回值(例如經由一組件物件模型(Component Object Model,COM)事件介面)。在方塊680中,該應用程式等待計時器的下一次發動,然後經迴路至方塊640來呼叫該慣性系統處理功能。
第7圖為在一具體實施例中,用以說明該慣性處理系統之模擬組件的處理之流程圖。在方塊710中,該組件接收初始模擬參數。例如,一應用程式或操縱處理器在當使用者停止觸碰該物件時,可以提供一應用物件之最後狀態。在方塊720中,該組件初始化一模擬引擎,其執行根據物理的計算來判定基於該等參數之一物件的行為。例如,該模擬引擎可以對於由使用者觸碰輸入藉由動作所設定之應用物件提供實際減速或彈性行為。在方塊730中,該組件接收來自該應用程式之一處理呼叫。該應用程式或其他組件藉由重複地以固定間隔呼叫一處理功能來驅動該模擬處理來使該模擬向前行進。該模擬組件亦可以在內部產生計時器。
在方塊740中,該組件基於該等初始參數、任何先前處理,及從最後處理呼叫所經過的時間來模擬該物件之移動。該處理呼叫亦可以提供一時間標記,其指示該應用程式想要使用該模擬的時間。此允許該應用程式以非即時方式來模擬應用行為(例如對於應用測試或偵錯)。在決策方塊750中,如果該移動已完成,則該組件繼續到方塊760,否則該組件繼續到方塊770。該組件可以基於一些因素,像是該物件是否仍在移動,或該物件移動是否已經低於某個臨界值,而判定該移動已完成。在方塊760中,該組件在下一個慣性事件上設定一完成旗標。在方塊770中,該組件發出一慣性事件來傳送描述目前移動(例如做為一操縱)的轉換資訊到該應用程式。例如系統可以提供該物件之角旋轉度數到該應用程式。在方塊770之後,這些步驟即結束。
在一些具體實施例中,該慣性系統自該應用程式接收物件限制。例如,該應用程式可以定義一物件之彈性、摩擦係數(以判定物件如何減速)、該物件之邊界特性等等。例如,一應用程式開發者可以定義使用者可以移動的固態物件及一彈性應用視窗邊緣,如此移動到該視窗邊緣中的物件在當使用者釋放它們時,即自該視窗邊緣彈回。
在一些具體實施例中,慣性系統接收來自一操縱系統之初始物件狀態資訊,其正在追蹤當使用者正在利用觸碰輸入操縱該物件時該物件的移動。例如,該操縱系統可以追蹤每個物件之目前位置、該物件之歷史移動、該物件之線性及角速度等等。該應用程式開發者可以提供該操縱之輸出到慣性系統來初始化該慣性系統,如此該慣性系統基於適當的物理及該物件之特性而平滑地繼續該物件之過去的移動並將其速度減慢。
在一些具體實施例中,該慣性系統接收來自該應用程式對於物件移動的限制。例如,該應用程式開發者可以定義一物件於一旦使用者釋放該物件時,它能夠移動之距離的上限。在另一例中,該應用程式可以定義該物件於一旦使用者釋放該物件時,它能夠移動多長距離的上限。這些及其他限制允許該應用程式開發者調整該慣性系統,來符合由該應用程式操縱之物件的種類,並增進該使用者對於該應用程式的經驗。
在一些具體實施例中,該慣性系統對於物件在低於一預先定義的臨界值來移動時,不會提供額外的移動。臨界值可藉由該應用程式來組態。例如,該慣性系統在使用者釋放該物件之後,可使得一特定物件具有低於該系統不會繼續將該物件移動的線性或角速度。如果該物件在使用者釋放它時並未非常快地移動,該使用者可以預期該物件將會原地不動,且不再繼續移動。該臨界值允許該應用程式或該慣性系統之開發者在提供一良好的使用者經驗的操縱後可以判定該移動層級。
在一些具體實施例中,慣性系統自該應用程式接收指令來遞增模擬移動。例如,該慣性系統可以提供一「處理(Process)」或「進行工作(DoWork)」功能,其由該應用程式呼叫來指示該慣性系統來執行整體模擬之一部份。該慣性系統可以預期該應用程式來設定一計時器,或另外定期地呼叫該功能來使得該慣性系統能根據一自然時間軸模擬隨時間的移動。該應用程式可以藉由改變該應用程式呼叫該功能的頻率來影響由該慣性系統所提供的操縱事件之特性。在其它具體實施例中,慣性系統使用一內部計時器來以固定時程提供操縱事件,直到每個物件已經停止移動(例如由於減速或其它模擬的力量)。
在一些具體實施例中,慣性系統為一訊息式作業系統之一部份,且該系統接收關於該作業系統自硬體接收之觸碰輸入的訊息。例如,使用類似於滑鼠訊息之WM_MOUSEMOVE的範例,Microsoft Windows的未來版本可以提供一WM_TOUCH訊息,其含有自多點觸控硬體接收的低階觸碰移動資訊。該作業系統亦可提供較細微的微粒訊息,像是WM_TOUCHDOWN(當利用多點觸控硬體產生一新接觸時)、WM_TOUCHMOVE(當一既有接觸移動時)、及WM_TOUCHUP(當一接觸自該多點觸控硬體提起時)。接收一WM_TOUCH相關的訊息之應用程式可以引動慣性系統,並傳送訊息到該慣性系統來解譯及處理。該應用程式則接收較高階的事件,其基於接收到的低階觸碰移動資訊代表由該使用者所想要的該操縱之慣性系統的解譯。
在一些具體實施例中,慣性系統自特殊化的硬體(像是即時觸控筆)接收低階觸碰移動資訊。例如,微軟平板型個人電腦軟體開發工具箱(Microsoft Tablet PC Software Development Kit,SDK)提供應用程式開發者可利用掛鉤延伸的一即時觸控筆(Real-time stylus,RTS)組件。RTS掛鉤接收來自該RTS硬體的輸入,並可對該接收到的輸入執行處理。該慣性系統可以提供一掛鉤,使一應用程式置入到該RTS組件中來自動地處理RTS及其它輸入以操縱應用物件,以如本文所述。該RTS掛鉤提供一不同的方式給慣性系統來接收輸入,但該慣性系統解譯輸入,並發出事件給該應用程式,其描述由輸入所意味的操縱,如前所述。使用者可以使用觸控筆與觸碰輸入之組合。例如,該使用者可以利用觸控筆畫出一物件,然後使用他/她的手指旋轉該物件。
在一些具體實施例中,該慣性系統為一應用程式可以引動來提供一共用使用者介面之一共用控制項的一部份。Microsoft Windows提供顯示清單、樹狀、按鈕等等之共用控制項。類似地,該慣性系統可以提供一多點觸控式控制項,用於以本文所述的方式來操縱應用物件。例如,該系統可以提供一分散控制項,其允許使用者顯示一或多個物件,並操縱該等物件。該分散控制項處理低階觸碰輸入的處理,並使該輸入與一特定應用物件產生相關,且該應用程式接收來自該控制項之事件來處理該等應用物件之操縱。例如,如果該控制項指示使用者調整一物件之大小,則該應用程式可以儲存該等物件之新尺寸。
在一些具體實施例中,該慣性系統在三維中執行本文所述的處理。雖然本文所述為二維多點觸控硬體,本技術專業人士將可瞭解到本文所述之系統的處理,可同樣地成功套用到三維(three-dimensional,3D)操縱,如果該硬體可用於提供三維的座標移動。例如,偵測壓力或使用相機來偵測使用者手指的3D移動的硬體,可以提供三維的移動之座標到該慣性系統,並且該慣性系統則可以產生在多個3D方向上描述物件之操縱(例如旋轉、縮放及平移)的3D轉換。
下表定義一API,其由該慣性系統提供給應用程式,以在該等物件之使用者觸碰式移動之後,提供慣性式移動到應用物件。
在上表中,該慣性系統基於使用者移動,在與一應用程式在先前接收事件的相同介面上提供該等列出的事件。
由前所述,應瞭解該慣性系統之特定具體實施例已經在本文為了圖示目的來描述,但可在不背離本發明之精神及範疇之下進行不同的修正。例如,雖然該系統已經在多點觸控操縱之背景中描述,該系統提供的慣性之模擬可以用於其他背景中,像是遊戲及其他經常使用模擬的領域。因此,本發明除了隨附申請專利範圍外,並不受限。
100...慣性系統
110...硬體介面
120...操縱處理器
130...輸入轉換組件
140...模擬組件
150...應用程式介面
210...來自硬體介面的輸入
220...輸入事件
230...應用
240...輸入變化
250...操縱系統
260...操縱事件
270...初始化資訊
280...慣性系統
290...慣性事件
310...顯示器
320...文件物件
330...資源回收筒
340...第一操縱位置
350...第二操縱位置
360...第三操縱位置
365...箭頭
370...第一慣性式操縱位置
380...第二慣性式操縱位置
第1圖為在一具體實施例中,說明該慣性系統之組件的方塊圖。
第2圖為在一具體實施例中,說明該慣性系統之典型操作環境及組件之間的資料流動之資料流程圖。
第3圖為在一具體實施例中,用以說明由使用者觸碰所操縱的一應用物件之示意圖。
第4圖為在一具體實施例中,用以說明使用慣性系統來處理操縱事件的一多點觸控應用之輸入迴圈處理的流程圖。
第5圖為在一具體實施例中,用以說明當系統接收觸控輸入時該慣性系統之處理的流程圖。
第6圖為在一具體實施例中,說明使用該慣性系統來處理慣性事件的一多點觸控應用之處理的流程圖。
第7圖為在一具體實施例中,說明該慣性處理系統之模擬組件的處理之流程圖。
310...顯示器
320...文件物件
330...資源回收筒
340...第一操縱位置
350...第二操縱位置
360...第三操縱位置
365...箭頭
370...第一慣性式操縱位置
380...第二慣性式操縱位置

Claims (20)

  1. 一種在包含一觸控敏感輸入表面及一顯示器之一計算裝置上執行之方法,該方法係用於經由該觸控敏感輸入表面提供使用多點觸控輸入(multi-touch input)而被操縱之物件在該顯示器上之真實移動,該方法包括下列步驟:判定一使用者藉由自一多點觸控輸入裝置移除一或更多個接觸而已經釋放執行於該計算裝置上之一應用程式之一應用物件,該應用物件顯示於該顯示器上;在該判定後,調用執行於該計算裝置上之一慣性API(應用程式介面)以在一目前慣性處理期間處理該應用物件之移動的一模擬,其中該慣性API提供可由該計算裝置上之任意應用程式調用之一與應用程式無關(application-independent)的平台,該慣性API係模擬無關於該應用物件之一類型之慣性物件之移動;藉由該應用程式接收在該判定後藉由該慣性API所產生之一慣性事件,其中該慣性事件根據模擬的慣性描述該物件之一操縱;及根據在該應用程式之一內容中之該操縱之一效果而藉由修改該應用物件來處理所接收到的該慣性 事件,從而顯示該應用物件於該顯示器上。
  2. 如申請專利範圍第1項所述之方法,更包括以下步驟:在判定該使用者釋放該物件之後,其係於該使用者釋放該物件之前,藉由傳送一基準到正在處理該物件之該移動的一操縱處理器來初始化該慣性系統。
  3. 如申請專利範圍第1項所述之方法,更包括以下步驟:在判定該使用者釋放該物件之後,其係當該使用者釋放該物件時,藉由傳送描述該物件的一狀態之一或更多個參數來初始化該慣性系統。
  4. 如申請專利範圍第1項所述之方法,其中接收該慣性事件之步驟包括以下步驟:接收描述該應用物件之一2D仿射轉換(2D affine transform)之資訊。
  5. 如申請專利範圍第1項所述之方法,其中由該慣性事件描述的該操縱包含:一旋轉操縱、一平移操縱、及一縮放操縱當中至少一項。
  6. 如申請專利範圍第1項所述之方法,其中該接收的慣性事件為一旋轉,且其中處理該接收的慣性事件之步 驟包括以下步驟:在一顯示器上旋轉該應用物件。
  7. 如申請專利範圍第1項所述之方法,更包括以下步驟:設定一計時器,其決定該慣性處理期間的一長度,且其中該應用程式在該計時器每次啟動時調用該慣性API。
  8. 如申請專利範圍第7項所述之方法,更包括以下步驟:自該慣性API接收該模擬已完成之一指示,且當該指示被接收時,使該計時器失效。
  9. 如申請專利範圍第1項所述之方法,其中接收該慣性事件之步驟包括以下步驟:經由一COM事件介面接收一通知。
  10. 一種電腦可讀取儲存媒體,以用於控制包含一顯示器及一觸控敏感輸入表面之一計算裝置的指令編碼該電腦可讀取儲存媒體,以經由該觸控敏感輸入表面模擬先前藉由多點觸控輸入而移動的一應用物件在顯示器上之移動,該應用物件係為執行於該計算裝置上之一應用程式之部分,該電腦可讀取儲存媒體所藉方法包括下列步驟: 藉由停止與該觸控敏感輸入表面之接觸而接收一或更多個初始模擬參數,該一或更多個初始模擬參數提供對應至一使用者釋放該應用物件之該應用物件的一狀態;初始化一模擬引擎,該模擬引擎執行計算,以根據該等初始模擬參數來模擬該應用物件的慣性;接收一目前模擬期間之一指示;根據該等初始參數、藉由該模擬引擎之任何先前之慣性模擬、及自從任何先前模擬期間以來之已經經過的時間而藉由該模擬引擎來模擬該應用物件的慣性移動;及發出一慣性事件來傳送描述該應用物件之一目前移動的轉換資訊至該應用程式,根據該轉換資訊而顯示該應用物件於該顯示器上。
  11. 如申請專利範圍第10項所述之電腦可讀取媒體,其中該模擬引擎模擬在藉由該使用者觸碰該物件而使其移動後之該應用物件的真實減速行為。
  12. 如申請專利範圍第10項所述之電腦可讀取媒體,其中該模擬引擎模擬當該應用物件在一顯示器上重疊於另一元件時之該應用物件的真實彈性行為。
  13. 如申請專利範圍第10項所述之電腦可讀取媒體,其中接收該目前模擬期間之該指示的步驟,包括以下步驟:自該應用程式接收到一模擬處理功能之呼叫。
  14. 如申請專利範圍第10項所述之電腦可讀取媒體,更包括判定:該模擬是否完成,且如果該模擬已完成,則通知該應用程式該模擬已完成。
  15. 一種用於處理來自多點觸控硬體之觸控輸入之計算裝置,該計算裝置包含:一模組,該模組接收來自一多點觸控輸入裝置之用於任意應用程式之低階輸入,及解譯該等低階輸入至由該等任意應用程式所接收之操縱,其中至少一些操縱係基於個別之複數個該等低階輸入,該等操作包含2D仿射轉換;一應用程式,該應用程式包含顯示於該顯示器上之一圖形物件,該圖形物件係與接觸該多點觸控輸入裝置之一使用者互動,使得經由該模組接收針對該圖形物件之對應低階輸入,及該應用程式接收由該模組所產生之對應操縱,該等對應操縱係由該應用程式所使用以顯示該圖形物件,其中當該使用者停止接觸該 多點觸控輸入裝置時,該模組藉由模擬減少該物件之慣性而持續產生用於該圖形物件之操縱。
  16. 如申請專利範圍第15項所述之計算裝置,其中模組根據在該使用者停止接觸該多點觸控輸入裝置前之該物件之一狀態,而模擬該減少慣性。
  17. 如申請專利範圍第16項所述之計算裝置,其中該狀態包含該應用物件之一速度及方向。
  18. 如申請專利範圍第15項所述之計算裝置,其中該等低階輸入包含該使用者正接觸中之該多點觸控輸入裝置之位置。
  19. 如申請專利範圍第15項所述之計算裝置,其中該模組使該應用程式接收該圖形物件已停止之一通知。
  20. 如申請專利範圍第15項所述之計算裝置,其中該等操縱在該使用者停止接觸該多點觸控輸入裝置前及在該使用者停止接觸該多點觸控輸入裝置後皆具有一相同格式及至該應用程式之一相同通訊通道。
TW098133607A 2008-10-26 2009-10-02 多點觸控物件慣性模擬 TWI494795B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/258,439 US8477103B2 (en) 2008-10-26 2008-10-26 Multi-touch object inertia simulation

Publications (2)

Publication Number Publication Date
TW201019176A TW201019176A (en) 2010-05-16
TWI494795B true TWI494795B (zh) 2015-08-01

Family

ID=42117010

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133607A TWI494795B (zh) 2008-10-26 2009-10-02 多點觸控物件慣性模擬

Country Status (11)

Country Link
US (5) US8477103B2 (zh)
EP (1) EP2342638B1 (zh)
JP (1) JP5475792B2 (zh)
KR (1) KR101597383B1 (zh)
CN (1) CN102197377B (zh)
AR (1) AR073981A1 (zh)
BR (1) BRPI0919074A2 (zh)
ES (1) ES2771356T3 (zh)
RU (1) RU2534486C2 (zh)
TW (1) TWI494795B (zh)
WO (1) WO2010048051A2 (zh)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8477103B2 (en) * 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
KR101513019B1 (ko) * 2008-10-27 2015-04-17 엘지전자 주식회사 휴대 단말기 및 그 동작방법
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US8514188B2 (en) * 2009-12-30 2013-08-20 Microsoft Corporation Hand posture mode constraints on touch input
EP2579139A1 (en) * 2010-06-01 2013-04-10 Nec Corporation Terminal, process selection method, control program, and recording medium
JP2012003508A (ja) * 2010-06-16 2012-01-05 Toshiba Corp 情報処理装置、方法及びプログラム
CN102314297B (zh) * 2010-07-07 2016-04-13 腾讯科技(深圳)有限公司 一种窗口对象惯性移动方法及实现装置
KR101780020B1 (ko) * 2010-09-02 2017-09-19 삼성전자주식회사 인터페이스 방법 및 장치
US9110564B2 (en) * 2010-11-05 2015-08-18 Lg Electronics Inc. Mobile terminal, method for controlling mobile terminal, and method for displaying image of mobile terminal
KR101189630B1 (ko) 2010-12-03 2012-10-12 한국기술교육대학교 산학협력단 멀티터치를 이용한 오브젝트 제어장치 및 그 방법
US8994646B2 (en) 2010-12-17 2015-03-31 Microsoft Corporation Detecting gestures involving intentional movement of a computing device
US8988398B2 (en) 2011-02-11 2015-03-24 Microsoft Corporation Multi-touch input device with orientation sensing
US9244545B2 (en) 2010-12-17 2016-01-26 Microsoft Technology Licensing, Llc Touch and stylus discrimination and rejection for contact sensitive computing devices
US8660978B2 (en) 2010-12-17 2014-02-25 Microsoft Corporation Detecting and responding to unintentional contact with a computing device
US8982045B2 (en) 2010-12-17 2015-03-17 Microsoft Corporation Using movement of a computing device to enhance interpretation of input events produced when interacting with the computing device
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) * 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US8725443B2 (en) 2011-01-24 2014-05-13 Microsoft Corporation Latency measurement
US8988087B2 (en) 2011-01-24 2015-03-24 Microsoft Technology Licensing, Llc Touchscreen testing
US9201520B2 (en) 2011-02-11 2015-12-01 Microsoft Technology Licensing, Llc Motion and context sharing for pen-based computing inputs
US8982061B2 (en) 2011-02-12 2015-03-17 Microsoft Technology Licensing, Llc Angular contact geometry
US9542092B2 (en) 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
US8773377B2 (en) 2011-03-04 2014-07-08 Microsoft Corporation Multi-pass touch contact tracking
TWI483171B (zh) * 2011-03-10 2015-05-01 Chi Mei Comm Systems Inc 檔案管理系統及方法
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
JP5743198B2 (ja) 2011-04-28 2015-07-01 株式会社ワコム マルチタッチ・マルチユーザ検出装置
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US8913019B2 (en) 2011-07-14 2014-12-16 Microsoft Corporation Multi-finger detection and component resolution
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
TWI456449B (zh) * 2011-10-14 2014-10-11 Acer Inc 具有多個觸控介面的電子裝置以及利用多個觸控介面操控三維影像之方法
US9658715B2 (en) 2011-10-20 2017-05-23 Microsoft Technology Licensing, Llc Display mapping modes for multi-pointer indirect input devices
US9274642B2 (en) 2011-10-20 2016-03-01 Microsoft Technology Licensing, Llc Acceleration-based interaction for multi-pointer indirect input devices
JP5833906B2 (ja) * 2011-12-13 2015-12-16 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
KR101858608B1 (ko) * 2011-10-28 2018-05-17 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US9372612B2 (en) 2011-10-31 2016-06-21 Microsoft Technology Licensing, Llc Exposing inertial snap points
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
JP2013105395A (ja) * 2011-11-15 2013-05-30 Sony Corp 情報処理装置及び方法、並びにプログラム
US9389679B2 (en) 2011-11-30 2016-07-12 Microsoft Technology Licensing, Llc Application programming interface for a multi-pointer indirect touch input device
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US10872454B2 (en) 2012-01-06 2020-12-22 Microsoft Technology Licensing, Llc Panning animations
US8914254B2 (en) 2012-01-31 2014-12-16 Microsoft Corporation Latency measurement
US8902181B2 (en) 2012-02-07 2014-12-02 Microsoft Corporation Multi-touch-movement gestures for tablet computing devices
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
HUE053258T2 (hu) * 2012-02-24 2021-06-28 Perkinelmer Informatics Inc Rendszer, eljárás és berendezés kémiai szerkezet rajzolásához érintés és gesztus alkalmazásával
US9977876B2 (en) 2012-02-24 2018-05-22 Perkinelmer Informatics, Inc. Systems, methods, and apparatus for drawing chemical structures using touch and gestures
CN102662586B (zh) * 2012-03-31 2015-11-25 北京奇虎科技有限公司 一种基于用户界面的操作触发方法、装置及终端设备
TWI476706B (zh) 2012-04-30 2015-03-11 Pixart Imaging Inc 偵測物件移動輸出命令的方法及其系統
CN106201065B (zh) * 2012-05-08 2020-03-31 原相科技股份有限公司 侦测物件移动输出命令的方法及其系统
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
DE102013000272A1 (de) * 2013-01-09 2014-07-10 Daimler Ag Verfahren zum Bewegen eines auf einer Anzeigevorrichtung eines Fahrzeugs dargestellten Bildinhalts, Bedien- und Anzeigevorrichtung für ein Fahrzeug und Computerprogrammprodukt
US20140282279A1 (en) * 2013-03-14 2014-09-18 Cirque Corporation Input interaction on a touch sensor combining touch and hover actions
JP5983499B2 (ja) * 2013-03-29 2016-08-31 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
FI20135508L (fi) * 2013-05-14 2014-11-15 Rovio Entertainment Ltd Kehittynyt kosketuskäyttöliittymä
CN104182116A (zh) * 2013-05-23 2014-12-03 中兴通讯股份有限公司 视图处理方法和视图处理终端
CN104346083A (zh) * 2013-07-25 2015-02-11 富泰华工业(深圳)有限公司 滑动触摸操作的显示控制系统及方法
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
KR102298602B1 (ko) 2014-04-04 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장가능한 애플리케이션 표시
KR20160143784A (ko) 2014-04-10 2016-12-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컴퓨팅 디바이스용 슬라이더 커버
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
US9727161B2 (en) 2014-06-12 2017-08-08 Microsoft Technology Licensing, Llc Sensor correlation for pen and touch-sensitive computing device interaction
US9870083B2 (en) 2014-06-12 2018-01-16 Microsoft Technology Licensing, Llc Multi-device multi-user sensor correlation for pen and computing device interaction
US9977566B2 (en) * 2014-06-24 2018-05-22 Google Llc Computerized systems and methods for rendering an animation of an object in response to user input
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10642365B2 (en) * 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
US10089291B2 (en) 2015-02-27 2018-10-02 Microsoft Technology Licensing, Llc Ink stroke editing and manipulation
US9950542B2 (en) 2015-03-12 2018-04-24 Microsoft Technology Licensing, Llc Processing digital ink input subject to monitoring and intervention by an application program
US10254857B2 (en) 2016-03-06 2019-04-09 Microsoft Technology Licensing, Llc Soft touch detection of a stylus
US10514803B2 (en) 2016-03-06 2019-12-24 Microsoft Technology Licensing, Llc Pen in field force sensing calibration
US11150798B2 (en) 2016-03-28 2021-10-19 Apple Inc. Multifunction device control of another electronic device
EP3436912B1 (en) * 2016-03-28 2022-02-23 Apple Inc. Multifunction device control of another electronic device
CN108803926A (zh) * 2018-05-29 2018-11-13 广东工业大学 一种基于触摸点的位移矢量和方向矢量的控制方法
WO2020000406A1 (zh) * 2018-06-29 2020-01-02 深圳市汇顶科技股份有限公司 触摸屏调整方法、触控芯片及电子终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020305A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Gestures for touch sensitive input devices
US20070152984A1 (en) * 2005-12-30 2007-07-05 Bas Ording Portable electronic device with multi-touch input
US20070291009A1 (en) * 2006-06-19 2007-12-20 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US20080042986A1 (en) * 1998-01-26 2008-02-21 Apple Inc. Touch sensing architecture
CN100374998C (zh) * 2005-03-01 2008-03-12 联想(北京)有限公司 一种触控式信息输入装置及方法
TW200825886A (en) * 2006-09-27 2008-06-16 Lg Electronics Inc Mobile communication terminal and method of selecting menu and item
TWM341271U (en) * 2007-01-05 2008-09-21 Apple Inc Handheld mobile communication device

Family Cites Families (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US5261098A (en) 1991-08-28 1993-11-09 Sun Microsystems, Inc. Method and apparatus for deriving object type and obtaining object type attribute values
US7345675B1 (en) 1991-10-07 2008-03-18 Fujitsu Limited Apparatus for manipulating an object displayed on a display device by using a touch screen
JP2827612B2 (ja) * 1991-10-07 1998-11-25 富士通株式会社 タッチパネル装置およびタッチパネル装置におけるオブジェクトの表示方法。
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
JP3244798B2 (ja) 1992-09-08 2002-01-07 株式会社東芝 動画像処理装置
US5563632A (en) 1993-04-30 1996-10-08 Microtouch Systems, Inc. Method of and apparatus for the elimination of the effects of internal interference in force measurement systems, including touch - input computer and related displays employing touch force location measurement techniques
US5553224A (en) 1993-08-04 1996-09-03 Xerox Corporation Method for dynamically maintaining multiple structural interpretations in graphics system
US5621434A (en) 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5650941A (en) * 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5495566A (en) 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
US5692143A (en) 1994-12-30 1997-11-25 International Business Machines Corporation Method and system for recalling desktop states in a data processing system
ATE199042T1 (de) 1995-03-10 2001-02-15 Heidenhain Gmbh Dr Johannes Mehrkoordinaten-tastkopf mit gleichen auslenkungen
US5691898A (en) 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5798769A (en) 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US5790114A (en) 1996-10-04 1998-08-04 Microtouch Systems, Inc. Electronic whiteboard with multi-functional user interface
US6636197B1 (en) * 1996-11-26 2003-10-21 Immersion Corporation Haptic feedback effects for control, knobs and other interface devices
US6195628B1 (en) * 1997-03-13 2001-02-27 International Business Machines Corporation Waveform manipulation in time warp simulation
US6005551A (en) * 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US7840912B2 (en) 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US20070177804A1 (en) * 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6529210B1 (en) 1998-04-08 2003-03-04 Altor Systems, Inc. Indirect object manipulation in a simulation
JP2000089913A (ja) 1998-09-08 2000-03-31 Gunze Ltd タッチパネル入力座標変換装置
US6154210A (en) 1998-11-25 2000-11-28 Flashpoint Technology, Inc. Method and system for implementing button interface compatibility in touch-screen equipped digital imaging device
US7469381B2 (en) * 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US6597378B1 (en) * 2000-01-18 2003-07-22 Seiko Epson Corporation Display device, portable information processing apparatus, information storage medium, and electronic apparatus
US6822635B2 (en) 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
GB0008537D0 (en) 2000-04-06 2000-05-24 Ananova Ltd Character animation
US6590568B1 (en) 2000-11-20 2003-07-08 Nokia Corporation Touch screen drag and drop input technique
US7039234B2 (en) 2001-07-19 2006-05-02 Microsoft Corporation Electronic ink as a software object
US7038670B2 (en) 2002-08-16 2006-05-02 Sipix Imaging, Inc. Electrophoretic display with dual mode switching
US20030225890A1 (en) 2002-06-03 2003-12-04 Dunstan Robert A. State token for thin client devices
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US7103852B2 (en) 2003-03-10 2006-09-05 International Business Machines Corporation Dynamic resizing of clickable areas of touch screen applications
US7884804B2 (en) * 2003-04-30 2011-02-08 Microsoft Corporation Keyboard with input-sensitive display device
US7324121B2 (en) * 2003-07-21 2008-01-29 Autodesk, Inc. Adaptive manipulators
JP3968717B2 (ja) 2003-09-25 2007-08-29 松下電工株式会社 照明器具
US7302650B1 (en) 2003-10-31 2007-11-27 Microsoft Corporation Intuitive tools for manipulating objects in a display
US7495659B2 (en) 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US7167162B2 (en) 2003-12-12 2007-01-23 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Apparatus and method for controlling a screen pointer
US7826641B2 (en) * 2004-01-30 2010-11-02 Electronic Scripting Products, Inc. Apparatus and method for determining an absolute pose of a manipulated object in a real three-dimensional environment with invariant features
US7961909B2 (en) * 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
US7345681B2 (en) * 2004-02-17 2008-03-18 Microsoft Corporation Pen data capture and injection
FR2866726B1 (fr) 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
US8023466B2 (en) 2004-06-22 2011-09-20 Jianglei Ma Soft handoff in OFDMA system
US7519223B2 (en) 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
US7653883B2 (en) * 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7724242B2 (en) * 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7434173B2 (en) 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US20060077183A1 (en) * 2004-10-08 2006-04-13 Studt Peter C Methods and systems for converting touchscreen events into application formatted data
US7208730B2 (en) 2004-10-14 2007-04-24 International Business Machines Corporation Programmable molecular manipulating devices
US7683883B2 (en) * 2004-11-02 2010-03-23 Pierre Touma 3D mouse and game controller based on spherical coordinates system and system for use
US7711681B2 (en) 2004-11-05 2010-05-04 Accenture Global Services Gmbh System for distributed information presentation and interaction
US7574593B2 (en) 2004-12-03 2009-08-11 Hewlett-Packard Development Company, L.P. Persistent memory manipulation using EFI
DE102004060405A1 (de) 2004-12-14 2006-07-06 Voith Paper Patent Gmbh Verfahren und Vorrichtung zum Beladen von in einer Suspension enthaltenen Fasern oder enthaltenem Zellstoff mit einem Füllstoff
US7499058B2 (en) 2005-04-22 2009-03-03 Microsoft Corporation Programmatical access to handwritten electronic ink in a tree-based rendering environment
US20060250352A1 (en) 2005-05-05 2006-11-09 Mice Technoligies, Inc. System and method for improved cursor functionality
US7928959B1 (en) * 2005-05-05 2011-04-19 Imi Innovations Inc. System and method for multiple independent computer inputs using unique device and source identification systems
KR100811160B1 (ko) * 2005-06-02 2008-03-07 삼성전자주식회사 사용자명령을 3차원적으로 입력가능한 전자장치
US8085318B2 (en) 2005-10-11 2011-12-27 Apple Inc. Real-time image capture and manipulation based on streaming data
US20060292531A1 (en) 2005-06-22 2006-12-28 Gibson Kenneth H Method for developing cognitive skills
US7463263B2 (en) 2005-07-15 2008-12-09 Sap Portals Israel Ltd. Declarative specification of model visualizations
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US8098885B2 (en) * 2005-11-02 2012-01-17 Microsoft Corporation Robust online face tracking
US8355410B2 (en) * 2007-08-17 2013-01-15 At&T Intellectual Property I, L.P. Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol
US7958456B2 (en) 2005-12-23 2011-06-07 Apple Inc. Scrolling list with floating adjacent index symbols
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
EP1977334A4 (en) 2006-01-25 2011-01-12 Greystripe Inc SYSTEM AND METHOD FOR MANAGING CONTENT IN PRE-EXISTING MOBILE APPLICATIONS
US8681098B2 (en) 2008-04-24 2014-03-25 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US8334841B2 (en) 2006-03-13 2012-12-18 Navisense Virtual user interface method and system thereof
US9395905B2 (en) 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
US9063647B2 (en) 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
EP2076874A4 (en) 2006-05-13 2011-03-09 Sap Ag DERIVED CONSISTENT SET OF INTERFACES DERIVED FROM A BUSINESS OBJECT MODEL
KR100866484B1 (ko) 2006-05-17 2008-11-03 삼성전자주식회사 다접점 터치 센서를 이용한 손가락의 이동 감지 장치 및방법
US8269725B2 (en) * 2006-06-28 2012-09-18 Microsoft Corporation Input simulation system for touch based devices
US20120208639A1 (en) * 2006-07-14 2012-08-16 Ailive Inc. Remote control with motion sensitive devices
US9007299B2 (en) * 2006-07-14 2015-04-14 Ailive Inc. Motion control used as controlling device
US20080030486A1 (en) 2006-08-04 2008-02-07 Quiteso Technologies, Llc Multi-functional pen input device
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
WO2008045464A2 (en) * 2006-10-10 2008-04-17 Wms Gaming Inc. Multi-player, multi-touch table for use in wagering game systems
US20080122878A1 (en) 2006-11-24 2008-05-29 Keefe Gary W Apparatus and method for publishing computer-readable media
US9311528B2 (en) * 2007-01-03 2016-04-12 Apple Inc. Gesture learning
US8970501B2 (en) 2007-01-03 2015-03-03 Apple Inc. Proximity and multi-touch sensor detection and demodulation
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US7924271B2 (en) 2007-01-05 2011-04-12 Apple Inc. Detecting gestures on multi-event sensitive devices
US8970503B2 (en) * 2007-01-05 2015-03-03 Apple Inc. Gestures for devices having one or more touch sensitive surfaces
US7877707B2 (en) * 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US8656311B1 (en) 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
WO2008095137A2 (en) * 2007-01-31 2008-08-07 Perceptive Pixel, Inc. Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques
KR101426718B1 (ko) 2007-02-15 2014-08-05 삼성전자주식회사 휴대단말기에서 터치 이벤트에 따른 정보 표시 장치 및방법
US8436815B2 (en) 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8194117B2 (en) * 2007-08-08 2012-06-05 Qnx Software Systems Limited Video phone system
US20110210931A1 (en) 2007-08-19 2011-09-01 Ringbow Ltd. Finger-worn device and interaction methods and communication methods
US20090079745A1 (en) * 2007-09-24 2009-03-26 Wey Fun System and method for intuitive interactive navigational control in virtual environments
US20090125824A1 (en) 2007-11-12 2009-05-14 Microsoft Corporation User interface with physics engine for natural gestural control
US9857872B2 (en) 2007-12-31 2018-01-02 Apple Inc. Multi-touch display screen with localized tactile feedback
EP2243072A2 (en) * 2008-01-23 2010-10-27 N-Trig Ltd. Graphical object manipulation with a touch sensitive screen
US20090273560A1 (en) * 2008-02-04 2009-11-05 Massachusetts Institute Of Technology Sensor-based distributed tangible user interface
US20090207175A1 (en) * 2008-02-15 2009-08-20 Apple Inc. Animation Using Animation Effect and Trigger Element
US20090213083A1 (en) * 2008-02-26 2009-08-27 Apple Inc. Simulation of multi-point gestures with a single pointing device
US8797271B2 (en) 2008-02-27 2014-08-05 Microsoft Corporation Input aggregation for a multi-touch device
CA2714534C (en) * 2008-02-28 2018-03-20 Kenneth Perlin Method and apparatus for providing input to a processor, and a sensor pad
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8717305B2 (en) * 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
CN102113089B (zh) * 2008-03-05 2014-04-23 伊利诺伊大学评议会 可拉伸和可折叠的电子器件
US20100149073A1 (en) * 2008-11-02 2010-06-17 David Chaum Near to Eye Display System and Appliance
RU2008113045A (ru) * 2008-04-07 2008-08-20 Александр Виль мович Казакевич (RU) Способ ввода информации с компактной сенсорной панели (варианты)
US8375336B2 (en) 2008-05-23 2013-02-12 Microsoft Corporation Panning content utilizing a drag operation
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US8333655B2 (en) * 2008-07-11 2012-12-18 Wms Gaming Inc. Methods of receiving electronic wagers in a wagering game via a handheld electronic wager input device
US20100214243A1 (en) * 2008-07-15 2010-08-26 Immersion Corporation Systems and Methods For Interpreting Physical Interactions With A Graphical User Interface
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US8142283B2 (en) 2008-08-20 2012-03-27 Cfph, Llc Game of chance processing apparatus
US8749495B2 (en) 2008-09-24 2014-06-10 Immersion Corporation Multiple actuation handheld device
US8810522B2 (en) * 2008-09-29 2014-08-19 Smart Technologies Ulc Method for selecting and manipulating a graphical object in an interactive input system, and interactive input system executing the method
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
CN103119512A (zh) * 2008-11-02 2013-05-22 大卫·乔姆 近眼式显示系统和装置
US8419661B2 (en) * 2008-11-14 2013-04-16 University Of Southern California Upper limb measurement and rehabilitation method and system
US8866699B2 (en) * 2008-12-02 2014-10-21 Fuji Xerox Co., Ltd. Systems and methods for interacting with mobile devices using external displays
WO2011003171A1 (en) * 2009-07-08 2011-01-13 Smart Technologies Ulc Three-dimensional widget manipulation on a multi-touch panel
US8819591B2 (en) * 2009-10-30 2014-08-26 Accuray Incorporated Treatment planning in a virtual environment
US8957918B2 (en) * 2009-11-03 2015-02-17 Qualcomm Incorporated Methods for implementing multi-touch gestures on a single-touch touch surface
US8232990B2 (en) 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
US8878787B2 (en) * 2010-08-13 2014-11-04 Fujitsu Limited Multi-touch user input based on multiple quick-point controllers
US20140096092A1 (en) * 2011-03-20 2014-04-03 William J. Johnson System and Method for Indirect Manipulation of User Interface Object(s)
US20130162519A1 (en) * 2011-12-23 2013-06-27 Sap Ag Cross-platform human input customization
US9311750B2 (en) * 2012-06-05 2016-04-12 Apple Inc. Rotation operations in a mapping application
US9189907B2 (en) 2013-08-28 2015-11-17 Chiu-Ming Chen Adjusting device for coin counting machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080042986A1 (en) * 1998-01-26 2008-02-21 Apple Inc. Touch sensing architecture
WO2006020305A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Gestures for touch sensitive input devices
CN100374998C (zh) * 2005-03-01 2008-03-12 联想(北京)有限公司 一种触控式信息输入装置及方法
US20070152984A1 (en) * 2005-12-30 2007-07-05 Bas Ording Portable electronic device with multi-touch input
US20070291009A1 (en) * 2006-06-19 2007-12-20 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
TW200825886A (en) * 2006-09-27 2008-06-16 Lg Electronics Inc Mobile communication terminal and method of selecting menu and item
TWM341271U (en) * 2007-01-05 2008-09-21 Apple Inc Handheld mobile communication device

Also Published As

Publication number Publication date
CN102197377B (zh) 2014-10-22
US20180129410A1 (en) 2018-05-10
RU2011116315A (ru) 2012-10-27
ES2771356T3 (es) 2020-07-06
CN102197377A (zh) 2011-09-21
US8477103B2 (en) 2013-07-02
US9898190B2 (en) 2018-02-20
EP2342638A2 (en) 2011-07-13
US10503395B2 (en) 2019-12-10
EP2342638B1 (en) 2020-01-01
TW201019176A (en) 2010-05-16
EP2342638A4 (en) 2017-03-15
US9582140B2 (en) 2017-02-28
JP5475792B2 (ja) 2014-04-16
KR101597383B1 (ko) 2016-02-24
US20130285961A1 (en) 2013-10-31
WO2010048051A3 (en) 2010-07-22
RU2534486C2 (ru) 2014-11-27
KR20110074990A (ko) 2011-07-05
US20170168708A1 (en) 2017-06-15
AR073981A1 (es) 2010-12-15
BRPI0919074A2 (pt) 2015-12-15
US20100103118A1 (en) 2010-04-29
JP2012507077A (ja) 2012-03-22
US9189096B2 (en) 2015-11-17
WO2010048051A2 (en) 2010-04-29
US20160034136A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
TWI494795B (zh) 多點觸控物件慣性模擬
US10198101B2 (en) Multi-touch manipulation of application objects
CA2771918C (en) Direct manipulation gestures
US9235340B2 (en) Modal touch input
US20110029864A1 (en) Touch-Optimized Approach for Controlling Computer Function Using Touch Sensitive Tiles
EP2776905B1 (en) Interaction models for indirect interaction devices
JP2019087284A (ja) ユーザインタフェースのための対話方法
US10089965B1 (en) User-controlled movement of graphical objects
Sarkar et al. Virtual content suction user interface for android devices
TW201329792A (zh) 使用者與裝置之基於觸控及非觸控互動

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees