国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多點觸控的實現(xiàn)方法及系統(tǒng)的制作方法

      文檔序號:6430075閱讀:332來源:國知局
      專利名稱:一種多點觸控的實現(xiàn)方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于人機交互技術(shù)領(lǐng)域,具體涉及一種多點觸控的實現(xiàn)方法及系統(tǒng)。
      背景技術(shù)
      近年來,計算機無論是從數(shù)據(jù)存儲量還是從處理器運算速度的角度來講,都得到了大幅的提升,但是人機交互技術(shù)基本上還是停留在原地,沒有實際的進展。但是隨著蘋果公司的IPhone和微軟的Surface電腦的上市,這一現(xiàn)象將有大幅改觀。而IPhone和 Surface最吸引人的地方,莫過于它獨特的多點觸控技術(shù)。多點觸控技術(shù)宣揚的多重輸入模式完全顛覆了傳統(tǒng)的單指點擊概念,兩個手指的拿捏之間,快捷的完成畫面的縮放或者屏幕的控制。基于計算機視覺和模式識別技術(shù)的多點觸摸,看似只是簡單的將傳統(tǒng)的單點輸入衍生到了多點輸入上,但是實質(zhì)上這是輸入技術(shù)的一次革命。2009年10月,支持多點觸控技術(shù)的Windows 7操作系統(tǒng)的發(fā)布可以說是宣告了多點觸控世代的到來,多點觸控技術(shù)的普及已經(jīng)勢不可擋。隨著觸摸屏技術(shù)的不斷發(fā)展, Windows 7有了可以讓觸摸屏硬件可以發(fā)揮的軟件環(huán)境,為多點觸摸技術(shù)的應(yīng)用軟件提供了基石出。Windows Presentation Foundation (WPF) 4. 0 ^ ^ Windows 7 tmi^M^iT & 行的程序提供了多點觸控接口,該接口包含由UIElement定義的多個路由事件(名為 TouchDown> TouchMove> TouchUp、TouchEnter 和 TouchLeave)以及向下、移動和向上事件的預(yù)覽版本。顯然,WPF4提供的多點觸控接口是根據(jù)鼠標事件建模的,其需要一個整數(shù)ID 屬性來跟蹤顯示屏上的多根手指。而且其不支持范圍更廣的低級別觸控接口,如區(qū)分觸控輸入的類型和形狀。最為重要的是,該接口僅可支持Windows 7操作系統(tǒng),并不兼容早期的 Windows操作系統(tǒng)或其他如Linux、Mac OS等操作系統(tǒng)。

      發(fā)明內(nèi)容
      針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種適用于任何操作系統(tǒng)的多點觸控的實現(xiàn)方法及系統(tǒng)。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下一種多點觸控的實現(xiàn)方法,包括以下步驟讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù);將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置;處理裝置根據(jù)所述原始觸摸數(shù)據(jù)識別所述原始觸摸數(shù)據(jù)所屬觸摸操作;將所述處理裝置對所述原始觸摸數(shù)據(jù)的識別結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)。如上所述的多點觸控的實現(xiàn)方法,還包括監(jiān)聽觸摸設(shè)備到達和移除的步驟;當監(jiān)聽到一個觸摸設(shè)備到達時,為該觸摸設(shè)備啟動一條用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的獨立線程;當監(jiān)聽到一個觸摸設(shè)備移除時,撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸
      4數(shù)據(jù)的線程。如上所述的多點觸控的實現(xiàn)方法,其中,將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的觸摸數(shù)據(jù)處理裝置進行處理的過程如下將所述原始觸摸數(shù)據(jù)以消息的形式發(fā)送給所有處理裝置;每個處理裝置解析接收到的消息,獲取原始觸摸數(shù)據(jù)格式;如果所述原始觸摸數(shù)據(jù)格式符合所述處理裝置能夠處理的原始觸摸數(shù)據(jù)格式,則處理所述原始觸摸數(shù)據(jù);否則,丟棄所述原始觸摸數(shù)據(jù)。如上所述的多點觸控的實現(xiàn)方法,其中,在識別所述原始觸摸數(shù)據(jù)所屬觸摸操作過程中,如果處理裝置發(fā)現(xiàn)所述原始觸摸數(shù)據(jù)所屬觸摸操作不是其能夠處理的操作,則不再處理屬于該觸摸操作之后的原始觸摸數(shù)據(jù)。如上所述的多點觸控的實現(xiàn)方法,其中,將所述處理結(jié)果以消息的形式發(fā)送給上層應(yīng)用系統(tǒng),并根據(jù)上層應(yīng)用系統(tǒng)對每個消息的處理反饋自動調(diào)整發(fā)送密度。如上所述的多點觸控的實現(xiàn)方法,其中,自動調(diào)整的方法包括如下步驟設(shè)置在上層應(yīng)用系統(tǒng)接收到消息和處理完消息后,反饋消息已接收和已處理的信息;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已接收反饋時,將該消息壓入一個消息集合中;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已處理反饋時,將該消息移出所述消息集合;在發(fā)送消息之前,查詢所述消息集合,確定上層應(yīng)用系統(tǒng)目前有多少消息未處理完畢;如果未處理完畢的消息數(shù)量達到設(shè)定閾值且當前即將發(fā)送的消息與未處理完畢的消息為同類型消息,則過濾掉即將發(fā)送的消息。一種多點觸控的實現(xiàn)系統(tǒng),包括用于讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的讀取裝置;用于將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置的分配裝置;用于根據(jù)所述原始觸摸數(shù)據(jù)識別所述原始觸摸數(shù)據(jù)所屬觸摸操作的處理裝置;用于將所述處理裝置對所述原始觸摸數(shù)據(jù)的處理結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)的發(fā)送裝置。如上所述的多點觸控的實現(xiàn)系統(tǒng),還包括用于監(jiān)聽觸摸設(shè)備到達和移除的監(jiān)聽裝置。如上所述的多點觸控的實現(xiàn)系統(tǒng),其中,讀取裝置包括用于當監(jiān)聽到一個觸摸設(shè)備到達時,為該觸摸設(shè)備啟動一條用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的獨立線程的啟動單元;用于當監(jiān)聽到一個觸摸設(shè)備移除時,撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的線程的撤銷單元。如上所述的多點觸控的實現(xiàn)系統(tǒng),其中,處理裝置包括用于分析觸摸操作手勢所表示意義的手勢處理器,用于處理觸摸操作對象調(diào)整數(shù)據(jù)的調(diào)整處理器,以及用于處理觸摸操作對象慣性運動的慣性處理器。如上所述的多點觸控的實現(xiàn)系統(tǒng),其中,發(fā)送裝置將所述處理裝置的處理結(jié)果以消息的形式發(fā)送給上層應(yīng)用系統(tǒng),根據(jù)上層應(yīng)用系統(tǒng)對每個消息的處理反饋自動調(diào)整發(fā)送
      也/又。如上所述的多點觸控的實現(xiàn)系統(tǒng),其中,發(fā)送裝置包括
      消息單元,用于當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已接收反饋時,將該消息壓入一個消息集合中;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已處理反饋時,將該消息移出所述消
      息集合;查詢單元,用于在發(fā)送消息之前,查詢所述消息集合,確定上層應(yīng)用系統(tǒng)目前有多少消息未處理完畢;過濾單元,用于當未處理完畢的消息數(shù)量達到設(shè)定閾值且當前即將發(fā)送的消息與未處理完畢的消息為同類型消息時,過濾掉即將發(fā)送的消息。本發(fā)明所述方法及系統(tǒng),克服了現(xiàn)有技術(shù)中多點觸控技術(shù)受到操作系統(tǒng)或平臺限制的缺陷,可適用于任何操作系統(tǒng)或平臺,實現(xiàn)了一個跨平臺、跨設(shè)備、與上層應(yīng)用系統(tǒng)無關(guān)的多點觸控的底層解決方案。


      圖1是具體實施方式
      中多點觸控的實現(xiàn)系統(tǒng)與觸摸設(shè)備的驅(qū)動程序、計算機操作系統(tǒng)和上層應(yīng)用系統(tǒng)的關(guān)系示意圖;圖2是具體實施方式
      中多點觸控的實現(xiàn)系統(tǒng)的結(jié)構(gòu)框圖;圖3是具體實施方式
      中多點觸控的實現(xiàn)方法的流程圖。
      具體實施例方式下面結(jié)合具體實施方式
      和附圖對本發(fā)明進行詳細描述。如圖1所示,本發(fā)明所述多點觸控的實現(xiàn)系統(tǒng)工作在觸摸設(shè)備驅(qū)動程序、計算機操作系統(tǒng)和上層應(yīng)用系統(tǒng)之間,處理并封裝觸摸數(shù)據(jù),為計算機操作系統(tǒng)提供統(tǒng)一的應(yīng)用程序開發(fā)接口,上層應(yīng)用系統(tǒng)開發(fā)時可以利用本系統(tǒng)提供的統(tǒng)一 API (Application Programming Interface,應(yīng)用程序編程接口 ),以此來彌補現(xiàn)有解決方案所存在的最為嚴重的不足。觸摸設(shè)備驅(qū)動程序為對應(yīng)的觸摸設(shè)備硬件廠商所提供的一個獨立組件,對外主要提供觸摸設(shè)備硬件所發(fā)送的數(shù)據(jù)的獲取接口,對應(yīng)操作系統(tǒng)需要接收驅(qū)動程序所發(fā)送的數(shù)據(jù),同時操作系統(tǒng)也負責管理硬件設(shè)備,對運行在其上的軟件提供設(shè)備接口。如圖2所示,本實施方式中多點觸控的實現(xiàn)系統(tǒng)包括監(jiān)聽裝置21、讀取裝置22、分配裝置23、處理裝置M和發(fā)送裝置25,讀取裝置22包括啟動單元和撤銷單元,處理裝置M 包括手勢處理器、調(diào)整處理器和慣性處理器,發(fā)送裝置25包括消息單元、查詢單元和過濾單元。監(jiān)聽裝置21用于監(jiān)聽觸摸設(shè)備的到達和移除。讀取裝置22用于讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)。啟動單元用于當監(jiān)聽到一個觸摸設(shè)備到達時,為該觸摸設(shè)備啟動一條用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的獨立線程。撤銷單元用于當監(jiān)聽到一個觸摸設(shè)備移除時,撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的線程。分配裝置23用于將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置對。處理裝置M用于根據(jù)所述原始觸摸數(shù)據(jù)識別所述原始觸摸數(shù)據(jù)所屬觸摸操作;手勢處理器用于分析觸摸操作手勢所表示的意義,調(diào)整處理器用于處理觸摸操作對象的調(diào)整數(shù)據(jù),慣性處理器用于處理觸摸操作對象的慣性運動。 所述發(fā)送裝置25用于將所述處理裝置24對所述原始觸摸數(shù)據(jù)的處理結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)。消息單元用于當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已接收反饋時,將該消息壓入一個消息集合中;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已處理反饋時,將該消息移出所述消息集合。查詢單元用于在發(fā)送消息之前,查詢所述消息集合,確定上層應(yīng)用系統(tǒng)目前有多少消息未處理完畢。過濾單元用于當未處理完畢的消息數(shù)量達到設(shè)定閾值且當前即將發(fā)送的消息與未處理完畢的消息為同類型消息時,過濾掉即將發(fā)送的消息。如圖3所示,采用圖2所示系統(tǒng)實現(xiàn)多點觸控的過程包括以下步驟(1)讀取裝置22讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)(301)。監(jiān)聽裝置21對觸摸設(shè)備的到達和移除進行監(jiān)聽。操作系統(tǒng)(以下以Windows操作系統(tǒng)為例)提供了設(shè)備的到達和移除通知,監(jiān)聽裝置21在被初始化時會向操作系統(tǒng)注冊這兩個通知。當任何新設(shè)備達時,監(jiān)聽裝置21均需要判斷該設(shè)備是否為觸摸設(shè)備,判斷過程為獲取該設(shè)備的 Class,如果 Class = HIDClass 且 ClassGuid = 745al7a0-74d3_lld0-b6fe-00a0c90f57da,則表示該設(shè)備為一個HID設(shè)備;接著獲取該HID設(shè)備的HID USAGE值, 如果HID USAGE = 0x09 0x04,則表示該設(shè)備為一個觸摸設(shè)備。在監(jiān)聽裝置21檢測出新到達的設(shè)備為一個觸摸設(shè)備之后,讀取裝置22便可以讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)。 讀取裝置22不斷地讀取觸摸設(shè)備發(fā)送的原始觸摸消息,當讀取到原始觸摸消息時,便將其轉(zhuǎn)發(fā)給分配裝置23。優(yōu)選地,當監(jiān)聽裝置21監(jiān)聽到新的觸摸設(shè)備到達時,讀取裝置22中的啟動單元便為該觸摸設(shè)備啟動一條獨立的線程,以確??梢栽谄帘瘟送饨绺蓴_的前提下高效地讀取該觸摸設(shè)備所發(fā)送的原始觸摸數(shù)據(jù)。當監(jiān)聽到一個觸摸設(shè)備被移除時,撤銷單元撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的線程。通常觸摸設(shè)備以消息的形式發(fā)送原始觸摸數(shù)據(jù),各廠商的觸摸設(shè)備硬件發(fā)送的原始消息的格式不同。但是微軟公司制定了觸摸消息的規(guī)范,所有硬件廠商的驅(qū)動程序都要將各自硬件產(chǎn)品所發(fā)送的消息解析為統(tǒng)一的規(guī)范。微軟公司所定制的規(guī)范并不非常強硬, 可以允許各廠商有一些靈活的控制,但自定義的消息格式必須體現(xiàn)在設(shè)備的消息格式描述中。消息一般分為如下兩類一類是串行消息,一類是并行消息。例如,串行的消息可以按照如下格式發(fā)送
      權(quán)利要求
      1.一種多點觸控的實現(xiàn)方法,其特征在于,所述方法包括以下步驟 讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù);將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置;處理裝置根據(jù)所述原始觸摸數(shù)據(jù)識別所述原始觸摸數(shù)據(jù)所屬觸摸操作; 將所述處理裝置對所述原始觸摸數(shù)據(jù)的識別結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)。
      2.如權(quán)利要求1所述的多點觸控的實現(xiàn)方法,其特征在于所述方法還包括監(jiān)聽觸摸設(shè)備到達和移除的步驟;當監(jiān)聽到一個觸摸設(shè)備到達時,為該觸摸設(shè)備啟動一條用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的獨立線程;當監(jiān)聽到一個觸摸設(shè)備移除時,撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的線程。
      3.如權(quán)利要求1所述的多點觸控的實現(xiàn)方法,其特征在于,將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置的過程如下將所述原始觸摸數(shù)據(jù)以消息的形式發(fā)送給所有處理裝置; 每個處理裝置解析接收到的消息,獲取原始觸摸數(shù)據(jù)格式;如果所述原始觸摸數(shù)據(jù)格式符合所述處理裝置能夠處理的原始觸摸數(shù)據(jù)格式,則處理所述原始觸摸數(shù)據(jù);否則,丟棄所述原始觸摸數(shù)據(jù)。
      4.如權(quán)利要求1所述的多點觸控的實現(xiàn)方法,其特征在于在識別所述原始觸摸數(shù)據(jù)所屬觸摸操作過程中,如果處理裝置發(fā)現(xiàn)所述原始觸摸數(shù)據(jù)所屬觸摸操作不是其能夠處理的操作,則不再處理屬于該觸摸操作之后的原始觸摸數(shù)據(jù)。
      5.如權(quán)利要求1 4中任一項所述的多點觸控的實現(xiàn)方法,其特征在于將所述處理結(jié)果以消息的形式發(fā)送給上層應(yīng)用系統(tǒng),并根據(jù)上層應(yīng)用系統(tǒng)對每個消息的處理反饋自動調(diào)整發(fā)送密度。
      6.如權(quán)利要求5所述的多點觸控的實現(xiàn)方法,其特征在于,所述自動調(diào)整的方法包括如下步驟設(shè)置在上層應(yīng)用系統(tǒng)接收到消息和處理完消息后,反饋消息已接收和已處理的信息; 當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已接收反饋時,將該消息壓入一個消息集合中;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已處理反饋時,將該消息移出所述消息集合;在發(fā)送消息之前,查詢所述消息集合,確定上層應(yīng)用系統(tǒng)目前有多少消息未處理完畢; 如果未處理完畢的消息數(shù)量達到設(shè)定閾值且當前即將發(fā)送的消息與未處理完畢的消息為同類型消息,則過濾掉即將發(fā)送的消息。
      7.一種多點觸控的實現(xiàn)系統(tǒng),其特征在于所述系統(tǒng)包括用于讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的讀取裝置02);用于將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置04)的分配裝置03); 用于根據(jù)所述原始觸摸數(shù)據(jù)識別所述原始觸摸數(shù)據(jù)所屬觸摸操作的處理裝置04); 用于將所述處理裝置04)對所述原始觸摸數(shù)據(jù)的處理結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)的發(fā)送裝置(25)。
      8.如權(quán)利要求7所述的多點觸控的實現(xiàn)系統(tǒng),其特征在于所述系統(tǒng)還包括用于監(jiān)聽觸摸設(shè)備到達和移除的監(jiān)聽裝置(21)。
      9.如權(quán)利要求7所述的多點觸控的實現(xiàn)系統(tǒng),其特征在于所述讀取裝置02)包括用于當監(jiān)聽到一個觸摸設(shè)備到達時,為該觸摸設(shè)備啟動一條用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的獨立線程的啟動單元;用于當監(jiān)聽到一個觸摸設(shè)備移除時,撤銷用于讀取該觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù)的線程的撤銷單元。
      10.如權(quán)利要求7 9之一所述的多點觸控的實現(xiàn)系統(tǒng),其特征在于所述處理裝置(24)包括用于分析觸摸操作手勢所表示意義的手勢處理器,用于處理觸摸操作對象調(diào)整數(shù)據(jù)的調(diào)整處理器,以及用于處理觸摸操作對象慣性運動的慣性處理器。
      11.如權(quán)利要求7 9之一所述的多點觸控的實現(xiàn)系統(tǒng),其特征在于所述發(fā)送裝置(25)將所述處理裝置04)的處理結(jié)果以消息的形式發(fā)送給上層應(yīng)用系統(tǒng),根據(jù)上層應(yīng)用系統(tǒng)對每個消息的處理反饋自動調(diào)整發(fā)送密度。
      12.如權(quán)利要求11所述的多點觸控的實現(xiàn)系統(tǒng),其特征在于,所述發(fā)送裝置05)包括消息單元,用于當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已接收反饋時,將該消息壓入一個消息集合中;當接收到上層應(yīng)用系統(tǒng)發(fā)送的消息已處理反饋時,將該消息移出所述消息集合;查詢單元,用于在發(fā)送消息之前,查詢所述消息集合,確定上層應(yīng)用系統(tǒng)目前有多少消息未處理完畢;過濾單元,用于當未處理完畢的消息數(shù)量達到設(shè)定閾值且當前即將發(fā)送的消息與未處理完畢的消息為同類型消息時,過濾掉即將發(fā)送的消息。
      全文摘要
      本發(fā)明涉及一種多點觸控的實現(xiàn)方法及系統(tǒng),屬于人機交互技術(shù)領(lǐng)域。本發(fā)明首先讀取觸摸設(shè)備發(fā)送的原始觸摸數(shù)據(jù);然后將所述原始觸摸數(shù)據(jù)分配給相應(yīng)的處理裝置進行處理;處理裝置分析所述原始觸摸數(shù)據(jù),識別所述原始觸摸數(shù)據(jù)所屬觸摸操作所表示的意義;最后將所述處理裝置對所述原始觸摸數(shù)據(jù)的處理結(jié)果發(fā)送給上層應(yīng)用系統(tǒng)。本發(fā)明適用于任何操作系統(tǒng)或平臺實現(xiàn)多點觸控功能。
      文檔編號G06F3/041GK102419650SQ20111022230
      公開日2012年4月18日 申請日期2011年8月4日 優(yōu)先權(quán)日2011年5月6日
      發(fā)明者劉建軍, 劉新斌, 葉新林, 王宇輝, 韓文 申請人:北京匯冠新技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1