專利名稱:一種在linux內(nèi)核實現(xiàn)觸摸方向識別的方法
技術(shù)領(lǐng)域:
在現(xiàn)有技術(shù)中l(wèi)inux對所有輸入設備的處理,進行了封裝,采用由驅(qū)動層,輸入核 心層和事件處理層組成的輸入子系統(tǒng)來統(tǒng)一處理和管理所有的輸入事件,上層應用可以方 便的獲取到輸入事件信息。其輸入子系統(tǒng)對觸摸屏事件的支持包括絕對坐標、觸摸按下和 觸摸抬起事件,而現(xiàn)在的應用系統(tǒng)不僅僅只使用這些事件,為了提高觸摸屏的用戶交互性, 經(jīng)常會利用這些簡單的事件,在應用層實現(xiàn)一些觸摸手勢等特定的指令。也就是說,對觸 摸屏的方向、手勢的識別,都在應用層實現(xiàn),這樣增加了應用開發(fā)的復雜性,不具備統(tǒng)一性。 如何在linux輸入子系統(tǒng)中實現(xiàn)觸摸的多方向識別及獲得觸摸方向事件的支持,尤其是在 linux內(nèi)核中實現(xiàn)觸摸方向(上、下、左、右)的識別,將會給應用層在觸摸交互上帶來便利。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,由該方法 可以實現(xiàn)在linux內(nèi)核中觸摸方向上、下、左、右的識別,同時在linux輸入子系統(tǒng)中實現(xiàn)觸 摸的方向識別和觸摸方向事件的前提下將觸摸方向在內(nèi)核中以事件的方式提供給應用層, 為應用層在觸摸交互上帶來很好的可靠性、準確性和便利性。為此,本發(fā)明解決所述問題的技術(shù)方案是一種在linux內(nèi)核中實現(xiàn)觸摸屏觸摸 方向識別的方法,所述方法建立在由所述linux內(nèi)核的驅(qū)動層、與所述驅(qū)動層相關(guān)聯(lián)的輸 入核心層、事件處理層構(gòu)成的系統(tǒng)上,其方法包括步驟(1)預先對所述linux輸入子系統(tǒng)中的所述輸入核心層和所述事件處理層增加的 觸摸方向事件進行定義與事件的接收方法處理;(2)在所述驅(qū)動層對觸摸過程進行采集,其中至少包括觸摸起始點、觸摸終點及觸 摸過程中的任意點的三點坐標,用以實現(xiàn)觸摸方向的識別;(3)在所述驅(qū)動層對觸摸方向事件按照步驟(1)中預先定義的linux輸入事件進 行封裝;由所述驅(qū)動層將觸摸方向事件發(fā)送給輸入子系統(tǒng)的輸入核心層;(4)由所述輸入核心層通過所述事件處理層進行接收與處理,最終提供給上層應 用層;其中,所述輸入子系統(tǒng)由驅(qū)動層、輸入核心層和事件處理層組成。并且,所述步驟(1),其所采集的坐標為一記錄。并且,所述步驟(1),其所述觸摸過程中的任意點坐標為所述觸摸過程中間點坐 標。并且,所述記錄是否為有效坐標,取決于當前坐標超出上一次所采集坐標的范圍。并且,所采集的三點坐標,具有從所采集的三點坐標進行優(yōu)選并決定其觸摸方向的步驟。相比現(xiàn)有技術(shù),本發(fā)明具有的積極效果是由于突出了在linux內(nèi)核中實現(xiàn)觸摸 方向的識別,同時將觸摸方向在內(nèi)核中以事件的方式提供給應用,因而本發(fā)明能有效的提 高觸摸屏觸摸方向識別的通用性和系統(tǒng)的統(tǒng)一性、準確性和高效性進而提高上層應用的便 利性。
圖1是本發(fā)明涉及的表示在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的流程及 linux內(nèi)核系統(tǒng)的結(jié)構(gòu)示意圖;圖2是關(guān)于流程中所采集的坐標為一記錄的示意圖;圖3是關(guān)于流程中對所采集的三點坐標優(yōu)選并決定其觸摸方向的示意圖。
具體實施例方式參見以上諸圖,本發(fā)明涉及一種在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方 法,該方法建立在由所述linux內(nèi)核的驅(qū)動層、與所述驅(qū)動層相關(guān)聯(lián)的輸入核心層、事件處 理層構(gòu)成的系統(tǒng)上,所述方法包括步驟(1)預先對所述linux輸入子系統(tǒng)中的所述輸入核心層和所述事件處理層增加的 觸摸方向事件進行定義與事件的接收方法處理;(2)在所述驅(qū)動層對觸摸過程進行采集,其中至少包括觸摸起始點、觸摸終點及觸 摸過程中的任意點的三點坐標,用以實現(xiàn)觸摸方向的識別;(3)在所述驅(qū)動層對觸摸方向事件按照步驟(1)中預先定義的linux輸入事件進 行封裝;由所述驅(qū)動層將觸摸方向事件發(fā)送給輸入子系統(tǒng)的輸入核心層;(4)由所述輸入核心層通過所述事件處理層進行接收與處理,最終提供給上層應用層。并且,所述步驟(1),其所采集的坐標為一記錄。并且,所述步驟(1),其所采集觸摸過程中的任意點坐標,是所述觸摸過程中間點 坐標。并且,所述記錄是否為有效坐標,取決于當前坐標超出上一次所采集坐標的范圍。并且,所采集的三點坐標,具有從所采集的三點坐標進行優(yōu)選并決定其觸摸方向 的步驟。具體地說,針對現(xiàn)有技術(shù)中的對觸摸屏的方向、手勢的識別,僅限于應用層上的實 現(xiàn),而這種事態(tài)勢必增加應用開發(fā)的復雜性,且對系統(tǒng)而言頁不具備統(tǒng)一性。本發(fā)明旨在 linux系統(tǒng)內(nèi)核中,對觸摸方向事件信息進行了封裝,從而提高了系統(tǒng)應用的通用性和便利 性。例如,見圖1,本發(fā)明提供的在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別方法,是在 linux的觸摸屏驅(qū)動層對觸摸過程進行坐標采集,至少有三點坐標,包括觸摸起始點、觸摸 終點及觸摸過程中的任意點,實現(xiàn)觸摸方向的識別;預先在linux輸入子系統(tǒng)中的輸入核 心層和事件處理層中增加觸摸方向事件的定義與處理;將觸摸方向事件按照預先預先定義 的linux輸入事件進行封裝,將觸摸方向事件發(fā)送給輸入子系統(tǒng)的輸入核心層,輸入核心層再通過事件處理層提供給上層應用。這一流程的表述是(1)在linux觸摸屏驅(qū)動層,從觸摸按下(觸摸起點)開始對坐標進行采集,到觸 摸抬起(觸摸終點)結(jié)束坐標采集;(2)從所采集的坐標中,至少選擇三點(觸摸起點、觸摸終點、觸摸過程中的任意 點)坐標,分析坐標變化趨勢,進行觸摸方向識別;(3)在linux輸入子系統(tǒng)中的輸入核心層和事件處理層中增加對觸摸方向的事件 定義,在驅(qū)動層對觸摸方向事件按照預先定義的linux輸入事件進行封裝,將觸摸方向事 件發(fā)送給輸入子系統(tǒng)的輸入核心層;(4)事件處理層將從輸入核心層中得到的觸摸方向信息,提供給應用使用,為應用 帶來便利。再如,并參見附圖2、3,本發(fā)明所實施的方法強調(diào)了在觸摸過程中,所采集的當前 坐標要超出上一坐標一定范圍,才視為有效坐標,并予以記錄,且在觸摸過程結(jié)束后,需選 擇至少三點坐標,其中兩點為起始坐標和終點坐標,另外一點可以是觸摸過程中的任意點, 為了提高準確性,采用觸摸過程中間點坐標,并根據(jù)所選擇的三點坐標關(guān)系,由系統(tǒng)計算出 坐標變化趨勢,這里可以通過運用簡單的加減運算對坐標進行運算,確定觸摸方向,可以提 高運算的效率。綜上所述,本發(fā)明對現(xiàn)有技術(shù)中的觸摸屏沒有限制,只要能實現(xiàn)單點觸摸即可,其 必要的技術(shù)手段(或技術(shù))是在linux驅(qū)動層對觸摸過程進行坐標采集,利用本發(fā)明所指 的觸摸方向識別方法進行觸摸方向識別且在linux內(nèi)核中增加觸摸方向事件的定義及相 關(guān)處理,由驅(qū)動層將觸摸方向事件發(fā)送給linux內(nèi)核的輸入子系統(tǒng)。
權(quán)利要求
一種在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,其特征在于,該方法建立在由所述linux內(nèi)核的驅(qū)動層、與所述驅(qū)動層相關(guān)聯(lián)的輸入核心層、事件處理層構(gòu)成的系統(tǒng)上,所述方法包括步驟(1)預先對所述linux輸入子系統(tǒng)中的所述輸入核心層和所述事件處理層增加的觸摸方向事件進行定義與事件的接收方法處理;(2)在所述驅(qū)動層對觸摸過程進行采集,其中至少包括觸摸起始點、觸摸終點及觸摸過程中的任意點的三點坐標,用以實現(xiàn)觸摸方向的識別;(3)在所述驅(qū)動層對觸摸方向事件按照步驟(1)中預先定義的linux輸入事件進行封裝;由所述驅(qū)動層將觸摸方向事件發(fā)送給輸入子系統(tǒng)的輸入核心層;(4)由所述輸入核心層通過所述事件處理層進行接收與處理,最終提供給上層應用層。
2.根據(jù)權(quán)利要求1所述的在Iinux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,所述輸入 子系統(tǒng)由驅(qū)動層、輸入核心層和事件處理層組成。
3.根據(jù)權(quán)利要求1所述的在Iinux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,其特征在 于,所述步驟(1)的對觸摸過程進行采集,其所采集的坐標為一記錄。
4.根據(jù)權(quán)利要求1所述的在Iinux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,其特征在 于,所述步驟(1)的觸摸過程中,其所采集的任意點坐標為所述觸摸過程中間點坐標。
5.根據(jù)權(quán)利要求2所述的在Iinux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,其特征在 于,所述記錄是否為有效坐標,取決于當前坐標超出上一次所采集坐標的范圍。
6.根據(jù)權(quán)利要求1或3所述的在Iinux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,其特 征在于,根據(jù)步驟(1)其所采集的三點坐標,具有從所采集的三點坐標進行優(yōu)選并決定其 觸摸方向的步驟。
全文摘要
本發(fā)明涉及一種在linux內(nèi)核中實現(xiàn)觸摸屏觸摸方向識別的方法,該方法建立在由所述linux內(nèi)核的驅(qū)動層、與所述驅(qū)動層相關(guān)聯(lián)的輸入核心層、事件處理層構(gòu)成的系統(tǒng)上。所述方法突出了在linux內(nèi)核中實現(xiàn)觸摸方向的識別效果,同時將觸摸方向在內(nèi)核中以事件的方式提供給應用,因而本發(fā)明能有效的提高觸摸屏觸摸方向識別的通用性和系統(tǒng)的統(tǒng)一性、準確性和高效性進而提高上層應用的便利性。
文檔編號G06F3/041GK101893959SQ20101020572
公開日2010年11月24日 申請日期2010年6月22日 優(yōu)先權(quán)日2010年6月22日
發(fā)明者喬警衛(wèi), 余美強, 吳永軍, 周宇, 左飛, 沈彬, 王宇冬, 馬勇, 龔文 申請人:中科方德軟件有限公司