一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

远程应用使用本地输入法的方法、装置、设备和存储介质与流程

2022-04-30 09:03:54 来源:中国专利 TAG:


1.本技术涉及网络技术领域,涉及但不限于一种远程应用使用本地输入法的方法、装置、设备和存储介质。


背景技术:

2.linux系统上使用远程应用存在如下缺点:只能使用和切换远程应用的服务端的输入法,用户很容易感知使用的是远程应用,体验差。即使能够使用本地输入法,但是实现复杂,需要额外增加的模块或角色很多,例如需要额外增加控制模块或代理模块,导致实现复杂,从字符串输入到字符串显示经过的环节多,延迟高,容易卡顿。


技术实现要素:

3.有鉴于此,本技术实施例提供一种远程应用使用本地输入法的方法、装置、设备和存储介质。
4.第一方面,本技术实施例提供一种远程应用使用本地输入法的方法,所述方法包括:在终端的本地窗口呈现第一应用界面;响应于对所述终端本地的输入法的调用事件,在所述第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;响应于字符输入事件,在所述第一应用界面呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;响应于字符选择事件,从所述候选的字符串中筛选出待显示的字符串;将所述待显示的字符串发送至所述本地窗口的远程应用;在所述终端的本地窗口呈现第二应用界面,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
5.第二方面,本技术实施例提供一种远程应用使用本地输入法的装置,包括:本地窗口,用于呈现第一应用界面;图形用户界面应用,用于响应于对所述终端本地的输入法的调用事件,所述本地窗口,还用于在所述第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;所述图形用户界面应用,还用于响应于字符输入事件,所述本地窗口,还用于在所述第一应用界面呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;所述图形用户界面应用,还用于响应于字符选择事件,所述输入法,用于从所述候选的字符串中筛选出待显示的字符串;所述本地窗口,还用于将所述待显示的字符串发送至所述本地窗口的远程应用;所述本地窗口,还用于在所述终端的本地窗口呈现第二应用界面,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
6.第三方面,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术实施例第一方面所述远程应用使用本地输入法的方法中的步骤。
7.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例第一方面所述远程应用使用本地输入法
的方法中的步骤。
8.本技术实施例中,在使用远程应用时,通过使用终端本地的输入法,可以随意调用终端本地的输入法,可以看到输入法的状态栏,并可以设置输入状态,切换输入法,从而能够更便捷地使用本地输入法,减少延时,和使用服务端的输入法相比较,减少了延迟,不容易卡顿,提升了用户体验。
附图说明
9.图1为本技术实施例一种远程应用使用本地输入法的方法的流程示意图;
10.图2a为本技术实施例一种第一应用界面的示意图;
11.图2b为本技术实施例另一种第一应用界面的示意图;
12.图2c为本技术实施例又一种第一应用界面的示意图;
13.图2d为本技术实施例一种第二应用界面的示意图;
14.图3a为本技术实施例另一种远程应用使用本地输入法的方法的流程示意图;
15.图3b为本技术实施例又一种远程应用使用本地输入法的方法的流程示意图;
16.图4a为本技术实施例一种linux系统上远程应用使用本地输入法的方法的示意图;
17.图4b为本技术实施例另一种linux系统上远程应用使用本地输入法的方法的示意图;
18.图5a为本技术实施例一种虚拟资源平台上的远程应用示意图;
19.图5b为本技术实施例一种使用远程服务端的输入法的远程应用的本地窗口示意图;
20.图5c为本技术实施例另一种使用远程服务端的输入法的远程应用的本地窗口示意图;
21.图6为本技术实施例一种远程应用使用本地输入法的装置的组成结构示意图;
22.图7为本技术实施例计算机设备的一种硬件实体示意图。
具体实施方式
23.下面结合附图和实施例对本技术的技术方案进一步详细阐述。
24.图1为本技术实施例一种远程应用使用本地输入法的方法的流程示意图,如图1所示,应用于终端,该方法包括:
25.步骤102:在所述终端的本地窗口呈现第一应用界面;
26.其中,所述终端可以是智能手机、笔记本电脑、平板电脑、台式电脑等可以与远端的服务器进行交互的本地的终端设备(又称客户端);远程应用可以是运行在远端的服务器上的应用程序(application),所述本地窗口可以认为是所述远程应用的客户端,所述应用程序指为完成某项或多项特定工作的计算机程序,运行在用户模式,可以和用户进行交互具有可视的用户界面;所述应用程序可以是“电子书”、“电子邮件”、“视频”、“计算器”、“音乐”、“游戏中心”、“浏览器”、“word”、“excel”和“ppt”等,如图2a所示,所述第一应用界面可以是word的文字编辑页面20a。
27.由于远程应用实际运行在远端的服务器上,因此,远程应用通常使用远端的服务
器上的输入法,但客户端的用户更习惯使用本地的终端设备(即客户端)上的本地输入法,因此,本技术实施例提出远程应用使用本地输入法的方法,能够使得用户在与远程应用进行交互时,使用本地输入法,所述本地输入法可以是能够在客户端使用的所有输入法,如搜狗输入法、谷歌输入法和百度输入法等。
28.步骤104:响应于对所述终端本地的输入法的调用事件,在所述第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;
29.其中,所述输入法的调用事件可以是用户对使用的输入法的选择或切换操作,例如用户同时对键盘的“ctrl”键和“shift”键进行点击操作,可实现切换输入法;所述输入法的调用事件还可以是用户对远程应用的打开操作,例如用户双击鼠标左键,可实现打开远程应用,在远程应用的第一应用界面呈现输入法的状态栏。如图2b所示,在远程应用为word,第一应用界面为word的文本输入界面20b的情况下,用户可以同时点击键盘的“ctrl”键和“shift”键,以将本地输入法的状态栏201b呈现在所述文本输入界面20b中。
30.所述状态栏201b中可以包括输入法的多种输入状态,所述输入状态可以包括输入法类型、中/英文切换、全/半角切换、中/英文标点切换、软键盘、皮肤盒子和工具箱等;用户点击键盘的“ctrl”键和“shift”键,可以进行不同的本地输入法的切换,也可以进行状态栏的呈现或隐藏。
31.步骤106:响应于字符输入事件,在所述第一应用界面呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;
32.其中,所述字符输入事件可以是用户对字符串的输入操作,如用户对键盘的“s”、“h”、“u”和“r”键的点击操作,所述输入法的候选窗口又称候选框,所述输入法的候选窗口中可以包括输入法类型、用户输入的候选的字符串和翻页符号等,在所述本地输入法为搜狗输入法的情况下,所述输入法类型可以为搜狗输入法,可以表示为“s”。如图2c所示,所述输入法的候选窗口202c上可以显示多个候选的字符串:“1.输入”、“2.熟人”、“3.树人”、“4.数日”和“5.熟肉”。
33.步骤108:响应于字符选择事件,从所述候选的字符串中筛选出待显示的字符串;将所述待显示的字符串发送至所述本地窗口的远程应用;
34.其中,所述字符选择事件可以是用户对候选的字符串的筛选,以从所述候选的字符串中筛选出待显示的字符串,假设用户想选择的字符串为“数日”,则用户可以点击键盘上的“4”,以实现选中4对应的字符串“数日”。
35.步骤110:在所述终端的本地窗口呈现第二应用界面,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
36.如图2d所示,所述第二应用界面20d中显示待显示的字符串“数日”202d,201d为输入法的状态栏。
37.本技术实施例中,在使用远程应用时,通过使用终端本地的输入法,可以随意调用终端本地的输入法,并可以看到输入法的状态栏,并可以设置输入状态,切换输入法,从而能够更便捷地使用本地输入法,减少延时,和使用服务端的输入法相比较,减少了延迟,不容易卡顿,提升了用户体验。
38.本技术实施例还提供一种远程应用使用本地输入法的方法,所述方法包括以下步骤:
39.步骤s202:在所述终端的本地窗口呈现第一应用界面;
40.步骤s204:响应于对所述终端本地的输入法的调用事件,在所述第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;
41.步骤s206:响应于字符输入事件,获取所述远程应用发送的第二页面数据;
42.其中,所述第二页面数据可以包括当前输入光标的位置。
43.步骤s208:基于所述第二页面数据,在所述第一应用界面确定所述输入法的候选窗口的第一呈现位置;
44.其中,如图2c所示,所述第一呈现位置可以是当前输入光标的位置203c的右下角的位置,还可以根据用户操作对所述第一呈现位置进行调整。
45.步骤s210:在所述第一应用界面的所述第一呈现位置呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;
46.步骤s212:响应于字符选择事件,从所述候选的字符串中筛选出待显示的字符串;将所述待显示的字符串发送至所述本地窗口的远程应用;
47.步骤s214:获取所述远程应用发送的当前输入光标的位置和待显示的字符串的显示数据;
48.其中,所述第一页面数据可以包括当前输入光标的位置和待显示的字符串的显示数据。
49.步骤s216:基于所述待显示的字符串的显示数据,确定所述待显示的字符串;
50.步骤s218:基于所述当前输入光标的位置,在所述第二应用界面确定所述待显示的字符串的第二呈现位置;
51.其中,所述第二呈现位置可以是当前输入光标的位置所在的位置,则呈现所述待显示的字符串之后,所述远程应用可以将所述当前输入光标的位置更新至待显示的字符串之后的位置;如图2c所示,当前输入光标的位置为203c,如图2d所示,在呈现字符串“数日”202d之后,即所述当前输入光标的位置更新至“数日”202d之后的位置203d。
52.步骤s220:在所述第二应用界面的所述第二呈现位置呈现所述待显示的字符串,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
53.本技术实施例中,通过根据当前输入光标的位置,确定输入法的候选窗口的第一呈现位置,以及待显示的字符串的第二呈现位置,从而可以更好地实现光标跟随,提升用户体验。
54.图3a为本技术实施例另一种远程应用使用本地输入法的方法,应用于终端,所述终端包括本地窗口31、图形用户界面应用32、终端本地的输入法33,如图3a所示,所述方法包括以下步骤:
55.步骤302a:在所述终端的本地窗口呈现第一应用界面;
56.步骤304a:通过图形用户界面应用响应所述终端本地的输入法的调用事件,将所述输入法的调用事件发送至所述输入法;
57.其中,所述本地窗口、图像用户界面应用和本地输入法均可以部署在远程应用的本地终端,均在x-windows系统架构下,x window又称x window图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面和丰富的输入设备能力联网计算
机,其中软件编写使用广泛的命令集,它创建了一个硬件抽象层,允许设备独立性和重用方案的任何计算机上实现。
58.xim协议是x-window系统下的符合国际化标准的输入法协议,只要应用程序和系统都支持这种输入协议,应用程序就不必考虑在不同语言环境下的输入问题,系统可以根据相应的地区环境(locale)去寻找相应的输入法,从而达到国际化的要求。
59.xim协议的使用原理包括:输入法不预先拦截用户的字键输入(即各种事件)。而远程应用的本地窗口与输入法之间的关系,就好像客户端与服务器一样,远程应用提出输入请求,则输入法提供输入服务。因此,当用户对一个窗口做中文输入时,实际上敲入的字键是直接送往应用程序本身,而应用程序在处理它之前,会先经由xim协议将这些字键序列送往输入法,然后由输入法取得中文字,故在xim协议下,远程应用的本地窗口可以称为xim client,而输入法可以称为xim server。
60.所述图形用户界面又称图形程序,可以表示为x-server、x lib或x library,xim library为x library中的一种,x-server可以提供显示服务,并接收用户在第一应用界面的输入法的调用事件,输入法的调用事件可以由图形程序处理,并能创建、映射、删除视窗以及在视窗中写和绘图;xlib可以是c语言的x接口,以低层c语言接口的x窗口系统协议。
61.所述本地输入法又称输入法服务器,可以将用户的按键(输入事件)转换成特定的指令,根据指令呈现特定的页面、发送、生成或筛选特定的字符串等。
62.其中,所述图形用户界面应用与所述本地窗口和所述输入法通过第一通信协议之间进行数据交互;其中,所述第一通信协议为x-protocol。
63.步骤306a:通过所述输入法响应于所述调用事件,将状态栏的显示数据发送至所述图形用户界面应用;
64.其中,输入法不同,状态栏的显示数据可以不同。
65.步骤308a:通过所述图形用户界面应用基于所述状态栏的显示数据,在所述本地窗口的第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;
66.其中,所述图形用户界面应用可以基于状态栏的显示数据,生成第一控制命令,将所述第一控制命令发送至本地窗口,以使所述本地窗口基于所述第一控制命令,在第一应用界面呈现所述输入法的状态栏。
67.步骤310a:通过所述图形用户界面应用响应于字符输入事件,将所述字符输入事件发送至所述输入法;
68.步骤312a:通过所述输入法将所述字符输入事件转换为所述候选的字符串,并将所述候选的字符串发送至所述图形用户界面应用;
69.步骤314a:通过所述图形用户界面应用基于所述候选的字符串,在所述本地窗口的第一应用界面呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;
70.其中,所述图形用户界面应用可以基于所述候选的字符串,生成第二控制命令,将所述第二控制命令发送至本地窗口,以使所述本地窗口基于所述第二控制命令,在第一应用界面呈现所述输入法的候选窗口。
71.步骤316a:通过所述图形用户界面应用响应于字符选择事件,将所述字符选择事件发送至所述输入法;
72.步骤318a:通过所述输入法响应于所述字符选择事件,从所述候选的字符串中筛选出待显示的字符串,并将所述待显示的字符串发送至所述图形用户界面;
73.步骤320a:通过所述图形用户界面应用将所述待显示的字符串发送至所述本地窗口;
74.步骤322a:通过所述本地窗口将所述待显示的字符串发送至所述本地窗口的远程应用;
75.其中,所述本地窗口通过第二通信协议与所述远程应用进行数据交互;所述第一通信协议与所述第二通信协议不同,所述本地窗口和所述远程应用的服务端可以通过互联网如lan(local area network,局域网)或vpn(virtual private network,虚拟专用网)进行交互,在通过lan进行交互的情况下,所述第二通信协议可以是tcp(transmission control protocol,传输控制协议)/ip(internet protocol,网际互连协议)等,在通过vpn进行交互的情况下,所述第二通信协议可以是pptp(point to point tunneling protocol,点对点隧道协议)、l2tp(layer 2tunneling protocol,第二层隧道协议)等。
76.步骤324a:通过所述终端的本地窗口获取所述远程应用发送的所述第一页面数据,并将所述第一页面数据发送至所述图形用户界面应用;
77.步骤326a:通过所述图形用户界面应用基于所述第一页面数据,在所述本地窗口呈现第二应用界面,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
78.其中,所述图形用户界面应用可以基于第一页面数据,生成第三控制命令,将所述第三控制命令发送至本地窗口,以使所述本地窗口基于所述第三控制命令,呈现第二应用界面。
79.本技术实施例中,通过基于xim协议的图形用户界面应用获取输入事件,将输入事件发送至输入法,由输入法将输入事件转换为待显示的字符串后,再通过图形用户界面应用将待显示的字符串转发到远程应用的本地窗口进行显示,使得远程应用能够更便捷地获取待显示的字符串,不需要增加代理模块,从而能够降低由于部署模块过多造成的延时大、错误率高的影响,提升输入法获取输入文字的兼容性、易用性和统一性;所述图形用户界面应用与所述本地窗口和所述输入法通过第一通信协议之间进行数据交互,所述本地窗口通过第二通信协议与所述远程应用进行数据交互,从而能够更准确、更高效地进行数据交互。
80.图3b为本技术实施例另一种远程应用使用本地输入法的方法,应用于终端,所述终端包括本地窗口31、图形用户界面应用32、终端本地的输入法33,如图3b所示,所述方法包括以下步骤:
81.步骤302b:在所述终端的本地窗口呈现第一应用界面;
82.步骤304b:通过图形用户界面应用响应于对所述终端本地的输入法的调用事件,向所述本地窗口发送所述终端本地的输入法的调用请求;所述调用请求中包括所述输入法的调用事件;
83.其中,所述图形用户界面应用可以获取到用户对输入组件的触发事件,所述触发事件可以是输入法的调用事件、字符输入事件和字符选择事件、输入法风格选择事件、中/英文输入选择事件、全/半角选择事件等;所述输入法风格又可以称为输入法皮肤,如输入法的字体、输入法的候选窗口中待输入的字符串的显示个数、字体颜色等;所述输入组件可
以是键盘、鼠标等。
84.步骤306b:通过所述本地窗口将所述调用请求发送至所述远程应用;
85.步骤308b:在通过所述本地窗口获取到所述远程应用对所述调用请求的调用响应的情况下,通过所述本地窗口将所述调用事件发送至所述图形用户界面应用;
86.其中,所述远程应用可以决定是否响应终端本地的输入法的调用请求,以决定调用本地输入法还是远端的服务器上的输入法处理字符输入事件、字符选择事件等。
87.步骤310b:通过所述图形用户界面应用将所述输入法的调用事件发送至所述输入法;
88.步骤312b:通过所述输入法响应于所述调用事件,将状态栏的显示数据发送至所述图形用户界面应用;
89.步骤314b:通过所述图形用户界面应用基于所述状态栏的显示数据,在所述本地窗口的第一应用界面呈现所述输入法的状态栏,其中,所述状态栏用于呈现所述输入法的输入状态;
90.步骤316b:通过所述本地窗口响应于字符输入事件,获取所述远程应用发送的当前输入光标的位置,将所述当前输入光标的位置发送至图形用户界面应用;
91.步骤318b:通过所述图形用户界面应用基于所述当前输入光标的位置,在所述第一应用界面确定所述输入法的候选窗口的第一呈现位置;
92.步骤320b:通过所述图形用户界面应用响应于字符输入事件,将所述字符输入事件发送至所述输入法;
93.步骤322b:通过所述输入法将所述字符输入事件转换为所述候选的字符串,并将所述候选的字符串发送至所述图形用户界面应用;
94.步骤324b:通过所述图形用户界面应用基于所述候选的字符串和所述第一呈现位置,在所述本地窗口的第一应用界面的所述第一呈现位置呈现所述输入法的候选窗口,其中,所述候选窗口用于呈现候选的字符串;
95.其中,所述图形用户界面应用可以基于所述候选的字符串和所述第一呈现位置,生成第四控制命令,将所述第四控制命令发送至本地窗口,以使所述本地窗口基于所述第四控制命令,在所述本地窗口的第一应用界面的所述第一呈现位置呈现所述输入法的候选窗口。
96.在一些实施例中,可以通过图形用户界面应用响应于输入法风格选择事件,将所述输入法风格选择事件发送至所述输入法;通过所述输入法将所述输入法风格选择事件转换为目标输入法风格,并将所述目标输入法风格发送至所述图形用户界面应用;通过所述图形用户界面应用基于所述目标输入法风格和所述状态栏的显示数据,在所述本地窗口的第一应用界面以所述目标输入法风格呈现所述输入法的状态栏;通过所述图形用户界面应用基于所述目标输入法风格和所述候选的字符串,在所述本地窗口的第一应用界面的第一呈现位置以所述目标输入法风格呈现所述输入法的候选窗口。
97.步骤326b:通过所述图形用户界面应用响应于字符选择事件,将所述字符选择事件发送至所述输入法;
98.步骤328b:通过所述输入法响应于所述字符选择事件,从所述候选的字符串中筛选出待显示的字符串,并将所述待显示的字符串发送至所述图形用户界面;
99.步骤330b:通过所述图形用户界面应用将所述待显示的字符串发送至所述本地窗口;
100.步骤332b:通过所述本地窗口将所述待显示的字符串发送至所述本地窗口的远程应用;
101.步骤334b:通过所述终端的本地窗口获取所述远程应用发送的所述第一页面数据,并将所述第一页面数据发送至所述图形用户界面应用;所述第一页面数据包括待显示的字符串的显示数据和当前输入光标的位置;
102.步骤336b:通过所述图形用户界面应用基于所述当前输入光标的位置,在所述第一应用界面确定所述待显示的字符串的第二呈现位置;
103.步骤338b:通过所述图形用户界面基于所述待显示的字符串的显示数据和所述第二呈现位置,在所述本地窗口呈现第二应用界面,在所述本地窗口的第二应用界面的所述第二呈现位置呈现所述待显示的字符串,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
104.其中,所述图形用户界面应用可以基于所述待显示的字符串的显示数据和第二呈现位置,生成第五控制命令,将所述第五控制命令发送至本地窗口,以使所述本地窗口基于所述第五控制命令,呈现第二应用界面。
105.本技术实施例中,通过基于xim协议的图形用户界面应用获取输入事件,发送至输入法转换为待显示的字符串后,再转发到远程应用的本地窗口进行显示,使得远程应用能够更便捷地获取待显示的字符串,不需要增加代理模块,从而能够降低由于部署模块过多造成的延时大、错误率高的影响,提升输入法获取输入文字的兼容性、易用性和统一性。
106.图4a为本技术实施例一种linux系统上远程应用使用本地输入法的方法的示意图,如图4a所示,所述方法包括以下步骤:
107.步骤402:本地窗口获取本地输入法的待显示的字符串;
108.其中,步骤402中本地窗口获取本地输入法的待显示的字符串可以通过步骤4021至步骤4026实现:
109.步骤4021:所述图形用户界面应用42接收用户通过输入组件41的按键事件;
110.其中,所述按键事件可以是用户在第一应用界面进行的字符输入事件。
111.步骤4022:所述图形用户界面应用42将所述按键事件转发至远程应用的本地窗口43;
112.步骤4023:所述本地窗口43在确定响应所述按键事件的情况下,将所述按键事件回传至所述图形用户界面应用42;
113.步骤4024:所述图形用户界面应用42将所述按键事件发送至终端本地的输入法44,所述输入法44将所述按键事件转换为特定的字符串;
114.其中,所述特定的字符串可以是待显示的字符串。
115.步骤4025:所述输入法44将所述特定的字符串返回至所述图形用户界面应用42;
116.步骤4026:所述图形用户界面应用42将所述特定的字符串发送至所述本地窗口43。
117.通过如下步骤404和步骤406,用户能实现在linux系统上在远程应用中使用本地输入法44。
118.步骤404:本地窗口43将所述待显示的字符串发送至远程应用45;
119.步骤406:远程应用45将待显示的字符串的显示数据发送至本地窗口43,以供所述本地窗口43显示第二应用界面;
120.在一些实施例中,在所述步骤406之后,所述方法还包括以下步骤:
121.步骤408:所述本地窗口43可以将所述待显示的字符串的显示数据发送至所述图形用户界面应用42;
122.步骤410:所述图形用户界面应用42基于所述待显示的字符串的显示数据,在本地窗口43呈现所述第二应用界面。
123.其中,所述图形用户界面应用42可以基于所述待显示的字符串的显示数据,生成第三控制命令,将所述第三控制命令发送至所述本地窗口43,以使所述本地窗口43基于所述第三控制命令呈现所述第二应用界面。
124.需要说明的是,在一些实施例中,如图4b所示,在所述步骤410之前,所述方法还包括:步骤4091:远程应用45获取当前输入光标的位置,并将当前输入光标的位置实时发送至本地窗口43;步骤4092:所述本地窗口43将所述当前输入光标的位置发送至所述图形用户界面应用42;步骤4093:所述图形用户界面应用42根据所述当前输入光标的位置,确定所述待显示的字符串的第二呈现位置。
125.对应地,所述步骤410可以通过如下步骤实现:所述图形用户界面应用42基于待显示的字符串的显示数据和所述第二呈现位置,在本地窗口43呈现第二应用界面,在所述第二应用界面的所述第二呈现位置呈现所述待显示的字符串。
126.其中,所述图形用户界面应用42可以基于所述待显示的字符串的显示数据和所述第二呈现位置,生成第五控制命令,将所述第五控制命令发送至所述本地窗口43,以使所述本地窗口43基于所述第五控制命令呈现所述第二应用界面,并在所述第二应用界面的所述第二呈现位置呈现所述待显示的字符串。
127.linux系统上使用远程应用存在如下缺点:只能使用和切换远程应用的服务端的输入法,用户很容易感知是使用的远程应用,体验差。即使能够使用本地输入法,但是实现复杂,需要额外增加的模块或角色很多,如需要额外增加控制模块或代理模块,导致实现复杂,从输入到最后显示经过的环节多,延迟高,容易卡顿。在输入法易用性和兼容性上存在很多问题,如无法光标跟随,导致用户不能随意的安装第三方输入法如搜狗、百度输入法。
128.远程应用无法使用终端本地的输入法之前,如图5a所示,可以通过虚拟资源平台50a进入远程应用wps501a;如图5b或5c所示,在wps的本地窗口50b或50c上输入文字此时使用的输入法是远程服务端的,本地窗口侧的用户无法看到这个输入法的状态栏,也无法设置和切换,只能盲敲,或服务端有什么输入法就只能用什么输入法,虽然可以看到输入法的候选窗口501b或501c,但是从输入法的候选窗口中无法获知是哪种输入法。
129.远程应用能够使用本地输入法之后如图2b或2c使用的搜狗输入法就是本地linux系统的输入法,同理还可以使用本地的其他输入法。linux系统上的远程应用能够简单、方便、随意的使用本地输入法,不需要额外部署过多的模块,减少延时,且兼容性好,只要按照xim协议实现的输入法,不管什么第三方输入法,用户都能获取到输入文字,提升用户的体验。
130.本技术实施例使得应用程序能简单获取输入文字,克服部署模块多造成延时大、
容易出错的问题,简单易用,提升获取输入法输入文字的易用性、兼容性、统一性。
131.在x-window系统下,能够直接调用xlib提供的api(application programming interface,应用程序编程接口)完成获取输入文字的方法,并发送到远程服务端对应的应用程序显示,不需要增加任何代理模块,简单实现远程应用使用本地输入法,api是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
132.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的远程应用使用本地输入法的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机设备(可以是手机、平板电脑、台式机、个人数字助理等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
133.基于前述方法的实施例,本技术实施例提供一种远程应用使用本地输入法的装置,该装置包括所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu,central processing unit)、微处理器(mpu,microprocessor unit)、数字信号处理器(dsp,digital signal processing)或现场可编程门阵列(fpga,field programmable gate array)等。
134.图6为本技术实施例一种远程应用使用本地输入法的装置的组成结构示意图,如图6所示,所述装置600包括本地窗口601、图形用户界面应用602和输入法603,其中:
135.本地窗口601,用于呈现第一应用界面;
136.图形用户界面应用602,用于响应于对所述终端本地的输入法603的调用事件,所述本地窗口,还用于在所述第一应用界面呈现所述输入法603的状态栏,其中,所述状态栏用于呈现所述输入法603的输入状态;
137.所述图形用户界面应用602,还用于响应于字符输入事件,所述本地窗口,还用于在所述第一应用界面呈现所述输入法603的候选窗口,其中,所述候选窗口用于呈现候选的字符串;
138.所述图形用户界面应用602,还用于响应于字符选择事件,所述输入法603,用于从所述候选的字符串中筛选出待显示的字符串;所述本地窗口601,还用于将所述待显示的字符串发送至所述本地窗口的远程应用;
139.所述本地窗口601,还用于呈现第二应用界面,所述第二应用界面是基于所述远程应用发送的第一页面数据生成的且显示有所述待显示的字符串。
140.在一些实施例中,所述本地窗口601,用于响应于字符输入事件,获取所述远程应用发送的第二页面数据;所述图形用户界面应用602,用于基于所述第二页面数据,在所述第一应用界面确定所述输入法的候选窗口的第一呈现位置;所述本地窗口601,用于在所述第一应用界面的所述第一呈现位置呈现所述输入法的候选窗口。
141.在一些实施例中,所述第一页面数据包括当前输入光标的位置和待显示的字符串的显示数据,所述本地窗口601,用于获取所述远程应用发送的当前输入光标的位置和待显
示的字符串的显示数据;所述图形用户界面应用602,用于基于所述当前输入光标的位置,在所述第二应用界面确定所述待显示的字符串的第二呈现位置;所述本地窗口601,还用于在所述第二应用界面的所述第二呈现位置呈现所述待显示的字符串。
142.在一些实施例中,所述图形用户界面应用602,用于响应所述终端本地的输入法的调用事件,将所述输入法的调用事件发送至所述输入法603;所述输入法603,用于响应于所述调用事件,将状态栏的显示数据发送至所述图形用户界面应用602;所述图形用户界面应用602,用于基于所述状态栏的显示数据,在所述本地窗口601的第一应用界面呈现所述输入法的状态栏。
143.在一些实施例中,所述图形用户界面应用602,用于响应于对所述终端本地的输入法603的调用事件,向所述本地窗口601发送所述终端本地的输入法603的调用请求;所述本地窗口601,用于将所述调用请求发送至所述远程应用;所述本地窗口601,用于在获取到所述远程应用对所述调用请求的调用响应的情况下,将所述调用事件发送至所述图形用户界面应用602;所述图形用户界面应用602,用于将所述输入法603的调用事件发送至所述输入法603。
144.在一些实施例中,所述图形用户界面应用602,用于响应于字符输入事件,将所述字符输入事件发送至所述输入法603;所述输入法603,用于将所述字符输入事件转换为所述候选的字符串,并将所述候选的字符串发送至所述图形用户界面应用602;所述图形用户界面应用602,用于基于所述候选的字符串,在所述本地窗口601的第一应用界面呈现所述输入法603的候选窗口。
145.在一些实施例中,所述本地窗口601,用于响应于字符输入事件,获取所述远程应用发送的当前输入光标的位置,将所述当前输入光标的位置发送至图形用户界面应用602;所述图形用户界面应用602,用于基于所述当前输入光标的位置,在所述第一应用界面确定所述输入法603的候选窗口的第一呈现位置;所述图形用户界面应用602,用于基于所述候选的字符串和所述第一呈现位置,在所述本地窗口601的第一应用界面的所述第一呈现位置呈现所述输入法603的候选窗口。
146.在一些实施例中,所述图形用户界面应用602,用于响应于字符选择事件,将所述字符选择事件发送至所述输入法603;所述输入法603,用于响应于所述字符选择事件,从所述候选的字符串中筛选出待显示的字符串,并将所述待显示的字符串发送至所述图形用户界面602;所述图形用户界面应用602,用于将所述待显示的字符串发送至所述本地窗口601;所述本地窗口601,用于将所述待显示的字符串发送至所述本地窗口601的远程应用。
147.在一些实施例中,所述本地窗口601,用于获取所述远程应用发送的所述第一页面数据,并将所述第一页面数据发送至所述图形用户界面应用602;所述图形用户界面应用,用于基于所述第一页面数据,在所述本地窗口601呈现第二应用界面。
148.在一些实施例中,所述第一页面数据包括当前输入光标的位置和所述待显示的字符串的显示数据;所述图形用户界面应用602,用于基于所述当前输入光标的位置,在所述第一应用界面确定所述待显示的字符串的第二呈现位置;所述图形用户界面602,用于基于所述待显示的字符串的显示数据和所述第二呈现位置,在所述本地窗口601呈现第二应用界面,在所述本地窗口601的第二应用界面的所述第二呈现位置呈现所述待显示的字符串。
149.在一些实施例中,所述图形用户界面应用602与所述本地窗口601和所述输入法
603通过第一通信协议之间进行数据交互;所述本地窗口601通过第二通信协议与所述远程应用进行数据交互;所述第一通信协议与所述第二通信协议不同,其中,所述第一通信协议为x-protocol。
150.以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
151.对应地,本技术实施例提供一种计算机设备,图7为本技术实施例计算机设备的一种硬件实体示意图,如图7所示,该设备700的硬件实体包括:包括存储器701和处理器702,所述存储器701存储有可在处理器702上运行的计算机程序,所述处理器702执行所述程序时实现上述实施例中远程应用使用本地输入法的方法中的步骤。
152.存储器701配置为存储由处理器702可执行的指令和应用,还可以缓存待处理器702以及设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
153.对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中远程应用使用本地输入法的方法中的步骤。
154.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同设备实施例相似的有益效果。对于本技术存储介质和方法实施例中未披露的技术细节,请参照本技术设备实施例的描述而理解。
155.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
156.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
157.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
158.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单
元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
159.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机设备(可以是手机、平板电脑、台式机、个人数字助理、导航仪、数字电话、视频电话、电视机、传感设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
160.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
161.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献