国产精品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>

      嵌入式設(shè)備觸摸屏手勢處理方法與流程

      文檔序號(hào):11176706閱讀:1239來源:國知局
      嵌入式設(shè)備觸摸屏手勢處理方法與流程

      本發(fā)明涉及智能觸屏技術(shù)領(lǐng)域,尤其是涉及一種嵌入式設(shè)備觸摸屏手勢處理方法。



      背景技術(shù):

      在搭載電容式觸摸屏的硬件設(shè)備中,需要捕捉到彩屏的電平變化產(chǎn)生中斷來通知系統(tǒng)的手勢觸摸事件。彩屏僅僅提供觸摸的電平變化,只能得到當(dāng)前手指的坐標(biāo),無法得到手勢的觸摸事件,本發(fā)明基于此而研發(fā)。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明克服現(xiàn)有電容式觸摸屏中彩屏存在只能獲取當(dāng)前手指坐標(biāo)、無法得到手勢的觸摸事件的問題,提出一種嵌入式設(shè)備觸摸屏手勢處理方法,可以使得現(xiàn)有電容式觸摸屏兼具坐標(biāo)獲取、手勢判斷的功能。

      本發(fā)明的具體技術(shù)方案如下:

      一種嵌入式設(shè)備觸摸屏手勢處理方法,包括以下步驟:

      向事件處理中心注冊(cè)屏幕監(jiān)聽的觸摸屏及觸摸屏上控件的中斷事件,保存并發(fā)送中斷事件;

      實(shí)時(shí)監(jiān)聽獲取觸摸屏上的手勢信息;

      比較手勢信息與事件處理中心發(fā)送的中斷事件,獲取控件的點(diǎn)擊事件或觸摸屏的滾動(dòng)事件。

      較佳地,注冊(cè)控件的中斷事件方法為:

      獲取各控件圖標(biāo)的坐標(biāo)、寬度、高度、id信息,并保持于事件處理中心。

      較佳地,觸摸屏上的手勢信息包括:

      (1)、是否有觸摸的信息;

      (2)、觸摸點(diǎn)橫坐標(biāo);

      (3)、觸摸點(diǎn)縱坐標(biāo)。

      較佳地,所述觸摸屏上的手勢信息分別儲(chǔ)存于三個(gè)寄存器。

      較佳地,所述比較手勢信息與事件處理中心發(fā)送的中斷事件的方法為:

      上一次監(jiān)聽獲取的手勢信息與當(dāng)前手勢信息比較:

      若上一次有觸摸且當(dāng)前未觸摸,而且上一次與當(dāng)前的坐標(biāo)信息相同,則表示觸發(fā)點(diǎn)擊事件,比較當(dāng)前坐標(biāo)信息與各控件的坐標(biāo)、寬度、高度信息,獲得被點(diǎn)擊控件id信息并觸發(fā)該控件的點(diǎn)擊事件;

      若上一次有觸摸且當(dāng)前也有觸摸,并且兩次坐標(biāo)信息不同,則表示觸發(fā)觸摸屏滾動(dòng)事件。采用上述技術(shù)方案,本發(fā)明可以實(shí)時(shí)感知觸摸屏上的任一控件是否被點(diǎn)擊,或是否有滾動(dòng)事件,其最大的創(chuàng)新是可以靈活定義觸摸屏的中斷事件,可以改變控件的觸摸有效范圍,從而使控件獲得更大的觸控區(qū)域,而不再局限于圖標(biāo)區(qū)域,尤其適合視力不好的用戶。另外,本發(fā)明中的一些微小的滾動(dòng)也可以當(dāng)作點(diǎn)擊事件來處理。

      附圖說明

      圖1為本發(fā)明的原理性流程圖;

      圖2為圖1中wait事件的定義圖;

      圖3為本發(fā)明中事件處理中心流程圖。

      具體實(shí)施方式

      以下結(jié)合附圖和具體實(shí)施例,對(duì)發(fā)明進(jìn)行詳細(xì)說明。

      參照?qǐng)D1至圖3,本發(fā)明提供一種嵌入式設(shè)備觸摸屏手勢處理方法,包括以下步驟:

      向事件處理中心注冊(cè)屏幕監(jiān)聽的觸摸屏及觸摸屏上控件的中斷事件,保存并發(fā)送中斷事件;

      實(shí)時(shí)監(jiān)聽獲取觸摸屏上的手勢信息;

      比較手勢信息與事件處理中心發(fā)送的中斷事件,獲取控件的點(diǎn)擊事件或觸摸屏的滾動(dòng)事件。

      繼續(xù)參照?qǐng)D1所示,具體說來,先向系統(tǒng)注冊(cè)屏幕監(jiān)聽中斷事件,也就是當(dāng)手指觸摸屏幕的時(shí)候,就會(huì)引起屏幕電容的變化,系統(tǒng)內(nèi)核會(huì)及時(shí)把這個(gè)消息傳遞出來。由于中斷的事件特別快,所以這里我們開啟一個(gè)線程,用來保存和發(fā)送這些中斷事件,然后另外開啟一個(gè)死循環(huán)用來接收這些事件(參照?qǐng)D2的wait事件所示),當(dāng)應(yīng)用層收到這個(gè)消息的,就會(huì)讀取其中3個(gè)寄存器的內(nèi)容,一個(gè)寄存器是保存當(dāng)前屏幕觸摸點(diǎn)的個(gè)數(shù)用touch_pointers_counts(如果值為1就代表有一個(gè)觸摸點(diǎn)0就代表沒有),另外兩個(gè)是保存對(duì)應(yīng)的x坐標(biāo)和y坐標(biāo)(用point_x和point_y表示):

      (1)、如果是點(diǎn)擊事件,那么對(duì)應(yīng)的判斷方法是,將上一次的寄存器數(shù)據(jù)保存起來,如果當(dāng)前的touch_pointers_counts=0并且之前的touch_pointers_counts=1,并且這兩個(gè)坐標(biāo)是一樣的,那么就代表觸發(fā)了點(diǎn)擊事件。那么如何知道當(dāng)前點(diǎn)擊的是哪個(gè)控件呢,那就需要去注冊(cè)這個(gè)控件點(diǎn)擊事件了(1:坐標(biāo)2:寬度3:高度4:控件id),當(dāng)有了這些數(shù)據(jù)就可以計(jì)算出是哪個(gè)控件被點(diǎn)擊了。

      (2)、如果是滾動(dòng)事件,那么解決方案是如果當(dāng)前的touch_pointers_counts=1并且之前的touch_pointers_counts=1并且兩個(gè)坐標(biāo)有變化,那么就可以判定是滾動(dòng)事件。具體的滾動(dòng)方向就是結(jié)合這兩個(gè)坐標(biāo)的x和y值計(jì)算出是左滑還是右滑還是上滑還是下滑。

      以下列舉依據(jù)本發(fā)明思想的一具體化實(shí)例:

      參照?qǐng)D1和圖3所示,一塊100*100的觸摸屏,要在上面做圖形化界面。其中有一個(gè)位于坐標(biāo)(x1,y1),寬高為(w,h)的圖標(biāo),現(xiàn)在我們要監(jiān)聽它的點(diǎn)擊事件。

      首先先向事件處理中心注冊(cè)這個(gè)點(diǎn)擊事件,x=x1、y=y(tǒng)1、width=w、heigh=h,此時(shí)處理中心保持此數(shù)據(jù)到列表里。

      當(dāng)從事件處理中心收到一個(gè)點(diǎn)擊事件時(shí),會(huì)給出當(dāng)前手指點(diǎn)擊坐標(biāo),x=x2、y=y(tǒng)2,此時(shí)會(huì)把該數(shù)據(jù)和已保持?jǐn)?shù)據(jù)進(jìn)行比較,如果x2>x1&&x2<x1+w&&y2>y1&&y2<y2+h,那么就觸發(fā)了該控件的點(diǎn)擊事件。

      針對(duì)上述自定義注冊(cè)控件點(diǎn)擊事件,可以靈活定義觸摸屏的中斷事件,可以改變控件的觸摸有效范圍,從而使控件獲得更大的觸控區(qū)域,而不再局限于圖標(biāo)區(qū)域,尤其適合視力不好的用戶。另外,本發(fā)明中的一些微小的滾動(dòng)也可以當(dāng)作點(diǎn)擊事件來處理。

      以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。



      技術(shù)特征:

      技術(shù)總結(jié)
      本發(fā)明公開了一種嵌入式設(shè)備觸摸屏手勢處理方法,包括以下步驟:向事件處理中心注冊(cè)屏幕監(jiān)聽的觸摸屏及觸摸屏上控件的中斷事件,保存并發(fā)送中斷事件;實(shí)時(shí)監(jiān)聽獲取觸摸屏上的手勢信息;比較手勢信息與事件處理中心發(fā)送的中斷事件,獲取控件的點(diǎn)擊事件或觸摸屏的滾動(dòng)事件。本發(fā)明可以實(shí)時(shí)感知觸摸屏上的任一控件是否被點(diǎn)擊,或是否有滾動(dòng)事件,其最大的創(chuàng)新是可以靈活定義觸摸屏的中斷事件,可以改變控件的觸摸有效范圍,從而使控件獲得更大的觸控區(qū)域,而不再局限于圖標(biāo)區(qū)域,尤其適合視力不好的用戶。另外,本發(fā)明中的一些微小的滾動(dòng)也可以當(dāng)作點(diǎn)擊事件來處理。

      技術(shù)研發(fā)人員:陳東生
      受保護(hù)的技術(shù)使用者:深圳市福云明網(wǎng)絡(luò)科技有限公司
      技術(shù)研發(fā)日:2017.06.09
      技術(shù)公布日:2017.10.03
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1