掌桥专利:专业的专利平台
掌桥专利
首页

一种云应用的文字输入方法、装置及计算机设备

文献发布时间:2023-06-19 10:38:35


一种云应用的文字输入方法、装置及计算机设备

技术领域

本申请涉及云计算技术领域,具体而言,涉及一种云应用的文字输入方法、装置及计算机设备。

背景技术

在云应用场景下,以云游戏为例,游戏并不安装在玩家终端,而是在云端运行,由云端对游戏运行过程中生成的游戏场景进行渲染得到游戏画面和音频,将该游戏画面和音频通过网络以视频流的方式发送至玩家终端,玩家终端接收该视频流进行解码播放;该模式下,玩家终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力和获取玩家输入指令并发送至云端的游戏服务器的能力即可。

云游戏过程需要支持玩家进行账号、密码、验证码等的内容的输入操作,以及在玩游戏过程中的玩家之间的聊天功能;因此,云游戏需要实现支持输入法的功能;本申请的发明人在研究中发现,相关技术中,一种实现方式是用户通过客户端玩云游戏,当游戏过程中需要输入中文时,客户端只是把对应的键盘键值发送给云端,云端通过Windows系统消息机制处理键盘消息,并控制切换云端输入法为中文输入,由云端输入法完成对键盘按键消息处理实现文字的输入;另一种实现方式,比如申请公布号为CN111766958A的专利申请所公开的方法中,通过云端监听相关API确定游戏是否需要文字输入,然后告知终端,终端启动输入法,虚拟出与云端编辑框位置重叠的终端编辑框,终端接收键盘的输入内容,然后发送给云端应用的编辑框中。上述第一种实现方式中,使用云端的输入法进行文字输入,无法兼顾各终端用户的输入习惯,以及对应于不同显示屏型号的终端,输入法的显示会出现不匹配的现象发生;第二种方式中,输入法的启动操作需要经过云端触发,存在着时延较长的问题;并且针对于部分游戏或者应用程序,由于受到其安全性的限制,云端无法获取到该游戏或者应用程序是否处于文字输入状态,此时,针对该类游戏或者应用程序如果要使用该方式实现输入法,则需要首先对该类游戏或者应用程序本身进行较繁琐的更改适配工作。

发明内容

有鉴于此,本申请提供一种云应用的文字输入方法、装置及计算机设备,在充分考虑终端用户的输入习惯的前提下,达到与在终端本地应用进行文字输入完全一致的用户体验。

具体地,本申请是通过如下技术方案实现的:

第一方面,本申请实施例提供了一种云应用的文字输入方法,所述方法应用于客户端,所述客户端安装于终端上,所述方法包括:

接收云应用服务器发送的第一应用画面进行显示;

响应于用户针对所述第一应用画面的文字输入操作,触发所述终端本地安装的与所述客户端相关联的输入法程序在所述第一应用画面中呈现待输入文字内容的候选词显示框;其中,所述待输入文字内容包括中文输入内容;

响应于用户的输入确认操作,从所述输入法程序获取用户确认输入的文字内容,将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过云应用进程的处理逻辑判断该文字内容为有效输入内容后生成第二应用画面,将所述第二应用画面发送至所述客户端;

接收所述云应用服务器发送的所述第二应用画面进行显示;其中,所述第二应用画面中包含有所述文字内容。

第二方面,本申请实施例提供了一种云应用的文字输入装置,包括:

第一显示模块,用于接收云应用服务器发送的第一应用画面进行显示;

第一响应模块,用于响应于用户针对所述第一应用画面的文字输入操作,触发所述终端本地安装的与所述客户端相关联的输入法程序在所述第一应用画面中呈现待输入文字内容的候选词显示框;其中,所述待输入文字内容包括中文输入内容;

第二响应模块,用于响应于用户的输入确认操作,从所述输入法程序获取用户确认输入的文字内容,将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过云应用进程的处理逻辑判断该文字内容为有效输入内容后生成第二应用画面,将所述第二应用画面发送至所述客户端;

第二显示模块,用于接收所述云应用服务器发送的所述第二应用画面进行显示;其中,所述第二应用画面中包含有所述文字内容。

第三方面,本申请实施例提供了一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被执行时实现如第一方面所述的方法。

第四方面,本申请实施例提供了一种计算机设备,包括:机器可读存储介质和处理器,机器可读存储介质:存储指令代码,处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中的指令代码,实现如第一方面所述的方法。

本申请实施例中提供的一种云应用的文字输入方法、装置及计算机设备,应用运行于云应用服务器上,云应用服务器对应用运行过程中所生成的应用场景进行渲染,得到第一应用画面,将该第一应用画面发送至客户端,客户端接收第一应用画面进行显示,用户在对该第一应用画面进行文字输入操作时,客户端响应于用户的文字输入操作,触发终端本地所安装的已与客户端完成关联的输入法程序在第一应用画面中呈现待输入内容的候选词显示框,在检测到用户的候选词输入确认操作以后,响应于该操作从输入法程序中获取用户确认输入的文字内容发送至应用服务器,应用服务器通过云应用进程的处理逻辑判断该文字内容为有效输入内容后,生成第二应用画面,将第二应用画面发送至客户端;客户端接收云应用服务器发送的第二应用画面并进行显示,该第二应用画面中包含有上述输入的文字内容;本申请中,通过客户端直接触发终端本地的与该客户端关联的输入法程序进行文字的输入,相对于现有技术中通过使用云端的输入法进行文字输入,能够满足用户的输入法使用习惯;以及相与现有技术中通过云端去启动输入法的方式相比,具有启动效率高的优点,能够达到与在终端本地所安装的应用进行文字输入完全一致的用户体验,并且无需对云应用本身做任何改动,适用范围更广。

附图说明

图1是本申请一示例性实施例示出的云应用的运行场景架构示意图;

图2是本申请一示例性实施例示出的一种云应用的文字输入方法的流程示意图;

图3是本申请一示例性实施例示出的一种输入光标显示流程的示意图;

图4是本申请一示例性实施例示出的候选词显示框的显示流程的示意图;

图5是本申请一示例性实施例提供的一种文字输入的游戏画面示意图;

图6是本申请一示例性实施例提供的一种文字输入的云应用服务器与客户端的交互流程示意图;

图7是本申请一示例性实施例示出的一种云应用输入法的实现装置的结构示意图;

图8是本申请一示例性实施例示出的一种计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1是本申请一示例性实施例示出的云应用运行场景架构示意图;参照图1所示,云应用在云应用服务器10上启动并运行,该云应用比如可以是云游戏应用、云VR应用等;在图1所示的架构中,云应用服务器10与安装于终端的客户端20之间通过网络进行交互,此处的终端可以是PC(个人计算机)、手机、平板电脑、可穿戴式设备(比如VR一体机)等;云应用服务器在启动云应用的流化以后将生成的应用画面和音频以视频流地方式通过网络发送至客户端,客户端进行解码播放。

需要说明的是,本申请中所述的云应用服务器应当做广义理解,可以是指单个的服务器,也可以是服务器集群,本申请对此不做限定;并且云应用服务器可以是物理机,也可以是通过软件虚拟出来的,比如虚拟机等的虚拟服务器,该服务器上安装有操作系统,比如Windows操作系统。

考虑到云应用模式下,如果对云应用进行文字输入,则首先需要启动输入法程序,如果输入法程序的启动操作需要经过云端执行,则存在着时延较长的问题,并且针对于某些特定的游戏或者程序,受其高安全性的限制,云端无法获取到该游戏或者程序是否处于文字输入状态,此时,针对该类游戏或者程序如果要使用云端启动输入法程序的话,则需要对该类游戏或者程序本身进行繁琐的适配、更改处理操作。基于此,本申请实施例提供了一种云应用的文字输入方法、装置及计算机设备。

图2是本申请一示例性实施例示出的一种云应用的文字输入方法的流程示意图;参照图2所示,该实施例中所提供的云应用的文字输入方法,用于客户端,该客户端安装于终端上,该方法具体包括如下步骤S10-S40:

S10、客户端接收云应用服务器发送的第一应用画面进行显示。

在云应用运行场景下,云应用服务器对应用运行所产生的应用场景进行渲染得到第一应用画面,将该第一应用画面编码后发送至客户端进行显示。该第一应用画面与下述的第二应用画面是相对而言的,仅用于区分的目的。

S20、响应于用户针对所述第一应用画面的文字输入操作,触发所述终端本地安装的与所述客户端相关联的输入法程序在所述第一应用画面中呈现待输入文字内容的候选词显示框;其中,所述待输入文字内容包括中文输入内容。

本实施例中,上述的第一应用画面可以是指包含用户账号输入框、密码输入框、验证码输入框、聊天内容输入框等文字输入框的应用画面,用户在进行账号等信息输入时,通过在该第一应用画面中通过鼠标点击文字输入框的方式触发进行文字的输入。

图3是本申请一示例性实施例示出的一种输入光标显示流程的示意图;参照图3所示,客户端在检测到用户在文字输入框触发文字输入操作后,在该第一应用画面的文字输入框内呈现输入光标,进而本实施例中,在上述步骤S20之前,该方法还包括以下步骤S11-S13:

S11、若检测到用户针对所述第一应用画面的文字输入区触发了进行文字输入的操作,则获取所述操作的位置坐标。

示例性地,上述的操作可以是用鼠标点击文字输入框,客户端检测到该鼠标点击操作后获取该鼠标点击位置的位置坐标。

S12、将所述位置坐标发送至所述云应用服务器,以使所述云应用服务器在执行云应用进程的处理逻辑判断所述位置坐标属于有效的文字输入区的情况下,进行输入光标在所述文字输入区的显示处理。

云应用服务器执行云应用进程的处理逻辑,在文字输入框内显示输入光标,以提示用户进行文字输入。

S13、在所述第一应用画面的所述文字输入区显示输入光标。

进而本实施例中,如果用户是在第一画面的文字输入框内触发了文字输入操作,则在该文字输入框内会出现输入光标,提示用户进行文字输入,该文字输入可以是英文输入或者是中文输入。

如果用户是在其他位置误触发了文字输入操作,比如用户点击了文字输入框以外的区域或者是不包含文字输入框的应用画面的任何一个区域,客户端检测到该文字输入触发操作以后,获取操作位置的坐标,将该坐标发送至云应用服务器,云应用服务器通过windows消息机制将该坐标提供至应用进程,通过应用进程的处理逻辑判断该坐标对应的位置处不属于有效的文字输入区后,不执行输入光标显示的处理。而此时,在终端侧,如果客户端检测到输入法程序当前的输入状态为中文输入状态,则客户端会将该操作位置的坐标发送至输入法程序,输入法程序在该坐标对应的位置处弹出候选词显示框,此时用户如果发现是误触发了输入操作,则可以通过切换输入法(将输入法程序的输入状态切换至英文)的操作退出文字输入。

S30、响应于用户的输入确认操作,从所述输入法程序获取用户确认输入的文字内容,将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过云应用进程的处理逻辑判断该文字内容为有效输入内容后生成第二应用画面,将所述第二应用画面发送至所述客户端。

本实施例中,如果用户从候选词显示框中所显示的候选词中选择了要输入的文字,比如,用户通过操作键盘的空格键或者数字键的方式触发该文字的输入,客户端响应于用户的确认输入操作,从输入法程序获取用户确认输入的文字内容,将该文字内容发送至云应用服务器;云应用服务器接收该文字内容,将该文字内容提供至应用进程,通过应用进程的处理逻辑实现将该文字内容显示于输入框内,生成第二应用画面,将该第二应用画面发送至客户端。

如果是误触发文字输入操作的情况,若用户从候选词显示框中所显示的候选词中选择要输入的文字,客户端响应于用户的确认输入操作,从输入法程序获取用户确认输入的文字内容,将该文字内容分发送至云应用服务器,云应用服务器接收该文字内容,将该文字内容提供至应用进程,通过应用进程的处理逻辑判断该文字内容不是有效的输入内容时,则将该文字内容丢弃。

S40、接收所述云应用服务器发送的第二应用画面进行显示;其中,所述第二应用画面中包含有所述文字内容。

进而本实施例中,通过终端本地的默认输入法进行文字输入,充分考虑了终端用户的输入习惯,并且通过安装在终端的客户端直接与输入法程序进行交互,能够使得在云应用进行文字输入达到与在本地应用进行文字输入一致的用户体验。

本申请实施例中,上述客户端在接收云应用服务器发送的第一应用画面进行显示之前,还包括如下步骤A10:

步骤A10、所述客户端在启动过程中进行与所述终端本地的默认输入法程序相关联。

上述终端本地的默认输入法可以是终端系统自带的输入法比如微软拼音输入法,也可以是终端本地所安装的第三方输入法,比如搜狗输入法、QQ输入法等,终端用户根据自己的使用习惯在本地设置默认使用的输入法。

本实施例中,通过使客户端与终端本地的默认输入法程序进行一对一关联,使得客户端能够及时获取该输入法程序的文字输入内容和输入法的状态信息。

图4是本申请一示例性实施例示出的候选词显示框的显示流程的示意图;参照图4所示,上述步骤S20中,响应于用户针对所述第一应用画面的文字输入操作,触发所述终端本地所安装的与所述客户端相关联的输入法程序在所述第一应用画面中呈现待输入文字内容的候选词显示框,具体包括如下步骤S201-S202:

S201、获取所述输入法程序的当前输入状态。

用户用鼠标点击第一应用画面上的文字输入框,然后切换输入法至中文状态进行文字输入。

S202、若所述当前输入状态为中文输入状态,则将所述位置信息提供至所述输入法程序,以使所述输入法程序在用户进行文字内容输入的过程中在该位置信息对应的位置处弹出所述候选词显示框。

本申请实施例中所提供的云应用的文字输入法,尤其适用于PC客户端,该PC客户端可以是运营与Windows操作系统环境或者MacOS操作系统环境;本实施例中,PC客户端通过键盘直接进行英文的输入,通过启动本地输入法进行中文的输入。

图5是本申请一示例性实施例提供的一种云游戏的文字输入的游戏画面示意图;参照图5所示,该游戏画面示意图中,用户通过鼠标点击用户名输入框以后,用户名输入框内会显示输入光标,中文输入状态下,在用户通过操作键盘进行文字输入过程中,该输入框位置处会呈现侯选词显示框;比如,图示中,用户在中文输入状态下按下键盘中的“C”键以后,出现的候选词有“从、层、出、车、吃”等。

本实施例中,上述侯选词显示框的大小以及与光标或输入框的位置关系也是终端默认的,因此,侯选词显示框的显示始终与终端显示相匹配。

图6是本申请一示例性实施例提供的一种文字输入的云应用服务器与PC客户端的交互流程示意图;参照图6所示,在完整的交互过程中,用户在客户端的第一应用画面上通过鼠标点击的方式触发文字输入操作,客户端获取该输入操作的位置信息,将该位置信息发送至云应用服务器,云应用服务器判断为有效的输入位置时会显示输入光标,此时如果输入法的状态为中文输入状态,则客户端将该位置信息提供至输入法程序,输入法程序在用户进行文字输入时在对应位置弹出候选词显示框,如果用户确认某一候选词的输入后,客户端会获取该确认输入的文字内容,将该文字内容发送至云应用服务器,云应用服务器根据该文字内容生成第二应用画面。

由于用户在对应用画面进行一些复杂的账号、验证码或者网址等信息的输入时,如果通过手动输入的方式,则需要用户必须准确无误的进行输入,该过程耗时且繁琐;基于此,本申请一实施例中,上述方法还包括如下步骤B10-B20:

步骤B10、响应于用户针对所述第一应用画面触发的内容粘贴操作,从剪贴板中获取复制后的文字内容。

步骤B20、将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过执行所述云应用进程的处理逻辑判断所述文字内容为有效的输入内容后生成所述第二应用画面。

进而本实施例中,用户可以实现在内容输入框的输入光标显示的状态下,复制任意字符串信息,然后通过内容粘贴操作,比如操作键盘上的“Ctrl+V”组合键,将该复制的内容粘贴到云端的编辑框中。

综上,本申请所提供的技术方案中,用户在云游戏等场景中,当终端监听到本地输入法状态为中文时,从输入法获取中文等输入字符,然后发送给云端应用的编辑框,并且本方案支持终端复制、云端粘贴功能,与用户在本地玩游戏的输入体验一致,适用于更多的云游戏/云桌面输入场景。

图7是本申请一示例性实施例示出的一种云应用的文字输入装置的结构示意图;参照图7所示,该装置600包括:

第一显示模块601,用于接收云应用服务器发送的第一应用画面进行显示;

第一响应模块602,用于响应于用户针对所述第一应用画面的文字输入操作,触发所述终端本地安装的与所述客户端相关联的输入法程序在所述第一应用画面中呈现待输入文字内容的候选词显示框;其中,所述待输入文字内容包括中文输入内容;

第二响应模块603,用于响应于用户的输入确认操作,从所述输入法程序获取用户确认输入的文字内容,将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过云应用进程的处理逻辑判断该文字内容为有效输入内容后生成第二应用画面,将所述第二应用画面发送至所述客户端;

第二显示模块604,用于接收所述云应用服务器发送的所述第二应用画面进行显示;其中,所述第二应用画面中包含有所述文字内容。

可选地,上述装置600,还包括:

关联模块(图中未示出),用于在所述云应用启动后,执行与所述终端本地默认输入法程序的关联操作。

可选地,上述装置600,还包括:

获取模块(图中未示出),用于若检测到用户针对所述第一应用画面的文字输入区触发了进行文字输入的操作,则获取所述操作的位置坐标;

第一发送模块(图中未示出),用于将所述位置坐标发送至所述云应用服务器,以使所述云应用服务器在执行云应用进程的处理逻辑判断所述位置坐标属于有效的文字输入区的情况下,进行输入光标在所述文字输入区的显示处理;

第三显示模块(图中未示出),用于在所述第一应用画面的所述文字输入区显示输入光标。

可选地,上述第一响应模块602,具体用于:

获取所述输入法程序的当前输入状态;

若所述当前输入状态为中文输入状态,则将所述位置信息提供至所述输入法程序,以使所述输入法程序在用户进行文字内容输入的过程中在该位置信息对应的位置处弹出所述候选词显示框。

可选地,上述装置,还包括:

获取模块(图中未示出),用于响应于用户针对所述第一应用画面触发的内容粘贴操作,从剪贴板中获取复制后的文字内容;

第二发送模块(图中未示出),用于将所述文字内容发送至所述云应用服务器,以使所述云应用服务器接收所述文字内容,在通过执行所述云应用进程的处理逻辑判断所述文字内容为有效的输入内容后生成所述第二应用画面。

本申请另一实施例中还提供了一种机器可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的云应用的文字输入方法的步骤。

图8是本申请本申请实施例示出的一种计算机设备的结构示意图。参照图8所示,该计算机设备700,至少包括存储器702和处理器701;所述存储器702通过通信总线703和所述处理器701连接,用于存储所述处理器701可执行的指令代码;所述处理器701用于从所述存储器702读取和执行指令代码以实现上述任一实施例所述的云应用的文字输入方法的步骤。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 一种云应用的文字输入方法、装置及计算机设备
  • 一种文字输入方法、设备及计算机可读存储介质
技术分类

06120112624506