本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種在虛擬化系統(tǒng)中PS/2鼠標(biāo)移動(dòng)的控制方法及系統(tǒng)。
背景技術(shù):由于虛擬機(jī)是將采集的PS/2鼠標(biāo)的物理偏移發(fā)送到操作系統(tǒng),而非屏幕的絕對(duì)位置,因此當(dāng)使用虛擬化軟件模擬PS/2設(shè)備時(shí),通過VNC(VirtualNetworkComputer,虛擬網(wǎng)絡(luò)計(jì)算機(jī))傳送的像素位移需轉(zhuǎn)換為虛擬機(jī)使用的物理距離,再由虛擬化軟件將物理距離發(fā)送到GUEST系統(tǒng),并由GUEST系統(tǒng)將其顯示出來供用戶查看;但由于每臺(tái)GUEST系統(tǒng)對(duì)同一物理距離的解析并不完全相同,因此客戶端鼠標(biāo)位移和GUEST系統(tǒng)鼠標(biāo)位移并不一致;兩者位移不一致所導(dǎo)致的最直接問題是:當(dāng)客戶端的鼠標(biāo)坐標(biāo)已經(jīng)移動(dòng)到了客戶端顯示區(qū)域的邊緣,而GUEST系統(tǒng)的鼠標(biāo)坐標(biāo)卻并不一定也能夠到達(dá)邊緣,這將導(dǎo)致GUEST系統(tǒng)中的鼠標(biāo)無法移動(dòng)到GUEST系統(tǒng)屏幕的每個(gè)像素點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:鑒于以上內(nèi)容,有必要提供一種PS/2鼠標(biāo)的控制方法及系統(tǒng),以解決GUEST系統(tǒng)中PS/2鼠標(biāo)無法移動(dòng)至GUEST系統(tǒng)每個(gè)像素點(diǎn)的問題。本發(fā)明實(shí)施例公開了一種PS/2鼠標(biāo)移動(dòng)的控制方法,包括以下步驟:客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置;所述客戶端獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)位移的基準(zhǔn)坐標(biāo),以便根據(jù)所述基準(zhǔn)坐標(biāo)計(jì)算獲取所述光標(biāo)下次移動(dòng)的位移。優(yōu)選地,所述客戶端獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī),包括:所述客戶端基于所述客戶端顯示界面所處的坐標(biāo)系,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),對(duì)所述新位置坐標(biāo)添加標(biāo)記位,并將包含標(biāo)記位的所述新位置坐標(biāo)發(fā)送至虛擬機(jī)。優(yōu)選地,所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo),之后還包括:虛擬機(jī)再次接收到客戶端發(fā)送的GUEST系統(tǒng)中所述光標(biāo)的位置坐標(biāo);識(shí)別所述位置坐標(biāo)是否攜帶標(biāo)記位;在所述位置坐標(biāo)攜帶標(biāo)記位時(shí),虛擬機(jī)保存所述位置坐標(biāo),替換已保存的基準(zhǔn)坐標(biāo),將所述位置坐標(biāo)作為新基準(zhǔn)坐標(biāo);在所述位置坐標(biāo)未攜帶標(biāo)記位時(shí),虛擬機(jī)根據(jù)所述位置坐標(biāo)及已保存的基準(zhǔn)坐標(biāo),計(jì)算獲取所述光標(biāo)本次移動(dòng)的位移,并將計(jì)算結(jié)果發(fā)送至GUEST系統(tǒng),供所述GUEST系統(tǒng)控制所述光標(biāo)在所述GUEST系統(tǒng)內(nèi)移動(dòng)。優(yōu)選地,所述客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置,之前還包括:虛擬機(jī)初始化后,將虛擬機(jī)使用的鼠標(biāo)定位方式發(fā)送至客戶端;或者:客戶端向虛擬機(jī)發(fā)起是否支持光標(biāo)回調(diào)的協(xié)商信息;所述虛擬機(jī)接收到所述協(xié)商信息,在支持光標(biāo)回調(diào)時(shí),發(fā)送支持所述光標(biāo)回調(diào)的響應(yīng)信息至所述客戶端,同時(shí)攜帶所述虛擬機(jī)使用的鼠標(biāo)定位方式。優(yōu)選地,所述將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置,包括:將所述光標(biāo)的位置重新置于所述客戶端顯示界面中可視區(qū)域的中點(diǎn)。本發(fā)明實(shí)施例還公開一種PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng),包括客戶端和虛擬機(jī);所述客戶端用于:檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置;獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);所述虛擬機(jī)用于:接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)位移的基準(zhǔn)坐標(biāo),以便根據(jù)所述基準(zhǔn)坐標(biāo)計(jì)算獲取所述光標(biāo)下次移動(dòng)的位移。優(yōu)選地,所述客戶端還用于:基于所述客戶端顯示界面所處的坐標(biāo)系,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),對(duì)所述新位置坐標(biāo)添加標(biāo)記位,并將包含標(biāo)記位的所述新位置坐標(biāo)發(fā)送至虛擬機(jī)。優(yōu)選地,所述虛擬機(jī)還用于:再次接收到客戶端發(fā)送的GUEST系統(tǒng)中所述光標(biāo)的位置坐標(biāo);識(shí)別所述位置坐標(biāo)是否攜帶標(biāo)記位;在所述位置坐標(biāo)攜帶標(biāo)記位時(shí),保存所述位置坐標(biāo),替換已保存的基準(zhǔn)坐標(biāo),將所述位置坐標(biāo)作為新基準(zhǔn)坐標(biāo);在所述位置坐標(biāo)未攜帶標(biāo)記位時(shí),根據(jù)所述位置坐標(biāo)及已保存的基準(zhǔn)坐標(biāo),計(jì)算獲取所述光標(biāo)本次移動(dòng)的位移,并將計(jì)算結(jié)果發(fā)送至GUEST系統(tǒng),供所述GUEST系統(tǒng)控制所述光標(biāo)在所述GUEST系統(tǒng)內(nèi)移動(dòng)。優(yōu)選地,所述客戶端還用于:向虛擬機(jī)發(fā)起是否支持光標(biāo)回調(diào)的協(xié)商信息;所述虛擬機(jī)還用于:接收到所述協(xié)商信息,在支持光標(biāo)回調(diào)時(shí),發(fā)送支持所述光標(biāo)回調(diào)的響應(yīng)信息至所述客戶端,同時(shí)攜帶所述虛擬機(jī)使用的鼠標(biāo)定位方式;所述虛擬機(jī)還用于:系統(tǒng)初始化后,將虛擬機(jī)使用的鼠標(biāo)定位方式發(fā)送至客戶端。優(yōu)選地,所述客戶端還用于:將所述光標(biāo)的位置重新置于所述客戶端顯示界面中可視區(qū)域的中點(diǎn)。本發(fā)明實(shí)施例客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo);所述客戶端將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo);達(dá)到了GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)可以移動(dòng)至GUEST系統(tǒng)中任一像素點(diǎn)的有益效果。附圖說明圖1是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法第一實(shí)施例流程示意圖;圖2是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法中PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)在顯示界面上移動(dòng)一實(shí)施例界面示例圖;圖3a是目前PS/2鼠標(biāo)在虛擬系統(tǒng)中移動(dòng)一實(shí)施例界面示例圖;圖3b是利用本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法后,PS/2鼠標(biāo)在虛擬系統(tǒng)中移動(dòng)一實(shí)施例界面示例圖;圖4是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法中虛擬機(jī)處理客戶端發(fā)送的光標(biāo)移動(dòng)的位置坐標(biāo)一實(shí)施例流程示意圖;圖5是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法第二實(shí)施例流程示意圖;圖6是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法第三實(shí)施例流程示意圖;圖7是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)一實(shí)施例功能模塊示意圖。本發(fā)明實(shí)施例目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。具體實(shí)施方式以下結(jié)合說明書附圖及具體實(shí)施例進(jìn)一步說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法及系統(tǒng)的下述實(shí)施例中,所述虛擬機(jī)可以理解為能夠像真實(shí)機(jī)器一樣運(yùn)行程序的計(jì)算機(jī)的軟件,GUEST系統(tǒng)為被虛擬化出來的系統(tǒng),客戶端相對(duì)于虛擬機(jī)而言,代表了用戶最終操作和使用的終端,該終端上運(yùn)行VNC軟件,通過網(wǎng)絡(luò)或者其他方式連接用戶基于客戶端可以訪問到虛擬機(jī),且基于同一客戶端可以運(yùn)行多個(gè)GUEST系統(tǒng),同一客戶端的顯示界面上也可以同時(shí)顯示多個(gè)GUEST系統(tǒng)的可視界面。在具體應(yīng)用場(chǎng)景中,客戶端和虛擬機(jī)虛擬化軟件可以位于同一物理設(shè)備上。上述VNC可以理解為一種使用RFB(RemoteFrameBuffer,遠(yuǎn)程幀緩沖)協(xié)議的屏幕畫面分享及遠(yuǎn)程操作軟件,VNC通過網(wǎng)絡(luò)傳送鍵盤與鼠標(biāo)的交互機(jī)實(shí)時(shí)的屏幕畫面。本發(fā)明提供一種PS/2鼠標(biāo)移動(dòng)的控制方法第一實(shí)施例;如圖1所示,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法包括以下步驟:步驟S01、客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置;由于PS/2鼠標(biāo)的移動(dòng)不是根據(jù)客戶端的像素值來確定,而是根據(jù)該鼠標(biāo)對(duì)應(yīng)的光標(biāo)移動(dòng)前后的兩次坐標(biāo)位置的偏移來確定的,因此當(dāng)虛擬系統(tǒng)中使用的是PS/2鼠標(biāo)時(shí),客戶端將采集的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)發(fā)送至虛擬機(jī);虛擬機(jī)根據(jù)客戶端發(fā)送的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo),將此次位移數(shù)據(jù)對(duì)比上次位移數(shù)據(jù)的相對(duì)位移差,并將PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)轉(zhuǎn)換為移動(dòng)位移數(shù)據(jù)發(fā)送到GUEST系統(tǒng)。由于客戶端顯示界面的區(qū)域范圍有限,因此每次當(dāng)客戶端檢測(cè)到顯示在客戶端的GUEST系統(tǒng)中,PS/2鼠標(biāo)的光標(biāo)移出客戶顯示界面時(shí),客戶端均將PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置。本發(fā)明實(shí)施例中,所述客戶端顯示界面的可視區(qū)域可以理解為GUEST系統(tǒng)的顯示窗口比如VNC軟件窗口與客戶端的顯示界面如客戶端桌面重疊的部分,且該部分能夠在用戶的可視范圍內(nèi)。如圖2所示,客戶端運(yùn)行的GUEST系統(tǒng)所對(duì)應(yīng)到顯示窗口即圖2所示VNC窗口,當(dāng)客戶端顯示界面完全包含該GUEST系統(tǒng)對(duì)應(yīng)的VNC窗口時(shí),即圖2所示的VNC窗口②這一狀態(tài)時(shí),該GUEST系統(tǒng)的可視區(qū)域即為整個(gè)VNC窗口②;當(dāng)GUEST系統(tǒng)對(duì)應(yīng)的顯示窗口沒有完全容置在客戶端的顯示界面范圍內(nèi)時(shí),比如,當(dāng)圖2所示的GUEST系統(tǒng)的VNC窗口②移動(dòng)至VNC窗口①或者VNC窗口③的位置時(shí),此時(shí)該GUEST系統(tǒng)的可視區(qū)域即為VNC窗口與客戶端的顯示界面的重疊區(qū)域,即VNC窗口①或者VNC窗口③中的灰度區(qū)域。步驟S02、所述客戶端獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);當(dāng)客戶端將PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置后,基于該客戶端自身的顯示界面,客戶端建立坐標(biāo)系;基于顯示界面所處的坐標(biāo)系,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo);并將回調(diào)后的所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī)。在本發(fā)明的一優(yōu)選實(shí)施例中,為了便于后續(xù)獲取該P(yáng)S/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置時(shí),便于進(jìn)行計(jì)算,客戶端將所述光標(biāo)的位置重新置于所述客戶端顯示界面中可視區(qū)域的中點(diǎn),比如將圖2VNC窗口①或者VNC窗口③中灰色區(qū)域?qū)?yīng)的長(zhǎng)方形的兩條對(duì)角線的交叉點(diǎn)作為客戶端重置后PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的新位置坐標(biāo)。步驟S03、所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)位移的基準(zhǔn)坐標(biāo),以便根據(jù)所述基準(zhǔn)坐標(biāo)計(jì)算獲取所述光標(biāo)下次移動(dòng)的位移。虛擬機(jī)接收并保存客戶端發(fā)送的所述光標(biāo)回調(diào)后的新位置坐標(biāo),并將所述新位置坐標(biāo)作為后續(xù)計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo);并根據(jù)該基準(zhǔn)坐標(biāo)與后續(xù)所述光標(biāo)移動(dòng)后的位置坐標(biāo),計(jì)算該基準(zhǔn)坐標(biāo)與后續(xù)所述光標(biāo)移動(dòng)后的位置坐標(biāo)的偏移,并將計(jì)算結(jié)果發(fā)送至GUEST系統(tǒng),控制GUEST系統(tǒng)上PS/2鼠標(biāo)的光標(biāo)移動(dòng)。在應(yīng)用本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法之前,在客戶端顯示界面上GUEST系統(tǒng)可視區(qū)域中PS/2鼠標(biāo)光標(biāo)移動(dòng)時(shí),該光標(biāo)不能移動(dòng)至GUEST系統(tǒng)可視區(qū)域中的任一像素點(diǎn),比如圖3a所示的左側(cè)灰色區(qū)域,該光標(biāo)不能達(dá)到,且用戶在GUEST系統(tǒng)可視區(qū)域中移動(dòng)PS/2鼠標(biāo)時(shí),該P(yáng)S/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)與客戶端對(duì)應(yīng)的光標(biāo)不一致,因此出現(xiàn)圖3a所示的雙光標(biāo)現(xiàn)象。采用本發(fā)明實(shí)施例PS/2鼠標(biāo)移動(dòng)的控制方法后,PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)可以移動(dòng)至GUEST系統(tǒng)的任一像素點(diǎn),此時(shí)隱藏了客戶端鼠標(biāo)所對(duì)應(yīng)的光標(biāo),即如圖3b所示,GUEST系統(tǒng)上用戶可見的PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)僅有一個(gè)。本發(fā)明實(shí)施例客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo);所述客戶端將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo);達(dá)到了GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)可以移動(dòng)至GUEST系統(tǒng)中任一像素點(diǎn)的有益效果;由于本方案不用對(duì)GUEST系統(tǒng)進(jìn)行任何修改,因此提高了系統(tǒng)穩(wěn)定性。圖4是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法中虛擬機(jī)處理客戶端發(fā)送的光標(biāo)移動(dòng)的位置坐標(biāo)一實(shí)施例流程示意圖;如圖4所示,基于圖1所述實(shí)施例的PS/2鼠標(biāo)移動(dòng)的控制方法中,當(dāng)虛擬機(jī)接收到客戶端重置PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)后的新位置坐標(biāo),并將接收到新位置坐標(biāo)作為計(jì)算所述光標(biāo)下次移動(dòng)后計(jì)算該光標(biāo)偏移的基準(zhǔn)坐標(biāo)之后,客戶端再次向虛擬機(jī)發(fā)送所采集的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)時(shí),虛擬機(jī)執(zhí)行如下操作:步驟S11、虛擬機(jī)再次接收到客戶端發(fā)送的GUEST系統(tǒng)中所述光標(biāo)的位置坐標(biāo);步驟S12、識(shí)別所述位置坐標(biāo)是否攜帶標(biāo)記位;若是,則執(zhí)行步驟S13;若否,則執(zhí)行步驟S14;基于以上實(shí)施例的描述,本發(fā)明實(shí)施例中,客戶端獲取到回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo)后,對(duì)獲取的所述新位置坐標(biāo)添加標(biāo)記位,用于標(biāo)識(shí)該新位置坐標(biāo)是回調(diào)后該光標(biāo)重新對(duì)應(yīng)的位置坐標(biāo),而不是普通采集的該光標(biāo)進(jìn)行移動(dòng)時(shí)所對(duì)應(yīng)的位置坐標(biāo)??蛻舳藢瑯?biāo)記位的所述新位置坐標(biāo)發(fā)送至虛擬機(jī);虛擬機(jī)接收到客戶端發(fā)送GUEST系統(tǒng)中所述光標(biāo)的位置坐標(biāo)時(shí),首先識(shí)別該位置坐標(biāo)是否攜帶有標(biāo)記位,即識(shí)別該位置坐標(biāo)是否為重置后的位置坐標(biāo),并根據(jù)識(shí)別結(jié)果執(zhí)行后續(xù)操作。步驟S13、虛擬機(jī)保存所述位置坐標(biāo),替換已保存的基準(zhǔn)坐標(biāo),將所述位置坐標(biāo)作為新基準(zhǔn)坐標(biāo);步驟S14、虛擬機(jī)根據(jù)所述位置坐標(biāo)及已保存的基準(zhǔn)坐標(biāo),計(jì)算獲取所述光標(biāo)本次移動(dòng)的位移,并將計(jì)算結(jié)果發(fā)送至GUEST系統(tǒng),供GUEST系統(tǒng)控制所述光標(biāo)在所述GUEST系統(tǒng)內(nèi)移動(dòng)。在識(shí)別所述位置坐標(biāo)攜帶標(biāo)記位時(shí),虛擬機(jī)保存所述位置坐標(biāo),并不將該坐標(biāo)位置發(fā)送至GUEST系統(tǒng),而是保存在虛擬機(jī)的內(nèi)存中,并替換已保存的基準(zhǔn)坐標(biāo),將所述位置坐標(biāo)作為新基準(zhǔn)坐標(biāo),以便于下次計(jì)算PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的偏移。在識(shí)別所述位置坐標(biāo)未攜帶標(biāo)記位時(shí),虛擬機(jī)根據(jù)所述位置坐標(biāo)及已保存的基準(zhǔn)坐標(biāo),計(jì)算獲取所述光標(biāo)本次移動(dòng)的位移,并將計(jì)算的光標(biāo)本次偏移的結(jié)果發(fā)送至GUEST系統(tǒng);GUEST系統(tǒng)接收到虛擬機(jī)發(fā)送的光標(biāo)的坐標(biāo)偏移,控制所述光標(biāo)在該GUEST系統(tǒng)內(nèi)移動(dòng)。本發(fā)明實(shí)施例虛擬機(jī)能夠根據(jù)客戶端發(fā)送的位置坐標(biāo)識(shí)別對(duì)該位置坐標(biāo)進(jìn)行處理,提高了虛擬機(jī)的智能性,降低了資源占用率。本發(fā)明還提供了PS/2鼠標(biāo)移動(dòng)的控制方法第二實(shí)施例;本發(fā)明實(shí)施例與圖1所述實(shí)施例的區(qū)別是,客戶端執(zhí)行PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的回調(diào)之前,與虛擬機(jī)進(jìn)行協(xié)商,以兼容不同的虛擬化軟件。如圖5所示,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法在圖1所述實(shí)施例的步驟S01之前還包括:步驟S21、客戶端向虛擬機(jī)發(fā)起是否支持光標(biāo)回調(diào)的協(xié)商信息;步驟S22、所述虛擬機(jī)在支持光標(biāo)回調(diào)時(shí),發(fā)送支持所述光標(biāo)回調(diào)的響應(yīng)信息至所述客戶端,同時(shí)攜帶所述虛擬機(jī)使用的鼠標(biāo)定位方式??蛻舳税l(fā)起協(xié)商,詢問虛擬機(jī)是否支持PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的回調(diào)技術(shù);比如,客戶端接收到SERVERINIT(服務(wù)器初始化)消息后,向虛擬機(jī)發(fā)送“是否支持PS/2鼠標(biāo)擴(kuò)展”請(qǐng)求;虛擬機(jī)接收到該詢問消息,若不支持該請(qǐng)求,則按照RFB標(biāo)準(zhǔn)直接忽略客戶端的協(xié)商請(qǐng)求;若虛擬機(jī)支持該請(qǐng)求,則回復(fù)客戶端支持PS/2鼠標(biāo)擴(kuò)展。本發(fā)明實(shí)施例對(duì)客戶端和虛擬機(jī)的協(xié)商方式不做限定,只要二者能達(dá)到協(xié)商的目的即可。當(dāng)虛擬機(jī)支持光標(biāo)回調(diào)這一操作時(shí),虛擬機(jī)發(fā)送支持光標(biāo)回調(diào)的響應(yīng)信息至所述客戶端,并在上述響應(yīng)信息中攜帶該虛擬機(jī)當(dāng)前使用的鼠標(biāo)定位方式??蛻舳伺c虛擬機(jī)進(jìn)行協(xié)商以確定虛擬機(jī)是否支持PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)回調(diào)這一操作,使得該本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法能夠適應(yīng)任何一種虛擬化的操作系統(tǒng),擴(kuò)大了該技術(shù)方案的應(yīng)用場(chǎng)景和應(yīng)用范圍。進(jìn)一步,本發(fā)明還提供了PS/2鼠標(biāo)移動(dòng)的控制方法第三實(shí)施例;本發(fā)明實(shí)施例中,客戶端與虛擬機(jī)不進(jìn)行協(xié)商,虛擬機(jī)初始化后,直接將虛擬機(jī)使用的鼠標(biāo)定位方式發(fā)送至客戶端?;谝陨蠈?shí)施例的描述,如圖6所示,本發(fā)明實(shí)施例與圖1所述實(shí)施例的區(qū)別是,在圖1所述實(shí)施例的步驟S01之前還包括:步驟S31、虛擬機(jī)初始化后,將虛擬機(jī)使用的鼠標(biāo)定位方式發(fā)送至客戶端;本發(fā)明實(shí)施例中,針對(duì)客戶端和虛擬機(jī)的虛擬化軟件均為私有軟件時(shí),可以不進(jìn)行圖5所述實(shí)施例的協(xié)商步驟,虛擬機(jī)在初始化完成后,直接將虛擬機(jī)當(dāng)前所使用的鼠標(biāo)定位方式發(fā)送至客戶端;客戶端根據(jù)虛擬機(jī)當(dāng)前所使用的鼠標(biāo)定位方式,采集PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的移動(dòng)信息。比如,基于同一供應(yīng)商研發(fā)或者提供的客戶端及虛擬機(jī)所對(duì)應(yīng)的虛擬軟件系統(tǒng)時(shí),則客戶端和虛擬機(jī)將不必進(jìn)行協(xié)商。進(jìn)一步地,本發(fā)明實(shí)施例中,當(dāng)虛擬機(jī)所采用的鼠標(biāo)定位方式發(fā)生改變后,虛擬機(jī)也將變化后的鼠標(biāo)定位方式主動(dòng)告知客戶端。本發(fā)明實(shí)施例虛擬機(jī)將使用的鼠標(biāo)定位方式發(fā)送至客戶端,提高了虛擬機(jī)和客戶端交互的智能性。圖7是本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)一實(shí)施例功能模塊示意圖。如圖7所示,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)包括客戶端100和虛擬機(jī)200。所述客戶端100用于:檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置;獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo),將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī)200;由于PS/2鼠標(biāo)的移動(dòng)不是根據(jù)客戶端100的像素值來確定,而是根據(jù)該鼠標(biāo)對(duì)應(yīng)的光標(biāo)移動(dòng)前后的兩次坐標(biāo)位置的偏移來確定的,因此當(dāng)虛擬系統(tǒng)中使用的是PS/2鼠標(biāo)時(shí),客戶端100將采集的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)發(fā)送至虛擬機(jī)200;虛擬機(jī)200根據(jù)客戶端100發(fā)送的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo),將此次位移數(shù)據(jù)對(duì)比上次位移數(shù)據(jù)的相對(duì)位移差,并將PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)轉(zhuǎn)換為移動(dòng)位移數(shù)據(jù)發(fā)送到GUEST系統(tǒng)。由于客戶端100顯示界面的區(qū)域范圍有限,因此每次當(dāng)客戶端100檢測(cè)到顯示在客戶端100的GUEST系統(tǒng)中,PS/2鼠標(biāo)的光標(biāo)移出客戶顯示界面時(shí),客戶端100均將PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置。本發(fā)明實(shí)施例中,所述客戶端顯示界面的可視區(qū)域可以理解為GUEST系統(tǒng)的顯示窗口比如VNC軟件窗口與客戶端100的顯示界面如客戶端桌面重疊的部分,且該部分能夠在用戶的可視范圍內(nèi)。如圖2所示,客戶端100運(yùn)行的GUEST系統(tǒng)所對(duì)應(yīng)到顯示窗口即圖2所示VNC窗口,當(dāng)客戶端100顯示界面完全包含該GUEST系統(tǒng)對(duì)應(yīng)的VNC窗口時(shí),即圖2所示的VNC窗口②這一狀態(tài)時(shí),該GUEST系統(tǒng)的可視區(qū)域即為整個(gè)VNC窗口②;當(dāng)GUEST系統(tǒng)對(duì)應(yīng)的顯示窗口沒有完全容置在客戶端100的顯示界面范圍內(nèi)時(shí),比如,當(dāng)圖2所示的GUEST系統(tǒng)的VNC窗口②移動(dòng)至VNC窗口①或者VNC窗口③的位置時(shí),此時(shí)該GUEST系統(tǒng)的可視區(qū)域即為VNC窗口與客戶端100的顯示界面的重疊區(qū)域,即VNC窗口①或者VNC窗口③中的灰度區(qū)域。當(dāng)客戶端100將PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置后,基于該客戶端100自身的顯示界面,客戶端100建立坐標(biāo)系;基于顯示界面所處的坐標(biāo)系,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo);并將回調(diào)后的所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī)200。在本發(fā)明的一優(yōu)選實(shí)施例中,為了便于后續(xù)獲取該P(yáng)S/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置時(shí),便于進(jìn)行計(jì)算,客戶端100將所述光標(biāo)的位置重新置于所述客戶端顯示界面中可視區(qū)域的中點(diǎn),比如將圖2VNC窗口①或者VNC窗口③中灰色區(qū)域?qū)?yīng)的長(zhǎng)方形的兩條對(duì)角線的交叉點(diǎn)作為客戶端100重置后PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的新位置坐標(biāo)。所述虛擬機(jī)200用于:接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)位移的基準(zhǔn)坐標(biāo),以便根據(jù)所述基準(zhǔn)坐標(biāo)計(jì)算獲取所述光標(biāo)下次移動(dòng)的位移。虛擬機(jī)200接收并保存客戶端100發(fā)送的所述光標(biāo)回調(diào)后的新位置坐標(biāo),并將所述新位置坐標(biāo)作為后續(xù)計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo);并根據(jù)該基準(zhǔn)坐標(biāo)與后續(xù)所述光標(biāo)移動(dòng)后的位置坐標(biāo),計(jì)算該基準(zhǔn)坐標(biāo)與后續(xù)所述光標(biāo)移動(dòng)后的位置坐標(biāo)的偏移,并將計(jì)算結(jié)果發(fā)送至GUEST系統(tǒng),控制GUEST系統(tǒng)上PS/2鼠標(biāo)的光標(biāo)移動(dòng)。在應(yīng)用本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)運(yùn)行之前,在客戶端100顯示界面上GUEST系統(tǒng)可視區(qū)域中PS/2鼠標(biāo)光標(biāo)移動(dòng)時(shí),該光標(biāo)不能移動(dòng)至GUEST系統(tǒng)可視區(qū)域中的任一像素點(diǎn),比如圖3a所示的左側(cè)灰色區(qū)域,該光標(biāo)不能達(dá)到,且用戶在GUEST系統(tǒng)可視區(qū)域中移動(dòng)PS/2鼠標(biāo)時(shí),該P(yáng)S/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)與客戶端100對(duì)應(yīng)的光標(biāo)不一致,因此出現(xiàn)圖3a所示的雙光標(biāo)現(xiàn)象。采用本發(fā)明實(shí)施例PS/2鼠標(biāo)移動(dòng)的控制方法后,PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)可以移動(dòng)至GUEST系統(tǒng)的任一像素點(diǎn),此時(shí)隱藏了客戶端鼠標(biāo)所對(duì)應(yīng)的光標(biāo),即如圖3b所示,GUEST系統(tǒng)上用戶可見的PS/2鼠標(biāo)對(duì)應(yīng)的光標(biāo)僅有一個(gè)。本發(fā)明實(shí)施例客戶端檢測(cè)到顯示在所述客戶端的GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)移出客戶端顯示界面,將所述光標(biāo)回調(diào)至所述客戶端顯示界面中可視區(qū)域的預(yù)設(shè)位置,獲取回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo);所述客戶端將回調(diào)后所述光標(biāo)的新位置坐標(biāo)發(fā)送至虛擬機(jī);所述虛擬機(jī)接收所述新位置坐標(biāo),將所述新位置坐標(biāo)作為計(jì)算所述光標(biāo)移動(dòng)的基準(zhǔn)坐標(biāo);達(dá)到了GUEST系統(tǒng)中PS/2鼠標(biāo)的光標(biāo)可以移動(dòng)至GUEST系統(tǒng)中任一像素點(diǎn)的有益效果;由于本方案不用對(duì)GUEST系統(tǒng)進(jìn)行任何修改,因此提高了系統(tǒng)穩(wěn)定性。進(jìn)一步地,請(qǐng)?jiān)俅螀⒄請(qǐng)D7,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)實(shí)施例中,當(dāng)虛擬機(jī)200接收到客戶端100重置PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)后的新位置坐標(biāo),并將接收到新位置坐標(biāo)作為計(jì)算所述光標(biāo)下次移動(dòng)后計(jì)算該光標(biāo)偏移的基準(zhǔn)坐標(biāo)之后,客戶端100再次向虛擬機(jī)200發(fā)送所采集的PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的位置坐標(biāo)時(shí),虛擬機(jī)200執(zhí)行如下操作:基于以上實(shí)施例的描述,本發(fā)明實(shí)施例中,客戶端100獲取到回調(diào)后所述光標(biāo)在所述預(yù)設(shè)位置的新位置坐標(biāo)后,對(duì)獲取的所述新位置坐標(biāo)添加標(biāo)記位,用于標(biāo)識(shí)該新位置坐標(biāo)是回調(diào)后該光標(biāo)重新對(duì)應(yīng)的位置坐標(biāo),而不是普通采集的該光標(biāo)進(jìn)行移動(dòng)時(shí)所對(duì)應(yīng)的位置坐標(biāo)。客戶端100將包含標(biāo)記位的所述新位置坐標(biāo)發(fā)送至虛擬機(jī)200;虛擬機(jī)200接收到客戶端100發(fā)送GUEST系統(tǒng)中所述光標(biāo)的位置坐標(biāo)時(shí),首先識(shí)別該位置坐標(biāo)是否攜帶有標(biāo)記位,即識(shí)別該位置坐標(biāo)是否為重置后的位置坐標(biāo),并根據(jù)識(shí)別結(jié)果執(zhí)行后續(xù)操作。在識(shí)別所述位置坐標(biāo)攜帶標(biāo)記位時(shí),虛擬機(jī)200保存所述位置坐標(biāo),并不將該坐標(biāo)位置發(fā)送至GUEST系統(tǒng),而是保存在虛擬機(jī)200的內(nèi)存中,并替換已保存的基準(zhǔn)坐標(biāo),將所述位置坐標(biāo)作為新基準(zhǔn)坐標(biāo),以便于下次計(jì)算PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的偏移。在識(shí)別所述位置坐標(biāo)未攜帶標(biāo)記位時(shí),虛擬機(jī)200根據(jù)所述位置坐標(biāo)及已保存的基準(zhǔn)坐標(biāo),計(jì)算獲取所述光標(biāo)本次移動(dòng)的位移,并將計(jì)算的光標(biāo)本次偏移的結(jié)果發(fā)送至GUEST系統(tǒng);GUEST系統(tǒng)接收到虛擬機(jī)200發(fā)送的光標(biāo)的坐標(biāo)偏移,控制所述光標(biāo)在該GUEST系統(tǒng)內(nèi)移動(dòng)。本發(fā)明實(shí)施例虛擬機(jī)200能夠根據(jù)客戶端100發(fā)送的位置坐標(biāo)識(shí)別對(duì)該位置坐標(biāo)進(jìn)行處理,提高了虛擬機(jī)200的智能性,降低了資源占用率。進(jìn)一步地,請(qǐng)?jiān)俅螀⒄請(qǐng)D7,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)實(shí)施例中,客戶端100執(zhí)行PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的回調(diào)之前,與虛擬機(jī)200進(jìn)行協(xié)商,以兼容不同的虛擬化軟件。客戶端100發(fā)起協(xié)商,詢問虛擬機(jī)200是否支持PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的回調(diào)技術(shù);比如,客戶端100接收到SERVERINIT消息后,向虛擬機(jī)200對(duì)應(yīng)的虛擬化軟件發(fā)送“是否支持PS/2鼠標(biāo)擴(kuò)展”請(qǐng)求;虛擬機(jī)200接收到該詢問消息,若不支持該請(qǐng)求,則按照RFB標(biāo)準(zhǔn)直接忽略客戶端100的協(xié)商請(qǐng)求;若虛擬機(jī)200支持該請(qǐng)求,則回復(fù)客戶端100支持PS/2鼠標(biāo)擴(kuò)展。本發(fā)明實(shí)施例對(duì)客戶端100和虛擬機(jī)200的協(xié)商方式不做限定,只要二者能達(dá)到協(xié)商的目的即可。當(dāng)虛擬機(jī)200支持光標(biāo)回調(diào)這一操作時(shí),虛擬機(jī)200發(fā)送支持光標(biāo)回調(diào)的響應(yīng)信息至所述客戶端100,并在上述響應(yīng)信息中攜帶該虛擬機(jī)200當(dāng)前使用的鼠標(biāo)定位方式。客戶端100與虛擬機(jī)200進(jìn)行協(xié)商以確定虛擬機(jī)200是否支持PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)回調(diào)這一操作,使得該本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制方法能夠適應(yīng)任何一種虛擬化的操作系統(tǒng),擴(kuò)大了該技術(shù)方案的應(yīng)用場(chǎng)景和應(yīng)用范圍。進(jìn)一步地,請(qǐng)?jiān)俅螀⒄請(qǐng)D7,本發(fā)明PS/2鼠標(biāo)移動(dòng)的控制系統(tǒng)實(shí)施例中,客戶端100與虛擬機(jī)200不進(jìn)行協(xié)商,虛擬機(jī)200初始化后,直接將虛擬機(jī)200使用的鼠標(biāo)定位方式發(fā)送至客戶端100。本發(fā)明實(shí)施例中,針對(duì)客戶端100和虛擬機(jī)200的虛擬化軟件均為私有軟件時(shí),客戶端100和虛擬機(jī)200可以不進(jìn)行協(xié)商,虛擬機(jī)200在初始化完成后,直接將虛擬機(jī)200當(dāng)前所使用的鼠標(biāo)定位方式發(fā)送至客戶端100;客戶端100根據(jù)虛擬機(jī)200當(dāng)前所使用的鼠標(biāo)定位方式,采集PS/2鼠標(biāo)對(duì)應(yīng)光標(biāo)的移動(dòng)信息。比如,基于同一供應(yīng)商研發(fā)或者提供的客戶端100及虛擬機(jī)200所對(duì)應(yīng)的虛擬軟件系統(tǒng)時(shí),則客戶端100和虛擬機(jī)200將不必進(jìn)行協(xié)商。進(jìn)一步地,本發(fā)明實(shí)施例中,當(dāng)虛擬機(jī)200所采用的鼠標(biāo)定位方式發(fā)生改變后,虛擬機(jī)200也將變化后的鼠標(biāo)定位方式主動(dòng)告知客戶端100。本發(fā)明實(shí)施例虛擬機(jī)200將使用的鼠標(biāo)定位方式發(fā)送至客戶端,提高了虛擬機(jī)200和客戶端交互的智能性。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。