本發(fā)明涉及計算機,尤其涉及一種應(yīng)用于畫面分割中鼠標穿越控制的方法及系統(tǒng)。
背景技術(shù):
1、隨著網(wǎng)絡(luò)時代的快速發(fā)展,計算機設(shè)備已普遍用于人們的日常生活。而目前,單一顯示畫面已不能滿足用戶的需求,用戶通常會在多個顯示畫面中來回切換。目前的畫面分割器,支持windows/macos系統(tǒng)的源設(shè)備通過hdmi線接入視頻,通過usb線控制鼠標穿越。但目前的鼠標穿越控制無法實現(xiàn)多個手機畫面間和手機與計算機間的鼠標穿越控制,也無法實現(xiàn)不同操作系統(tǒng)間的鼠標穿越控制。同時現(xiàn)有的鼠標穿越控制中未形成完整可靠的事件上報策略,導致不同系統(tǒng)的指針事件未能準確上報,使不同系統(tǒng)畫面的鼠標穿越控制無法達到預期效果。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種應(yīng)用于畫面分割中鼠標穿越控制的方法及系統(tǒng),實現(xiàn)不同系統(tǒng)畫面間的鼠標穿越控制,使不同系統(tǒng)畫面的鼠標穿越控制達到更為理想的效果。
2、為了解決上述技術(shù)問題,本發(fā)明提供了一種應(yīng)用于畫面分割中鼠標穿越控制的方法,所述方法基于畫面分割器kvm接入多個不同的源設(shè)備,所述kvm將多個不同的源設(shè)備所輸入的多路輸入源采用畫面分割技術(shù)顯示在所接入的顯示設(shè)備上,所述方法包括:
3、在所述kvm將多個不同的源設(shè)備所輸入的多路輸入源采用畫面分割技術(shù)成型分屏顯示畫面時,基于usb鍵鼠控制系統(tǒng)枚舉所接入的鍵鼠設(shè)備類型和鍵鼠信息;
4、基于所述鍵鼠信息獲取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符;
5、基于所對應(yīng)的usb標準描述符將所述鍵鼠設(shè)備類型和鍵鼠信息轉(zhuǎn)換成按鍵事件;
6、所在畫面通道上的操作系統(tǒng)響應(yīng)所述按鍵事件。
7、可選的,所述基于所述鍵鼠信息獲取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符,包括:
8、基于鍵鼠信息判斷鼠標是否進行了跨畫面移動;
9、在判斷鼠標進行了跨畫面移動時,則基于鍵鼠設(shè)備類型提取跨畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符;
10、在判斷鼠標未進行跨畫面移動時,則獲取當前畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符。
11、可選的,所述基于鍵鼠信息判斷鼠標是否進行了跨畫面移動,包括:
12、基于所述鍵鼠信息提取鼠標的相對位移量,基于所述相對位移量計算鼠標所在的畫面通道值,基于鼠標所在的畫面通道值判斷鼠標是否進行了跨畫面移動。
13、可選的,所述鼠標所在的畫面通道值的計算過程為:
14、計算鼠標的當前位置:
15、xhost′=xhost+deltax,
16、yhost′=y(tǒng)host+delay,
17、其中,xhost′為當前鼠標的橫坐標位置,yhost′為當前鼠標的縱坐標位置,xhost為鼠標初始橫坐標位置,yhost為鼠標初始縱坐標位置,deltax為鼠標的橫軸相對位移量,deltay為鼠標的縱軸相對位移量;
18、基于鼠標的當前位置計算鼠標所在的畫面通道,所述鼠標所在的畫面通道的計算表達式為:
19、
20、其中,chx為鼠標所在的畫面通道,xhost′為當前鼠標的橫坐標位置,yhost′為當前鼠標的縱坐標位置,xmax為分割畫面的橫坐標最大值,ymax為分割畫面的縱坐標最大值,ny為分割畫面的行數(shù);
21、基于鼠標所在的畫面通道的通道坐標值,所述通道坐標值的計算表達式為:
22、xdevice=xhost′%xmax,
23、ydevice=y(tǒng)host′%ymax,
24、其中,xdevice為鼠標所在畫面通道的橫坐標位置,ydevice為鼠標所在畫面通道的縱坐標位置,xhost′為當前鼠標的橫坐標位置,yhost′為當前鼠標的縱坐標位置,xmax為所在畫面的橫坐標最大值,ymax為所在畫面的縱坐標最大值。
25、可選的,所述方法之前還包括:
26、在所述畫面分割器中結(jié)合鍵鼠設(shè)備類型配置操作系統(tǒng)所對應(yīng)的usb標準描述符。
27、可選的,所述在所述畫面分割器中結(jié)合鍵鼠設(shè)備類型配置操作系統(tǒng)所對應(yīng)的usb標準描述符,包括:
28、在所述鍵鼠設(shè)備類型為絕對位置鼠標時,為操作系統(tǒng)配置所對應(yīng)的第一接口描述符,所述第一接口描述符包括第一hid類描述符和端點描述符,所述第一hid類描述符向所述操作系統(tǒng)上報的數(shù)據(jù)格式為八個字節(jié),所述八個字節(jié)為report?id、鼠標按鍵標志位、任意值、滾輪數(shù)值、橫坐標絕對值的高8位、橫坐標絕對值的低8位、縱坐標絕對值的低8位和縱坐標絕對值的高8位;
29、在所述鍵鼠設(shè)備類型為相對位置鼠標時,為操作系統(tǒng)配置所對應(yīng)的第二接口描述符,所述第二接口描述符包括第二hid類描述符和端點描述符,所述第二hid類描述符向所述操作系統(tǒng)上報的數(shù)據(jù)格式為六個字節(jié),所述六個字節(jié)為鼠標按鍵標志位、任意值、橫坐標相對位移量的高8位、橫坐標相對位移量的低8位、縱坐標相對位移量的低8位和縱坐標相對位移量的高8位;
30、在所述鍵鼠設(shè)備類型為觸摸屏或者按鍵時,為操作系統(tǒng)配置所對應(yīng)的第三接口描述符,所述第三接口描述符包括第三hid類描述符和端點描述符,所述第三hid類描述符向所述操作系統(tǒng)上報的數(shù)據(jù)格式為六個字節(jié),所述六個字節(jié)為report?id、觸摸按鍵狀態(tài)標志位、橫坐標絕對值的高8位、橫坐標絕對值的低8位、縱坐標絕對值的低8位和縱坐標絕對值的高8位。
31、可選的,所述基于所述鍵鼠信息獲取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符,包括:
32、獲取操作系統(tǒng)標記,并基于所述操作系統(tǒng)標記判斷所述畫面通道上的操作系統(tǒng)的系統(tǒng)類型,所述系統(tǒng)類型為windows/macos系統(tǒng)、ios系統(tǒng)、andorid/harmonyos系統(tǒng)和非主流操作系統(tǒng)中的一個。
33、可選的,所述基于所述鍵鼠信息獲取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符,包括:
34、若所在畫面通道上的操作系統(tǒng)為windows/macos系統(tǒng),所述windows/macos系統(tǒng)所支持的鍵鼠設(shè)備類型包括絕對位置鼠標,提取usb標準描述符中的第一接口描述符;
35、若所在畫面通道上的操作系統(tǒng)為ios系統(tǒng),所述ios系統(tǒng)所支持的鍵鼠設(shè)備類型包括絕對位置鼠標和相對位置鼠標,提取usb標準描述符中的第一接口描述符和第二接口描述符;
36、若所在畫面通道上的操作系統(tǒng)為andorid/harmonyos系統(tǒng),所述andorid/harmonyos系統(tǒng)所支持的鍵鼠設(shè)備類型包括相對位置鼠標和觸摸屏設(shè)備,提取usb標準描述符中的第二接口描述符和第三接口描述符;
37、若所在畫面通道上的操作系統(tǒng)為非主流操作系統(tǒng),所述非主流操作系統(tǒng)所支持的鍵鼠設(shè)備類型包括絕對位置鼠標和相對位置鼠標,提取usb標準描述符中的第一接口描述符和第二接口描述符。
38、可選的,所述基于所對應(yīng)的usb標準描述符將所述鍵鼠設(shè)備類型和鍵鼠信息轉(zhuǎn)換成按鍵事件,包括:
39、若所在畫面通道上的操作系統(tǒng)為windows/macos系統(tǒng),則基于第一接口描述符將鍵鼠設(shè)備類型和鍵鼠信息轉(zhuǎn)換成按鍵事件進行上報;
40、若所在畫面通道上的操作系統(tǒng)為ios系統(tǒng),則基于第一接口描述符上報鍵鼠信息中的通道坐標值,將相對位置鼠標的位置偏移量設(shè)置為0,將絕對位置鼠標的按鍵事件填充至相對位置鼠標的按鍵位,相對位置鼠標基于第二接口描述符將滾輪事件和鼠標按鍵事件進行上報;
41、若所在畫面通道上的操作系統(tǒng)為andorid/harmonyos系統(tǒng),則將絕對位置鼠標的左鍵按下事件轉(zhuǎn)換為觸摸屏按下事件,在轉(zhuǎn)換為觸摸屏按下事件后,基于絕對位置鼠標將通道坐標值填充至觸摸屏絕對位置位,并基于觸摸屏設(shè)備利用第三接口描述符將通道坐標值和觸摸按下事件進行上報,基于第二接口描述符上報滾輪事件和鼠標按鍵事件;
42、若所在畫面通道上的操作系統(tǒng)為非主流操作系統(tǒng),則基于第一接口描述符上報通道坐標值,并基于第二接口描述符上報滾輪事件和鼠標按鍵事件。
43、另外,本發(fā)明還提供了一種應(yīng)用于畫面分割中鼠標穿越控制的系統(tǒng),所述系統(tǒng)基于畫面分割器kvm接入多個不同的源設(shè)備,所述kvm將多個不同的源設(shè)備所輸入的多路輸入源采用畫面分割技術(shù)顯示在所接入的顯示設(shè)備上,所述系統(tǒng)包括:
44、鍵鼠數(shù)據(jù)枚舉模塊:用于在所述kvm將多個不同的源設(shè)備所輸入的多路輸入源采用畫面分割技術(shù)成型分屏顯示畫面時,基于usb鍵鼠控制系統(tǒng)枚舉所接入的鍵鼠設(shè)備類型和鍵鼠信息;
45、標準描述符獲取模塊:用于基于所述鍵鼠信息獲取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符;
46、事件轉(zhuǎn)換模塊:用于基于所對應(yīng)的usb標準描述符將所述鍵鼠設(shè)備類型和鍵鼠信息轉(zhuǎn)換成按鍵事件;
47、事件響應(yīng)模塊:用于所在畫面通道上的操作系統(tǒng)響應(yīng)所述按鍵事件。
48、在本發(fā)明實施例中,在所述kvm將多個不同的源設(shè)備所輸入的多路輸入源采用畫面分割技術(shù)成型分屏顯示畫面時,基于usb鍵鼠控制系統(tǒng)枚舉所接入的鍵鼠設(shè)備類型和鍵鼠信息,實現(xiàn)不同系統(tǒng)的接入。基于鍵鼠信息判斷鼠標是否進行了跨畫面移動,在判斷鼠標進行了跨畫面移動時,則基于鍵鼠設(shè)備類型提取所在畫面通道上的操作系統(tǒng)所對應(yīng)的usb標準描述符,基于所對應(yīng)的usb標準描述符將所述鍵鼠設(shè)備類型和鍵鼠信息轉(zhuǎn)換成按鍵事件,所在畫面通道上的操作系統(tǒng)響應(yīng)所述按鍵事件,對于不同的系統(tǒng),采用不同的上報策略,以實現(xiàn)多個手機畫面間的鼠標穿越控制以及手機與計算機間的鼠標穿越控制,由此可以兼容不同的系統(tǒng),使不同系統(tǒng)畫面的鼠標穿越控制達到更為理想的效果。