虚拟键盘处理方法及装置制造方法

文档序号:6512397阅读:175来源:国知局
虚拟键盘处理方法及装置制造方法
【专利摘要】本发明实施例提供一种虚拟键盘处理方法及装置。该方法包括:客户端发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给客户端,客户端根据插入符状态信息弹出或收起虚拟键盘,客户端根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。本发明实施例提供的虚拟键盘处理方法及装置,可实现用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
【专利说明】虚拟键盘处理方法及装置

【技术领域】
[0001 ] 本发明实施例涉及通信【技术领域】,尤其涉及一种虚拟键盘处理方法及装置。

【背景技术】
[0002]在远程桌面接入、远程应用(应用虚拟化)或类似技术中,用户可以通过不同的客户端设备,如个人电脑、平板电脑、手机等,远程接入到其他的设备或远程应用(服务端)中。在这一过程中,客户端接收用户的操作(如鼠标操作、键盘操作、触屏手势操作等),并将其发送到服务端,服务端对接收到的操作事件作出处理之后,以图像或视频流的方式反馈回客户端。因此,客户端从服务端接收到的只是一些图像以及绘图指令信息,而对远程桌面或远程应用的输入状态、窗口聚焦状态、用户可编辑区域等信息却一无所知。对于移动设备上的客户端,当用户希望对远程访问的桌面或应用进行输入时,一般需要进行的操作有:1)点击自己希望输入编辑的位置;2)通过屏幕按钮等操作,呼出虚拟键盘;3)手动滚动远程会话视图,使得视图处于恰当的位置,以使待编辑位置不被虚拟键盘所遮挡。与用户在使用移动设备上的本地应用时相比,若用户希望输入编辑,只需点击想要编辑的位置,如果该位置允许输入,则虚拟键盘会自动弹出,且应用视图会自动滚动到恰当位置,使得待编辑位置不被虚拟键盘所遮挡。因此可以看出,前一情况下用户的操作是相当繁琐的,无法达到和本地应用一致的用户体验。
[0003]为解决上述问题,现有技术中的一种方法是通过添加远端输入法hook或键盘hook或是两者相结合的方式,来获取远程访问的桌面或应用之中编辑插入符的位置。
[0004]但是上述方法在有些情况下会导致虚拟键盘的误弹出或收起,影响性能。


【发明内容】

[0005]本发明实施例提供一种虚拟键盘处理方法及装置,可准确获取用户的编辑输入意图和用户的编辑输入位置,从而降低用户操作的复杂度,提升用户体验。
[0006]第一方面,本发明实施例提供一种虚拟键盘处理方法,包括:
[0007]客户端发送插入符状态查询请求到服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述客户端;
[0008]所述客户端根据所述插入符状态信息弹出或收起虚拟键盘;
[0009]所述客户端根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
[0010]在第一方面的第一种可能的实施方式中,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
[0011]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述客户端发送插入符状态查询请求到服务端之前,还包括:
[0012]所述客户端接收用户操作指令。
[0013]结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述客户端发送插入符状态查询请求到服务端之前,还包括:
[0014]所述客户端接收用户触发开启虚拟键盘的预弹出状态的触发命令;
[0015]所述客户端根据所述触发命令将所述虚拟键盘设置为预弹出状态;
[0016]所述客户端接收用户的操作指令。
[0017]结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第三种可能的实施方式中,所述客户端发送插入符状态查询请求到服务端,包括:
[0018]所述客户端根据所述用户操作指令发送键盘控制请求至所述客户端中的键盘状态控制模块;
[0019]所述键盘状态控制模块接收到所述键盘控制请求后,向客户端中的插入符状态获取模块发送插入符状态查询请求;
[0020]所述插入符状态获取模块将所述插入符状态查询请求发送至服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述插入符状态获取模块。
[0021]第二方面,本发明实施例提供一种虚拟键盘处理方法,包括:
[0022]服务端接收客户端发送的插入符状态查询请求;
[0023]所述服务端根据所述插入符状态查询请求获取插入符状态信息;
[0024]所述服务端将所述插入符状态信息返回给所述客户端,以使所述客户端根据所述插入符状态信息弹出或收起虚拟键盘,并根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
[0025]在第二方面的第一种可能的实施方式中,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
[0026]结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第三种可能的实施方式中,所述服务端根据所述插入符状态查询请求获取插入符状态信息,包括:
[0027]所述服务端根据所述插入符状态查询请求查询当前插入符的焦点窗口 ;
[0028]获取所述焦点窗口对应的线程标识ID ;
[0029]获取所述线程ID对应的线程信息;
[0030]查询所述线程信息的Caret属性,获得所述插入符的当前编辑模式和/或所述插入符的具体坐标。
[0031]第三方面,本发明实施例提供一种虚拟键盘处理装置,包括:获取模块、键盘状态控制模块和视图滚动控制模块;
[0032]所述获取模块,用于发送插入符状态查询请求到服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述获取模块;
[0033]所述键盘状态控制模块,用于根据所述插入符状态信息弹出或收起虚拟键盘;
[0034]所述视图滚动控制模块,用于根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
[0035]在第三方面的第一种可能的实施方式中,所述插入符状态信息包括:插入符的当前编辑模式和所述插入符的具体坐标。
[0036]结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,还包括:
[0037]第一视图模块,用于在所述获取模块发送插入符状态查询请求到服务端之前,接收用户操作指令。
[0038]结合第三方面的第一种可能的实施方式,在第三方面的第三种可能的实施方式中,还包括:
[0039]第二视图模块,用于在所述获取模块发送插入符状态查询请求到服务端之前,接收用户触发开启虚拟键盘的预弹出状态的触发命令;
[0040]所述第二视图模块还用于根据所述触发命令将所述虚拟键盘设置为预弹出状态;
[0041]所述第二视图模块还用于接收用户的操作指令。
[0042]结合第三方面的第二种可能的实施方式或第三方面的第三种可能的实施方式,在第三方面的第四种可能的实施方式中,所述获取模块包括:键盘状态控制模块和插入符状态获取模块;
[0043]所述第一视图模块或第二视图模块还用于根据所述用户操作指令发送键盘控制请求至所述键盘状态控制模块;
[0044]所述键盘状态控制模块,用于接收到所述键盘控制请求后,向所述插入符状态获取模块发送插入符状态查询请求;
[0045]所述插入符状态获取模块,用于将所述插入符状态查询请求发送至服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述插入符状态获取模块。
[0046]第四方面,本发明实施例提供一种虚拟键盘处理装置,包括:
[0047]接收模块,用于接收客户端发送的插入符状态查询请求;
[0048]获取模块,用于根据所述插入符状态查询请求获取插入符状态信息;
[0049]发送模块,用于将所述插入符状态信息返回给所述客户端,以使所述客户端根据所述插入符状态信息弹出或收起虚拟键盘,并根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
[0050]在第四方面的第一种可能的实施方式中,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
[0051]结合第四方面或第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述获取模块具体用于:
[0052]根据所述插入符状态查询请求查询当前插入符的焦点窗口 ;
[0053]获取所述焦点窗口对应的线程标识ID ;
[0054]获取所述线程ID对应的线程信息;
[0055]查询所述线程信息的Caret属性,获得所述插入符的当前编辑模式和/或所述插入符的具体坐标。
[0056]本发明实施例提供的虚拟键盘处理方法及装置,通过客户端发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给客户端,因此可准确判断出当前的编辑模式以及准确预测用户的输入意图,从而客户端根据插入符状态信息自动弹出或收起虚拟键盘,然后根据插入符状态信息和虚拟键盘的状态变化调整客户端视图,使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。

【专利附图】

【附图说明】
[0057]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0058]图1为本发明虚拟键盘处理方法实施例一的流程图;
[0059]图2为本发明虚拟键盘处理方法实施例二的流程图;
[0060]图3为本发明虚拟键盘处理方法实施例三的流程图;
[0061]图4为本发明虚拟键盘处理方法实施例三中客户端和服务端的模块组成示意图;
[0062]图5为本发明虚拟键盘处理方法实施例四的流程图;
[0063]图6为本发明虚拟键盘处理装置实施例一的结构示意图;
[0064]图7为本发明虚拟键盘处理装置实施例二的结构示意图;
[0065]图8为本发明虚拟键盘处理装置实施例三的结构示意图;
[0066]图9为本发明虚拟键盘处理装置实施例三的结构示意图;
[0067]图10为本发明虚拟键盘处理装置实施例四的结构示意图;
[0068]图11为本发明虚拟键盘处理装置实施例五的结构示意图;
[0069]图12为本发明虚拟键盘处理装置实施例六的结构示意图。

【具体实施方式】
[0070]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071]本发明实施例提供的虚拟键盘处理方法,主要应用于移动终端设备上访问远程桌面或应用虚拟化领域打开远程应用,可准确获知用户的编辑输入意图,并恰当准确地自动为用户弹出或收起虚拟键盘,还可精确获取用户编辑输入位置,自动进行视图滚动调整,使得待编辑区域不被虚拟键盘所遮挡,处于屏幕的最佳输入位置。
[0072]图1为本发明虚拟键盘处理方法实施例一的流程图,本实施例以客户端作为执行主体为例进行说明,如图1所示,本实施例的方法可以包括:
[0073]S101、客户端发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给客户端。
[0074]其中,插入符状态信息包括:插入符的当前编辑模式和/或插入符的具体坐标。
[0075]具体地,服务端接收到插入符状态查询请求后,根据特定的策略查询获取插入符状态信息,例如以Windows远程应用为例,获取插入符状态信息的方法可以是:
[0076]1、服务端根据插入符状态查询请求查询当前插入符的焦点窗口。
[0077]2、获取焦点窗口对应的线程标识(ID )。
[0078]3、获取该线程ID对应的线程信息。
[0079]4、查询线程信息的插入符号(Caret)属性,获得插入符的当前编辑模式和/或插入符的具体坐标。
[0080]若服务端通过上述操作无法获得插入符的具体坐标,则表明当前焦点窗口并未处于编辑状态,或者当前编辑位置处于只读模式。
[0081 ] S102、客户端根据插入符状态信息弹出或收起虚拟键盘。
[0082]具体地,客户端接收到插入符状态信息后,可准确判断出当前的编辑模式,例如可编辑、只读或不可编辑,根据特定的策略判断是否弹出或收起虚拟键盘,特定的策略可定制,比如插入符状态信息中插入符宽度大于一定值则不弹出虚拟键盘,或者是插入符状态信息为空时不弹出虚拟键盘,或者虚拟键盘已处于弹出状态下则收起虚拟键盘。
[0083]S103、客户端根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0084]具体地,客户端根据插入符状态信息和虚拟键盘的状态变化,滚动调整视图,使得视图处于合适的位置,方便用户进行编辑,例如调整视图使得输入位置处于移动设备可视区域中间。
[0085]本发明实施例中,作为一种可实施的方式,在客户端发送插入符状态查询请求到服务端之前,还包括:
[0086]S104、客户端接收用户操作指令。
[0087]其中,用户的操作指令例如用户点击希望输入编辑的位置。
[0088]在本发明实施例中,作为另一种可实施的方式,可以为虚拟键盘增加一个预弹出状态,即就是非完全弹出状态,比如在屏幕下方露出一个键盘的边,来提示用户当前虚拟键盘处于预弹出状态,因此不用通过用户的点击操作信息以及服务端查询到的插入符状态信息来预测用户的输入意图,而是由用户通过手势开关触发开启虚拟键盘的预弹出状态,由此可更直接精确地获知用户的输入意图,且不会过多阻挡用户的可操作范围。本实施方式下在客户端发送插入符状态查询请求到服务端之前,还包括:
[0089]S105、客户端接收用户触发开启虚拟键盘的预弹出状态的触发命令。
[0090]该触发命令例如可以是用户通过手势开关触发开启虚拟键盘的预弹出状态,手势开关例如可以是用户从屏幕的下沿向上滑动一次,本发明不限于此。
[0091]S106、客户端根据触发命令将虚拟键盘设置为预弹出状态。
[0092]S107、客户端接收用户的操作指令。
[0093]具体地,虚拟键盘处于预弹出状态后,用户紧接着的一次左键点击手势操作将会触发插入符状态查询,客户端即会发送插入符状态查询请求到服务端。
[0094]其中,SlOl具体包括:
[0095]SlOla、客户端根据用户操作指令发送键盘控制请求至客户端中的键盘状态控制模块。
[0096]具体地,客户端根据用户的操作指令,对用户的操作进行判断,分析是否发送键盘控制请求,比如本次操作若是用户左键点击手势操作,则发送键盘控制请求;若是右键点击手势操作或键盘操作等,则不发送键盘控制请求。同时也可以进行键盘控制请求的发送频率限制,比如在指定的时间内最多只发送一条请求,减少由密集操作引发的系统及通信负荷。
[0097]SlOlb、键盘状态控制模块接收到键盘控制请求后,向客户端中的插入符状态获取模块发送插入符状态查询请求。
[0098]SlOlc、插入符状态获取模块将插入符状态查询请求发送至服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给插入符状态获取模块。
[0099]本实施例提供的虚拟键盘处理方法,通过客户端发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给客户端,因此可准确判断出当前的编辑模式以及准确预测用户的输入意图,从而客户端根据插入符状态信息自动弹出或收起虚拟键盘,然后根据插入符状态信息和虚拟键盘的状态变化调整客户端视图,使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0100]图2为本发明虚拟键盘处理方法实施例二的流程图,本实施例以服务端作为执行主体为例进行说明,如图2所示,本实施例的方法可以包括:
[0101]S201、服务端接收客户端发送的插入符状态查询请求。
[0102]S202、服务端根据插入符状态查询请求获取插入符状态信息。
[0103]其中,插入符状态信息包括:插入符的当前编辑模式和/或插入符的具体坐标。
[0104]具体地,服务端接收到插入符状态查询请求后,根据特定的策略查询获取插入符状态信息,例如以Windows远程应用为例,获取插入符状态信息的方法可以是:
[0105]1、服务端根据插入符状态查询请求查询当前插入符的焦点窗口。
[0106]2、获取焦点窗口对应的线程标识(ID )。
[0107]3、获取该线程ID对应的线程信息。
[0108]4、查询线程信息的插入符号(Caret)属性,获得插入符的当前编辑模式和/或插入符的具体坐标。
[0109]若服务端通过上述操作无法获得插入符的具体坐标,则表明当前焦点窗口并未处于编辑状态,或者当前编辑位置处于只读模式。
[0110]S203、服务端将插入符状态信息返回给客户端,以使客户端根据插入符状态信息弹出或收起虚拟键盘,并根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0111]具体地,服务端将插入符状态信息返回给客户端,客户端即根据插入符状态信息弹出或收起虚拟键盘,接着客户端根据插入符状态信息和虚拟键盘的状态变化,滚动调整视图,使得视图处于合适的位置,方便用户进行编辑,例如调整视图使得输入位置处于移动设备可视区域中间。
[0112]本实施例提供的虚拟键盘处理方法,通过服务端根据接收到的客户端发送的插入符状态查询请求后获取插入符状态信息,然后将插入符状态信息返回给客户端,因此可准确判断出当前的编辑模式以及准确预测用户的输入意图,从而客户端根据插入符状态信息自动弹出或收起虚拟键盘,然后根据插入符状态信息和虚拟键盘的状态变化调整客户端视图,使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0113]下面采用两个具体的实施例,对图1和图2所示方法实施例的技术方案进行详细说明。
[0114]图3为本发明虚拟键盘处理方法实施例三的流程图,本实施例以客户端和服务端之间的交互为例进行说明,图4为本发明虚拟键盘处理方法实施例三中客户端和服务端的模块组成示意图,如图4所示,客户端包括客户端视图、视图滚动控制模块、键盘状态控制模块、插入符状态获取模块和用户操作识别模块,服务端包括远程应用程序和插入符信息监控模块,客户端与服务端通过数据通道进行数据交互。如图3所示,本实施例的方法可以包括:
[0115]S301、客户端视图接收用户的操作指令。具体地,用户在客户端进行基本操作,例如用户点击希望输入编辑的位置,操作指令被客户端视图接收。
[0116]S302、用户操作识别模块根据用户的操作指令,对用户的操作进行判断,分析是否发送键盘控制请求至键盘状态控制模块,比如本次操作若是用户左键点击手势操作,则发送键盘控制请求;若是右键点击手势操作或键盘操作等,则不发送请求。同时也可以进行键盘控制请求的发送频率限制,比如在指定的时间内最多只发送一条请求,减少由密集操作引发的系统及通信负荷。
[0117]S303、键盘状态控制模块接收到键盘控制请求后,向客户端中的插入符状态获取模块发送插入符状态查询请求。
[0118]S304、插入符状态获取模块将插入符状态查询请求发送至服务端中的插入符信息监控模块。
[0119]S305、插入符信息监控模块根据插入符状态查询请求获取插入符状态信息。具体可以是插入符信息监控模块接收到插入符状态查询请求后,根据特定的策略查询获取插入符状态信息。
[0120]S306、插入符信息监控模块将插入符状态信息返回给插入符状态获取模块。
[0121]S307、插入符状态获取模块将插入符状态信息转发给键盘状态控制模块。
[0122]S308、键盘状态控制模块根据插入符状态信息弹出或收起虚拟键盘。
[0123]具体地,键盘状态控制模块接收到插入符状态信息后,可准确判断出当前的编辑模式,例如可编辑、只读或不可编辑,根据特定的策略判断是否弹出或收起虚拟键盘,特定的策略可定制,比如插入符状态信息中插入符宽度大于一定值则不弹出虚拟键盘,或者是插入符状态信息为空时不弹出虚拟键盘,或者虚拟键盘已处于弹出状态下则收起虚拟键盘。
[0124]S309、视图滚动控制模块根据插入符状态信息和虚拟键盘的状态变化,滚动调整视图,使得视图处于合适的位置,方便用户进行编辑,例如调整视图使得输入位置处于移动设备可视区域中间。
[0125]图5为本发明虚拟键盘处理方法实施例四的流程图,本实施例以客户端和服务端之间的交互为例进行说明,如图5所示,本实施例的方法可以包括:
[0126]S501、客户端接收用户触发开启虚拟键盘的预弹出状态的触发命令。
[0127]该触发命令例如可以是用户通过手势开关触发开启虚拟键盘的预弹出状态,手势开关例如可以是用户从屏幕的下沿向上滑动一次,本发明不限于此。
[0128]S502、客户端根据触发命令将虚拟键盘设置为预弹出状态。
[0129]S503、客户端接收用户的操作指令。
[0130]具体地,虚拟键盘处于预弹出状态后,用户紧接着的一次左键点击手势操作将会触发插入符状态查询。
[0131]S504、客户端发送插入符状态查询请求到服务端。
[0132]S505、服务端根据插入符状态查询请求获取插入符状态信息并返回给客户端。
[0133]S506、客户端根据插入符状态信息弹出或收起虚拟键盘。
[0134]S507、客户端根据插入符状态信息和虚拟键盘的状态变化,滚动调整视图,使得视图处于合适的位置,方便用户进行编辑,例如调整视图使得输入位置处于移动设备可视区域中间。
[0135]图6为本发明虚拟键盘处理装置实施例一的结构示意图,如图6所示,本实施例的装置可以包括:获取模块11、键盘状态控制模块12和视图滚动控制模块13,其中,获取模块11用于发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给获取模块。键盘状态控制模块12用于根据插入符状态信息弹出或收起虚拟键盘。视图滚动控制模块13用于根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0136]其中,插入符状态信息包括:插入符的当前编辑模式和插入符的具体坐标。
[0137]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0138]本实施例提供的虚拟键盘处理装置,通过获取模块发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给获取模块,键盘状态控制模块根据插入符状态信息弹出或收起虚拟键盘,视图滚动控制模块根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0139]图7为本发明虚拟键盘处理装置实施例二的结构示意图,如图7所示,本实施例的装置在图6所示装置结构的基础上,进一步地,还可以包括:第一视图模块14,该第一视图模块14用于在获取模块11发送插入符状态查询请求到服务端之前,接收用户操作指令。
[0140]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0141]图8为本发明虚拟键盘处理装置实施例三的结构示意图,如图8所示,本实施例的装置在图6所示装置结构的基础上,进一步地,还可以包括:第二视图模块15,该第二视图模块15用于在获取模块发送插入符状态查询请求到服务端之前,接收用户触发开启虚拟键盘的预弹出状态的触发命令。
[0142]第二视图模块15还用于根据触发命令将虚拟键盘设置为预弹出状态,第二视图模块还用于接收用户的操作指令。
[0143]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0144]图9为本发明虚拟键盘处理装置实施例三的结构示意图,如图9所示,本实施例的装置在图6和图7所示装置结构的基础上,进一步地,获取模块11包括:键盘状态控制模块110和插入符状态获取模块111,其中,第一视图模块14或第二视图模块15还用于根据用户操作指令发送键盘控制请求至键盘状态控制模块12。键盘状态控制模块12用于接收到键盘控制请求后,向插入符状态获取模块111发送插入符状态查询请求。插入符状态获取模块111用于将插入符状态查询请求发送至服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给插入符状态获取模块111。
[0145]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0146]图10为本发明虚拟键盘处理装置实施例四的结构示意图,如图10所示,本实施例的装置可以包括:接收模块20、获取模块21和发送模块22,其中,接收模块20用于接收客户端发送的插入符状态查询请求。获取模块21用于根据插入符状态查询请求获取插入符状态信息。发送模块22用于将插入符状态信息返回给客户端,以使客户端根据插入符状态信息弹出或收起虚拟键盘,并根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0147]其中,插入符状态信息包括:插入符的当前编辑模式和/或插入符的具体坐标。
[0148]获取模块21具体用于:根据插入符状态查询请求查询当前插入符的焦点窗口 ;获取焦点窗口对应的线程标识ID ;获取线程ID对应的线程信息;查询线程信息的Caret属性,获得插入符的当前编辑模式和/或插入符的具体坐标。
[0149]本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0150]本实施例提供的虚拟键盘处理装置,通过获取模块根据接收模块接收到的客户端发送的插入符状态查询请求获取插入符状态信息,然后发送模块将插入符状态信息返回给客户端,因此可准确判断出当前的编辑模式以及准确预测用户的输入意图,从而客户端根据插入符状态信息自动弹出或收起虚拟键盘,然后根据插入符状态信息和虚拟键盘的状态变化调整客户端视图,使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0151]图11为本发明虚拟键盘处理装置实施例五的结构示意图,如图11所示,本实施例的装置可以包括:发送器31、接收器32和处理器33,其中,发送器31用于发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给接收器32。处理器33用于根据插入符状态信息弹出或收起虚拟键盘。处理器33还用于根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0152]其中,插入符状态信息包括:插入符的当前编辑模式和插入符的具体坐标。
[0153]进一步地,接收器32还用于在发送器31发送插入符状态查询请求到服务端之前,接收用户操作指令。
[0154]进一步地,接收器32还用于在发送器31发送插入符状态查询请求到服务端之前,接收用户触发开启虚拟键盘的预弹出状态的触发命令。处理器33还用于根据触发命令将虚拟键盘设置为预弹出状态,接收器32还用于接收用户的操作指令。
[0155]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0156]本实施例提供的虚拟键盘处理装置,通过发送器发送插入符状态查询请求到服务端,以使服务端根据插入符状态查询请求获取插入符状态信息后将插入符状态信息返回给接收器,处理器根据插入符状态信息弹出或收起虚拟键盘,根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0157]图12为本发明虚拟键盘处理装置实施例六的结构示意图,如图12所示,本实施例的装置可以包括:接收器41、处理器42和发送器43,其中,接收器41用于接收客户端发送的插入符状态查询请求。处理器42用于根据插入符状态查询请求获取插入符状态信息。发送器43用于将插入符状态信息返回给客户端,以使客户端根据插入符状态信息弹出或收起虚拟键盘,并根据插入符状态信息和虚拟键盘的状态变化调整客户端视图。
[0158]其中,插入符状态信息包括:插入符的当前编辑模式和/或插入符的具体坐标。
[0159]处理器42具体用于:根据插入符状态查询请求查询当前插入符的焦点窗口 ;获取焦点窗口对应的线程标识ID ;获取线程ID对应的线程信息;查询线程信息的Caret属性,获得插入符的当前编辑模式和/或插入符的具体坐标。
[0160]本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0161]本实施例提供的虚拟键盘处理装置,通过获取模块根据接收模块接收到的客户端发送的插入符状态查询请求获取插入符状态信息,然后发送模块将插入符状态信息返回给客户端,因此可准确判断出当前的编辑模式以及准确预测用户的输入意图,从而客户端根据插入符状态信息自动弹出或收起虚拟键盘,然后根据插入符状态信息和虚拟键盘的状态变化调整客户端视图,使得用户待编辑区域不被虚拟键盘遮挡,方便用户操作,从而降低用户操作的复杂度,提升用户体验。
[0162]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0163]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0164]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0165]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166]本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0167]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种虚拟键盘处理方法,其特征在于,包括: 客户端发送插入符状态查询请求到服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述客户端; 所述客户端根据所述插入符状态信息弹出或收起虚拟键盘; 所述客户端根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
2.根据权利要求1所述的方法,其特征在于,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
3.根据权利要求2所述的方法,其特征在于,所述客户端发送插入符状态查询请求到服务端之前,还包括: 所述客户端接收用户操作指令。
4.根据权利要求2所述的方法,其特征在于,所述客户端发送插入符状态查询请求到服务端之前,还包括: 所述客户端接收用户触发开启虚拟键盘的预弹出状态的触发命令; 所述客户端根据所述触发命令将所述虚拟键盘设置为预弹出状态; 所述客户端接收用户的操作指令。
5.根据权利要求3或4所述的方法,其特征在于,所述客户端发送插入符状态查询请求到服务端,包括: 所述客户端根据所述用户操作指令发送键盘控制请求至所述客户端中的键盘状态控制丰旲块; 所述键盘状态控制模块接收到所述键盘控制请求后,向客户端中的插入符状态获取模块发送插入符状态查询请求; 所述插入符状态获取模块将所述插入符状态查询请求发送至服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述插入符状态获取模块。
6.一种虚拟键盘处理方法,其特征在于,包括: 服务端接收客户端发送的插入符状态查询请求; 所述服务端根据所述插入符状态查询请求获取插入符状态信息; 所述服务端将所述插入符状态信息返回给所述客户端,以使所述客户端根据所述插入符状态信息弹出或收起虚拟键盘,并根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
7.根据权利要求6所述的方法,其特征在于,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
8.根据权利要求6或7所述的方法,其特征在于,所述服务端根据所述插入符状态查询请求获取插入符状态信息,包括: 所述服务端根据所述插入符状态查询请求查询当前插入符的焦点窗口; 获取所述焦点窗口对应的线程标识ID ; 获取所述线程ID对应的线程信息; 查询所述线程信息的Caret属性,获得所述插入符的当前编辑模式和/或所述插入符的具体坐标。
9.一种虚拟键盘处理装置,其特征在于,包括:获取模块、键盘状态控制模块和视图滚动控制|吴块; 所述获取模块,用于发送插入符状态查询请求到服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述获取模块; 所述键盘状态控制模块,用于根据所述插入符状态信息弹出或收起虚拟键盘; 所述视图滚动控制模块,用于根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
10.根据权利要求9所述的装置,其特征在于,所述插入符状态信息包括:插入符的当前编辑模式和所述插入符的具体坐标。
11.根据权利要求10所述的装置,其特征在于,还包括: 第一视图模块,用于在所述获取模块发送插入符状态查询请求到服务端之前,接收用户操作指令。
12.根据权利要求10所述的装置,其特征在于,还包括: 第二视图模块,用于在所述获取模块发送插入符状态查询请求到服务端之前,接收用户触发开启虚拟键盘的预弹出状态的触发命令; 所述第二视图模块还用于根据所述触发命令将所述虚拟键盘设置为预弹出状态; 所述第二视图模块还用于接收用户的操作指令。
13.根据权利要求11或12所述的装置,其特征在于,所述获取模块包括:键盘状态控制丰吴块和插入符状态获取1?块; 所述第一视图模块或第二视图模块还用于根据所述用户操作指令发送键盘控制请求至所述键盘状态控制模块; 所述键盘状态控制模块,用于接收到所述键盘控制请求后,向所述插入符状态获取模块发送插入符状态查询请求; 所述插入符状态获取模块,用于将所述插入符状态查询请求发送至服务端,以使所述服务端根据所述插入符状态查询请求获取插入符状态信息后将所述插入符状态信息返回给所述插入符状态获取模块。
14.一种虚拟键盘处理装置,其特征在于,包括: 接收模块,用于接收客户端发送的插入符状态查询请求; 获取模块,用于根据所述插入符状态查询请求获取插入符状态信息; 发送模块,用于将所述插入符状态信息返回给所述客户端,以使所述客户端根据所述插入符状态信息弹出或收起虚拟键盘,并根据所述插入符状态信息和所述虚拟键盘的状态变化调整客户端视图。
15.根据权利要求14所述的装置,其特征在于,所述插入符状态信息包括:插入符的当前编辑模式和/或所述插入符的具体坐标。
16.根据权利要求14或15所述的装置,其特征在于,所述获取模块具体用于: 根据所述插入符状态查询请求查询当前插入符的焦点窗口; 获取所述焦点窗口对应的线程标识ID ; 获取所述线程ID对应的线程信息; 查询所述线程信息的Caret属性,获得所述插入符的当前编辑模式和/或所述插入符的具体坐标。
【文档编号】G06F3/0484GK104461272SQ201310430828
【公开日】2015年3月25日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】苗永强, 李雪斌, 杨磊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1