專利名稱:在虛擬桌面中使用客戶端輸入法的方法、終端及服務(wù)端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬桌面技術(shù)領(lǐng)域,尤其涉及一種在虛擬桌面中使用客戶端輸入法的方法、終端及服務(wù)端。
背景技術(shù):
虛擬桌面是將操作系統(tǒng)運(yùn)行在服務(wù)器或服務(wù)器的虛擬機(jī)上,并將虛擬機(jī)的桌面通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程的客戶端的一種服務(wù)。虛擬桌面主要由虛擬桌面服務(wù)端和客戶端組成,服務(wù)端將桌面的信息,包括文字、圖片、音視頻等,發(fā)送給客戶端,由客戶端呈現(xiàn)這些信息,同時(shí)客戶端會(huì)將用戶操作的鼠標(biāo)鍵盤事件發(fā)送給服務(wù)端。虛擬桌面服務(wù)端和客戶端通過虛擬桌面協(xié)議進(jìn)行通信,虛擬桌面協(xié)議內(nèi)部分為多個(gè)邏輯通道,分別用于傳送不同類型的信息,如屏幕顯示信息、鍵盤信息、音頻信息等。虛擬桌面系統(tǒng)架構(gòu)如圖1所示,101是運(yùn)行操作系統(tǒng)的服務(wù)器或虛擬機(jī)(以下簡(jiǎn)稱服務(wù)端)。102是終端(以下簡(jiǎn)稱客戶端),其上設(shè)置有虛擬桌面客戶端模塊,該終端可以是普通PC機(jī),也可以是手機(jī)等移動(dòng)終端設(shè)備。103是虛擬桌面服務(wù)端模塊,它負(fù)責(zé)將操作系統(tǒng)的桌面信息發(fā)送給客戶端進(jìn)行顯示,并將接收到的客戶端發(fā)來的鍵盤鼠標(biāo)事件發(fā)送給操作系統(tǒng)模塊,就像本地的輸入一樣。104是操作系統(tǒng)模塊,它負(fù)責(zé)將接收到的鍵盤事件發(fā)送給輸入法管理器,以便后者進(jìn)行輸入法處理。105是輸入法管理器,可以在其中預(yù)配置多種輸入法,它將鍵盤事件發(fā)送給當(dāng)前激活的輸入法,并將接收到的當(dāng)前激活的輸入法返回的文字信息發(fā)送給應(yīng)用程序模塊。輸入法管理器在不同的操作系統(tǒng)中可以有不同的形態(tài),如可以是系統(tǒng)模塊、動(dòng)態(tài)庫,也可以是獨(dú)立服務(wù)進(jìn)程。106是輸入法管理器中預(yù)配置的本地輸入法,包含輸入法處理邏輯和字庫。107是應(yīng)用程序模塊,它接收輸入法輸入的文字。108是鍵盤事件通道,客戶端將本地所有的鍵盤事件通過此通道發(fā)送給服務(wù)端。在這個(gè)架構(gòu)中,鍵盤事件都是由客戶端直接發(fā)送給服務(wù)端的,沒有經(jīng)過客戶端輸入法,因此客戶端輸入法在用戶使用的虛擬桌面中是不起作用的。當(dāng)客戶端設(shè)備與服務(wù)端設(shè)備的輸入方式有明顯區(qū)別時(shí),如服務(wù)端是普通PC機(jī)的 Windows操作系統(tǒng),客戶端是手機(jī),用戶通過觸摸屏進(jìn)行文字輸入時(shí),那用戶輸入文字將十分困難。因?yàn)?,按照現(xiàn)有技術(shù),手機(jī)作為虛擬桌面的客戶端時(shí),不能使用專為手機(jī)優(yōu)化設(shè)計(jì)的輸入法,而是只能使用服務(wù)端為PC設(shè)計(jì)的輸入法。這樣就嚴(yán)重降低了手機(jī)用戶使用虛擬桌面的用戶體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明提出一種在虛擬桌面中使用客戶端輸入法的方法、終端及服務(wù)端,以克服現(xiàn)有客戶端只能使用服務(wù)端提供的輸入法所帶來的用戶體驗(yàn)差的缺陷。為解決上述問題,本發(fā)明提供了一種在虛擬桌面中使用客戶端輸入法的方法,包括
客戶端將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;所述服務(wù)端與所述客戶端在完成協(xié)商后,請(qǐng)求所述客戶端激活所述客戶端上的輸入法;所述客戶端激活本地輸入法,使用本地當(dāng)前激活的輸入法對(duì)用戶輸入的信息進(jìn)行邏輯處理后,將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述服務(wù)端收到后,將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。進(jìn)一步地,所述用戶確認(rèn)輸入的信息包括文字或者功能鍵信息;將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理,具體包括當(dāng)所述用戶確認(rèn)輸入的信息為文字時(shí),對(duì)所述文字進(jìn)行處理;當(dāng)所述用戶確認(rèn)輸入的信息為功能鍵信息,則執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。進(jìn)一步地,所述服務(wù)端與客戶端完成協(xié)商,具體包括所述服務(wù)端向所述客戶端發(fā)起建立輸入法通道請(qǐng)求;所述客戶端在建立輸入法通道后,向所述服務(wù)端回復(fù)通道建立成功消息。進(jìn)一步地,所述將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端,具體包括通過所述輸入法通道將得到的所述用戶確認(rèn)輸入的信息發(fā)送給服務(wù)端。進(jìn)一步地,除將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端外,所述客戶端還將所述用戶輸入的原始按鍵信息一并發(fā)送給所述服務(wù)端。進(jìn)一步地,所述服務(wù)端在與所述客戶端完成協(xié)商后,還將本端焦點(diǎn)窗口的屬性信息發(fā)送給所述客戶端;其中,所述屬性信息包括焦點(diǎn)窗口在虛擬桌面上的位置坐標(biāo)及大小信息;所述客戶端收到后,根據(jù)所述屬性信息調(diào)整本地當(dāng)前激活的輸入法的窗口的位置及大小。相應(yīng)地,本發(fā)明還提供了一種終端,包括虛擬桌面客戶端模塊,還包括客戶端輸入法模塊;所述虛擬桌面客戶端模塊用于將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;還用于在與所述服務(wù)端完成協(xié)商,并在接收所述服務(wù)端發(fā)來的激活本終端上的輸入法的請(qǐng)求后,激活所述客戶端輸入法模塊中設(shè)置的輸入法;還用于將用戶輸入的信息發(fā)送給所述客戶端輸入法模塊,并將經(jīng)過所述客戶端輸入法模塊處理后得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述客戶端輸入法模塊用于使用當(dāng)前激活的輸入法對(duì)所述虛擬桌面客戶端發(fā)來的用戶輸入的信息進(jìn)行邏輯處理后,將將得到的用戶確認(rèn)輸入的信息發(fā)送給所述虛擬桌面客戶端模塊。進(jìn)一步地,
所述虛擬桌面客戶端模塊還用于與所述服務(wù)端進(jìn)行協(xié)商的過程中,建立輸入法通道;其中所述虛擬桌面客戶端通過所述輸入法通道將所述用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端。進(jìn)一步地,所述虛擬桌面客戶端模塊還用于將所述用戶輸入的原始按鍵信息一并發(fā)送給所述服務(wù)端。進(jìn)一步地,所述虛擬桌面客戶端模塊還用于在接收到所述服務(wù)端發(fā)來的焦點(diǎn)窗口的屬性信息后,根據(jù)所述屬性信息調(diào)整本地當(dāng)前激活的輸入法的窗口的位置及大小。相應(yīng)地,本發(fā)明還提供了一種服務(wù)端,包括依次相連的虛擬桌面服務(wù)端模塊、操作系統(tǒng)模塊、輸入法管理器及應(yīng)用程序模塊,還包括位于所述輸入法管理器中的客戶端輸入法代理模塊;所述虛擬桌面服務(wù)端模塊用于將設(shè)有虛擬桌面客戶端模塊的終端發(fā)來的用戶選擇使用所述終端上的輸入法的請(qǐng)求通過所述操作系統(tǒng)模塊發(fā)送給所述輸入法管理器;還用于在與所述終端完成協(xié)商后,將所述終端發(fā)來的用戶確認(rèn)輸入的信息通過所述操作系統(tǒng)模塊發(fā)送給所述客戶端輸入法代理模塊;所述輸入法管理器用于在收到所述請(qǐng)求后,啟動(dòng)所述客戶端輸入法代理模塊;所述客戶端輸入法代理模塊用于在啟動(dòng)后,對(duì)接收到所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。進(jìn)一步地,所述用戶確認(rèn)輸入的信息包括文字或者功能鍵信息;所述客戶端輸入法代理模塊將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理,具體包括當(dāng)所述用戶確認(rèn)輸入的信息為文字時(shí),所述客戶端輸入法代理模塊將所述發(fā)送給所述應(yīng)用程序模塊進(jìn)行處理;當(dāng)所述用戶確認(rèn)輸入的信息為功能鍵信息,所述客戶端輸入法代理模塊將所述信息發(fā)送給所述操作系統(tǒng)模塊,由所述操作系統(tǒng)模塊執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。進(jìn)一步地,所述客戶端輸入法代理模塊還用于將本服務(wù)端焦點(diǎn)窗口的屬性信息通過所述操作系統(tǒng)模塊及虛擬桌面服務(wù)端模塊發(fā)送給所述客戶端;其中,所述屬性信息包括焦點(diǎn)窗口在虛擬桌面上的位置坐標(biāo)及大小信息。本發(fā)明能夠?qū)⒂脩艨蛻舳嗽O(shè)備的輸入法集成到虛擬桌面中,使用戶在虛擬桌面中能夠使用對(duì)用戶終端進(jìn)行優(yōu)化過的輸入法,提高了輸入效率,增強(qiáng)了用戶體驗(yàn)。
圖1是現(xiàn)有技術(shù)系統(tǒng)架構(gòu)圖;圖2是本發(fā)明實(shí)施例中虛擬桌面中使用客戶端輸入法的方法流程圖;圖3是本發(fā)明實(shí)施例中系統(tǒng)架構(gòu)圖;圖4是本發(fā)明實(shí)施例中觸發(fā)客戶端輸入法的過程流程圖5是本發(fā)明實(shí)施例中在客戶端進(jìn)行文字輸入過程流程圖;圖6是本發(fā)明實(shí)施例中客戶端和服務(wù)端進(jìn)行輸入窗口協(xié)調(diào)的過程示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。在本實(shí)施例中,一種在虛擬桌面中使用客戶端輸入法的方法,如圖2所示,包括步驟10 客戶端將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;步驟20 服務(wù)端與客戶端在完成協(xié)商后,請(qǐng)求客戶端激活本地輸入法;步驟30 客戶端激活本地輸入法,使用本地當(dāng)前激活的輸入法對(duì)用戶輸入的信息進(jìn)行邏輯處理后,將得到的用戶確認(rèn)輸入的信息發(fā)送給服務(wù)端;其中,該信息包括用戶確認(rèn)輸入的文字(包括漢字、字母、數(shù)字等)或功能鍵信息;步驟40 服務(wù)端收到后,將用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。如果用戶確認(rèn)輸入的信息為文字信息,則可進(jìn)行處理(如顯示等);如用戶確認(rèn)輸入的是功能鍵信息,則執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。在具體實(shí)現(xiàn)時(shí),服務(wù)端與客戶端完成協(xié)商,具體包括以下步驟服務(wù)端向客戶端發(fā)起建立輸入法通道請(qǐng)求;客戶端在建立輸入法通道后,向服務(wù)端回復(fù)通道建立成功消息。其中,該輸入法通道可以是一個(gè)邏輯通道,建立該通道的過程可以是客戶端打開某特定端口或者建立一個(gè) socket (套接字),也可以在原有socket上建立一個(gè)邏輯通道。此后,客戶端通過該通道向服務(wù)端發(fā)送用戶確認(rèn)輸入的信息。在用戶輸入過程中,由于某些按鍵事件可能會(huì)被服務(wù)端的操作系統(tǒng)解釋成控制信息,而不是文字信息,因此為了防止服務(wù)端識(shí)別錯(cuò)誤,客戶端在發(fā)送用戶確認(rèn)輸入的信息的同時(shí),還需要將原始按鍵信息一同發(fā)送給服務(wù)端。圖3是本實(shí)施例的系統(tǒng)架構(gòu)。301是客戶端輸入法代理模塊,它對(duì)于操作系統(tǒng)來說就是一個(gè)輸入法模塊,是按照服務(wù)端操作系統(tǒng)輸入法規(guī)范開發(fā)的輸入法軟件模塊,但它本身沒有輸入法邏輯和字庫,而是負(fù)責(zé)將客戶端輸入法邏輯處理的結(jié)果映射到本操作系統(tǒng)中。302是新建的輸入法通道,它是在虛擬桌面協(xié)議上擴(kuò)展的一個(gè)邏輯通道,用于傳送用戶通過客戶端輸入法確認(rèn)輸入的信息。303是客戶端上預(yù)配置的輸入法。用戶在客戶端上的輸入經(jīng)客戶端輸入法進(jìn)行邏輯處理后,將處理后得到的信息經(jīng)由虛擬桌面客戶端模塊、輸入法通道、虛擬桌面服務(wù)端模塊到達(dá)客戶端輸入法代理模塊,由客戶端輸入法代理模塊將這些信息轉(zhuǎn)換為符合本地輸入法規(guī)范的信息發(fā)送給應(yīng)用程序。其中,上述終端中包括虛擬桌面客戶端模塊,還包括客戶端輸入法模塊;所述虛擬桌面客戶端模塊用于將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;還用于在與所述服務(wù)端完成協(xié)商,并在接收所述服務(wù)端發(fā)來的激活本終端上的輸入法的請(qǐng)求后,激活所述客戶端輸入法模塊中設(shè)置的輸入法;還用于將用戶輸入的信息發(fā)送給所述客戶端輸入法模塊,并將經(jīng)過所述客戶端輸入法模塊處理后得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述客戶端輸入法模塊用于使用當(dāng)前激活的輸入法對(duì)所述虛擬桌面客戶端發(fā)來的用戶輸入的信息進(jìn)行邏輯處理后,將將得到的用戶確認(rèn)輸入的信息發(fā)送給所述虛擬桌面客戶端模塊。較佳地,所述虛擬桌面客戶端模塊還用于與所述服務(wù)端進(jìn)行協(xié)商的過程中,建立輸入法通道;其中所述虛擬桌面客戶端通過所述輸入法通道將所述用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端。較佳地,所述虛擬桌面客戶端模塊還用于將所述用戶輸入的原始按鍵信息一并發(fā)送給所述服務(wù)端。較佳地,所述虛擬桌面客戶端模塊還用于在接收到所述服務(wù)端發(fā)來的焦點(diǎn)窗口的屬性信息后,根據(jù)所述屬性信息調(diào)整本地當(dāng)前激活的輸入法的窗口的位置及大小。一種服務(wù)端,包括依次相連的虛擬桌面服務(wù)端模塊、操作系統(tǒng)模塊、輸入法管理器及應(yīng)用程序模塊,還包括位于所述輸入法管理器中的客戶端輸入法代理模塊;所述虛擬桌面服務(wù)端模塊用于將設(shè)有虛擬桌面客戶端模塊的終端發(fā)來的用戶選擇使用所述終端上的輸入法的請(qǐng)求通過所述操作系統(tǒng)模塊發(fā)送給所述輸入法管理器;還用于在與所述終端完成協(xié)商后,將所述終端發(fā)來的用戶確認(rèn)輸入的信息通過所述操作系統(tǒng)模塊發(fā)送給所述客戶端輸入法代理模塊;所述輸入法管理器用于在收到所述請(qǐng)求后,啟動(dòng)所述客戶端輸入法代理模塊;所述客戶端輸入法代理模塊用于在啟動(dòng)后,對(duì)接收到所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。較佳地,所述用戶確認(rèn)輸入的信息包括文字或者功能鍵信息;所述客戶端輸入法代理模塊將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理,具體包括當(dāng)所述用戶確認(rèn)輸入的信息為文字時(shí),所述客戶端輸入法代理模塊將所述發(fā)送給所述應(yīng)用程序模塊進(jìn)行處理;當(dāng)所述用戶確認(rèn)輸入的信息為功能鍵信息,所述客戶端輸入法代理模塊將所述信息發(fā)送給所述操作系統(tǒng)模塊,由所述操作系統(tǒng)模塊執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。較佳地,所述客戶端輸入法代理模塊還用于將本服務(wù)端焦點(diǎn)窗口的屬性信息通過所述操作系統(tǒng)模塊及虛擬桌面服務(wù)端模塊發(fā)送給所述客戶端;其中,所述屬性信息包括焦點(diǎn)窗口在虛擬桌面上的位置坐標(biāo)及大小信息。圖4是觸發(fā)客戶端輸入法的過程。虛擬桌面初始狀態(tài)是采用服務(wù)端的輸入法,當(dāng)用戶希望使用客戶端的輸入法時(shí),需要激活客戶端的輸入法。過程如下步驟401,由于客戶端輸入法代理模塊是按照標(biāo)準(zhǔn)輸入法開發(fā)的,因此它在系統(tǒng)中與其它輸入法沒有區(qū)別,有一個(gè)輸入法名稱,用戶在虛擬桌面顯示的輸入法工具上按此名稱選擇客戶端輸入法,客戶端輸入法代理模塊啟動(dòng);步驟402,客戶端輸入法代理模塊啟動(dòng)后,通過操作系統(tǒng)模塊向虛擬桌面服務(wù)端模塊請(qǐng)求激活客戶端輸入法;步驟403,虛擬桌面服務(wù)端模塊向虛擬桌面客戶端模塊請(qǐng)求建立輸入法通道;步驟404,虛擬桌面客戶端模塊返回通道建立成功消息,通道建立;步驟405,虛擬桌面服務(wù)端模塊向虛擬桌面客戶端模塊請(qǐng)求啟動(dòng)客戶端的輸入法;步驟406,虛擬桌面客戶端模塊激活客戶端的輸入法;步驟407-409,客戶端向服務(wù)端返回成功消息。此時(shí),客戶端輸入法開始接收用戶輸入,并將經(jīng)過當(dāng)前激活的輸入法的邏輯處理的輸入信息發(fā)送給虛擬桌面客戶端模塊。由于輸入法與操作系統(tǒng)有很強(qiáng)的關(guān)聯(lián)關(guān)系,因此客戶端輸入法代理模塊的實(shí)現(xiàn)方式,以及虛擬桌面客戶端模塊與客戶端輸入法的交互方式都是與實(shí)際操作系統(tǒng)相關(guān)的,根據(jù)不同的操作系統(tǒng)需要調(diào)用不同的開發(fā)接口來實(shí)現(xiàn)。圖5是本實(shí)施例中用戶使用客戶端輸入法輸入文字的過程,由于不同客戶端和操作系統(tǒng)輸入法的實(shí)現(xiàn)方式不一樣,本實(shí)施例描述其中一種方式,過程如下步驟501,客戶端檢測(cè)到用戶按鍵后,發(fā)送鍵盤事件到客戶端輸入法模塊;步驟502,客戶端輸入法模塊根據(jù)輸入法邏輯變換成輸入文字或輸入過程中的中間信息,如候選文字,并將這些信息包括用戶按鍵的原始信息發(fā)送給虛擬桌面客戶端模塊;步驟503,虛擬桌面客戶端模塊通過新建的輸入法通道,將輸入信息發(fā)送給虛擬桌面服務(wù)端模塊;步驟504,虛擬桌面服務(wù)端模塊通過操作系統(tǒng)模塊將輸入信息轉(zhuǎn)發(fā)給客戶端輸入法代理模塊;步驟505,客戶端輸入法代理模塊查看輸入消息,如判斷出用戶按鍵是控制信息, 則轉(zhuǎn)發(fā)給操作系統(tǒng)模塊進(jìn)行處理,否則提取輸入的文字,通過文字輸入事件發(fā)送給應(yīng)用程序模塊,由應(yīng)用程序模塊進(jìn)行顯示等處理。圖6是客戶端輸入法窗口與虛擬桌面輸入焦點(diǎn)互相協(xié)調(diào)的過程。虛擬桌面輸入焦點(diǎn)指的是在服務(wù)端側(cè)的虛擬桌面中能夠獲取鍵盤輸入的那個(gè)窗口。這個(gè)窗口的大小和位置是由服務(wù)端的操作系統(tǒng)決定的,而客戶端輸入法的窗口是由客戶端繪制的,因此兩者如果不協(xié)調(diào),可能會(huì)出現(xiàn)輸入法窗口覆蓋焦點(diǎn)窗口的可能,也不能保證將輸入法窗口放在虛擬桌面的最佳位置,方便用戶輸入。因此,為了提高用戶體驗(yàn),需要客戶端調(diào)整當(dāng)前激活的輸入法的窗口大小和位置,以使輸入法窗口與虛擬桌面更好的融合。客戶端的輸入法窗口與虛擬桌面互相協(xié)作的過程如下步驟601,客戶端輸入法代理模塊檢測(cè)到鍵盤焦點(diǎn)事件,獲取服務(wù)端上鍵盤焦點(diǎn)窗口的屬性,包括窗口的位置坐標(biāo)及大小信息;步驟602,客戶端輸入法代理模塊將獲取的焦點(diǎn)窗口的屬性發(fā)送給虛擬桌面服務(wù)端模塊;步驟603,虛擬桌面服務(wù)端模塊通過輸入法通道轉(zhuǎn)發(fā)焦點(diǎn)窗口的屬性給虛擬桌面客戶端模塊;
步驟604,虛擬桌面客戶端模塊根據(jù)該焦點(diǎn)窗口的屬性,計(jì)算輸入法窗口在虛擬桌面的位置;其中,該位置要保證不能遮蓋當(dāng)前顯示字符的區(qū)域,但要盡量靠近該區(qū)域;步驟605,虛擬桌面客戶端模塊通過本地接口調(diào)整當(dāng)前激活的客戶端輸入法的窗口屬性,達(dá)到上述計(jì)算出的位置和大小。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。根據(jù)本發(fā)明的發(fā)明內(nèi)容,還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種在虛擬桌面中使用客戶端輸入法的方法,包括客戶端將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端; 所述服務(wù)端與所述客戶端在完成協(xié)商后,請(qǐng)求所述客戶端激活所述客戶端上的輸入法;所述客戶端激活本地輸入法,使用本地當(dāng)前激活的輸入法對(duì)用戶輸入的信息進(jìn)行邏輯處理后,將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述服務(wù)端收到后,將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。
2.如權(quán)利要求1所述的方法,其特征在于所述用戶確認(rèn)輸入的信息包括文字或者功能鍵信息; 將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理,具體包括 當(dāng)所述用戶確認(rèn)輸入的信息為文字時(shí),對(duì)所述文字進(jìn)行處理;當(dāng)所述用戶確認(rèn)輸入的信息為功能鍵信息,則執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。
3.如權(quán)利要求1所述的方法,其特征在于 所述服務(wù)端與客戶端完成協(xié)商,具體包括所述服務(wù)端向所述客戶端發(fā)起建立輸入法通道請(qǐng)求; 所述客戶端在建立輸入法通道后,向所述服務(wù)端回復(fù)通道建立成功消息。
4.如權(quán)利要求3所述的方法,其特征在于所述將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端,具體包括 通過所述輸入法通道將得到的所述用戶確認(rèn)輸入的信息發(fā)送給服務(wù)端。
5.如權(quán)利要求1 4中任意一項(xiàng)所述的方法,其特征在于除將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端外,所述客戶端還將所述用戶輸入的原始按鍵信息一并發(fā)送給所述服務(wù)端。
6.如權(quán)利要求1所述的方法,其特征在于所述服務(wù)端在與所述客戶端完成協(xié)商后,還將本端焦點(diǎn)窗口的屬性信息發(fā)送給所述客戶端;其中,所述屬性信息包括焦點(diǎn)窗口在虛擬桌面上的位置坐標(biāo)及大小信息;所述客戶端收到后,根據(jù)所述屬性信息調(diào)整本地當(dāng)前激活的輸入法的窗口的位置及大
7.—種終端,包括虛擬桌面客戶端模塊,其特征在于,還包括客戶端輸入法模塊; 所述虛擬桌面客戶端模塊用于將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;還用于在與所述服務(wù)端完成協(xié)商,并在接收所述服務(wù)端發(fā)來的激活本終端上的輸入法的請(qǐng)求后,激活所述客戶端輸入法模塊中設(shè)置的輸入法;還用于將用戶輸入的信息發(fā)送給所述客戶端輸入法模塊,并將經(jīng)過所述客戶端輸入法模塊處理后得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述客戶端輸入法模塊用于使用當(dāng)前激活的輸入法對(duì)所述虛擬桌面客戶端發(fā)來的用戶輸入的信息進(jìn)行邏輯處理后,將將得到的用戶確認(rèn)輸入的信息發(fā)送給所述虛擬桌面客戶端模塊。
8.如權(quán)利要求7所述的終端,其特征在于所述虛擬桌面客戶端模塊還用于與所述服務(wù)端進(jìn)行協(xié)商的過程中,建立輸入法通道; 其中所述虛擬桌面客戶端通過所述輸入法通道將所述用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端。
9.如權(quán)利要求7或8所述的終端,其特征在于所述虛擬桌面客戶端模塊還用于將所述用戶輸入的原始按鍵信息一并發(fā)送給所述服務(wù)端。
10.如權(quán)利要求7所述的終端,其特征在于所述虛擬桌面客戶端模塊還用于在接收到所述服務(wù)端發(fā)來的焦點(diǎn)窗口的屬性信息后, 根據(jù)所述屬性信息調(diào)整本地當(dāng)前激活的輸入法的窗口的位置及大小。
11.一種服務(wù)端,包括依次相連的虛擬桌面服務(wù)端模塊、操作系統(tǒng)模塊、輸入法管理器及應(yīng)用程序模塊,其特征在于,還包括位于所述輸入法管理器中的客戶端輸入法代理模塊;所述虛擬桌面服務(wù)端模塊用于將設(shè)有虛擬桌面客戶端模塊的終端發(fā)來的用戶選擇使用所述終端上的輸入法的請(qǐng)求通過所述操作系統(tǒng)模塊發(fā)送給所述輸入法管理器;還用于在與所述終端完成協(xié)商后,將所述終端發(fā)來的用戶確認(rèn)輸入的信息通過所述操作系統(tǒng)模塊發(fā)送給所述客戶端輸入法代理模塊;所述輸入法管理器用于在收到所述請(qǐng)求后,啟動(dòng)所述客戶端輸入法代理模塊;所述客戶端輸入法代理模塊用于在啟動(dòng)后,對(duì)接收到所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。
12.如權(quán)利要求11所述的服務(wù)端,其特征在于所述用戶確認(rèn)輸入的信息包括文字或者功能鍵信息;所述客戶端輸入法代理模塊將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理,具體包括當(dāng)所述用戶確認(rèn)輸入的信息為文字時(shí),所述客戶端輸入法代理模塊將所述發(fā)送給所述應(yīng)用程序模塊進(jìn)行處理;當(dāng)所述用戶確認(rèn)輸入的信息為功能鍵信息,所述客戶端輸入法代理模塊將所述信息發(fā)送給所述操作系統(tǒng)模塊,由所述操作系統(tǒng)模塊執(zhí)行該功能鍵對(duì)應(yīng)的控制命令。
13.如權(quán)利要求11所述的服務(wù)端,其特征在于所述客戶端輸入法代理模塊還用于將本服務(wù)端焦點(diǎn)窗口的屬性信息通過所述操作系統(tǒng)模塊及虛擬桌面服務(wù)端模塊發(fā)送給所述客戶端;其中,所述屬性信息包括焦點(diǎn)窗口在虛擬桌面上的位置坐標(biāo)及大小信息。
全文摘要
本發(fā)明公開了一種在虛擬桌面中使用客戶端輸入法的方法、終端及服務(wù)端,所述方法包括客戶端將接收到的用戶通過虛擬桌面選擇使用本地輸入法的請(qǐng)求發(fā)送給服務(wù)端;所述服務(wù)端與所述客戶端在完成協(xié)商后,請(qǐng)求所述客戶端激活所述客戶端上的輸入法;所述客戶端激活本地輸入法,使用本地當(dāng)前激活的輸入法對(duì)用戶輸入的信息進(jìn)行邏輯處理后,將得到的用戶確認(rèn)輸入的信息發(fā)送給所述服務(wù)端;所述服務(wù)端收到后,將所述用戶確認(rèn)輸入的信息作為在本地輸入的信息進(jìn)行處理。本發(fā)明能夠?qū)⒂脩艨蛻舳嗽O(shè)備的輸入法集成到虛擬桌面中,使用戶在虛擬桌面中能夠使用對(duì)用戶終端進(jìn)行優(yōu)化過的輸入法,提高了輸入效率,增強(qiáng)了用戶體驗(yàn)。
文檔編號(hào)H04L29/06GK102427448SQ20111034359
公開日2012年4月25日 申請(qǐng)日期2011年11月3日 優(yōu)先權(quán)日2011年11月3日
發(fā)明者馬蘇安 申請(qǐng)人:中興通訊股份有限公司