本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種使用觸摸屏模擬鼠標(biāo)操作的方法和裝置及頭戴顯示設(shè)備。
背景技術(shù):
觸摸屏作為一種新的輸入設(shè)備,是簡單、方便、自然的一種人機交互方式,觸摸屏與傳統(tǒng)的鍵盤鼠標(biāo)輸入方式相比有很明顯的技術(shù)優(yōu)勢:簡化了人機界面、提高了精確度、結(jié)實耐用、可以快速訪問所有類型的數(shù)字媒體、底座更小,節(jié)約空間。在手機和腕帶等產(chǎn)品中,觸摸屏由安裝在顯示屏前面的檢測部件和觸摸屏控制器組成,當(dāng)手指或其它物體觸摸安裝在顯示屏前端的觸摸屏?xí)r,所觸摸的位置由觸摸屏控制器檢測,并通過接口送到主機,操作直觀準(zhǔn)確。
但是在頭戴顯示設(shè)備等產(chǎn)品中,觸摸屏不是安裝在顯示屏前面的,即顯示屏和觸摸屏是分離的,Android系統(tǒng)的觸摸屏驅(qū)動從觸摸屏的driver IC中獲取的數(shù)據(jù)只包括觸摸點的坐標(biāo)和壓力值。Android系統(tǒng)的觸摸屏驅(qū)動如果只是將觸摸點的坐標(biāo)和壓力值上報到Android層,只能進行切屏操作,沒有鼠標(biāo)的圖標(biāo)的輔助,不能確定當(dāng)前觸摸點的位置,無法進行顯示屏圖標(biāo)的選中操作;并且在進行圖標(biāo)定位時,操作非常困難,觸摸屏的操控點跟顯示屏上的圖標(biāo)很難對應(yīng)。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種使用觸摸屏模擬鼠標(biāo)操作的方法和裝置及頭戴顯示設(shè)備,以解決在顯示屏和觸摸屏是分離的情況下通過觸摸屏與被控設(shè)備的系統(tǒng)進行交互時,沒有鼠標(biāo)的圖標(biāo)的輔助,不能確定當(dāng)前觸摸點的位置,不便于進行選中操作,并且定位困難的問題。
根據(jù)本發(fā)明的一個方面,本發(fā)明提供了一種使用觸摸屏模擬鼠標(biāo)操作的方法,包括:
當(dāng)觸摸屏開始被觸摸時,觸摸屏向被控設(shè)備的系統(tǒng)發(fā)送中斷信號;在觸摸屏被觸摸的過程中,觸摸屏向所述系統(tǒng)發(fā)送觸摸屏被觸摸的坐標(biāo);當(dāng)觸摸屏停止被觸摸時,觸摸屏向所述系統(tǒng)發(fā)送無效的坐標(biāo);
當(dāng)接收到觸摸屏發(fā)送的中斷信號后,判斷一次觸摸操作開始;
在觸摸操作的過程中,連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動,若觸摸屏的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件;
當(dāng)讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束;若在本次觸摸操作的過程中向系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則在該次觸摸操作結(jié)束時向系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件。
根據(jù)本發(fā)明的另一個方面,本發(fā)明提供了一種使用觸摸屏模擬鼠標(biāo)操作的裝置,包括觸摸屏、狀態(tài)判斷單元、鼠標(biāo)移動控制單元和鼠標(biāo)左鍵控制單元;
所述觸摸屏,用于開始被觸摸時,向被控設(shè)備的系統(tǒng)發(fā)送中斷信號;在被觸摸的過程中,向所述系統(tǒng)發(fā)送被觸摸的坐標(biāo);當(dāng)停止被觸摸時,向所述系統(tǒng)發(fā)送無效的坐標(biāo);
所述狀態(tài)判斷單元,用于判斷一次觸摸操作的開始和結(jié)束:當(dāng)所述系統(tǒng)接收到觸摸屏發(fā)送的中斷信號時,判斷一次觸摸操作開始;當(dāng)所述系統(tǒng)讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束;
所述鼠標(biāo)移動控制單元,用于在觸摸操作的過程中,連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動;
所述鼠標(biāo)左鍵控制單元,用于在觸摸操作的過程中,若觸摸屏的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件;以及在一次觸摸操作結(jié)束時,若在本次觸摸操作的過程中向系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則向系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件。
根據(jù)本發(fā)明的又一個方面,本發(fā)明提供了一種頭戴顯示設(shè)備,包括顯示屏,所述頭戴顯示設(shè)備還包括上述的使用觸摸屏模擬鼠標(biāo)操作的裝置;所述使用觸摸屏模擬鼠標(biāo)操作的裝置中的觸摸屏設(shè)置在所述頭戴顯示設(shè)備的外殼上,與所述頭戴顯示設(shè)備的顯示屏分離。
本發(fā)明的有益效果是:本發(fā)明實施例在接收到觸摸屏發(fā)送的中斷信號時,判斷一次觸摸操作開始,并在讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束,在觸摸操作的過程中,連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動,若觸摸屏的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向所述系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件,若在本次觸摸操作的過程中向所述系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則在該次觸摸操作結(jié)束時向所述系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件,從而在顯示屏與觸摸屏分離的情形下,實現(xiàn)了使用觸摸屏模擬鼠標(biāo)的移動、左鍵按下和左鍵抬起的操作。
附圖說明
圖1是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的方法的流程圖;
圖2是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的方法的具體流程圖;
圖3是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的裝置的功能框圖;
圖4是本發(fā)明一個實施例提供的一種頭戴顯示設(shè)備的功能框圖。
具體實施方式
本發(fā)明的設(shè)計構(gòu)思是:在顯示屏和觸摸屏分離的情況下,操作系統(tǒng)(Android系統(tǒng))的驅(qū)動僅能獲取觸摸點的坐標(biāo)和壓力值,不能確定當(dāng)前觸摸點在顯示屏上的位置,也無法進行顯示屏圖標(biāo)的選中操作,并且在進行圖標(biāo)定位時,操作困難。針對這種情況,本發(fā)明在接收到觸摸屏發(fā)送的中斷信號時,判斷一次觸摸操作開始,并在讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束,在觸摸操作的過程中,連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動,若觸摸屏的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件,若在本次觸摸操作的過程中向系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則在該次觸摸操作結(jié)束時向系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件,從而在顯示屏與觸摸屏分離的情形下,實現(xiàn)了使用觸摸屏模擬鼠標(biāo)的移動、左鍵按下和左鍵抬起的操作。
實施例一
圖1是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的方法的流程圖,如圖1所示,本實施例提供的使用觸摸屏模擬鼠標(biāo)操作的方法包括:
步驟S110:當(dāng)觸摸屏開始被觸摸時,觸摸屏向被控設(shè)備的系統(tǒng)發(fā)送中斷信號,以下以Android系統(tǒng)為例進行說明;在觸摸屏被觸摸的過程中,觸摸屏向Android系統(tǒng)發(fā)送觸摸屏被觸摸的坐標(biāo);當(dāng)觸摸屏停止被觸摸時,觸摸屏向Android系統(tǒng)發(fā)送無效的坐標(biāo)。
現(xiàn)有的觸摸屏一般都支持點模式操作,Linux的驅(qū)動從觸摸屏的IC芯片中獲取到連續(xù)的觸摸點坐標(biāo),通過input事件上報到framework層,但是上層只能識別到上下左右滑動的動作,沒有鼠標(biāo)圖標(biāo)的輔助功能,還無法定位顯示屏中的圖標(biāo),并對圖標(biāo)進行操作。
步驟S120:當(dāng)接收到觸摸屏發(fā)送的中斷信號后,判斷一次觸摸操作開始。
步驟S130:在觸摸操作的過程中,連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動,若觸摸屏的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件。
優(yōu)選地,本實施例通過以下步驟判斷觸摸屏的某一個區(qū)域被觸摸的時間是否超過預(yù)設(shè)時間:當(dāng)一次觸摸操作開始時,初始化第一時間變量和第二時間變量為觸摸開始的時間;計算觸摸屏的當(dāng)前坐標(biāo)與前一個坐標(biāo)之差的絕對值作為觸摸屏的相對坐標(biāo),若觸摸屏的相對坐標(biāo)大于預(yù)設(shè)值,則刷新第一時間變量和第二時間變量為當(dāng)前時間;否則僅刷新第二時間變量為當(dāng)前時間;計算第二時間變量減去第一時間變量的差值,若大于預(yù)設(shè)時間則判斷觸摸屏的某一個區(qū)域被觸摸的時間超過了預(yù)設(shè)時間;否則判斷觸摸屏的某一個區(qū)域被觸摸的時間沒有超過預(yù)設(shè)時間。
一次觸摸操作可能是移動鼠標(biāo)、切屏、拖拽或打開一個應(yīng)用,因此針對不同的應(yīng)用場景,在優(yōu)選實施例中,步驟S130中“根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動”具體包括:
在向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之前,根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動。通常觸摸屏的分辨率要小于顯示屏的分辨率,因此在觸摸操作時,觸摸屏的相對坐標(biāo)要小于顯示屏的相對坐標(biāo)。在向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之前,鼠標(biāo)未進行選中操作,此時移動手指僅是為了移動鼠標(biāo),此時若根據(jù)顯示屏的相對坐標(biāo)控制鼠標(biāo)移動,稍微移動手指,鼠標(biāo)在顯示屏上的移動范圍就會非常大,效果不好,因此根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動。
在向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之后,若觸摸屏的相對坐標(biāo)不大于預(yù)設(shè)值,則根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動。向Android系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,但是觸摸屏的相對坐標(biāo)不大于預(yù)設(shè)值,說明手指選中了某一區(qū)域但是沒有大范圍的移動,此時對應(yīng)的應(yīng)用場景為用戶點擊一個應(yīng)用的圖標(biāo),想要打開該應(yīng)用,此時若是根據(jù)顯示屏的相對坐標(biāo)控制鼠標(biāo)移動,由于顯示屏的相對坐標(biāo)較大,Android系統(tǒng)上層有很大可能誤判斷為手指移動進行圖標(biāo)拖拽,不能打開應(yīng)用,因此根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動。
在向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之后,若觸摸屏的相對坐標(biāo)大于預(yù)設(shè)值,則計算顯示屏的當(dāng)前坐標(biāo)與前一個坐標(biāo)之差的絕對值作為顯示屏的相對坐標(biāo),根據(jù)顯示屏的相對坐標(biāo)控制鼠標(biāo)移動。在向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之后,若觸摸屏的相對坐標(biāo)大于預(yù)設(shè)值,說明選中了某一點之后,手指進行大范圍的移動,若選中的是顯示屏中的一圖標(biāo),則對應(yīng)的應(yīng)用場景為圖標(biāo)拖拽操作;若選中的是顯示屏中的一空白區(qū)域,則對應(yīng)的應(yīng)用場景為切屏操作。在進行圖標(biāo)拖拽或者切屏?xí)r,需要移動迅速,否則無法實現(xiàn)圖標(biāo)拖拽或切屏的效果,由于顯示屏的相對坐標(biāo)大于觸摸屏的相對坐標(biāo),因此根據(jù)顯示屏的相對坐標(biāo)控制鼠標(biāo)的移動。
步驟S140:當(dāng)讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束;若在本次觸摸操作的過程中向Android系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則在該次觸摸操作結(jié)束時向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件。
至此,本實施例實現(xiàn)了在顯示屏與觸摸屏分離的情形下,使用觸摸屏模擬鼠標(biāo)的移動、左鍵按下和左鍵抬起的操作。
實施例二
圖2是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的方法的具體流程圖,如圖2所示,本實施例提供的使用觸摸屏模擬鼠標(biāo)操作的方法包括:
步驟S201:讀取觸摸屏發(fā)出的中斷信號,判斷一次觸摸操作開始。
步驟S202:在檢測到中斷信號后,讀取觸摸屏的數(shù)據(jù),包括各種標(biāo)志位和觸摸屏的坐標(biāo)xraw、yraw,并根據(jù)數(shù)據(jù)包中的標(biāo)志位判斷是否有有效的坐標(biāo)數(shù)據(jù),若是則執(zhí)行步驟S203;否則執(zhí)行步驟S217。
步驟S203:根據(jù)觸摸屏的分辨率和顯示屏的分辨率,將觸摸屏的坐標(biāo)轉(zhuǎn)換為顯示屏的坐標(biāo)。例如:
#define TS_XRES 320
#define TS_YRES 320
#define SCREEN_XRES 1440
#define SCREEN_YRES 2560
將觸摸屏的坐標(biāo)xraw、yraw轉(zhuǎn)化為顯示屏的坐標(biāo)xscr、yscr。
步驟S204:判斷觸摸開始標(biāo)志位touch_start的值是否為0,若touch_start=0,則說明該數(shù)據(jù)是本次觸摸的第一個數(shù)據(jù),此時執(zhí)行步驟S205,進行初始化;否則直接執(zhí)行步驟S206。
步驟S205:進行初始化,將標(biāo)志位touch_start的值置為1,xscr_last=xscr、yscr_last=y(tǒng)scr、xraw_last=xraw、yraw_last=y(tǒng)raw;并刷新touch_sTm為當(dāng)前時間,該時間標(biāo)志touch_sTm為本次觸摸選中某個區(qū)域的開始時間。
步驟S206:計算前后兩個觸摸屏坐標(biāo)的差的絕對值,得到觸摸屏的相對坐標(biāo)xraw_rel、yraw_rel,判斷xraw_rel或yraw_rel是否大于預(yù)設(shè)的閾值,如果xraw_rel、yraw_rel有一個大于了預(yù)設(shè)的閾值,則說明手指移動了,并沒有選中某一區(qū)域,此時執(zhí)行步驟S207,更新選中某一區(qū)域的開始時間touch_sTm;否則直接執(zhí)行S208。與顯示屏的相對坐標(biāo)xscr_rel、yscr_rel相比,觸摸屏的相對坐標(biāo)xraw_rel、yraw_rel較小,用觸摸屏的相對坐標(biāo)判斷手指是否移動結(jié)果更精確。
步驟S207:刷新touch_sTm為當(dāng)前時間。
步驟S208:刷新當(dāng)前的觸摸時間touch_cTm。
步驟S209:計算touch_cTm-touch_sTm的差值t,如果t大于預(yù)設(shè)的閾值,如250ms,則說明手指選中了某一區(qū)域,此時若指示鼠標(biāo)左鍵是否已經(jīng)按下的標(biāo)志位press_left=0,則執(zhí)行步驟S210,否則直接執(zhí)行步驟S211。
步驟S210:發(fā)送模擬鼠標(biāo)左鍵的值BTN_LEFT 1input事件,并同時將標(biāo)志位press_left值置為1,表示鼠標(biāo)左鍵已經(jīng)按下,避免重復(fù)發(fā)送BTN_LEFT 1input事件。
步驟S211:判斷是否已經(jīng)發(fā)送BTN_LEFT 1input事件,若是則執(zhí)行步驟S213;否則說明還沒有選中顯示屏中的某一區(qū)域,僅是控制鼠標(biāo)移動,此時直接執(zhí)行步驟S212。
步驟S212:判斷觸摸屏的相對坐標(biāo)xraw_rel、yraw_rel值是否均小于一個預(yù)設(shè)的閾值,如果是則表示手指選中了某個一區(qū)域后沒有進行移動,例如要打開一個圖標(biāo),則執(zhí)行步驟S215;否則,說明手指選中了某個一區(qū)域后移動了,例如進行切屏或者圖標(biāo)拖拽,此時執(zhí)行步驟S214。
步驟S213:上報xraw_rel、yraw_rel。
步驟S214:上報xscr_rel、yscr_rel。
步驟S215:上報xraw_rel、yraw_rel。
步驟S216:利用上報的數(shù)據(jù)更新變量xscr_last、yscr_last、xraw_last、yraw_last的值。
步驟S217:將標(biāo)志位touch_start的值置為0。
步驟S218:判斷在本次觸摸操作的過程中是否已經(jīng)發(fā)送了BTN_LEFT 1事件,例如可以通過檢驗標(biāo)志位press_left的值進行判斷,若是則執(zhí)行步驟S219;否則,直接執(zhí)行步驟S220。
步驟S219:發(fā)送BTN_LEFT 0事件,模擬鼠標(biāo)左鍵的抬起,表示切屏、拖拽、打開應(yīng)用等操作結(jié)束。
步驟S220:判斷該次觸摸操作結(jié)束。
實施例三
圖3是本發(fā)明一個實施例提供的一種使用觸摸屏模擬鼠標(biāo)操作的裝置的功能框圖,如圖3所示,本實施例提供的使用觸摸屏模擬鼠標(biāo)操作的裝置包括:觸摸屏310、狀態(tài)判斷單元320、鼠標(biāo)移動控制單元330和鼠標(biāo)左鍵控制單元340。
觸摸屏310在開始被觸摸時,向被控設(shè)備的系統(tǒng)發(fā)送中斷信號,下面以Android系統(tǒng)為例進行說明;在被觸摸的過程中,觸摸屏310向Android系統(tǒng)發(fā)送被觸摸的坐標(biāo);當(dāng)停止被觸摸時,觸摸屏310向Android系統(tǒng)發(fā)送無效的坐標(biāo)。
狀態(tài)判斷單元320用于判斷一次觸摸操作的開始和結(jié)束:當(dāng)Android系統(tǒng)接收到觸摸屏發(fā)送的中斷信號時,判斷一次觸摸操作開始;當(dāng)Android系統(tǒng)讀取到無效的坐標(biāo)時,判斷該次觸摸操作結(jié)束。
在一次觸摸操作的過程中,鼠標(biāo)移動控制單元330連續(xù)讀取觸摸屏的坐標(biāo),并將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為顯示屏的坐標(biāo),根據(jù)觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)控制鼠標(biāo)移動。
鼠標(biāo)左鍵控制單元340用于在一次觸摸操作的過程中,若觸摸屏310的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間,則向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件;以及在一次觸摸操作結(jié)束時,若在本次觸摸操作的過程中向Android系統(tǒng)發(fā)送了鼠標(biāo)左鍵按下事件,則向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵抬起事件。
為了判斷觸摸屏310的某一個區(qū)域被觸摸的時間是否超過預(yù)設(shè)時間,在本發(fā)明的一個優(yōu)選實施例中,鼠標(biāo)左鍵控制單元340包括計時模塊341。當(dāng)一次觸摸操作開始時,計時模塊341初始化第一時間變量和第二時間變量為觸摸開始的時間,計算觸摸屏的當(dāng)前坐標(biāo)與前一個坐標(biāo)之差的絕對值作為觸摸屏的相對坐標(biāo),若觸摸屏相對坐標(biāo)大于預(yù)設(shè)的閾值,則刷新第一時間變量和第二時間變量為當(dāng)前時間,否則僅刷新第二時間變量為當(dāng)前時間。計時模塊341計算第二時間變量減去第一時間變量的差值作為觸摸屏的某一個區(qū)域被觸摸的時間,之后與預(yù)設(shè)的時間閾值進行比較,若大于該閾值,則判斷觸摸屏310的某一個區(qū)域被觸摸的時間超過預(yù)設(shè)時間。
優(yōu)選地,鼠標(biāo)移動控制單元330具體用于:在鼠標(biāo)左鍵控制單元340向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之前,鼠標(biāo)未進行選中操作,此時移動手指僅是為了移動鼠標(biāo),因此根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動,防止鼠標(biāo)移動過快、范圍過大;在鼠標(biāo)左鍵控制單元340向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之后,若觸摸屏的相對坐標(biāo)不大于預(yù)設(shè)值,說明手指選中了某一區(qū)域但是沒有大范圍的移動,此時對應(yīng)的應(yīng)用場景為用戶點擊一個應(yīng)用的圖標(biāo),想要打開該應(yīng)用,因根據(jù)觸摸屏的相對坐標(biāo)控制鼠標(biāo)移動,防止系統(tǒng)誤判斷為手指移動而無法打開應(yīng)用;在鼠標(biāo)左鍵控制單元340向Android系統(tǒng)發(fā)送鼠標(biāo)左鍵按下事件之后,若觸摸屏的相對坐標(biāo)大于預(yù)設(shè)值,說明選中了某一點之后,手指進行大范圍的移動,此時對應(yīng)的應(yīng)用場景為圖標(biāo)拖拽或者是切屏,因此計算顯示屏的當(dāng)前坐標(biāo)與前一個坐標(biāo)之差的絕對值作為顯示屏的相對坐標(biāo),根據(jù)顯示屏的相對坐標(biāo)控制鼠標(biāo)移動,防止切屏、圖標(biāo)拖拽操作失敗。
實施例四
圖4是本發(fā)明一個實施例提供的一種頭戴顯示設(shè)備的功能框圖,如圖4所示,本實施例提供的頭戴顯示設(shè)備400包括顯示屏410和上述實施例三中的使用觸摸屏模擬鼠標(biāo)操作的裝置420,使用觸摸屏模擬鼠標(biāo)操作的裝置420中的觸摸屏設(shè)置在頭戴顯示設(shè)備400的外殼上,與頭戴顯示設(shè)備400的顯示屏410分離,在觸摸屏和顯示屏分離的情況下,可以有效定位顯示屏的圖標(biāo),并對顯示屏圖標(biāo)進行準(zhǔn)確靈活的操作,提供良好的操作體驗。
以上所述,僅為本發(fā)明的具體實施方式,在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員可以在上述實施例的基礎(chǔ)上進行其他的改進或變形。本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的具體描述只是更好的解釋本發(fā)明的目的,本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準(zhǔn)。