一種虛擬鼠標(biāo)的使用方法
【專利摘要】本發(fā)明公開了一種虛擬鼠標(biāo)的使用方法,該方法采用android事件的傳入從底層驅(qū)動的EventHub開始,修改andriod標(biāo)準(zhǔn)的底層驅(qū)動,在系統(tǒng)初始化時,Windowmanager會創(chuàng)建一個線程,在這個線程里從事件隊列中讀取發(fā)生的事件,并根據(jù)讀取到事件類型的不同分成三類(KEYBOARD、TOUCHSCREEN、TRACKBALL),在觸摸屏事件中,andriod標(biāo)準(zhǔn)驅(qū)動會調(diào)用dispatchPointer,該函數(shù)根據(jù)事件的種類進(jìn)行判斷并處理,將發(fā)生的事件將發(fā)送到具有權(quán)限的指定的窗口中去。本發(fā)明可以實現(xiàn)快速移植和二次開發(fā)的特性、精簡實用的功能,適用范圍廣。
【專利說明】一種虛擬鼠標(biāo)的使用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種虛擬鼠標(biāo)的使用方法。
【背景技術(shù)】
[0002]智能手機的普及時代正加速到來。據(jù)IDC最新的調(diào)研報告顯示,今年第二季度,歐洲智能手機出貨量首次超過非智能手機,IDC此前預(yù)計2011年全球智能手機出貨量將超過
4.5億,并將持續(xù)高增長。iSuppli則預(yù)計,智能手機2015年的出貨量有望從今年的4.78億部增長到10.3億部。顯而易見,智能手機已是大勢所趨。
[0003]在電容觸摸屏技術(shù)已經(jīng)成為絕對主流的今天,在手機越來越往大屏幕發(fā)展的趨勢下,模擬光標(biāo)應(yīng)用,通過它快速移植和二次開發(fā)的特性、精簡實用的功能,一定能在andriod軟件中占有一席之地,并且贏得手機用戶信賴,提供良好的用戶體驗,與其它andriod手機軟件共同獲得商業(yè)上的成功。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種虛擬鼠標(biāo)的使用方法,已解決上述【背景技術(shù)】中提出的問題。
[0005]本發(fā)明所解決的技術(shù)問題采用以下技術(shù)方案來實現(xiàn):
[0006]一種虛擬鼠標(biāo)的使用方法,采用android事件的傳入從底層驅(qū)動的EventHub開始,在修改andriod標(biāo)準(zhǔn)的底層驅(qū)動,在系統(tǒng)初始化時,Windowmanager會創(chuàng)建一個線程(InputDispatcherThread),在這個線程里從事件隊列中讀取發(fā)生的事件,并根據(jù)讀取到事件類型的不同分成三類(KEYBOARD、TOUCHSCREEN、TRACKBALL),在觸摸屏事件中,andriod標(biāo)準(zhǔn)驅(qū)動會調(diào)用dispatchPointer,該函數(shù)根據(jù)事件的種類(UP、D0WN、M0VE、0UT_SIDE等)進(jìn)行判斷并處理,將發(fā)生的事件將發(fā)送到具有權(quán)限的指定的窗口中去;該方法包括以下步驟:
[0007](I)通過打開懸浮窗內(nèi)的開關(guān),長按呼出光標(biāo),進(jìn)入模擬光標(biāo)模式;
[0008](2)在模擬光標(biāo)模式下,根據(jù)手指的操作,屏幕上的光標(biāo)實現(xiàn)跟隨手指軌跡,當(dāng)手指停下移動并且按住屏幕是,光標(biāo)向原來的方向移動;
[0009](3)當(dāng)手指離開屏幕的瞬間,光標(biāo)執(zhí)行點擊操作并消失,在光標(biāo)往一個方向移動時,手指再次移動,光標(biāo)會重新計算移動方向,并改變方向移動;
[0010](4)從屏幕上拿開手指此時光標(biāo)執(zhí)行一次點擊操作,并消失。
[0011]進(jìn)一步,所述虛擬鼠標(biāo),包括懸浮窗與光標(biāo);所述懸浮窗一直存在與手機上,點擊懸浮窗會出現(xiàn)一個按鈕,按鈕里有一個開關(guān),在開著的狀態(tài)下可以呼出光標(biāo);所述標(biāo)平時不存在于手機上的,需要在懸浮窗里的開關(guān)開的狀態(tài)下,長按屏幕呼出,光標(biāo)會執(zhí)行,根手指點擊一樣的操作,當(dāng)手指離開屏幕后/執(zhí)行點擊操作后自動消失。
[0012]綜上所述,本發(fā)明有益效果:
[0013]本發(fā)明模擬光標(biāo)軟件可以嵌入到其他的窗口應(yīng)用程序中,比如說一個桌游,甚至軟件的新驅(qū)動部分可以直接提供庫和api接口供其他軟件調(diào)用進(jìn)行開發(fā)工作;同時該驅(qū)動下的光標(biāo),通過復(fù)雜的函數(shù)運算下的光標(biāo)可以達(dá)到一個最優(yōu)的用戶體驗,手機用戶可以直接用手按住屏幕在一個小范圍內(nèi),像操作鼠標(biāo)一樣操作,讓光標(biāo)在手機屏幕中盡情控制、游動,實現(xiàn)快速移植和二次開發(fā)的特性、精簡實用的功能,適用范圍廣。
【專利附圖】
【附圖說明】
[0014]圖1為本發(fā)明工作流程圖;
[0015]圖2為長按喚出光標(biāo)的流程圖;
[0016]圖3為移動后按住保持光標(biāo)持續(xù)移動的流程圖;
[0017]圖4為持續(xù)移動狀態(tài)中拿開手指的流程圖。
【具體實施方式】
[0018]下面將結(jié)合本發(fā)明實施例,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0019]實施例1
[0020]如圖1所示,一種虛擬鼠標(biāo)的使用方法,采用android事件的傳入從底層驅(qū)動的EventHub開始,在修改andriod標(biāo)準(zhǔn)的底層驅(qū)動,在系統(tǒng)初始化時,Windowmanager會創(chuàng)建一個線程(InputDispatcherThread),在這個線程里從事件隊列中讀取發(fā)生的事件,并根據(jù)讀取到事件類型的不同分成三類(KEYBOARD、TOUCHSCREEN、TRACKBALL),在觸摸屏事件中,andriod標(biāo)準(zhǔn)驅(qū)動會調(diào)用dispatchPointer,該函數(shù)根據(jù)事件的種類(UP、DOWN、MOVE、0UT_SIDE等)進(jìn)行判斷并處理,將發(fā)生的事件將發(fā)送到具有權(quán)限的指定的窗口中去;該方法包括以下步驟:
[0021](I)通過打開懸浮窗內(nèi)的開關(guān),長按呼出光標(biāo),進(jìn)入模擬光標(biāo)模式;
[0022](2)在模擬光標(biāo)模式下,根據(jù)手指的操作,屏幕上的光標(biāo)實現(xiàn)跟隨手指軌跡,當(dāng)手指停下移動并且按住屏幕是,光標(biāo)向原來的方向移動;
[0023](3)當(dāng)手指離開屏幕的瞬間,光標(biāo)執(zhí)行點擊操作并消失,在光標(biāo)往一個方向移動時,手指再次移動,光標(biāo)會重新計算移動方向,并改變方向移動;
[0024](4)從屏幕上拿開手指此時光標(biāo)執(zhí)行一次點擊操作,并消失。
[0025]實施例2
[0026]如圖2所示,長按喚出光標(biāo):在標(biāo)準(zhǔn)andriod驅(qū)動中,有觸摸屏長按事件,在觸摸屏長按事件回調(diào)函數(shù)中,記錄觸摸屏位置,調(diào)用andriod接口基于觸摸屏位置畫出光標(biāo),并且設(shè)置光標(biāo)喚出的flagO為真,禁止其他窗口程序響應(yīng)長按操作,具體步驟如下:
[0027](I)打開懸浮窗內(nèi)的開關(guān),進(jìn)入andriod標(biāo)準(zhǔn)事件流程,將事件傳送給窗口應(yīng)用程序;
[0028](2)打開懸浮窗內(nèi)的開關(guān),選著是后,進(jìn)入長按事件;
[0029](3)進(jìn)入長按事件后,截斷長按事件,并設(shè)置光標(biāo)喚出標(biāo)示為真;
[0030](4)調(diào)用andriod接口基于觸摸屏位置畫出光標(biāo);[0031](5)事件截斷,長按事件不再上傳應(yīng)用程序。
[0032]整個過程在用戶看來就是長按后,屏幕出現(xiàn)了一個光標(biāo)。
[0033]實施例3
[0034]如圖3所示,移動后按住保持光標(biāo)持續(xù)移動:在觸摸屏上移動會觸發(fā)一個移動事件,在移動事件回調(diào)事件中,使用一組全局變量不斷記錄移動事件中的位置;當(dāng)光標(biāo)出現(xiàn)的flagO為真時,判斷移動事件后是否緊跟長按操作。假如判斷為真,在這一次長按事件的回調(diào)函數(shù)中,計算move事件的角度與位置,控制光標(biāo)的持續(xù)移動;并且設(shè)置光標(biāo)持續(xù)移動的flagl為真。
[0035]實施例4
[0036]如圖4所示,持續(xù)移動狀態(tài)中拿開手指:光標(biāo)停止移動并點擊一次,當(dāng)觸摸屏上的一個長按事件結(jié)束后,判斷光標(biāo)持續(xù)移動flagl是否為真,若flagl為真,獲取此時光標(biāo)的位置,并且基于光標(biāo)的位置,向窗口發(fā)送一個模擬點擊操作。并且控制光標(biāo)消失。設(shè)置光標(biāo)喚出flagO、持續(xù)移動flagl為假。
[0037]對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。
[0038]此外,應(yīng)當(dāng)理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個整體,各實施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。
【權(quán)利要求】
1.一種虛擬鼠標(biāo)的使用方法,其特征是,采用android事件的傳入從底層驅(qū)動的EventHub開始,在系統(tǒng)初始化時,Windowmanager會創(chuàng)建一個線程(InputDispatcherThread),在這個線程里從事件隊列中讀取發(fā)生的事件,并根據(jù)讀取到事件類型的不同分成三類(KEYBOARD、TOUCHSCREEN、TRACKBALL),在觸摸屏事件中,andriod標(biāo)準(zhǔn)驅(qū)動會調(diào)用dispatchPointer,該函數(shù)根據(jù)事件的種類進(jìn)行判斷并處理,將發(fā)生的事件將發(fā)送到具有權(quán)限的指定的窗口中去;該方法包括以下步驟: (1)通過打開懸浮窗內(nèi)的開關(guān),長按呼出光標(biāo),進(jìn)入模擬光標(biāo)模式; (2)在模擬光標(biāo)模式下,根據(jù)手指的操作,屏幕上的光標(biāo)實現(xiàn)跟隨手指軌跡,當(dāng)手指停下移動并且按住屏幕是,光標(biāo)向原來的方向移動; (3)當(dāng)手指離開屏幕的瞬間,光標(biāo)執(zhí)行點擊操作并消失,在光標(biāo)往一個方向移動時,手指再次移動,光標(biāo)會重新計算移動方向,并改變方向移動; (4)從屏幕上拿開手指此時光標(biāo)執(zhí)行一次點擊操作,并消失。
2.根據(jù)權(quán)利要求1所述的一種虛擬鼠標(biāo)的使用方法,其特征是,所述虛擬鼠標(biāo),包括懸浮窗與光標(biāo);所述懸浮窗一直存在與手機上,點擊懸浮窗會出現(xiàn)一個按鈕,按鈕里有一個開關(guān),在開著的狀態(tài)下可以呼出光標(biāo);所述標(biāo)平時不存在于手機上的,需要在懸浮窗里的開關(guān)開的狀態(tài)下,長按屏幕呼出,光標(biāo)會執(zhí)行,根手指點擊一樣的操作,當(dāng)手指離開屏幕后/執(zhí)行點擊操作后自動消失。
【文檔編號】G06F9/44GK103777959SQ201410052584
【公開日】2014年5月7日 申請日期:2014年2月17日 優(yōu)先權(quán)日:2014年2月17日
【發(fā)明者】李海源 申請人:李海源