專利名稱:基于遠程應用的本地輸入法映射裝置及方法
技術領域:
本發(fā)明涉及互聯(lián)網技術領域,尤其 涉及一種基于遠程應用的本地輸入法映射的裝置及方法。
背景技術:
隨著互聯(lián)網技術的發(fā)展,通過RAPP (RemoteApp,遠程應用虛擬化)技術實現(xiàn)移動辦公已經成為越來越多辦公人員的基本需求,RAPP技術擁有許多傳統(tǒng)CS (Client-Server,客戶端服務器模式)部署方式所不具備的優(yōu)點,比如數(shù)據(jù)傳輸更安全、網絡帶寬占用更少、部署維護更簡單等。但RAPP還不能做到完全和本地程序一樣的易用性,其中較為典型且常用的是對輸入法易用性的研究?,F(xiàn)有技術是在RAPP Client (遠程應用客戶端)上放置一個浮動的輸入框,用來接收客戶端輸入法的輸入;該浮動的輸入框獲取客戶端輸入的文字后,將獲取到的文字發(fā)送到服務端,服務端控制程序通過windows (視窗操作系統(tǒng))輸入法相關消息將上述文字發(fā)送到遠程應用程序中?,F(xiàn)有技術在輸入法易用性和兼容性上存在很多問題;比如,由于服務端發(fā)布的遠程應用軟件多種多樣,有些軟件實現(xiàn)了自己對輸入法的接管,不處理輸入法相關消息;有些軟件內部對文字有自己的編碼方式,直接發(fā)送輸入法消息將導致字符編碼不一致,形成亂碼;且現(xiàn)有技術無法識別遠程應用的可輸入性及光標跟隨,使本地輸入法在各種不同的遠程應用中不能方便友好地使用。
發(fā)明內容
本發(fā)明的主要目的是提供一種基于遠程應用的本地輸入法映射裝置及方法,旨在解決本地輸入法在遠程應用中不被兼容且不易使用的問題。本發(fā)明公開一種基于遠程應用的本地輸入法映射裝置,包括輸入法代理模塊和輸入法控制模塊;所述輸入法代理模塊用于,將獲取的遠程應用輸入法相關信息發(fā)送至所述輸入法控制1吳塊;所述輸入法控制模塊用于,根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信息轉發(fā)至所述輸入法代理模塊;所述輸入法代理模塊還用于,根據(jù)所述輸入法控制模塊轉發(fā)的字符信息,向遠程應用輸入字符。優(yōu)選地,所述輸入法控制模塊還用于將所述輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法。優(yōu)選地,所述輸入法控制模塊具體用于控制客戶端根據(jù)所述輸入法控制命令,調用所述本地輸入法,對所述本地輸入法進行切換或隱藏,并等待客戶端獲取用戶輸入的所述字符信息。優(yōu)選地,所述遠程應用輸入法相關信息包括光標當前所在界面是否能夠進行輸入及不斷變化的光標位置信息。優(yōu)選地,所述本地輸入法包括客戶端能夠支持的任一類型的輸入法。本發(fā)明還公開一種基于遠程應用的本地輸入法映射方法,包括以下步驟步驟S01、輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊;步驟S02、所述輸入法控制模塊根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信 息轉發(fā)至所述輸入法代理模塊;步驟S03、所述輸入法代理模塊根據(jù)所述字符信息,向遠程應用輸入字符。優(yōu)選地,所述步驟SOl之前還包括步驟步驟S04、所述輸入法控制模塊將所述輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法。優(yōu)選地,所述步驟S03中發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作包括控制客戶端根據(jù)所述輸入法控制命令,調用所述本地輸入法,對所述本地輸入法進行切換或隱藏,并等待客戶端獲取用戶輸入的所述字符信息。優(yōu)選地,所述步驟SOl中遠程應用輸入法相關信息包括光標當前所在界面是否能夠進行輸入及不斷變化的光標位置信息。優(yōu)選地,所述本地輸入法包括客戶端能夠支持的任一類型的輸入法。本發(fā)明通過輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊,輸入法控制模塊根據(jù)輸入法相關信息,發(fā)送輸入法控制命令至客戶端并將獲取的客戶端的字符信息轉發(fā)至輸入法代理模塊,由輸入法代理模塊根據(jù)字符信息,向遠程應用輸入字符的方法,具有遠程應用可兼容任一類型的客戶端本地輸入法的有益效果,增強了本地輸入法在遠程應用中的易用性,提升了用戶體驗。
圖I是本發(fā)明基于遠程應用的本地輸入法映射裝置一實施例結構示意圖;圖2是本發(fā)明基于遠程應用的本地輸入法映射裝置中遠程應用服務端與客戶端交互原理結構示意圖;圖3是本發(fā)明基于遠程應用的本地輸入法映射方法一實施例流程示意圖;圖4是本發(fā)明基于遠程應用的本地輸入法映射方法又一實施例流程示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
具體實施例方式以下結合說明書附圖及具體實施例進一步說明本發(fā)明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明基于遠程應用的本地輸入法映射裝置位于遠程應用服務端,且本發(fā)明基于遠程應用的本地輸入法映射裝置中的輸入法代理模塊和輸入法控制模塊通過與遠程應用交互,完成客戶端本地輸入法在遠程應用服務端上的映射;即通過采用輸入法代理的思想,將遠程應用服務端的輸入法控制消息重定向至客戶端,客戶端調用任意類型的輸入法輸入相關字符,并發(fā)送到輸入法代理模塊,從而實現(xiàn)在遠程應用中采用本地輸入法輸入文字、數(shù)字、空格等字符的目的。本發(fā)明基于遠程應用的本地輸入法映射裝置及方法,將輸入組詞邏輯和輸入法接口分為兩部分并分別在遠程應用客戶端和服務端實現(xiàn),達到了遠程應用輸入法安全接管且兼容性和易用性強的目的。本發(fā)明實施例中所述的客戶端包括臺式電腦、平板電腦、智能手機等一切能夠與遠程應用服務端進行交互的終端設備;本發(fā)明實施例中所述的本地輸入法指運行在遠程應用客戶端的輸入法,相對于服務端輸入法的概念而提出的;本地輸入法包括能夠在客戶端 使用的所有輸入法,比如搜狗輸入法、谷歌輸入法等;若用戶在客戶端對應的本地輸入法中定義有自己的詞庫,則客戶端根據(jù)服務端的輸入法控制模塊發(fā)送的控制命令調用本地輸入法時,將同時調用該輸入法所對應的用戶自定義的詞庫。本發(fā)明所述的本地輸入法映射指的是遠程應用的本地輸入法重定向技術。由于遠程應用實際運行在遠程應用服務器上,因此,遠程應用通常使用遠程應用服務器上的輸入法;但客戶端用戶通常習慣使用的是自身客戶端設備上的輸入法;為了讓遠程應用服務器上的遠程應用能夠使用客戶端的輸入法,就需要通過一定的技術手段將客戶端的輸入法映射到服務端,即本地輸入法映射。參照圖1,圖I是本發(fā)明基于遠程應用的本地輸入法映射裝置一實施例結構示意圖;如圖I所示,本發(fā)明基于遠程應用的本地輸入法映射裝置包括輸入法代理模塊01和輸入法控制模塊02。所述輸入法代理模塊01用于,將獲取的遠程應用輸入法相關信息發(fā)送至所述輸入法控制模塊02 ;當光標焦點置于遠程應用某個界面時,遠程應用向輸入法代理模塊01即當前活動輸入法發(fā)送是否能夠進行輸入、不斷變化的光標位置等遠程應用輸入法相關信息;輸入法代理模塊01獲取遠程應用發(fā)送的上述輸入法相關信息,并將其傳送至輸入法控制模塊02。所述輸入法控制模塊02用于,根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信息轉發(fā)至所述輸入法代理模塊01 ;輸入法控制模塊02對輸入法代理模塊01發(fā)送的遠程應用輸入法相關信息進行處理后,分析出客戶端是否應該向光標當前停留界面彈出客戶端輸入法界面以及彈出該輸入法頁面的位置等;分析完成后,輸入法控制模塊02將上述信息以控制命令的形式發(fā)送至客戶端??蛻舳私邮盏捷斎敕刂颇K02發(fā)送的控制命令后,按照服務端的要求進行對應操作,比如隱藏本地輸入法頁面,或者切換至用戶慣用的本地輸入法頁面并等待用戶輸入文字、數(shù)字、字符串等字符;同時客戶端也能夠根據(jù)服務端輸入法控制模塊02發(fā)送的控制命令獲取當前窗口是否能夠進行字符的輸入,以及輸入字符時光標的具體位置等一切與本地輸入相關的信息。在用戶輸入相關字符后,客戶端獲取用戶輸入的相關字符,并發(fā)送給輸入法控制模塊02,輸入法控制模塊02接收到客戶端返回的字符信息后,將該字符信息轉發(fā)至輸入法代理模塊01。所述輸入法代理模塊01還用于,根據(jù)所述輸入法控制模塊轉發(fā)的字符信息,向遠程應用輸入字符。輸入法代理模塊01根據(jù)輸入法控制模塊02轉發(fā)的字符信息,通過輸入法標準接口向遠程應用程序輸入對應的字符;這樣便完成了在遠程應用中,通過遠程應用服務器控 制客戶端采用本地輸入法進行字符輸入,同時服務器通過輸入法代理模塊01接收客戶端返回的輸入字符并將相應字符通過輸入法代理模塊01輸入至遠程應用的過程。本發(fā)明基于遠程應用的本地輸入法映射裝置中遠程應用服務端與客戶端交互原理結構示意圖請參照圖2,圖2是本發(fā)明基于遠程應用的本地輸入法映射裝置中遠程應用服務端與客戶端交互原理結構示意圖。如圖2所示,本發(fā)明基于遠程應用的本地輸入法映射裝置中,輸入法代理模塊01和輸入法控制模塊02位于遠程應用服務端;遠程應用服務器與客戶端通過互聯(lián)網如LAN(Local Area Network,局域網)或 VPN (Virtual Private Network,虛擬專用網)進行交互。輸入法代理模塊01將獲取的輸入法相關信息發(fā)送給輸入法控制模塊02,輸入法控制模塊02將上述信息進行處理后,將處理后的信息以控制命令的形式發(fā)送給遠程應用客戶端;遠程應用客戶端收到控制命令后,按照服務器的要求調用本地輸入法,并對所述本地輸入法進行切換或隱藏等操作后,等待用戶利用本地輸入法輸入相應字符;用戶完成字符輸入后,遠程應用客戶端將獲取的輸入字符發(fā)送給輸入法控制模塊02 ;輸入法控制模塊02再將該字符轉發(fā)給輸入法代理模塊01,輸入法代理模塊01將上述字符輸入至遠程應用。當遠程應用上當前輸入光標位置發(fā)生變化時,輸入法代理模塊01同樣能夠獲取到該消息,并通過上述流程通知遠程應用客戶端,遠程應用客戶端再同樣控制本地輸入法的當前輸入位置。本實施例通過輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊,輸入法控制模塊根據(jù)輸入法相關信息,發(fā)送輸入法控制命令至客戶端并將獲取的客戶端的字符信息轉發(fā)至輸入法代理模塊,由輸入法代理模塊根據(jù)字符信息,向遠程應用輸入字符,具有遠程應用可兼容任意類型的客戶端本地輸入法的有益效果,即任意客戶端輸入法均能方便、正確地輸入到遠程應用程序中,具有完全的兼容性;同時,增強了本地輸入法在遠程應用中的易用性,提升了用戶體驗。所述輸入法控制模塊02還用于將所述輸入法代理模塊01對應的輸入法設置為遠程應用的活動輸入法。在遠程應用程序啟動時,遠程應用服務端的輸入法控制模塊02將輸入法代理模塊01設置為遠程應用的活動輸入法,即將該輸入法代理模塊01所對應的輸入法設置為活動輸入法;輸入法代理模塊01所對應的輸入法包括客戶端能夠使用的任一輸入法,比如搜狗輸入法、谷歌輸入法等。在遠程應用程序啟動時,只有將輸入法代理模塊01設置為遠程應用的活動輸入法,才能實現(xiàn)后續(xù)以輸入法代理模塊01為橋梁進行遠程應用服務端與客戶端的本地輸入法的兼容,避免亂碼的出現(xiàn);且由于輸入法代理模塊01為標準輸入法模塊,因此遠程應用程序會自動向所述輸入法代理模塊01發(fā)送當前界面的可輸入性及當前光標的位置;輸入法代理模塊01將每個遠程應用程序的可輸入性分析及當前光標位置等信息進行匯總后發(fā)送給輸入法控制模塊02 ;輸入法控制模塊02根據(jù)上述信息發(fā)送控制命令給客戶端,從而實現(xiàn)利用輸入法代理使本地輸入法在各種不同遠程應用中都能方便友好地進行使用的目的。本實施例通過將輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法的方法,是本發(fā)明基于遠程應用的本地輸入法映射方法進行后續(xù)步驟的重要前提。參照圖3,圖3是本發(fā)明基于遠程應用的本地輸入法映射方法一實施例流程示意圖;如圖3所示,本發(fā)明基于遠程應用的本地輸入法映射方法包括以下步驟步驟S01、輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊;當光標焦點置于遠程應用某個界面時,遠程應用向輸入法代理模塊即當前活動輸入法發(fā)送是否能夠進行輸入、不斷變化的光標位置等遠程應用輸入法相關信息;輸入法代 理模塊獲取遠程應用發(fā)送的上述輸入法相關信息,并將其傳送至輸入法控制模塊。步驟S02、所述輸入法控制模塊根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信息轉發(fā)至所述輸入法代理模塊;輸入法控制模塊對輸入法代理模塊發(fā)送的遠程應用輸入法相關信息進行處理后,分析出客戶端是否應該向光標當前停留界面彈出客戶端輸入法界面以及彈出該輸入法頁面的位置等;分析完成后,輸入法控制模塊將上述信息以控制命令的形式發(fā)送至客戶端??蛻舳私邮盏捷斎敕刂颇K發(fā)送的控制命令后,按照服務端的要求進行對應操作,比如隱藏本地輸入法頁面,或者切換至用戶慣用的本地輸入法頁面并等待用戶輸入文字、數(shù)字、字符串等字符;同時客戶端也能夠根據(jù)服務端輸入法控制模塊發(fā)送的控制命令獲取當前窗口是否能夠進行字符的輸入,以及輸入字符時光標的具體位置等一切與本地輸入相關的信息。在用戶輸入相關字符后,客戶端獲取用戶輸入的相關字符,并發(fā)送給服務端的輸入法控制模塊,輸入法控制模塊接收到客戶端返回的字符信息后,將該字符信息轉發(fā)至輸入法代理模塊。步驟S03、所述輸入法代理模塊根據(jù)所述字符信息,向遠程應用輸入字符。輸入法代理模塊根據(jù)輸入法控制模塊轉發(fā)的字符信息,通過輸入法標準接口向遠程應用程序輸入對應的字符;這樣便完成了在遠程應用中,通過遠程應用服務器控制客戶端采用本地輸入法進行字符輸入,同時服務器通過輸入法代理模塊接收客戶端返回的輸入字符并將相應字符通過輸入法代理模塊輸入至遠程應用的過程。有關遠程應用服務端與客戶端的交互過程請參照圖2實施例的具體描述,在此不再贅述。本實施例通過輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊,輸入法控制模塊根據(jù)輸入法相關信息,發(fā)送輸入法控制命令至客戶端并將獲取的客戶端的字符信息轉發(fā)至輸入法代理模塊,由輸入法代理模塊根據(jù)字符信息,向遠程應用輸入字符的方法,具有遠程應用可兼容任意類型的客戶端本地輸入法的有益效果,即任意客戶端輸入法均能方便、正確地輸入到遠程應用程序中,具有完全的兼容性;同時,增強了本地輸入法在遠程應用中的易用性,提升了用戶體驗。參照圖4,圖4是本發(fā)明基于遠程應用的本地輸入法映射方法又一實施例流程示意圖。本實施例與圖3所述實施例的區(qū)別是僅增加了步驟S04 ;本實施例僅對步驟S04作具體描述,本發(fā)明基于遠程應用的本地輸入法映射方法所涉及的其他步驟請參照相關實施例的具體描述,在此不再贅述。如圖4所示,本發(fā)明基于遠程應用的本地輸入法映射方法在步驟S01、輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊之前還包括步驟步驟S04、所述輸入法控制模塊將所述輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法。在遠程應用程序啟動時,遠程應用服務端的輸入法控制模塊將輸入法代理模塊設置為遠程應用的活動輸入法,即將該輸入法代理模塊所對應的輸入法設置為活動輸入法;輸入法代理模塊所對應的輸入法包括客戶端能夠使用的任一輸入法,比如搜狗輸入法、谷歌輸入法等。
在遠程應用程序啟動時,只有將輸入法代理模塊設置為遠程應用的活動輸入法,才能實現(xiàn)后續(xù)以輸入法代理模塊為橋梁進行遠程應用服務端與客戶端的本地輸入法的兼容,避免亂碼的出現(xiàn);且由于輸入法代理模塊為標準輸入法模塊,因此遠程應用程序會自動向所述輸入法代理模塊發(fā)送當前界面的可輸入性及當前光標的位置;輸入法代理模塊將每個遠程應用程序的可輸入性分析及當前光標位置等信息進行匯總后發(fā)送給輸入法控制模塊;輸入法控制模塊根據(jù)上述信息發(fā)送控制命令給客戶端,從而實現(xiàn)利用輸入法代理使本地輸入法在各種不同遠程應用中都能方便友好地進行使用的目的。本實施例通過將輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法的方法,是本發(fā)明基于遠程應用的本地輸入法映射方法進行后續(xù)步驟的重要前提。在一優(yōu)選的實施例中,本發(fā)明基于遠程應用的本地輸入法映射裝置及方法的具體實施方式
中,與服務端進行交互的客戶端的大部分功能可由客戶端控制模塊完成。在具體的實際應用中,若用戶甲正在使用遠程桌面連接到其他終端比如電腦A,則用戶甲需使用該電腦A上的輸入法;若采用本發(fā)明基于遠程應用的本地輸入法映射方法,即可直接使用用戶甲本地電腦上的輸入法作為遠程電腦A的輸入法進行相應文字的輸入;此時,只需將遠程電腦A的活動輸入法設置為本發(fā)明所述的輸入法代理模塊所對應的輸入法,同時在遠程應用服務端即遠程電腦A上部署所述輸入法控制模塊,并適當調整遠程桌面客戶端即可;極大地方便了用戶,提升了用戶的體驗。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。
權利要求
1.一種基于遠程應用的本地輸入法映射裝置,其特征在于,包括輸入法代理模塊和輸入法控制模塊; 所述輸入法代理模塊用于,將獲取的遠程應用輸入法相關信息發(fā)送至所述輸入法控制模塊; 所述輸入法控制模塊用于,根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信息轉發(fā)至所述輸入法代理模塊; 所述輸入法代理模塊還用于,根據(jù)所述輸入法控制模塊轉發(fā)的字符信息,向遠程應用輸入字符。
2.如權利要求I所述的裝置,其特征在于,所述輸入法控制模塊還用于 將所述輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法。
3.如權利要求I或2所述的裝置,其特征在于,所述輸入法控制模塊具體用于 控制客戶端根據(jù)所述輸入法控制命令,調用所述本地輸入法,對所述本地輸入法進行切換或隱藏,并等待客戶端獲取用戶輸入的所述字符信息。
4.如權利要求I所述的裝置,其特征在于,所述遠程應用輸入法相關信息包括 光標當前所在界面是否能夠進行輸入及不斷變化的光標位置信息。
5.如權利要求3所述的裝置,其特征在于,所述本地輸入法包括客戶端能夠支持的任一類型的輸入法。
6.一種基于遠程應用的本地輸入法映射方法,其特征在于,包括以下步驟 步驟SOI、輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊; 步驟S02、所述輸入法控制模塊根據(jù)所述輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將所述字符信息轉發(fā)至所述輸入法代理模塊; 步驟S03、所述輸入法代理模塊根據(jù)所述字符信息,向遠程應用輸入字符。
7.如權利要求6所述的方法,其特征在于,所述步驟SOl之前還包括步驟 步驟S04、所述輸入法控制模塊將所述輸入法代理模塊對應的輸入法設置為遠程應用的活動輸入法。
8.如權利要求6所述的方法,其特征在于,所述步驟S03中發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作包括 控制客戶端根據(jù)所述輸入法控制命令,調用所述本地輸入法,對所述本地輸入法進行切換或隱藏,并等待客戶端獲取用戶輸入的所述字符信息。
9.如權利要求6所述的方法,其特征在于,所述步驟SOl中遠程應用輸入法相關信息包括 光標當前所在界面是否能夠進行輸入及不斷變化的光標位置信息。
10.如權利要求6或8所述的方法,其特征在于,所述本地輸入法包括客戶端能夠支持的任一類型的輸入法。
全文摘要
本發(fā)明公開一種基于遠程應用的本地輸入法映射方法,包括輸入法代理模塊將獲取的遠程應用輸入法相關信息發(fā)送至輸入法控制模塊;輸入法控制模塊根據(jù)輸入法相關信息,發(fā)送輸入法控制命令至客戶端并控制客戶端對本地輸入法進行操作后,獲取客戶端的字符信息,并將字符信息轉發(fā)至輸入法代理模塊;輸入法代理模塊根據(jù)字符信息,向遠程應用輸入字符。本發(fā)明還公開一種基于遠程應用的本地輸入法映射裝置。本發(fā)明通過使遠程應用服務端的輸入法代理模塊和輸入法控制模塊與客戶端相互協(xié)作完成本地輸入法映射流程的方法,具有任意客戶端輸入法均能方便、正確地輸入到任意遠程應用程序中的有益效果,增加了本地輸入法在遠程應用中的易用性,提高了用戶體驗。
文檔編號G06F9/46GK102968190SQ20121041019
公開日2013年3月13日 申請日期2012年10月24日 優(yōu)先權日2012年10月24日
發(fā)明者汪時燦, 姜正文, 林彥 申請人:深圳市深信服電子科技有限公司