一種模擬觸控螢幕的模擬器實現方法及該模擬器的製作方法
2023-06-03 04:44:16
專利名稱:一種模擬觸控螢幕的模擬器實現方法及該模擬器的製作方法
技術領域:
本發明涉及軟體開發領域,尤其涉及一種模擬觸控螢幕的模擬器實現方法及該模擬器。
背景技術:
現有技術中,移動終端開發過程包括軟體開發和硬體開發兩個部分,在觸控螢幕相關的軟體開發過程中,經常需要在實際的觸控螢幕硬體上進行調試,如果觸控螢幕硬體沒有準備好,相關的軟體開發就難以順利進行,如果軟體開發以及調試能夠在軟體程序上進行操作,則會大大提高軟體開發效率。而現有技術中,又沒有能夠模擬觸控螢幕硬體功能的軟體程序,導致觸控螢幕相關的軟體開發效率較低。因此,現有技術還有待於改進和發展。
發明內容
鑑於上述現有技術的不足,本發明的目的在於提供一種模擬觸控螢幕的模擬器實現方法及該模擬器,旨在解決現有的移動終端開發過程中觸控螢幕相關的軟體開發無法在軟體程序上進行操作、開發效率低的問題。本發明的技術方案如下
一種模擬觸控螢幕的模擬器實現方法,其中,包括步驟
設置一包括模擬驅動及模擬Π模塊的模擬器,所述模擬驅動提供給應用程式第一接口以及提供給模擬UI模塊第二接口,所述模擬UI模塊接收到模擬動作指令後,通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。一種採用所述的實現方法模擬觸控螢幕的模擬器,其中,所述模擬器包括模擬驅動及模擬Π模塊,所述模擬驅動用於提供給應用程式第一接口以及提供給模擬Π模塊第二接口,所述模擬UI模塊將接收到的模擬動作指令通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。所述模擬觸控螢幕的模擬器,其中,所述模擬UI模塊包括一用於接收用戶輸入的模擬動作指令的滑鼠。所述模擬觸控螢幕的模擬器,其中,所述模擬驅動以及模擬Π模塊均定義了用於保存滑鼠的動作事件的坐標信息的數據結構。所述模擬觸控螢幕的模擬器,其中,所述動作事件包括點擊、釋放以及滑動事件。所述模擬觸控螢幕的模擬器,其中,所述第二接口包括用於將滑鼠的動作事件的坐標信息寫入至模擬驅動的坐標信息寫入接口。所述模擬觸控螢幕的模擬器,其中,所述模擬UI模塊設置有捕捉滑鼠的動作事件的事件過濾器。
有益效果本發明模擬觸控螢幕的模擬器實現方法及該模擬器,通過設置模擬驅動及模擬UI模塊,由該模擬驅動用於提供給應用程式第一接口以及提供給模擬UI模塊第二接口,應用程式從該模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。通過本發明的模擬器,應用程式的開發人員可以獨立於實際的觸控螢幕來進行軟體開發,操作起來非常方便,並且模擬效果逼真,只需要保證第一接口與真實硬體中的第一接口一致,即可保證應用程式在真實的觸控螢幕中也可實現,所以本發明的模擬器即使被真實硬體替換,該模擬器與真實硬體的差別也可忽略,使得開發後的應用程式不需要在後期進行修改,從而提高了應用程式的開發效率。
圖I為本發明模擬觸控螢幕的模擬器較佳實施例的結構框圖。
具體實施例方式本發明提供一種模擬觸控螢幕的模擬器實現方法及該模擬器,為使本發明的目的、技術方案及效果更加清楚、明確,以下對本發明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。本發明一種模擬觸控螢幕的模擬器實現方法,包括步驟
設置一包括模擬驅動及模擬Π模塊的模擬器,所述模擬驅動提供給應用程式第一接口以及提供給模擬UI模塊第二接口,所述模擬UI模塊接收到模擬動作指令後,通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。本發明的模擬器實現方法是為了實現觸控螢幕相關的操作應用程式能夠在軟體模擬器上進行調試和開發,從而提高開發效率。下面結合該模擬器對本發明進行詳細的說明。請參閱圖1,圖I為本發明一種模擬觸控螢幕的模擬器的結構框圖,如圖所示,所述模擬器100包括
模擬驅動120及模擬UI模塊110,所述模擬驅動120用於提供給應用程式130第一接口以及提供給模擬UI模塊110第二接口,所述模擬UI模塊110將接收到的模擬動作指令通過第二接口寫入至模擬驅動120,所述應用程式130通過所述第一接口從所述模擬驅動120中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。在本發明中,所述的第一接口與真實硬體上的接口的軟體功能是一致的,所述第一接口是根據實際開發的軟體來制定的,只要第一接口保持與實際硬體的接口一致,那麼如果應用程式能運行在模擬器上,同樣應用程式也能運行在實際的硬體上,從而實現模擬的功能。觸控螢幕作為電子設備的輸入設備的一種,整體上來說提供給應用程式標準的字符設備接口即可,所以,模擬器上提供給應用程式的第一接口也需要是標準的字符設備接口。而本發明中的第二接口則是可以根據需要進行修改的,原來驅動與硬體的連接以及溝通變為了模擬驅動與模擬UI模塊的連接以及溝通,所以模擬驅動需要提供額外的接口給模擬UI模塊,使模擬UI模塊能夠模擬出與實際硬體相似的效果。在本發明中,模擬觸控螢幕的模擬Π模塊110與實際觸控螢幕的主要區別在於,本發明的模擬Π模塊110是通過處理滑鼠的動作事件來模擬觸控螢幕的觸摸事件,而觸控螢幕是直接處理用戶的觸摸事件,這主要是因為模擬器100是運行於計算機上的,普通計算機上的顯示屏無法實現觸摸功能,而計算機上連接的滑鼠則可以完成類似觸控螢幕的觸摸事件,所以本發明中採用滑鼠的動作事件來代替觸控螢幕的觸摸事件,利用滑鼠來接收用戶輸入的模擬動作指令並轉換為滑鼠的動作事件,模擬Π模塊110隻要能獲取滑鼠的動作事件,並將該點擊事件轉換成觸控螢幕的觸摸事件寫入到模擬驅動120中,即可達到模擬觸控螢幕的目的。在本發明的模擬Π模塊110以及模擬驅動120中都定義了一數據結構,用於保存模擬觸摸時滑鼠動作的坐標信息
truct ts_event{
unsigned short pressure; //滑鼠的狀態點擊或釋放unsigned short x; //滑鼠動作(點擊、釋放或滑動)的x坐標值unsigned short y; //滑鼠動作(點擊、釋放或滑動)的y坐標值
};
具體來說,本發明中的模擬驅動120提供的接口包括用於打開觸控螢幕的設備打開接口,如open O;用於關閉觸控螢幕的設備關閉接口,如close O;用於獲取滑鼠動作事件的坐標信息的坐標信息獲取接口,如read ;用於寫入滑鼠動作事件的坐標信息的坐標信息寫入接口,ioctl O;其中的設備打開接口打開的設備為/dev/ts,方式為只讀,坐標信息獲取接口返回一個新的坐標點,其數據結構為前述的數據結構struct ts_event,而坐標信息寫入接口其數據為SET_TS_EVENT (值為0):保存滑鼠動作的數據結構,ioctl的第3個參數的類型為保存滑鼠動作的ts_event,即坐標信息。上述的接口一部分是提供給應用程式130使用即第一接口,例如設備打開接口、設備關閉接口、坐標信息獲取接口,一部分是提供給模擬UI模塊110使用即第二接口,例如坐標信息寫入接口。模擬UI模塊捕捉到滑鼠的動作事件後,將表示滑鼠動作事件的數據結構通過坐標信息寫入接口 ioctl 寫入到模擬驅動的相應數據結構中,從而使模擬驅動能夠識別相應的動作事件。在本發明的模擬UI模塊110中,其實現文件主要包括ts. cpp、ts. h。在文件ts. cpp中安裝了事件過濾器,用來捕捉滑鼠的動作事件,相應的代碼如下
(過濾對象)->installEventFilter (this) ; //安裝事件過濾器當事件過濾器捕捉到滑鼠的動作事件之後,就會進入動作事件過濾函數(QObject *0,QEvent *e)中執行相應的操作,即將滑鼠的動作時間存儲到已定義的數據結構中,然後通過坐標信息寫入接口將該數據結構寫入模擬驅動中相應的數據結構ioctl(m_TouchScreenFd, SET_TS_EVENT, &Data);
而ts.h為觸控螢幕驅動頭文件,具體的內容可參考現有技術中的觸控螢幕設備驅動頭文件。綜上所述,本發明模擬觸控螢幕的模擬器實現方法及該模擬器,通過設置模擬驅動及模擬Π模塊,由該模擬驅動用於提供給應用程式第一接口以及提供給模擬Π模塊第二接口,應用程式從該模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。通過本發明的模擬器,應用程式的開發人員可以獨立於實際的觸控螢幕來進行軟體開發,操作起來非常方便,並且模擬效果逼真,只需要保證第一接口與真實硬體中的第一接口的軟體功能一致,即可保證應用程式在真實的觸控螢幕中也可實現,所以本發明的模擬器即使被真實硬體替換,該模擬器與真實硬體的差別也可忽略,使得開發後的應用程式不需要在後期進行修改,從而提高了應用程式的開發效率。應當理解的是,本發明的應用不限於上述的舉例,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,所有這些改進和變換都應屬於本發明所附權利要求的保護範圍。
權利要求
1.一種模擬觸控螢幕的模擬器實現方法,其特徵在於,包括步驟 設置一包括模擬驅動及模擬Π模塊的模擬器,所述模擬驅動提供給應用程式第一接口以及提供給模擬UI模塊第二接口,所述模擬UI模塊接收到模擬動作指令後,通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。
2.一種採用如權利要求I所述的實現方法模擬觸控螢幕的模擬器,其特徵在於,所述模擬器包括模擬驅動及模擬Π模塊,所述模擬驅動用於提供給應用程式第一接口以及提供給模擬UI模塊第二接口,所述模擬UI模塊將接收到的模擬動作指令通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。
3.根據權利要求2所述模擬觸控螢幕的模擬器,其特徵在於,所述模擬Π模塊包括一用於接收用戶輸入的模擬動作指令的滑鼠。
4.根據權利要求3所述模擬觸控螢幕的模擬器,其特徵在於,所述模擬驅動以及模擬Π模塊均定義了用於保存滑鼠的動作事件的坐標信息的數據結構。
5.根據權利要求4所述模擬觸控螢幕的模擬器,其特徵在於,所述動作事件包括點擊、釋放以及滑動事件。
6.根據權利要求4所述模擬觸控螢幕的模擬器,其特徵在於,所述第二接口包括用於將滑鼠的動作事件的坐標信息寫入至模擬驅動的坐標信息寫入接口。
7.根據權利要求3所述模擬觸控螢幕的模擬器,其特徵在於,所述模擬UI模塊設置有捕捉滑鼠的動作事件的事件過濾器。
全文摘要
本發明公開一種模擬觸控螢幕的模擬器實現方法及該模擬器,其中,所述方法包括步驟設置一包括模擬驅動及模擬UI模塊的模擬器,所述模擬驅動提供給應用程式第一接口以及提供給模擬UI模塊第二接口,所述模擬UI模塊接收到模擬動作指令後,通過第二接口寫入至模擬驅動,所述應用程式通過所述第一接口從所述模擬驅動中讀取模擬動作指令,並根據所述模擬動作指令進行相應的動作,實現對觸控螢幕的模擬。通過本發明的模擬器,應用程式的開發人員可以獨立於實際的觸控螢幕來進行軟體開發,操作起來非常方便,並且模擬效果逼真。
文檔編號G06F9/455GK102929688SQ20121042334
公開日2013年2月13日 申請日期2012年10月30日 優先權日2012年10月30日
發明者吳奇峰 申請人:Tcl通訊(寧波)有限公司