Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法
【專利摘要】本發(fā)明提供一種Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法:修改Linux系統(tǒng)鼠標(biāo)驅(qū)動(dòng),當(dāng)檢測(cè)到鼠標(biāo)右鍵按下Down事件時(shí),先投遞一個(gè)鼠標(biāo)左鍵按下Down事件模擬鼠標(biāo)左鍵按下,獲取當(dāng)前系統(tǒng)時(shí)間并把系統(tǒng)時(shí)間往前調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔;當(dāng)鼠標(biāo)右鍵松開(kāi)Up事件產(chǎn)生時(shí),獲取當(dāng)前系統(tǒng)時(shí)間,并根據(jù)觸發(fā)按鍵長(zhǎng)按事件的時(shí)間計(jì)算鼠標(biāo)右鍵按下到松開(kāi)的等待時(shí)間,再投遞一個(gè)鼠標(biāo)左鍵松開(kāi)Up事件模擬鼠標(biāo)左鍵松開(kāi),計(jì)算模擬鼠標(biāo)左鍵長(zhǎng)按時(shí)間并恢復(fù)原來(lái)的系統(tǒng)運(yùn)行時(shí)間;至此觸發(fā)了一個(gè)鼠標(biāo)左鍵長(zhǎng)按事件,系統(tǒng)會(huì)將此長(zhǎng)按事件發(fā)給云桌面系統(tǒng),實(shí)現(xiàn)了系統(tǒng)鼠標(biāo)右鍵功能。
【專利說(shuō)明】Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]Android系統(tǒng)自誕生至今已經(jīng)成為當(dāng)今主流的2大移動(dòng)操作系統(tǒng)之一,當(dāng)前Android系統(tǒng)被廣泛使用在手機(jī)及平板設(shè)備上。但是自從Android4.0系統(tǒng)發(fā)布以來(lái),Android系統(tǒng)已經(jīng)慢慢開(kāi)始進(jìn)入通常的桌面辦公市場(chǎng),基于Android系統(tǒng)的遠(yuǎn)程桌面協(xié)議實(shí)現(xiàn)越來(lái)越多,其中以微軟的RDP協(xié)議,VMware公司的PCoIP協(xié)議,Citrix公司的ICA協(xié)議為主要代表。但是,由于Android系統(tǒng)自誕生之日起就是為觸屏設(shè)備設(shè)計(jì)的,鼠標(biāo)的使用在Android系統(tǒng)中被極度弱化,即使在Android3.0系統(tǒng)開(kāi)始,鼠標(biāo)被帶回到Android系統(tǒng)中,它也是一個(gè)模擬的觸屏設(shè)備,其中最明顯的就是鼠標(biāo)右鍵在Android系統(tǒng)下無(wú)法使用,鼠標(biāo)右鍵被系統(tǒng)處理為系統(tǒng)返回鍵。這個(gè)問(wèn)題在Android系統(tǒng)進(jìn)入桌面辦公領(lǐng)域后變得極為不可接受,用戶在使用遠(yuǎn)程桌面協(xié)議登錄系統(tǒng)后,完全無(wú)法使用鼠標(biāo)進(jìn)行辦公,只能通過(guò)長(zhǎng)按左鍵的方式實(shí)現(xiàn)在遠(yuǎn)程桌面上的鼠標(biāo)右鍵使用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問(wèn)題,在于提供一種Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法。
[0004]本發(fā)明是這樣實(shí)現(xiàn)的:一種Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法,包括
[0005]步驟10、修改Linux系統(tǒng)鼠標(biāo)驅(qū)動(dòng),當(dāng)檢測(cè)到鼠標(biāo)右鍵按下Down事件時(shí),先投遞一個(gè)鼠標(biāo)左鍵按下Down事件模擬鼠標(biāo)左鍵按下,獲取當(dāng)前系統(tǒng)時(shí)間并把系統(tǒng)時(shí)間往前調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔;
[0006]步驟20、當(dāng)鼠標(biāo)右鍵松開(kāi)Up事件產(chǎn)生時(shí),獲取當(dāng)前系統(tǒng)時(shí)間,并根據(jù)觸發(fā)按鍵長(zhǎng)按事件的時(shí)間計(jì)算鼠標(biāo)右鍵按下到松開(kāi)的等待時(shí)間,再投遞一個(gè)鼠標(biāo)左鍵松開(kāi)Up事件模擬鼠標(biāo)左鍵松開(kāi),計(jì)算模擬鼠標(biāo)左鍵長(zhǎng)按時(shí)間并把當(dāng)前系統(tǒng)時(shí)間往后調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔,以恢復(fù)原來(lái)的系統(tǒng)運(yùn)行時(shí)間;
[0007]步驟30、通過(guò)前兩個(gè)步驟就觸發(fā)了一個(gè)鼠標(biāo)左鍵長(zhǎng)按事件,系統(tǒng)會(huì)將此長(zhǎng)按事件發(fā)給云桌面系統(tǒng),實(shí)現(xiàn)了系統(tǒng)鼠標(biāo)右鍵功能。
[0008]本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明方法將鼠標(biāo)右鍵消息模擬發(fā)送2個(gè)鼠標(biāo)點(diǎn)擊時(shí)間,并讓系統(tǒng)認(rèn)為2個(gè)事件時(shí)間間隔大于系統(tǒng)判斷長(zhǎng)按的時(shí)間間隔,以實(shí)現(xiàn)欺騙系統(tǒng)的目的,從而實(shí)現(xiàn)了為Android系統(tǒng)環(huán)境下的windows虛擬化云桌面連接提供系統(tǒng)鼠標(biāo)右鍵功能,極大的方便了 Android下的windows虛擬化桌面用戶。【專利附圖】
【附圖說(shuō)明】
[0009]下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
[0010]圖1為本發(fā)明方法執(zhí)行流程圖。
【具體實(shí)施方式】
[0011]如圖1所示,本發(fā)明的Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法,包括
[0012]步驟10、修改Linux系統(tǒng)鼠標(biāo)驅(qū)動(dòng),當(dāng)檢測(cè)到鼠標(biāo)右鍵按下Down事件時(shí),先投遞一個(gè)鼠標(biāo)左鍵按下Down事件模擬鼠標(biāo)左鍵按下,獲取當(dāng)前系統(tǒng)時(shí)間并把系統(tǒng)時(shí)間往前調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔;例如:系統(tǒng)定義的長(zhǎng)按操作判定間隔時(shí)間為0.5s,鼠標(biāo)右鍵按下時(shí)獲取的當(dāng)前系統(tǒng)時(shí)間為01時(shí)00分0秒,則投遞Down事件后,把系統(tǒng)時(shí)間往前調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定間隔時(shí)間(即0.5秒)后,當(dāng)前系統(tǒng)時(shí)間為01時(shí)00分
0.5 秒。
[0013]步驟20、當(dāng)鼠標(biāo)右鍵松開(kāi)Up事件產(chǎn)生時(shí),獲取當(dāng)前系統(tǒng)時(shí)間(即步驟10中往前調(diào)整后的時(shí)間),并根據(jù)觸發(fā)按鍵長(zhǎng)按事件的時(shí)間計(jì)算鼠標(biāo)右鍵按下到松開(kāi)的等待時(shí)間,再投遞一個(gè)鼠標(biāo)左鍵松開(kāi)Up事件模擬鼠標(biāo)左鍵松開(kāi),計(jì)算模擬鼠標(biāo)左鍵長(zhǎng)按時(shí)間并把當(dāng)前系統(tǒng)時(shí)間往后調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔(即0.5秒),以恢復(fù)原來(lái)的系統(tǒng)運(yùn)行時(shí)間;例如:鼠標(biāo)右鍵松開(kāi)(Up)時(shí)獲取的當(dāng)前系統(tǒng)時(shí)間為01時(shí)00分0.6秒(S卩鼠標(biāo)右鍵從按下到松開(kāi)歷時(shí)0.1秒),此時(shí)投遞鼠標(biāo)左鍵松開(kāi)Up事件,然后把系統(tǒng)時(shí)間往回調(diào)0.5秒,即恢復(fù)正常的系統(tǒng)時(shí)間:01時(shí)00分0.1秒。
[0014]步驟30、通過(guò)前兩個(gè)步驟就觸發(fā)了一個(gè)鼠標(biāo)左鍵長(zhǎng)按事件,系統(tǒng)會(huì)將此長(zhǎng)按事件發(fā)給云桌面系統(tǒng),實(shí)現(xiàn)了系統(tǒng)鼠標(biāo)右鍵功能。
[0015]本發(fā)明的原理如下:
[0016]如【背景技術(shù)】中提到的,在Android系統(tǒng)上系統(tǒng)上使用鼠標(biāo)右鍵時(shí)會(huì)被系統(tǒng)映射為返回鍵發(fā)送給應(yīng)用程序。若在Android系統(tǒng)中當(dāng)用戶長(zhǎng)按鼠標(biāo)右鍵時(shí),系統(tǒng)會(huì)發(fā)送LongPress消息給應(yīng)用程序,應(yīng)用程序在收到該消息后會(huì)執(zhí)行相應(yīng)的操作,而在桌面辦公的遠(yuǎn)程桌面程序中,該操作會(huì)被處理為鼠標(biāo)右鍵消息。這樣,鼠標(biāo)右鍵系統(tǒng)在Android系統(tǒng)最底層的Linux內(nèi)核中依然能被識(shí)別,只是在轉(zhuǎn)發(fā)消息是被轉(zhuǎn)發(fā)為系統(tǒng)返回消息,但是Android系統(tǒng)并沒(méi)有定義鼠標(biāo)右鍵的消息。當(dāng)長(zhǎng)按鼠標(biāo)時(shí),Android系統(tǒng)會(huì)檢測(cè)2次鼠標(biāo)時(shí)間的系統(tǒng)間隔時(shí)間,判斷鼠標(biāo)事件是否為長(zhǎng)按事件。在系統(tǒng)內(nèi)核中,我們檢測(cè)鼠標(biāo)右鍵消息,當(dāng)收到鼠標(biāo)右鍵消息時(shí),我們模擬發(fā)送2個(gè)鼠標(biāo)點(diǎn)擊時(shí)間,并讓系統(tǒng)認(rèn)為2個(gè)事件時(shí)間間隔大于系統(tǒng)判斷長(zhǎng)按的時(shí)間間隔,即可實(shí)現(xiàn)欺騙系統(tǒng)的目的。
[0017]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說(shuō)明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。
【權(quán)利要求】
1.一種Android系統(tǒng)環(huán)境下windows虛擬化桌面連接的鼠標(biāo)右鍵實(shí)現(xiàn)方法,其特征在于:包括 步驟10、修改Linux系統(tǒng)鼠標(biāo)驅(qū)動(dòng),當(dāng)檢測(cè)到鼠標(biāo)右鍵按下Down事件時(shí),先投遞一個(gè)鼠標(biāo)左鍵按下Down事件模擬鼠標(biāo)左鍵按下,獲取當(dāng)前系統(tǒng)時(shí)間并把系統(tǒng)時(shí)間往前調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔; 步驟20、當(dāng)鼠標(biāo)右鍵松開(kāi)Up事件產(chǎn)生時(shí),獲取當(dāng)前系統(tǒng)時(shí)間,并根據(jù)觸發(fā)按鍵長(zhǎng)按事件的時(shí)間計(jì)算鼠標(biāo)右鍵按下到松開(kāi)的等待時(shí)間,再投遞一個(gè)鼠標(biāo)左鍵松開(kāi)Up事件模擬鼠標(biāo)左鍵松開(kāi),計(jì)算模擬鼠標(biāo)左鍵長(zhǎng)按時(shí)間并把當(dāng)前系統(tǒng)時(shí)間往后調(diào)一個(gè)系統(tǒng)定義的長(zhǎng)按操作判定時(shí)間間隔,以恢復(fù)原來(lái)的系統(tǒng)運(yùn)行時(shí)間; 步驟30、通過(guò)前兩個(gè)步驟就觸發(fā)了一個(gè)鼠標(biāo)左鍵長(zhǎng)按事件,系統(tǒng)會(huì)將此長(zhǎng)按事件發(fā)給云桌面系統(tǒng),實(shí)現(xiàn)了系統(tǒng)鼠標(biāo)右鍵功能。
【文檔編號(hào)】H04L29/08GK103810121SQ201410055289
【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2014年2月19日 優(yōu)先權(quán)日:2014年2月19日
【發(fā)明者】張輝, 張偉, 王金清 申請(qǐng)人:福建升騰資訊有限公司