虚拟键盘的输入方法及装置与流程

文档序号:17454798发布日期:2019-04-20 03:09阅读:234来源:国知局
虚拟键盘的输入方法及装置与流程

本发明实施例属于智能终端领域,尤其涉及一种虚拟键盘的输入方法及装置。



背景技术:

目前,通常将触摸屏作为智能终端(如手机、平板电脑等)的屏幕,以减少智能终端的体积。用户在触摸屏显示的虚拟键盘中选择虚拟键盘中的元素从而完成输入字符的目的。

但作为便携式设备的智能终端,其屏幕大小是受限的,而受限的屏幕将带来视觉和操作上的不便。如:在有限的屏幕上显示虚拟键盘时,由于显示的各个元素过于拥挤,因此,容易误点击到其他元素,从而导致误操作的概率过高。



技术实现要素:

本发明实施例提供了一种虚拟键盘的输入方法及装置,旨在解决现有方法的问题。

本发明实施例是这样实现的,一种虚拟键盘的输入方法,所述方法包括:

在感应到手指的信号时,确定手指与屏幕的距离以及手指在屏幕的投影点;

确定包括手指在屏幕的投影点的投影区域;

选取投影区域的元素;

将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围;所述悬浮层上被选取的元素之间的距离大于所述投影区域上被选取的元素的距离;

接收用户在悬浮层发出的元素选择指令;

根据所述元素选择指令输出对应的元素。

本发明实施例的另一目的在于提供一种虚拟键盘的输入装置,所述装置包括:

手指信息确定单元,用于在感应到手指的信号时,确定手指与屏幕的距离以及手指在屏幕的投影点;

投影区域确定单元,用于确定包括手指在屏幕的投影点的投影区域;

元素选取单元,用于选取投影区域的元素;

元素悬浮显示单元,用于将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围;所述生成的悬浮层上被选取的元素之间的距离大于所述投影区域上被选取的元素的距离;

元素选择指令接收单元,用于接收用户在悬浮层发出的元素选择指令;

元素输出单元,用于根据所述元素选择指令输出对应的元素。

在本发明实施例中,在感应到手指的信号时,确定手指与屏幕的距离、手指在屏幕的投影点,以及确定包括手指在屏幕的投影点的投影区域,选取确定的投影区域的元素,并将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的周围,当接收到用户在悬浮层发出的元素选择指令时,根据所述元素选择指令输出对应的元素。由于对用户想要点击的元素进行相应的筛选和排布显示,因此便于用户在筛选和排布显示的元素中选择需要点击的元素,减少误操作,提高元素点击的准确率。此外,由于排布显示元素时没有改变元素在虚拟键盘的相对位置,因此,不会改变用户的认知和操作习惯,从而能够提高元素的输入速度。

附图说明

图1是本发明第一实施例提供的一种虚拟键盘的输入方法的流程图;

图2是本发明第一实施例提供的投影区域为投影圆的示意图;

图3是本发明第一实施例提供的图2的投影圆对应的悬浮圆的示意图;

图4是本发明第一实施例提供的将悬浮圆平分为4等份的示意图;

图5是本发明第一实施例提供的在图2的基础上手指更靠近屏幕所生成的悬浮圆的示意图;

图6是本发明第二实施例提供的一种虚拟键盘的输入装置的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,在感应到手指的信号时,确定手指与屏幕的距离、手指在屏幕的投影点,以及确定包括手指在屏幕的投影点的投影区域,选取确定的投影区域的元素,并将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围,当接收到用户在悬浮层发出的元素选择指令时,根据所述元素选择指令输出对应的元素。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种虚拟键盘的输入方法的流程图,详述如下:

步骤S11,在感应到手指的信号时,确定手指与屏幕的距离以及手指在屏幕的投影点。

该步骤中,在智能终端的屏幕设置有感应手指悬浮功能的感应器,当手指接近虚拟键盘的元素的过程中,只要接近的距离达到感应器可感应的范围内时,感应器就会发出识别信号,并识别手指目前所在的位置,进而确定手指与屏幕的距离,以及将手指在屏幕上的感应点确定为手指在屏幕的投影点。其中,虚拟键盘的元素包括:字母、数字、符号等。本实施例中感应的手指的信号,在其它实施例中也可以是感应如触摸笔等触摸体的信号。

可选地,在所述确定手指与屏幕的距离以及手指在屏幕的投影点之前,包括:

记录虚拟键盘中各个元素的排布位置,各个元素的排布位置包括各个元素的位置以及各个元素的相对位置。具体地,记录的信息保存在指定的文件中,以便后续的调用。其中,各个元素的相对位置是指各个元素在虚拟键盘中的相对位置,例如,假设在虚拟键盘中,字母“A”与字母“S”处于同一行,且在字母“S”的左方,则该步骤需记录“字母“A”与字母“S”处于同一行,且在字母“S”的左方”对应的信息。

步骤S12,确定包括手指在屏幕的投影点的投影区域。

在该步骤中,投影区域的形状可为圆形、正方形、长方形等,投影区域只需包括手指在屏幕的投影点即可。

可选地,在投影区域为圆形时,确定包括手指在屏幕的投影点的投影区域,具体包括:

A1、比较虚拟键盘中单个元素的长度和宽度,以确定单个元素的长度和单个元素的宽度中的较大值。通常来说,虚拟键盘中各个元素的长度和宽度都是固定的,这时,只需比较虚拟键盘中一个元素的长度和宽度即可。

A2、以手指在屏幕的投影点为圆心,单个元素的长度和单个元素的宽度中的较大值的预设倍数为半径,生成投影圆。假设元素的长度为h,宽度为w,假设w>h,预设倍数大于1,且小于[2,3]中的指定的一个值,例如,假设预设的倍数为2,则投影圆的半径为2w。使预设倍数大于1,以保证投影区域覆盖到周围可疑的元素,且使预设倍数小于[2,3]中的指定的一个值,以防止投影区域的范围过大,从而覆盖了太多无效的元素。

步骤S13,选取投影区域的元素。

该步骤中,投影区域的元素是指全部信息都在投影区域的元素,以及大部分信息都在投影区域的元素。例如,如图2所示,投影区域为投影圆,P点位置为手指所在的位置,手指在屏幕的投影点为O,投影区域的元素为E(大部分信息都在投影区域的元素)、R(全部信息都在投影区域的元素)、T(大部分信息都在投影区域的元素)、D(全部信息都在投影区域的元素)、F(大部分信息都在投影区域的元素),则该步骤选取的投影区域的元素为:E、R、T、D、F。

步骤S14,将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围。所述生成的悬浮层上被选取的元素之间的距离大于所述投影区域上被选取的元素的距离。

其中,悬浮层的形状可为圆形、正方形、长方形等,对应地,悬浮层的中心即为圆形的圆心,正方形的中心、长方形的中心等。生成的悬浮层的中心即为投影区域的中心,例如,假设投影区域为圆形区域,悬浮层也为圆形区域,则悬浮层的圆形区域的圆心即为投影区域的圆形区域的圆心。在该步骤中,由于与手指在屏幕的投影点的距离最短的元素是用户最有可能要点击的元素,因此,将该元素布局在生成的悬浮层的中心,有利于凸显该元素,且由于手指在屏幕的投影点即为悬浮层的中心,因此,在悬浮层的中心显示的元素为用户需要点击的元素时,无需用户再次移动,直接往下按压屏幕即可,从而提高操作效率。此外,需要指出的是,悬浮层上被选取元素之间的距离大于步骤S12确定的投影区域中被选取元素之间的距离,例如,可以通过改变悬浮层的面积大于步骤S12确定的投影区域面积来实现,如假设投影区域为半径为1.5w的圆形区域,则悬浮层可为半径为2w的圆形区域,这样,显示的元素之间具有较大的间隔,便于用户选择正确的元素。其中,w为元素的长度和元素的宽度中的较大值。也可以通过只是改变被选取元素在悬浮层上的排布的间距,如在圆心显示选取的元素中与手指在屏幕的投影点的距离最短的元素,然后在圆周上显示其余的元素从而增加被选元素之间的距离。

可选地,所述将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围,具体包括:

B1、所述悬浮层为悬浮圆;将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮圆的圆心。该步骤中,在悬浮层的形状为圆形时,将与手指在屏幕的投影点的距离最短的元素布局在生成的悬浮圆的圆心,

B2、根据记录的虚拟键盘中各个元素的位置以及各个元素的相对位置,将虚拟键盘中处于显示在圆心的元素的左边的元素显示在悬浮圆的圆周的左边部分,将虚拟键盘中处于显示在圆心的元素的右边的元素显示在悬浮圆的圆周的右边部分;所述虚拟键盘中处于显示在圆心的元素的左边的元素和所述虚拟键盘中处于显示在圆心的元素的右边的元素都为选取的元素。

在B1和B2中,若悬浮层的形状为圆形,则将与手指在屏幕的投影点的距离最短的元素布局在生成的悬浮圆的圆心,将虚拟键盘中处于显示在圆心的元素的左边的元素显示在悬浮圆的圆周的左边部分,将虚拟键盘中处于显示在圆心的元素的右边的元素显示在悬浮圆的圆周的右边部分,将虚拟键盘中处于显示在圆心的元素的下面的元素显示在悬浮圆的圆周的下面部分,将虚拟键盘中处于显示在圆心的元素的上面的元素显示在悬浮圆的圆周的上面部分。以图2为例,由于显示在圆心的元素为R,在虚拟键盘中,E位于R的左边,T位于R的右边,D位于R的左下方,F位于R的右下方,因此,在悬浮圆的圆周的左边部分显示“E”和“D”,在悬浮圆的圆周的右边部分显示“T”,和“F”,具体如图3所示。进一步地,将悬浮圆平分为4等份,将处于显示在圆心的元素的左上方的元素显示在悬浮圆的左上方,如显示在图4中的AD弧之间,将处于显示在圆心的元素的右上方的元素显示在悬浮圆的圆周的右边上部分,如显示在图4中的AB弧之间,将处于显示在圆心的元素的左下方的元素显示在悬浮圆的圆周的左边下部分,如显示在图4中的DC弧之间,将处于显示在圆心的元素的右下方的元素显示在悬浮圆的圆周的右边下部分,如显示在图4中的BC弧之间。由于在悬浮圆的圆周上显示的元素与虚拟键盘显示的元素的相对位置相同,因此,不会改变用户的认知和操作习惯,从而能够提高元素的输入速度。

步骤S15,接收用户在悬浮层发出的元素选择指令。

当用户触摸悬浮层中的元素时,发出元素选择指令。

可选地,在所述接收用户在悬浮层发出的元素选择指令之前,包括:

C1、在仍感应到手指的信号时,确定当前的手指与屏幕的距离,以及当前的手指在屏幕的投影点。该步骤中,若用户的手指仍在屏幕上方移动,则屏幕仍感觉到手指的信号,并确定仍感应到的当前的手指与屏幕的距离,以及确定当前的手指在屏幕的投影点。

C2、在当前的手指与屏幕的距离小于上一次的手指与屏幕的距离时,根据下式确定将生成的当前的投影圆的半径:(|P1O1|/|PO|)*R=r,其中,|P1O1|为当前的手指与屏幕的距离,|PO|为上一次的手指与屏幕的距离,R为上一次生成的投影圆的半径。具体地,P1为当前的手指所在的位置,P为上一次的手指所在的位置,O1为当前的手指在屏幕的投影点,O为上一次的手指在屏幕的投影点。

C3、以当前的手指在屏幕的投影点为圆心,以所述r为半径,生成当前的投影圆。

上述C1~C3中,当手指在上下左右移动并逐渐靠近屏幕的过程中,屏幕继续感应手指的位置,假设感应到手指的当前的位置为P1,则获取P1在屏幕上的投影点O1,手指与屏幕间的距离在不断减小,手指移动的方向也在变化,更接近所需要选择的元素。此时,上一次确定的投影区域圆O以与|PO|/|P1O1|等比例的半径同步减小,即新的r=(|P1O1|/|PO|)*R,且圆O位置也在随着手指移动方向的矢量PP1同步同方向移动,这样所形成的新的投影区域圆O1,在圆O1内的元素数量逐步精减为用户更有可能想点击的元素(R,D,F),而那些没有可能被点击的元素(E,T)则被及时过滤掉,以免干扰用户操作。同时,距离投影点O1最近的元素更新为F,将F布局在悬浮层的圆心位置,而其他元素“R和D”按照RDF在虚拟键盘上的相对位置对应地布局在悬浮圆的圆周上,如R在F的上方,且D在F的左边,具体如图5所示。随着手指的不断靠近和移动,最想要点击的元素逐渐呈现,不仅提高了用户输入的精确度,同时不断筛选和过滤干扰元素,也提高了输入效率。

步骤S16,根据所述元素选择指令输出对应的元素。

例如,假设元素选择指令指向的元素为D,则输出“D”。

本发明第一实施例中,在感应到手指的信号时,确定手指与屏幕的距离、手指在屏幕的投影点,以及确定包括手指在屏幕的投影点的投影区域,选取确定的投影区域的元素,并将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的周围,当接收到用户在悬浮层发出的元素选择指令时,根据所述元素选择指令输出对应的元素。由于对用户想要点击的元素进行相应的筛选和排布显示,因此便于用户在筛选和排布显示的元素中选择需要点击的元素,减少误操作,提高元素点击的准确率。此外,由于排布显示元素时没有改变元素在虚拟键盘的相对位置,因此,不会改变用户的认知和操作习惯,从而能够提高元素的输入速度。

应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

图6示出了本发明第二实施例提供的一种虚拟键盘的输入装置的结构图,该虚拟键盘的输入装置可以应用于智能终端中,该智能终端可以包括经无线电接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、个人数字助理PDA、销售终端POS或车载电脑等。为了便于说明,仅示出了与本发明实施例相关的部分。

所述虚拟键盘的输入装置包括:手指信息确定单元61、投影区域确定单元62、元素选取单元63、元素悬浮显示单元64、元素选择指令接收单元65、元素输出单元66。其中:

手指信息确定单元61,用于在感应到手指的信号时,确定手指与屏幕的距离以及手指在屏幕的投影点。

其中,该手指信息确定单元61具有感应手指悬浮功能。当手指接近虚拟键盘的元素的过程中,只要接近的距离达到可感应的范围内时,该手指信息确定单元61就会发出识别信号,并识别手指目前所在的位置,进而确定手指与屏幕的距离,以及将手指在屏幕上的感应点确定为手指在屏幕的投影点。其中,虚拟键盘的元素包括:字母、数字、符号等。本实施例中感应的手指的信号,在其它实施例中也可以是感应如触摸笔等触摸体的信号。

可选地,所述装置包括:

元素的位置信息记录单元,用于记录虚拟键盘中各个元素的排布位置,各个元素的排布位置包括各个元素的位置以及各个元素的相对位置。具体地,记录的信息保存在指定的文件中,以便后续的调用。

投影区域确定单元62,用于确定包括手指在屏幕的投影点的投影区域。

其中,投影区域的形状可为圆形、正方形、长方形等。

可选地,所述投影区域确定单元62包括:

元素大小比较模块,用于比较虚拟键盘中单个元素的长度和宽度,以确定单个元素的长度和单个元素的宽度中的较大值。

投影圆生成模块,用于以手指在屏幕的投影点为圆心,单个元素的长度和单个元素的宽度中的较大值的预设倍数为半径,生成投影圆。其中,预设倍数大于1,且小于[2,3]中的指定的一个值。使预设倍数大于1,以保证投影区域覆盖到周围可疑的元素,且使预设倍数小于[2,3]中的指定的一个值,以防止投影区域的范围过大,从而覆盖了太多无效的元素。

元素选取单元63,用于选取投影区域的元素。

其中,投影区域的元素是指全部信息都在投影区域的元素,以及大部分信息都在投影区域的元素。

元素悬浮显示单元64,用于将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮层的中心,其余的元素根据虚拟键盘的排布位置对应显示在悬浮层的中心的周围。所述生成的悬浮层上被选取的元素之间的距离大于所述投影区域上被选取的元素的距离。

其中,悬浮层的形状可为圆形、正方形、长方形等,对应地,悬浮层的中心即为圆形的圆心,正方形的中心、长方形的中心等。

由于与手指在屏幕的投影点的距离最短的元素是用户最有可能要点击的元素,因此,将该元素布局在生成的悬浮层的中心,有利于凸显该元素,且由于手指在屏幕的投影点即为悬浮层的中心,因此,在悬浮层的中心显示的元素为用户需要点击的元素时,无需用户再次移动,直接往下按压屏幕即可,从而提高操作效率。

可选地,所述元素悬浮显示单元64包括:

显示在圆心的元素确定模块,用于所述悬浮层为悬浮圆。将选取的元素中与手指在屏幕的投影点的距离最短的元素显示在生成的悬浮圆的圆心。

显示在圆周的元素确定模块,用于根据记录的虚拟键盘中各个元素的位置以及各个元素的相对位置,将虚拟键盘中处于显示在圆心的元素的左边的元素显示在悬浮圆的圆周的左边部分,将虚拟键盘中处于显示在圆心的元素的右边的元素显示在悬浮圆的圆周的右边部分。所述虚拟键盘中处于显示在圆心的元素的左边的元素和所述虚拟键盘中处于显示在圆心的元素的右边的元素都为选取的元素。

由于在悬浮圆的圆周上显示的元素与虚拟键盘显示的元素的相对位置相同,因此,不会改变用户的认知和操作习惯,从而能够提高元素的输入速度。

元素选择指令接收单元65,用于接收用户在悬浮层发出的元素选择指令。

可选地,所述装置包括:

手指信息重确定单元,用于在仍感应到手指的信号时,确定当前的手指与屏幕的距离,以及当前的手指在屏幕的投影点。

投影圆半径确定模块,用于在当前的手指与屏幕的距离小于上一次的手指与屏幕的距离时,根据下式确定将生成的当前的投影圆的半径:(|P1O1|/|PO|)*R=r,其中,|P1O1|为当前的手指与屏幕的距离,|PO|为上一次的手指与屏幕的距离,R为上一次生成的投影圆的半径。

投影圆重生成模块,用于以当前的手指在屏幕的投影点为圆心,以所述r为半径,生成当前的投影圆。

在手指不断移动和靠近屏幕的过程中,在悬浮层逐渐呈现想要点击的元素,筛选和过滤了干扰的元素,提高了用户输入的精确度,也提高了输入的效率。

元素输出单元66,用于根据所述元素选择指令输出对应的元素。

在本发明第二实施例中,由于对用户想要点击的元素进行相应的筛选,并将筛选后的元素排布显示在生成的悬浮层中,因此便于用户在筛选和排布显示的元素中选择需要点击的元素,减少误操作,提高元素点击的准确率。此外,由于排布显示元素时没有改变元素在虚拟键盘的相对位置,因此,不会改变用户的认知和操作习惯,从而能够提高元素的输入速度。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1