專利名稱:一種觸摸屏定位方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及觸摸屏,特別是涉及一種觸摸屏定位方法和裝置。
背景技術(shù):
隨著電子技術(shù)的發(fā)展和多媒體信息應(yīng)用的日益普及,觸摸屏正越來越多的
影響著人們的生活。例如,手機(jī)、PDA,以及我們在機(jī)場、酒店、街道等公共 場所中隨處可見的多J 某體信息查詢終端等。
一般的,觸摸屏由觸摸檢測裝置和觸摸屏控制器組成;觸摸檢測裝置用于 檢測用戶的觸摸動作,將獲取到的觸摸信息送觸摸屏控制器;觸摸屏控制器從 觸摸檢測裝置接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),然后將該觸點(diǎn)坐標(biāo)送給 CPU進(jìn)行處理,另外,它還能響應(yīng)并執(zhí)行來自CPU的指令。
觸摸屏具有堅固耐用,反應(yīng)速度快,節(jié)省空間,易于交流等許多優(yōu)點(diǎn)。利 用這種技術(shù),用戶只需用觸控筆輕輕碰觸屏幕就可以實(shí)現(xiàn)人機(jī)操作。但是制作 這樣的觸控筆不僅需要額外的成本,而且不易攜帶、容易丟失,造成用戶使用 成本增加。特別是當(dāng)使用觸控筆操作諸如手機(jī)、PDA這樣的手持設(shè)備時,需 要用戶兩個手同時操作,使用起來非常不便。
基于上述原因,在很多時候,人們常常希望使用手指就能夠完成對觸摸屏 的操作。但是由于人的手指和觸摸屏的接觸面積比較大,而觸摸屏可響應(yīng)的觸 控點(diǎn)只有一個,因此,在觸摸屏上操作時,由于手指遮擋了用戶視線,導(dǎo)致用 戶很難看到觸摸屏上實(shí)際的接觸點(diǎn),并進(jìn)而導(dǎo)致誤操作。因此,由于視線受阻 而導(dǎo)致的誤操作嚴(yán)重影響了觸摸屏的使用,給用戶帶來了極大的不便。
發(fā)明內(nèi)容
本發(fā)明的目的之一在于公開一種觸摸屏定位方法,以解決現(xiàn)有技術(shù)在使用 觸摸屏?xí)r由于視覺障礙,導(dǎo)致無法精確定位觸摸點(diǎn),造成誤操作的問題。
本發(fā)明的另一目的在于公開一種觸摸屏定位裝置,以解決現(xiàn)有技術(shù)在使用 觸摸屏?xí)r由于視覺障礙,導(dǎo)致無法精確定位觸摸點(diǎn),造成誤操作的問題。
為解決上述問題,本發(fā)明公開了一種觸摸屏定位方法,所述方法包括 獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形; 按預(yù)置規(guī)則設(shè)置提示區(qū)域; 在所述提示區(qū)域顯示所述獲取的目標(biāo)區(qū)域圖形; 利用準(zhǔn)星在所述"t是示區(qū)域標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。 優(yōu)選的,所述方法還包括放大所述獲取的目標(biāo)區(qū)域圖形。 優(yōu)選的,所述在提示區(qū)域顯示目標(biāo)區(qū)域圖形與獲取當(dāng)前觸摸點(diǎn)相應(yīng)的目標(biāo) 區(qū)域圖形同步。
優(yōu)選的,所述方法還包括保護(hù)提示區(qū)域現(xiàn)場;當(dāng)觸摸點(diǎn)位置改變后,恢 復(fù)提示區(qū)域現(xiàn)場。
優(yōu)選的,所述按預(yù)置規(guī)則設(shè)置提示區(qū)域包括根據(jù)觸摸點(diǎn)對應(yīng)的坐標(biāo)計算 提示區(qū)域的起始點(diǎn)坐標(biāo);該起始點(diǎn)坐標(biāo)是顯示所述目標(biāo)區(qū)域圖形的起始位置。 優(yōu)選的,所述與觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形與提示區(qū)域關(guān)于屏幕中心點(diǎn)對稱。
為解決上述問題,本發(fā)明還公開了一種觸摸屏定位裝置,所述裝置包括
目標(biāo)區(qū)域獲取單元,用于獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;
提示區(qū)域設(shè)置單元,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;
顯示單元,用于在提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域顯示目標(biāo)區(qū)域獲取 單元所獲取的目標(biāo)區(qū)域圖形;
準(zhǔn)星標(biāo)識單元,用于利用準(zhǔn)星在所述提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域 標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。
優(yōu)選的,所述顯示單元還包括放大單元,用于放大目標(biāo)區(qū)域獲取單元所 獲取的目標(biāo)區(qū)域圖形。
優(yōu)選的,所述裝置還包括同步單元,用于控制顯示單元在所述提示區(qū)域 同步顯示目標(biāo)區(qū)域獲取單元所獲取的目標(biāo)區(qū)域圖形。
優(yōu)選的,所述裝置還包括現(xiàn)場處理單元,用于保護(hù)提示區(qū)域現(xiàn)場;以及 當(dāng)觸摸點(diǎn)位置改變后恢復(fù)提示區(qū)域現(xiàn)場。
優(yōu)選的,所述提示區(qū)域設(shè)置單元還包括坐標(biāo)計算單元,用于根據(jù)當(dāng)前觸 摸點(diǎn)對應(yīng)的坐標(biāo)計算提示區(qū)域的起始點(diǎn)坐標(biāo),該起始點(diǎn)坐標(biāo)是所述顯示單元用 于顯示所述目標(biāo)區(qū)域圖形的起始位置。
本發(fā)明還公開了一種手機(jī),包括觸摸屏和機(jī)身,所述手機(jī)還包括
目標(biāo)區(qū)域獲取單元,用于獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;
提示區(qū)域設(shè)置單元,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;
顯示單元,用于在提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域顯示目標(biāo)區(qū)域獲取 單元所獲取的目標(biāo)區(qū)域圖形;
準(zhǔn)星標(biāo)識單元,用于利用準(zhǔn)星在所述提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域 標(biāo)識當(dāng)前觸4莫點(diǎn)對應(yīng)的位置。
根據(jù)本發(fā)明的一個實(shí)施例可知本發(fā)明具有以下效果
現(xiàn)有技術(shù)中,當(dāng)用戶使用手指操作觸摸屏?xí)r,由于人的手指和觸摸屏的接 觸面積比較大,而觸摸屏可響應(yīng)的觸控點(diǎn)只有一個,因此,在觸摸屏上操作時, 由于手指遮擋了用戶視線,導(dǎo)致用戶很難看到觸摸屏上實(shí)際的接觸點(diǎn),并進(jìn)而 導(dǎo)致誤操作。本發(fā)明通過系統(tǒng)獲取當(dāng)前實(shí)際觸摸點(diǎn)的坐標(biāo),并按一定規(guī)則取得 該觸摸點(diǎn)周圍區(qū)域的圖形作為目標(biāo)區(qū)域圖形,然后按預(yù)定規(guī)則在屏幕上遠(yuǎn)離當(dāng) 前觸摸點(diǎn)的位置設(shè)置提示區(qū)域顯示所述目標(biāo)區(qū)域圖形,同時在該提示區(qū)域利用 準(zhǔn)星標(biāo)識當(dāng)前實(shí)際觸摸點(diǎn)對應(yīng)的位置。這樣一來,當(dāng)用戶使用手指或是其它物 體操作觸摸屏?xí)r,在提示區(qū)域總能實(shí)時地顯示當(dāng)前觸摸點(diǎn)附近的圖形,用戶通 過查看提示區(qū)域的圖形并根據(jù)準(zhǔn)星獲知當(dāng)前觸摸點(diǎn)的實(shí)際位置,從而,避免了 現(xiàn)有技術(shù)中由于視線受阻而導(dǎo)致的誤操作。
圖1示出了本發(fā)明所述觸摸屏定位方法的實(shí)施例1的步驟流程圖; 圖2示出了本發(fā)明實(shí)施例中將屏幕按對角劃分區(qū)域的一個效果示意圖; 圖3示出了本發(fā)明所述觸摸屏定位方法的實(shí)施例3的步驟流程圖; 圖4示出了根據(jù)本發(fā)明所述觸摸屏定位方法的一個應(yīng)用實(shí)施例的步驟流 程圖5示出了本發(fā)明所述觸摸屏定位裝置的一個實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施例方式
目前,現(xiàn)有技術(shù)在使用觸摸屏?xí)r,由于手指的遮擋,用戶往往無法清楚地 看到觸摸點(diǎn),因此,非常容易造成誤操作。本發(fā)明通過獲取與當(dāng)前觸摸點(diǎn)相應(yīng) 的目標(biāo)區(qū)域圖形,然后在屏幕的其它位置設(shè)置提示區(qū)域,并將所述目標(biāo)區(qū)域圖 形顯示在該提示區(qū)域,同時利用準(zhǔn)星在該提示區(qū)域標(biāo)識當(dāng)前實(shí)際觸摸點(diǎn)對應(yīng)的 位置。這樣一來,避免了由于無法看到觸摸點(diǎn)而導(dǎo)致的誤操作,很好地解決了 現(xiàn)有技術(shù)存在的問題。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
參照圖1,圖1示出了本發(fā)明所述觸:l美屏定位方法的實(shí)施例1的步驟流程 圖。下面結(jié)合圖l對該實(shí)施例作進(jìn)一步描述。
步驟101:捕獲當(dāng)前觸摸點(diǎn),獲取觸點(diǎn)坐標(biāo)。
為了獲取與當(dāng)前觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形,首先,我們需要捕獲當(dāng)前觸 摸點(diǎn),并取得該觸摸點(diǎn)對應(yīng)的觸點(diǎn)坐標(biāo)。 一般的,當(dāng)用戶操作觸摸屏?xí)r,觸摸 檢測裝置就會檢測到用戶的觸摸信息;然后,觸摸屏控制器從觸摸檢測裝置接 收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo)。目前,按照觸摸檢測裝置的不同,觸摸 屏通??煞譃殡娮枋接|摸屏、電容式觸摸屏、紅外線式觸摸屏以及表面聲波觸 摸屏等。
為便于理解,下面就以電阻式觸摸屏為例說明該類型的觸摸屏如何捕獲觸 摸點(diǎn),獲取觸點(diǎn)坐標(biāo)
電阻式觸摸屏利用壓力感應(yīng)進(jìn)行控制。電阻觸摸屏的主要部分是一塊與顯 示器表面非常配合的電阻薄膜屏,這是一種多層的復(fù)合薄膜,它以一層玻璃或 硬塑料平板作為基層,表面涂有一層透明氧化金屬(透明的導(dǎo)電電阻)導(dǎo)電層, 上面再蓋有一層外表面硬化處理、光滑防擦的塑料層、它的內(nèi)表面也涂有一層 涂層、在他們之間有許多細(xì)小的(小于1/1000英寸)的透明隔離點(diǎn)把兩層導(dǎo) 電層隔開絕緣。當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點(diǎn)位置就有了接觸, 電阻發(fā)生變化,在X和Y兩個方向上產(chǎn)生信號,然后送觸:l莢屏控制器??刂?器獲取該接觸信息并計算出(X, Y)的位置。
以上從觸摸屏工作原理的角度說明了如何獲取觸點(diǎn)坐標(biāo),但實(shí)際應(yīng)用中,
用戶大多通過圖形用戶界面(GUI, Graphical User Interfaces)操作觸摸屏,因此, 在實(shí)施本發(fā)明時當(dāng)然可以通過操作系統(tǒng)直接獲取觸點(diǎn)坐標(biāo),而不必考慮其底層 如何實(shí)現(xiàn)。例如,對于在移動i殳備上普遍應(yīng)用的嵌入式系統(tǒng),我們可通過系統(tǒng) 事件類型判斷當(dāng)前是否為觸摸事件(鼠標(biāo)事件),并從事件參數(shù)中得到相關(guān)的觸 摸點(diǎn)坐標(biāo)(x, y)。
步驟102:獲取與觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形。
通常,用戶基于圖形界面操作觸摸屏,而圖形界面大多依賴于操作系統(tǒng)或 GUI系統(tǒng)。因此,優(yōu)選的,可通過操作系統(tǒng)或GUI系統(tǒng)提供的系統(tǒng)圖形函數(shù) 獲得觸摸點(diǎn)坐標(biāo)區(qū)域的圖形,即目標(biāo)區(qū)域圖形。例如,目前在嵌入式操作系統(tǒng) 常用的MiniGUI、 OpenGUI以及Micro Windows等,這些GUI系統(tǒng)通常都提 供了系統(tǒng)圖形函數(shù),如MiniGUI系統(tǒng)的bitblt函數(shù),當(dāng)然,本領(lǐng)域技術(shù)人員也 可通過其他方式獲得目標(biāo)區(qū)域圖形,如自行編程實(shí)現(xiàn)。在獲取目標(biāo)區(qū)域圖形時, 該區(qū)域圖形的大小、形狀可根據(jù)實(shí)際需要自行設(shè)定,只要獲取的圖形中包括所 述所述觸纟莫點(diǎn)即可。
步驟103:按預(yù)置規(guī)則設(shè)置提示區(qū)域。
在屏幕中設(shè)置提示區(qū)域,用于顯示目標(biāo)區(qū)域圖形。本發(fā)明對提示區(qū)域的位 置、大小和形狀不作限制,本領(lǐng)域技術(shù)人員在實(shí)施本發(fā)明時可根據(jù)需要自行設(shè) 定。但為了獲得較好的使用效果,該提示區(qū)域的位置應(yīng)避免和觸摸點(diǎn)的過于接 近。
優(yōu)選的,采用對角區(qū)域顯示原則設(shè)置提示區(qū)域。如圖2所示,可將屏幕以 中心點(diǎn)為界劃分為4個區(qū)域。如果用戶觸摸點(diǎn)坐標(biāo)在區(qū)域I,則在區(qū)域IV設(shè) 置提示區(qū)域,若觸摸點(diǎn)坐標(biāo)在區(qū)域IV,則在區(qū)域I設(shè)置提示區(qū)域;當(dāng)觸摸點(diǎn)坐 標(biāo)位于區(qū)域II和III時采用相同的原則進(jìn)行設(shè)置。
步驟104:在提示區(qū)域顯示所述目標(biāo)區(qū)域圖形。
將獲取到的目標(biāo)區(qū)域圖形顯示在提示區(qū)域,這樣一來,即使用戶使用手指 操作觸摸屏,也可以通過提示區(qū)域看到實(shí)際的觸摸點(diǎn),而不必受視線的影響, 從而避免了誤操作。
優(yōu)選的,在提示區(qū)域顯示目標(biāo)區(qū)域圖形與獲取當(dāng)前觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域 圖形同步。因此,通過提示區(qū)域?qū)崟r、同步顯示目標(biāo)區(qū)域圖形,在解決了現(xiàn)有
技術(shù)問題的同時,保證了用戶操作觸摸屏的及時性。需要說明的是,本發(fā)明所 述在提示區(qū)域?qū)崟r、同步顯示目標(biāo)區(qū)域圖形并非一定要實(shí)現(xiàn)物理意義上的同 步,因?yàn)橛嬎銠C(jī)系統(tǒng)處理數(shù)據(jù)時大多按照一定的先后順序進(jìn)行,因此,只要做 到用戶的^L覺幾乎感覺不到這種差異即可。
步驟105:利用準(zhǔn)星在提示區(qū)域標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。
為了準(zhǔn)確地定位觸摸點(diǎn),便于用戶識別,可在提示區(qū)域中與當(dāng)前實(shí)際觸摸 點(diǎn)相應(yīng)的位置上顯示準(zhǔn)星,該準(zhǔn)星通過圖形或標(biāo)記準(zhǔn)確地在該提示區(qū)域所顯示 的目標(biāo)區(qū)域圖形中標(biāo)識出當(dāng)前實(shí)際觸摸點(diǎn)相應(yīng)的位置,例如,可以是小圓圈或 十字等圖形標(biāo)記。這樣一來,即使用戶需要在一個很小的面積內(nèi)操作多個觸摸 點(diǎn)時,通過所述準(zhǔn)星仍能夠精確地進(jìn)行定位。需要指出,本領(lǐng)域技術(shù)人員在實(shí) 施本發(fā)明時既可以先對獲取到的目標(biāo)區(qū)域圖形進(jìn)行處理、顯示所述準(zhǔn)星,然后 再將該目標(biāo)區(qū)域圖形顯示在提示區(qū)域,也可已在提示區(qū)域顯示目標(biāo)區(qū)域圖形 后,對該提示區(qū)域進(jìn)行處理顯示所述準(zhǔn)星,可以看出,無論采用那種方法都不 會影響本發(fā)明的實(shí)施效果。
以上介紹了本發(fā)明所述觸摸屏定位方法的實(shí)施例1。本發(fā)明所述觸摸屏定
位方法的實(shí)施例2中,在取得當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形后,將該目標(biāo)區(qū)
域圖形放大后顯示在提示區(qū)域。這樣一來,使得用戶更加容易識別觸摸點(diǎn),提 高了操作時的定位精度,也進(jìn)一步避免了誤操作的可能性。另外,通過放大目 標(biāo)區(qū)域圖形,在屏幕面積相同的情況下,本發(fā)明能夠在屏幕中顯示更多的數(shù)據(jù) 和內(nèi)容,提高了顯示效果,也更方便用戶進(jìn)行操作。需要說明的是,在將目標(biāo)
區(qū)域圖形;改大時,可按目標(biāo)區(qū)域圖形原始的長、寬等比例;故大,也可根據(jù)實(shí)際 需要自行設(shè)定放大規(guī)則。實(shí)施例2未詳盡之處可參見實(shí)施例1。
如圖3所示,是本發(fā)明所述觸摸屏定位方法的實(shí)施例3的步驟流程圖。在 實(shí)施例3中,提示區(qū)域的位置和內(nèi)容隨著觸摸點(diǎn)位置的改變而實(shí)時改變。下面, 結(jié)合圖3對該實(shí)施例作進(jìn)一步說明。
步驟301:捕獲觸摸點(diǎn),獲取觸點(diǎn)坐標(biāo)。
步驟302:獲取與觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形。
步驟303:按預(yù)置規(guī)則設(shè)置提示區(qū)域。
步驟304:保護(hù)提示區(qū)域現(xiàn)場。
將提示區(qū)域的當(dāng)前圖形保存在緩存中。
步驟305:將目標(biāo)區(qū)域圖形等比例放大。 步驟306:在提示區(qū)域顯示目標(biāo)區(qū)域圖形。 步驟307:在提示區(qū)域中用準(zhǔn)星標(biāo)識觸摸點(diǎn)對應(yīng)的位置。 步驟308:判斷當(dāng)前觸摸點(diǎn)位置是否發(fā)生改變,若改變,執(zhí)行步驟309。 步驟309:恢復(fù)當(dāng)前提示區(qū)域現(xiàn)場;執(zhí)行步驟301。 當(dāng)用戶的手指或所使用的觸控筆在觸摸屏上移動時,首先恢復(fù)當(dāng)前提示區(qū) 域現(xiàn)場,即將當(dāng)前提示區(qū)域恢復(fù)到顯示目標(biāo)區(qū)域圖形之前的狀態(tài);然后,根據(jù) 移動的位置重新獲取當(dāng)前觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形;按預(yù)置規(guī)則重新設(shè)置提 示區(qū)域,保護(hù)當(dāng)前提示區(qū)域現(xiàn)場;在該提示區(qū)域顯示所述重新獲取的目標(biāo)區(qū)域 圖形。這樣一來,用戶的手指或觸控筆在不必離開屏幕的情況下,即可通過提 示區(qū)域?qū)崟r地看到目標(biāo)區(qū)域的內(nèi)容及觸摸點(diǎn)的精確位置,在避免誤操作的同 時,進(jìn)一步方便了用戶的使用。需要說明的是,上述根據(jù)觸摸點(diǎn)位置的改變而 重新設(shè)置提示區(qū)域顯示目標(biāo)區(qū)域圖形的方法也同樣適用于本發(fā)明的其它實(shí)施 例。
以上介紹了本發(fā)明所述觸摸屏定位方法的實(shí)施例,下面結(jié)合具體的應(yīng)用環(huán) 境并參見圖4通過一個具體的例子對本發(fā)明所述方法作進(jìn)一步描述。
MiniGUI以其跨平臺、簡單、易用等特點(diǎn)目前正成為嵌入式系統(tǒng)中應(yīng)用最 為普遍的一種GUI系統(tǒng)。在下面這個例子中,我們通過重載MiniGUI的Hook 函數(shù),同時使用該系統(tǒng)提供的圖形函數(shù)bitblt為例進(jìn)行說明。在下面的例子中, 為了與用戶觸發(fā)的鍵盤事件相區(qū)分,本文將用戶操作觸摸屏的事件稱為鼠標(biāo)事 件。
步驟401:重載Hook函數(shù)。
步驟402:捕獲系統(tǒng)事件,獲得觸摸點(diǎn)坐標(biāo)(x,y)。
MiniGUI中,通常情況下,鍵盤事件和鼠標(biāo)事件以其正常的途徑從底層設(shè) 備傳遞到最終的應(yīng)用程序窗口中進(jìn)行處理。MiniGUI提供了一種機(jī)制,使得我 們可以在這些事件轉(zhuǎn)換成相應(yīng)的消息并傳遞到具體的窗口之前截獲這些事件, 然后有兩種選擇讓事件繼續(xù)沿著正常的路徑傳遞,或者打斷事件的傳遞。這 種機(jī)制就是Hook機(jī)制。Hook其實(shí)就是一個回調(diào)函數(shù),如果應(yīng)用程序注冊有Hook,系統(tǒng)就會在傳遞消息的中途調(diào)用這個回調(diào)函數(shù),然后根據(jù)該回調(diào)函數(shù)
的返回值來判斷是否繼續(xù)傳遞消息。在該例中,我們通過注冊并重載Hook函
數(shù),當(dāng)用戶觸發(fā)鼠標(biāo)事件(點(diǎn)擊事件)后截獲該事件,根據(jù)該事件的參數(shù)獲得觸
摸點(diǎn)坐標(biāo)(x,y),然后在所述Hook函數(shù)中進(jìn)行后續(xù)的處理。例如 MiniGUI-Lite Server的Hook回調(diào)函數(shù)原型為 typedef int (*SRVEVTHOOK)(PMSG pMsg)
其中,pMsg是要傳遞的消息結(jié)構(gòu)指針。Server可以隨意修改指針指向的消 息結(jié)構(gòu)中的值。當(dāng)該回調(diào)函數(shù)返回HOOK_GOON時,Server進(jìn)程將繼續(xù)事件 的處理,返回HOOK—STOP時耳又消處理。
Server可通過下面的函數(shù)在系統(tǒng)中注冊Hook函數(shù)
SRVEVTHOOK GUIAPI SetSe而EventHook(SRVEVTHOOK
SrvEvtHook)
步驟403:判斷鼠標(biāo)事件的類型若為點(diǎn)擊事件,4丸行步驟403;若為移 動事件或離開事件,執(zhí)行步驟410。
根據(jù)用戶在觸摸屏上的動作,系統(tǒng)將鼠標(biāo)事件的類型分為點(diǎn)擊事件(Down event)、移動事件(Move event)和離開事件(Up Event)。當(dāng)用戶操作觸摸屏?xí)r, 系統(tǒng)獲取當(dāng)前鼠標(biāo)事件的類型,然后分別執(zhí)行相應(yīng)的步驟。
步驟404:獲取與觸摸點(diǎn)坐標(biāo)相應(yīng)的目標(biāo)區(qū)域圖形。
假設(shè)LCD可視區(qū)域的寬、高分別為W、 H,那么屏幕中心點(diǎn)坐標(biāo)為(W/2, H/2);
假設(shè)取目標(biāo)區(qū)域圖形的寬,高分別為Wuser、 Huser,設(shè)Wuser = W/4, Huser 二H/4;
取觸目標(biāo)區(qū)域圖形的起點(diǎn)坐標(biāo)為(Xuser, Yuser),可按照以下規(guī)則分別計算 Xuser和Yuser:
If (x-W/8)<=0, Xuser = 0;
Else if (x+W/8)>=W, Xuser = W-AVuser;
Else Xuser = x-W/8
If (y-H/8)<=0, Yuser = 0;Else if (y+H/8)>=H, Yuser = H-Huser; Else Yuser = y-薦
這樣一來,我們以坐標(biāo)(Xuser,Yuesr)為起點(diǎn),利用系統(tǒng)提供的圖形函數(shù) bitblt或取寬和高為別為Wuser、 Huser的一個區(qū)域圖形,并將該圖形拷貝至緩 存作為目標(biāo)區(qū)域圖形。
步驟405:將目標(biāo)區(qū)域圖形等比例放大。
該步驟為可選步驟。若本領(lǐng)域技術(shù)人員在實(shí)施本發(fā)明時認(rèn)為不需要將目標(biāo)
區(qū)域圖形放大后顯示,則可以直接執(zhí)行步驟405。
步驟406:在目標(biāo)區(qū)域圖形中用準(zhǔn)星標(biāo)識當(dāng)前觸4菱點(diǎn)對應(yīng)的位置。 我們?nèi)约僭O(shè)觸摸點(diǎn)坐標(biāo)為(x,y);目標(biāo)區(qū)域的圖形寬,高分別為Wuser,
Huser;目標(biāo)區(qū)域圖形的起點(diǎn)坐標(biāo)為(Xuser, Yuser),可按照下面的方法顯示準(zhǔn)
星
對于緩存中的目標(biāo)區(qū)域圖形,以(x-Xuser-3, y-Yuser)為起點(diǎn),(x-Xuser+3, y-Yuser)為終點(diǎn)用圖形函It畫 一 直線,以(x-Xuser, y-Yuser-3 )為起點(diǎn),(x-Xuser, y-Yuser+3)為終點(diǎn)用圖形函數(shù)再畫一直線,這樣就能在觸摸點(diǎn)上畫出標(biāo)示"+"。 當(dāng)然,也可釆用類似的方法畫出其它類型的準(zhǔn)星。
步驟407:計算用于顯示提示區(qū)域的起始點(diǎn)坐標(biāo)。
為設(shè)置提示區(qū)域,首先計算用于顯示提示區(qū)域的起始點(diǎn)坐標(biāo)。假設(shè)該坐標(biāo) 為(Xdest,Ydest),觸4莫點(diǎn)坐標(biāo)(x,y),屏幕的寬和高分別為W、 H,目標(biāo)區(qū)域圖 形的寬和高分別為Wuser和Huser,參見圖2,可按以下規(guī)則計算Xdest和 Ydest:
若觸摸點(diǎn)(x,y)位于區(qū)域I: x<=W/2 and y<=H/2,則(Xdest, Ydest)為(W-Wuser, H-Huser);若觸摸點(diǎn)(x,y)位于區(qū)域II: x<=W/2 and y<=H/2,則(Xdest, Ydest)為(O, H-Huser);
若觸摸點(diǎn)(x,y)位于區(qū)域III: x<=W/2 and y<=H/2,則(Xdest, Ydest)為(W-Wuser, 0);
若觸摸點(diǎn)(x,y)位于區(qū)域IV: x<=W/2 and y<=H/2,則(Xdest, Ydest)為(O,0)。
步驟408:保護(hù)提示區(qū)域現(xiàn)場。
以坐標(biāo)(Xdest, Ydest)為起始點(diǎn),按目標(biāo)區(qū)域的寬Wuser和高Huser獲取 相應(yīng)大小的圖形存儲在緩存中。這樣做的目的在于,當(dāng)觸摸點(diǎn)位置發(fā)生改變時, 用所述緩存中的圖形將提示區(qū)域恢復(fù)為原始狀態(tài)。
步驟409:在提示區(qū)域顯示目標(biāo)區(qū)域圖形。
以坐標(biāo)(Xdest, Ydest)為起始點(diǎn),按目標(biāo)區(qū)域圖形的大小顯示緩存中的目標(biāo) 區(qū)域圖形。
步驟410:將鼠標(biāo)事件傳遞至GUI系統(tǒng)的下一級進(jìn)行處理。
例如,若用戶是要點(diǎn)擊窗口中的一個4要^L,則將該事件繼續(xù)傳遞至窗口應(yīng) 用程序,執(zhí)行按鈕點(diǎn)擊后的處理。之后,系統(tǒng)監(jiān)聽下一次鼠標(biāo)事件,若有新的 鼠標(biāo)事件發(fā)生則開始新的處理。
步驟411:判斷當(dāng)前是否有新的鼠標(biāo)事件發(fā)生,若有,執(zhí)行步驟402,否 則,結(jié)束本次處理。
步驟412:恢復(fù)提示區(qū)域現(xiàn)場。
用緩存中存儲的提示區(qū)域原始圖形替換當(dāng)前提示區(qū)域。 步驟413:判斷鼠標(biāo)事件類型,若為移動事件,執(zhí)行步驟404;若為離開 事件,執(zhí)行步驟410。
下面結(jié)合上面的例子,結(jié)合具體的數(shù)據(jù)說明本發(fā)明的實(shí)施效果 假設(shè)屏幕寬W=240,高H=320 ,取觸摸點(diǎn)區(qū)域的圖形寬,高分別為 Wuser=60, Huser=80。有三個相鄰點(diǎn)(70, 80), (70,83), (70,85)。用戶希望 點(diǎn)選(70, 83)這個點(diǎn),但用戶用手指點(diǎn)擊觸摸屏?xí)r,觸摸檢測部件;險測到的觸 摸點(diǎn)是(70,80),這時會將起點(diǎn)為(40, 40),寬高為6(^80LCD上的圖形在(180, 240)起始點(diǎn)處顯示出來,并在顯示圖形的(30,40)點(diǎn)處用"+"標(biāo)示用戶當(dāng)前點(diǎn)擊 位置。用戶看到圖形后發(fā)現(xiàn)點(diǎn)擊位置不是其真正需要的位置,他可以根據(jù)偏移 方向,手指向右側(cè)移動。當(dāng)他看到"+"移到(70,83)點(diǎn)時,就可以;故開手指。
以上結(jié)合具體實(shí)施例描述了本發(fā)明所述的一種觸摸屏定位方法。下面,參 照上文所述內(nèi)容,同時參照圖5,對本發(fā)明所述的一種觸摸屏定位裝置的實(shí)施 例進(jìn)行介紹。如圖5所示,所述裝置包括
目標(biāo)區(qū)域獲取單元501,用于獲取與當(dāng)前觸摸點(diǎn)相應(yīng)的目標(biāo)區(qū)域圖形; 提示區(qū)域設(shè)置單元502,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;
顯示單元503,用于在提示區(qū)域設(shè)置單元502所設(shè)置的提示區(qū)域按預(yù)定規(guī) 則顯示目標(biāo)區(qū)域獲取單元501所獲取的目標(biāo)區(qū)域圖形;
準(zhǔn)星標(biāo)識單元504,用于利用準(zhǔn)星在所述提示區(qū)域設(shè)置單元502所設(shè)置的 提示區(qū)域標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。
優(yōu)選的,所述顯示單元503還包括;故大單元5031,用于》文大目標(biāo)區(qū)域 獲取單元501所獲取的目標(biāo)區(qū)域圖形。
優(yōu)選的,所述裝置還包括同步單元505,用于控制顯示單元503在所述 提示區(qū)域同步顯示目標(biāo)區(qū)域獲取單元501所獲取的目標(biāo)區(qū)域圖形。
優(yōu)選的,所述裝置還包括現(xiàn)場處理單元506,用于保護(hù)提示區(qū)域現(xiàn)場; 以及當(dāng)觸摸點(diǎn)位置改變后恢復(fù)提示區(qū)域現(xiàn)場。
所述提示區(qū)域設(shè)置單元502還包括坐標(biāo)計算單元5021,用于根據(jù)當(dāng)前 觸摸點(diǎn)對應(yīng)的坐標(biāo)計算提示區(qū)域的起始點(diǎn)坐標(biāo),該起始點(diǎn)坐標(biāo)是所述顯示單元 503用于顯示所述目標(biāo)區(qū)域圖形的起始位置。
下面對上述裝置實(shí)現(xiàn)觸摸屏定位的一個優(yōu)選過程進(jìn)行描述
首先,目標(biāo)區(qū)域獲取單元獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;準(zhǔn)星標(biāo)識 單元用準(zhǔn)星在該目標(biāo)區(qū)域圖形中標(biāo)識觸摸點(diǎn);然后,放大單元將該目標(biāo)區(qū)域圖 形等比例進(jìn)行放大;坐標(biāo)計算單元根據(jù)當(dāng)前觸摸點(diǎn)對應(yīng)的坐標(biāo)計算提示區(qū)域的 起始點(diǎn)坐標(biāo),并由現(xiàn)場處理單元保護(hù)該提示區(qū)域的現(xiàn)場;同步單元控制顯示單 元在提示區(qū)域的起始點(diǎn)坐標(biāo)顯示目標(biāo)區(qū)域圖形;當(dāng)觸摸點(diǎn)位置改變后,現(xiàn)場處 理單元恢復(fù)提示區(qū)域現(xiàn)場。
以上描述了本發(fā)明所述觸摸屏定位裝置的一個實(shí)施例。對于該裝置實(shí)施例 而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方
法實(shí)施例的部分說明即可。
應(yīng)用上述觸摸屏定位裝置,本發(fā)明公開了一種手機(jī),包括觸摸屏和機(jī)身, 所述手機(jī)還包括
目標(biāo)區(qū)域獲取單元,用于獲取當(dāng)前觸4莫點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;
提示區(qū)域設(shè)置單元,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;
顯示單元,用于在提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域按預(yù)定規(guī)則顯示目 標(biāo)區(qū)域獲取單元所獲取的目標(biāo)區(qū)域圖形。
該手機(jī)實(shí)施例的未詳盡之處,請參見上文方法實(shí)施例或裝置實(shí)施例的相同 或相應(yīng)之處。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相 似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。
以上對本發(fā)明所提供的一種觸摸屏定位方法、裝置,進(jìn)行了詳細(xì)介紹,本
明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技 術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處, 綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種觸摸屏定位方法,其特征在于,所述方法包括獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;按預(yù)置規(guī)則設(shè)置提示區(qū)域;在所述提示區(qū)域顯示所述獲取的目標(biāo)區(qū)域圖形;利用準(zhǔn)星在所述提示區(qū)域標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括 放大所述獲取的目標(biāo)區(qū)域圖形。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述在提示區(qū)域顯示 所述獲^^的目標(biāo)區(qū)域圖形與獲耳又當(dāng)前觸4莫點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形同步。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括 保護(hù)提示區(qū)域現(xiàn)場;當(dāng)觸摸點(diǎn)位置改變后,恢復(fù)提示區(qū)域現(xiàn)場。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按預(yù)置規(guī)則設(shè)置提示 區(qū)域包括根據(jù)觸摸點(diǎn)對應(yīng)的坐標(biāo)計算提示區(qū)域的起始點(diǎn)坐標(biāo);該起始點(diǎn)坐標(biāo)是顯示 所述目標(biāo)區(qū)域圖形的起始位置。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述與觸摸點(diǎn)相應(yīng)的目標(biāo) 區(qū)域圖形與提示區(qū)域關(guān)于屏幕中心點(diǎn)對稱。
7、 一種觸摸屏定位裝置,其特征在于,所述裝置包括目標(biāo)區(qū)域獲取單元,用于獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;提示區(qū)域設(shè)置單元,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;顯示單元,用于在提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域顯示目標(biāo)區(qū)域獲取 單元所獲取的目標(biāo)區(qū)域圖形;準(zhǔn)星標(biāo)識單元,用于利用準(zhǔn)星在所述提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域 標(biāo)識當(dāng)前觸4莫點(diǎn)對應(yīng)的位置。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述顯示單元還包括 放大單元,用于放大目標(biāo)區(qū)域獲取單元所獲取的目標(biāo)區(qū)域圖形。
9、 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述裝置還包括同步單元,用于控制顯示單元在所述提示區(qū)域同步顯示目標(biāo)區(qū)域獲取單元 所獲取的目標(biāo)區(qū)域圖形。
10、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括 現(xiàn)場處理單元,用于保護(hù)提示區(qū)域現(xiàn)場;以及當(dāng)觸摸點(diǎn)位置改變后恢復(fù)提示區(qū)域現(xiàn)場。
11、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述提示區(qū)域設(shè)置單元還 包括坐標(biāo)計算單元,用于根據(jù)當(dāng)前觸摸點(diǎn)對應(yīng)的坐標(biāo)計算提示區(qū)域的起始點(diǎn)坐 標(biāo),該起始點(diǎn)坐標(biāo)是所述顯示單元用于顯示所述目標(biāo)區(qū)域圖形的起始位置。
12、 一種手機(jī),包括觸摸屏和機(jī)身,其特征在于,所述手機(jī)還包括 目標(biāo)區(qū)域獲取單元,用于獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形; 提示區(qū)域設(shè)置單元,用于按預(yù)置規(guī)則設(shè)置提示區(qū)域;顯示單元,用于在提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域顯示目標(biāo)區(qū)域獲取 單元所獲取的目標(biāo)區(qū)域圖形;準(zhǔn)星標(biāo)識單元,用于利用準(zhǔn)星在所述提示區(qū)域設(shè)置單元所設(shè)置的提示區(qū)域 標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。
全文摘要
本發(fā)明公開了一種觸摸屏定位方法和裝置,所述方法包括獲取當(dāng)前觸摸點(diǎn)對應(yīng)的目標(biāo)區(qū)域圖形;按預(yù)置規(guī)則設(shè)置提示區(qū)域;在所述提示區(qū)域按預(yù)定規(guī)則顯示所述目標(biāo)區(qū)域圖形;利用準(zhǔn)星在所述提示區(qū)域標(biāo)識當(dāng)前觸摸點(diǎn)對應(yīng)的位置。這樣一來,通過實(shí)施本發(fā)明,用戶可根據(jù)提示區(qū)域顯示的圖形獲知當(dāng)前觸摸點(diǎn)的信息,避免了目前在使用手指或其他物體操作觸摸屏?xí)r,由于視線受阻而導(dǎo)致的誤操作。
文檔編號G06F3/041GK101354619SQ20071004430
公開日2009年1月28日 申請日期2007年7月24日 優(yōu)先權(quán)日2007年7月24日
發(fā)明者虎 梁, 蔡世光, 顧建忠 申請人:英華達(dá)(上海)電子有限公司