本技術(shù)涉及終端交互,特別涉及一種共享輸入設(shè)備的方法、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著終端技術(shù)的發(fā)展,終端設(shè)備的種類和數(shù)量越來越多。其中,該終端設(shè)備可以包括:手機、平板、電腦以及可穿戴設(shè)備等。目前,一個終端設(shè)備已不能滿足用戶的需求,用戶可以使用多個終端設(shè)備,例如使用手機、平板以及電腦以滿足工作和學習的需求。但是,由于各個終端設(shè)備之間是獨立的,每個終端設(shè)備擁有與自身配套的輸入設(shè)備,當多個終端設(shè)備均存在業(yè)務(wù)需要用戶處理時,用戶需要在不同的終端設(shè)備的輸入設(shè)備之間來回切換操作,操作繁瑣,不利于用戶體驗。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種共享輸入設(shè)備的方法、電子設(shè)備及存儲介質(zhì),可以實現(xiàn)多設(shè)備間共享輸入設(shè)備,使得用戶可以使用同一個輸入設(shè)備操控多個設(shè)備,避免了在不同輸入設(shè)備之間來回切換操作,從而簡化了用戶的操作,提高了輸入效率。所述技術(shù)方案如下:
2、第一方面,提供了一種共享輸入設(shè)備的方法,應(yīng)用于第一電子設(shè)備,第一電子設(shè)備連接有用于輸入控制指令的輸入設(shè)備,為共享輸入設(shè)備的源端設(shè)備。第一電子設(shè)備在操作系統(tǒng)中配置了鍵鼠共享服務(wù)和輸入管理模塊,鍵鼠共享服務(wù)用于實現(xiàn)第一電子設(shè)備與其他電子設(shè)備之間共享輸入設(shè)備的業(yè)務(wù),輸入管理模塊用于管理第一電子設(shè)備的輸入事件。
3、鍵鼠共享服務(wù)啟動后,可以觸發(fā)輸入管理模塊監(jiān)聽輸入設(shè)備的輸入事件。之后,若接收到用于觸發(fā)第二電子設(shè)備共享第一電子設(shè)備的輸入設(shè)備的操作,響應(yīng)于該操作,鍵鼠共享服務(wù)可以控制第一電子設(shè)備的屏幕停止顯示鼠標光標,以及向輸入管理模塊發(fā)送攔截指令,以使輸入管理模塊根據(jù)攔截指令,將監(jiān)聽到的第一輸入事件發(fā)送給鍵鼠共享服務(wù)。鍵鼠共享服務(wù)接收到第一輸入事件后,可以將第一輸入事件發(fā)送給第二電子設(shè)備,以使第二電子設(shè)備對第一輸入事件進行響應(yīng)。
4、通過在源端設(shè)備的操作系統(tǒng)中配置鍵鼠共享服務(wù)和輸入管理模塊,通過鍵鼠共享服務(wù)和輸入管理模塊將源端設(shè)備的輸入事件進行監(jiān)聽和攔截,攔截后再轉(zhuǎn)發(fā)給對端設(shè)備,以使對端設(shè)備對源端設(shè)備的輸入事件進行響應(yīng),實現(xiàn)了源端設(shè)備與對端設(shè)備共享輸入設(shè)備,使得用戶可以使用同一個輸入設(shè)備操控多個設(shè)備,避免了在不同輸入設(shè)備之間來回切換操作,從而簡化了用戶的操作,提高了輸入效率和用戶體驗。而且,這種方案適用于操作系統(tǒng)為安卓系統(tǒng)的源端設(shè)備,擴展了共享輸入設(shè)備的應(yīng)用場景。
5、其中,輸入設(shè)備可以為鼠標設(shè)備、鍵盤設(shè)備、觸摸板、觸摸屏設(shè)備和傳感設(shè)備等,本技術(shù)實施例對此不做限定。示例地,該輸入設(shè)備為外接輸入設(shè)備,如外接鼠標或外接鍵盤。通過本技術(shù)實施例提供的共享輸入設(shè)備的方法,可以攔截外接輸入設(shè)備的輸入事件,并將攔截到的輸入事件轉(zhuǎn)發(fā)給第二電子設(shè)備進行響應(yīng),從而實現(xiàn)第二電子設(shè)備共享第一電子設(shè)備的外接輸入設(shè)備,以使用戶可以使用第一電子設(shè)備的外接輸入設(shè)備在第二電子設(shè)備中進行輸入。
6、其中,第二操作是指觸發(fā)第二電子設(shè)備共享第一電子設(shè)備的輸入設(shè)備的操作,即將輸入設(shè)備切換至第二電子設(shè)備使用的切換操作。作為一個示例,輸入設(shè)備是否切換至其他設(shè)備使用可以用第一電子設(shè)備的鼠標光標是否穿越來指示,比如,若鼠標光標穿越則指示輸入設(shè)備切換至其他設(shè)備使用,鼠標光標未穿越則指示輸入設(shè)備未切換至其他設(shè)備使用。其中,鼠標光標穿越是指鼠標光標向第一電子設(shè)備的屏幕外移動,比如,鼠標光標向第一電子設(shè)備的屏幕外且指向第二電子設(shè)備的方向移動。
7、鍵鼠共享服務(wù)啟動后,可以在合適的時機為輸入管理模塊配置輸入事件監(jiān)聽器,輸入管理模塊可以通過配置的輸入事件監(jiān)聽器監(jiān)聽輸入設(shè)備的輸入事件。通過為輸入管理模塊配置輸入事件監(jiān)聽器,可以實現(xiàn)對輸入設(shè)備的輸入事件的監(jiān)聽。
8、在一些實施例中,可以在鍵鼠共享服務(wù)啟動后,為輸入管理模塊配置輸入事件監(jiān)聽器。
9、在一些實施例中,可以在鍵鼠共享服務(wù)啟動后,檢測到第一電子設(shè)備與第二電子設(shè)備建立連接時,為輸入管理模塊配置輸入事件監(jiān)聽器。通過在檢測到第一電子設(shè)備與第二電子設(shè)備建立連接時,為輸入管理模塊配置輸入事件監(jiān)聽器,觸發(fā)輸入事件的監(jiān)聽,可以節(jié)省監(jiān)聽功耗,避免無意義的監(jiān)聽。
10、其中,輸入管理模塊可以包括第一輸入管理服務(wù)和第一電話窗口管理器。第一輸入管理服務(wù)用于監(jiān)聽鼠標事件,還可以將監(jiān)聽的鼠標事件發(fā)送給鍵鼠共享服務(wù)。鼠標事件是指鼠標設(shè)備的輸入事件,如鼠標設(shè)備的點擊事件、移動事件或滾輪滾動事件等。第一輸入管理服務(wù)是基于系統(tǒng)原生的輸入管理服務(wù)進行擴展的輸入管理服務(wù),在系統(tǒng)原生的輸入管理服務(wù)具有的功能的基礎(chǔ)上,擴展了監(jiān)聽和攔截鼠標事件的功能。
11、其中,第一電話窗口管理器用于監(jiān)聽鍵盤事件,還可以將監(jiān)聽的鍵盤事件發(fā)送給鍵鼠共享服務(wù)。鍵盤事件是指鍵盤設(shè)備的按鍵事件。第一電話窗口管理器可以是基于系統(tǒng)原生的電話窗口管理器基于擴展的電話窗口管理器,在系統(tǒng)原生的電話窗口管理器具備的功能的基礎(chǔ)上,擴展了監(jiān)聽和攔截鍵盤事件的功能。
12、在一些實施例中,鍵鼠共享服務(wù)可以為為第一輸入管理服務(wù)配置鍵鼠事件監(jiān)聽器,以使輸入管理服務(wù)通過配置的鍵鼠事件監(jiān)聽器監(jiān)聽鼠標事件。如此,可以實現(xiàn)對鼠標事件的監(jiān)聽。
13、在一些實施例中,鍵鼠共享服務(wù)可以為第一電話窗口管理器配置鍵鼠事件監(jiān)聽器,以使第一電話窗口管理器通過配置的鍵鼠事件監(jiān)聽器監(jiān)聽包括鍵盤事件的按鍵事件。如此,可以實現(xiàn)對鍵盤事件的監(jiān)聽。
14、在一些實施例中,輸入管理模塊還可以根據(jù)攔截指令,控制第一電子設(shè)備不對第一輸入事件進行響應(yīng)。如此,可以保證只有第二電子設(shè)備對第一輸入事件進行響應(yīng),避免第一電子設(shè)備和第二電子設(shè)備同時對第一輸入事件進行響應(yīng),從而避免了輸入事件響應(yīng)混亂,提高了使用輸入設(shè)備操控電子設(shè)備的精準性。
15、在一些實施例中,輸入管理模塊可以向輸入分發(fā)器發(fā)送停止分發(fā)指令,輸入分發(fā)器根據(jù)停止分發(fā)指令,不對第一輸入事件進行事件分發(fā),以使第一電子設(shè)備不對第一輸入事件進行響應(yīng)。
16、通常情況下,比如在第二電子設(shè)備未共享第一電子設(shè)備的輸入設(shè)備的狀態(tài)時,輸入分發(fā)器接收到輸入讀取器讀取的輸入事件后,可以將輸入事件分發(fā)至第一電子設(shè)備中該輸入事件對應(yīng)的響應(yīng)模塊,由該響應(yīng)模塊對該輸入事件進行響應(yīng),從而實現(xiàn)第一電子設(shè)備對該輸入事件的響應(yīng)。本技術(shù)實施例中,為了控制第一電子設(shè)備不對該輸入事件進行響應(yīng),可以向輸入分發(fā)器發(fā)送停止分發(fā)指令,以通過停止分發(fā)指令控制輸入分發(fā)器不對該輸入事件進行響應(yīng),進而實現(xiàn)控制第一電子設(shè)備不對輸入事件進行響應(yīng)。
17、在一些實施例中,輸入管理模塊包括第一輸入管理服務(wù),第一輸入管理服務(wù)可以根據(jù)該攔截指令向輸入分發(fā)器發(fā)送第一停止分發(fā)指令,輸入分發(fā)器根據(jù)第一停止分發(fā)指令,可以不對鼠標事件進行事件分發(fā)。如此,可以實現(xiàn)第一電子設(shè)備不對鼠標事件進行響應(yīng),避免了對鼠標事件的響應(yīng)混亂,提高了響應(yīng)鼠標事件的精準度,進而提高了用戶通過鼠標操控設(shè)備的精準度。
18、在一些實施例中,輸入管理模塊包括第一電話窗口管理器,第一電話窗口管理器可以向輸入分發(fā)器發(fā)送第二停止分發(fā)指令,輸入分發(fā)器可以根據(jù)第二停止分發(fā)指令,不對鼠標事件進行事件分發(fā)。如此,可以實現(xiàn)第一電子設(shè)備不對鼠標事件進行響應(yīng),避免了對鍵盤事件的響應(yīng)混亂,提高了響應(yīng)鍵盤事件的精準度,進而提高了用戶通過鍵盤操控設(shè)備的精準度。
19、在一些實施例中,第一電話窗口管理器監(jiān)聽到第一按鍵事件后,可以判斷第一按鍵事件是否為鍵盤事件,若確定第一按鍵事件是鍵盤事件,則將第一按鍵事件發(fā)送給鍵鼠共享服務(wù)。若確定第一按鍵事件不是鍵盤事件,則不將第一按鍵事件發(fā)送給鍵鼠共享服務(wù)。如此,可以實現(xiàn)僅對第一電子設(shè)備的外接鍵盤設(shè)備的按鍵事件進行攔截和轉(zhuǎn)發(fā),對于其他按鍵事件,如第一電子設(shè)備的系統(tǒng)按鍵事件,仍然由第一電子設(shè)備自身進行響應(yīng)。
20、其中,系統(tǒng)按鍵事件是指第一電子設(shè)備的原生按鍵的按鍵事件。比如,原生按鍵可以為第一電子設(shè)備的電源按鍵、音量按鍵等。
21、在一些實施例中,第一輸入管理服務(wù)監(jiān)聽到第一鼠標事件后,可以判斷第一鼠標事件是否為鼠標設(shè)備的輸入事件,若是,則將第一鼠標事件發(fā)送給鍵鼠共享服務(wù)。若不是,則不將第一按鍵事件發(fā)送給鍵鼠共享服務(wù)。如此,可以實現(xiàn)僅對第一電子設(shè)備的外接鼠標設(shè)備的鼠標事件進行攔截和轉(zhuǎn)發(fā),對于其他鼠標事件,如觸摸板觸發(fā)的鼠標事件,仍然由第一電子設(shè)備自身進行響應(yīng)。
22、在一些實施例中,輸入管理模塊將監(jiān)聽到的第一輸入事件發(fā)送給鍵鼠共享服務(wù)之前,輸入讀取器讀取第一輸入事件;輸入讀取器調(diào)用輸入分發(fā)器的輸入通知方法,通過輸入通知方法將第一輸入事件發(fā)送給輸入管理模塊。
23、如此,可以實現(xiàn)輸入讀取器將讀取的輸入事件發(fā)送給輸入管理模塊,進而實現(xiàn)輸入管理模塊對輸入事件的監(jiān)聽。
24、在一些實施例中,輸入讀取器可以調(diào)用輸入分發(fā)器的鼠標通知方法,通過輸入通知方法將第一鼠標事件發(fā)送給第一輸入管理服務(wù)。輸入讀取器可以調(diào)用輸入分發(fā)器的鍵盤通知方法,通過鍵盤通知方法將第一鍵盤事件發(fā)送給第一電話窗口管理器。
25、如此,可以分別實現(xiàn)輸入讀取器將讀取的鼠標事件發(fā)送給第一輸入管理模塊,將讀取的鍵盤事件發(fā)送給第一電話窗口管理器,從而實現(xiàn)對鼠標事件和鍵盤事件的監(jiān)聽。
26、在一些實施例中,鍵鼠共享服務(wù)啟動后,還可以在合適的時機為輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器進行狀態(tài)初始化。比如,在檢測到第一電子設(shè)備與第二電子設(shè)備建立連接后,為輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器進行狀態(tài)初始化。
27、其中,為輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器進行狀態(tài)初始化的操作包括:確定鍵鼠共享服務(wù)的鍵鼠共享狀態(tài),向輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器發(fā)送初始化狀態(tài)參數(shù),以使輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器根據(jù)初始化狀態(tài)參數(shù),對存儲的鍵鼠共享狀態(tài)進行初始化。鍵鼠共享狀態(tài)可以包括平板是否與第二電子設(shè)備建立連接,輸入設(shè)備是否切換至第二電子設(shè)備使用等。其中,初始化狀態(tài)參數(shù)包括當前的鍵鼠共享狀態(tài),以便輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器將存儲的鍵鼠共享狀態(tài)初始化為當前的鍵鼠共享狀態(tài)。
28、在一些實施例中,鍵鼠共享服務(wù)控制第一電子設(shè)備的屏幕停止顯示鼠標光標的操作包括:鍵鼠共享服務(wù)向輸入讀取器發(fā)送第一控制指令,輸入讀取器根據(jù)第一控制指令,關(guān)閉鼠標光標的繪制功能,以使第一電子設(shè)備的屏幕停止顯示鼠標光標。
29、另外,鍵鼠共享服務(wù)若檢測到鍵鼠共享狀態(tài)發(fā)生變更,還可以根據(jù)變更后的鍵鼠共享狀態(tài)對輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器存儲的鍵鼠共享狀態(tài)進行更新。
30、通過對輸入讀取器、第一輸入管理服務(wù)和第一電話窗口管理器進行狀態(tài)初始化和狀態(tài)更新,可以使得輸入讀取器根據(jù)鍵鼠共享狀態(tài)控制鼠標光標的繪制功能的開啟或關(guān)閉,使得第一輸入管理服務(wù)可以根據(jù)鍵鼠共享狀態(tài)控制對鼠標事件的攔截,使得第一電話窗口管理器可以根據(jù)鍵鼠共享狀態(tài)控制對鍵盤事件的攔截。
31、例如,上述第一控制指令可以為第二鍵鼠共享狀態(tài)信息,第二鍵鼠共享狀態(tài)信息用于指示第二電子設(shè)備共享第一電子設(shè)備的輸入設(shè)備,即第一電子設(shè)備的輸入設(shè)備切換至第二電子設(shè)備使用。再例如,上述攔截指令也可以為第二鍵鼠共享狀態(tài)信息。
32、在一些實施例中,鍵鼠共享服務(wù)可以觸發(fā)輸入管理模塊監(jiān)聽輸入設(shè)備的輸入事件,以及將監(jiān)聽的輸入事件發(fā)送給鍵鼠共享服務(wù)。在鍵鼠共享服務(wù)控制第一電子設(shè)備的屏幕停止顯示鼠標光標,向輸入管理模塊發(fā)送攔截指令之前,輸入管理模塊還可以監(jiān)聽到第二輸入事件,將第二輸入事件發(fā)送給鍵鼠共享服務(wù),鍵鼠共享服務(wù)若根據(jù)第二輸入事件確定鼠標光標穿越,則確定接收到第二電子設(shè)備共享第一電子設(shè)備的操作,然后控制第一電子設(shè)備的屏幕停止顯示鼠標光標,以及向輸入管理模塊發(fā)送攔截指令。其中,鼠標光標穿越是指第一電子設(shè)備的鼠標光標向第一電子設(shè)備的屏幕外移動,如向屏幕左側(cè)邊界外移動,或向屏幕右側(cè)邊界外移動。
33、如此,用戶可以通過移動鼠標操控鼠標光標穿越,即操控鼠標光標向第一電子設(shè)備的屏幕外移動,比如向屏幕左側(cè)邊界外移動,或向屏幕右側(cè)邊界外移動,來將第一電子設(shè)備的輸入設(shè)備切換至第二電子設(shè)備上使用,方便用戶操作,提高了共享輸入設(shè)備的靈活性和效率。
34、第二方面,提供了一種共享輸入設(shè)備的裝置,所述共享輸入設(shè)備的裝置具有實現(xiàn)上述第一方面中共享輸入設(shè)備的方法行為的功能。所述共享輸入設(shè)備的裝置包括至少一個模塊,所述至少一個模塊用于實現(xiàn)上述第一方面所提供的共享輸入設(shè)備的方法。
35、第三方面,提供了一種共享輸入設(shè)備的裝置,所述共享輸入設(shè)備的裝置的結(jié)構(gòu)中包括處理器和存儲器,所述存儲器用于存儲支持共享輸入設(shè)備的裝置執(zhí)行上述第一方面所提供的共享輸入設(shè)備的方法的程序,以及存儲用于實現(xiàn)上述第一方面所述的共享輸入設(shè)備的方法所涉及的數(shù)據(jù)。所述處理器被配置為用于執(zhí)行所述存儲器中存儲的程序。所述共享輸入設(shè)備的裝置還可以包括通信總線,所述通信總線用于在所述處理器與所述存儲器之間建立連接。
36、第四方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有指令,當其在計算機上運行時,使得計算機執(zhí)行上述第一方面所述的共享輸入設(shè)備的方法。
37、第五方面,提供了一種包含指令的計算機程序產(chǎn)品,當其在計算機上運行時,使得計算機執(zhí)行上述第一方面所述的共享輸入設(shè)備的方法。
38、上述第二方面、第三方面、第四方面和第五方面所獲得的技術(shù)效果與上述第一方面中對應(yīng)的技術(shù)手段獲得的技術(shù)效果近似,在這里不再贅述。