一种虚拟键盘的显示方法、控制装置及触摸设备的制作方法

文档序号:6514392阅读:156来源:国知局
一种虚拟键盘的显示方法、控制装置及触摸设备的制作方法
【专利摘要】本发明提供一种虚拟键盘的显示方法、控制装置及触摸设备,该方法包括:获取用户激活的输入区域的位置信息;根据输入区域的位置信息,以及虚拟键盘所需要的显示区域尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置;依据所述计算出的虚拟键盘的显示位置,调整所述虚拟键盘对应的绘图表面上该虚拟键盘的位置;将所述虚拟键盘对应的绘图表面和所述激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以进行显示。本发明的技术方案能够提高输入效率。
【专利说明】一种虚拟键盘的显示方法、控制装置及触摸设备
【技术领域】
[0001]本发明涉及用户界面领域,尤其涉及一种虚拟键盘的显示方法、控制装置及触摸设备。
【背景技术】
[0002]随着智能移动终端的蓬勃发展,大型平板产品也必须支持触摸的设计,因此智能电视应运而生。一般的手机屏幕尺寸多为5寸左右,平板电脑的屏幕尺寸多为10寸左右,在智能移动终端中,当使用者通过触摸屏输入文本时,虚拟键盘的位置均位于屏幕底部,对于10寸以下的设备来讲,使用者尚可以在输入文本的同时看到是否输出正确;但对于具有22寸以上触摸屏的设备来讲,屏幕上文本输入区域距离屏幕底部的距离有时就比较远了,用户在盯着屏幕底部的虚拟键盘进行点击时,很难同时清晰看到较远位置的文本输入区域的输出文本是否正确,不仅容易影响输入效率,还造成使用体验的下降。

【发明内容】

[0003]本发明的目的在于提供一种虚拟键盘的显示方法、控制装置及触摸设备,能够提高输入效率。
[0004]本发明一方面提供一种虚拟键盘的显示方法,包括:
[0005]获取用户激活的输入区域的位置信息;
[0006]根据输入区域的位置信息,以及虚拟键盘所需要的显示区域尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置;
[0007]依据所述计算出的虚拟键盘的显示位置,调整所述虚拟键盘对应的绘图表面上该虚拟键盘的位置;
[0008]将所述虚拟键盘对应的绘图表面和所述激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以进行显示。
[0009]在一个优选的实施例中,当所述用户激活的输入区域的形状为矩形时,所述获取用户激活的输入区域的位置信息包括:获取用户激活的输入区域的四个角的坐标信息。
[0010]在一个优选的实施例中,所述计算出所述虚拟键盘在屏幕上的显示位置包括:当所述激活的输入区域的底部到屏幕底部的距离大于所述虚拟键盘的垂直尺寸时,将所述虚拟键盘的位置确定为虚拟键盘的顶部贴近所述输入区域的底部的位置。
[0011]在一个优选的实施例中,其特征在于,所述硬件显示缓冲区为硬件帧缓冲区。
[0012]在一个优选的实施例中,所述虚拟键盘对应的绘图表面为独立于所述输入区域所属应用程序的绘图表面。
[0013]本发明另一方面还提供一种虚拟键盘的显示控制装置,包括:
[0014]位置信息获取单元,用于获取用户激活的输入区域的位置信息;
[0015]键盘位置计算单元,用于根据所述输入区域的位置信息,以及虚拟键盘所需要的显示区域的尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置;
[0016]键盘位置调整单元,用于依据所述计算出的虚拟键盘的显示位置,调整所述虚拟键盘对应的绘图表面上该虚拟键盘的位置;
[0017]合成单元,用于将所述虚拟键盘对应的绘图表面和所述激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以便进行显示。
[0018]在一个优选的实施例中,当所述用户激活的输入区域的形状为矩形时,所述位置信息获取单元具体用于获取用户激活的输入区域的四个角的坐标信息。
[0019]在一个优选的实施例中,键盘位置计算单元具体用于当所述激活的输入区域的底部到屏幕底部的距离大于所述虚拟键盘的垂直尺寸时,将所述虚拟键盘的位置确定为虚拟键盘的顶部贴近所述输入区域的底部的位置。
[0020]在一个优选的实施例中,所述硬件显示缓冲区为硬件帧缓冲区。
[0021]在一个优选的实施例中,所述虚拟键盘对应的绘图表面为独立于所述输入区域所属应用程序的绘图表面。
[0022]本发明再一方面还提供一种触摸设备,包括上述的虚拟键盘的显示控制装置。
[0023]与现有技术相比,本发明在用户激活输入区域时,计算出虚拟键盘在屏幕上的显示位置,该显示位置尽量靠近用户激活的输入区域的位置,并以该显示位置对虚拟键盘的位置进行调整,使得最终虚拟键盘显示在输入区域的附近,方便用户在点击虚拟键盘的同时查看输入区域内的输出文本是否正确,提高了输入效率,而且提升了用户体验。
【专利附图】

【附图说明】
[0024]图1为本发明实施例提供的一种虚拟键盘的显示方法的流程图;
[0025]图2为将本发明实施例中的虚拟键盘显示方法应用于Android系统的移动终端的流程图;
[0026]图3为本发明实施例提供的一种虚拟键盘的显示控制装置的示意图。
【具体实施方式】
[0027]为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
[0028]图1示出了本发明实施例提供的一种虚拟键盘的显示方法的流程图,如图1所示,该虚拟键盘的显示方法包括如下步骤:
[0029]步骤SlOl:获取用户激活的输入区域的位置信息;
[0030]步骤S102:根据输入区域的位置信息,以及虚拟键盘所需要的显示区域尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使该虚拟键盘的位置尽量靠近用户激活的输入区域的位置;
[0031]步骤S103:依据计算出的虚拟键盘的显示位置,调整虚拟键盘对应的绘图表面上该虚拟键盘的位置;
[0032]步骤S104:将该虚拟键盘对应的绘图表面和激活的输入区域所属应用程序对应的绘图表面进行合成,将合成后的数据存入硬件显示缓冲区中,以进行显示。[0033]本发明实施例中的虚拟键盘的显示方法,在用户激活输入区域时,计算出虚拟键盘在屏幕上的显示位置,该显示位置尽量靠近用户激活的输入区域的位置,并以该显示位置对虚拟键盘的位置进行调整,使得最终虚拟键盘显示在输入区域的附近,方便用户在点击虚拟键盘的同时查看输入区域内的输出文本是否正确,提高了输入效率,而且提升了用户体验。
[0034]以下以Android系统的移动终端为例详细说明本实施例中的虚拟键盘的显示方法的具体实现。图2示出了该具体实现的流程图。
[0035]在Android系统中,硬件显示缓冲区为硬件巾贞转缓冲区,称为Frame Buffer ;每个绘图表面对应一个surface对象,每个surface对象关联一个UI (用户界面)元数据缓冲区堆栈;系统的框架层(OS Framework)中的SurfaceFlinger服务负责创建surface对象并传递给应用程序使用,还负责对应用程序的surface对象进行合成渲染,并发送至硬件帧转缓冲区中进行显示。
[0036]基于该Android系统的架构,图2中示出的虚拟键盘的显示方法包括如下步骤:
[0037]步骤S201:用户通过点击屏幕上的输入区域激活该输入区域;
[0038]在实际的应用程序界面中,用户的输入区域多为文本框,在Android系统中为EditText类所绑定的控件。
[0039]步骤S202:当用户激活的输入区域为矩形时,SurfaceFlinger服务获取用户激活的输入区域的四个角的坐标信息。
[0040]步骤S203:根据上述输入区域的四个角的坐标信息,以及虚拟键盘所需要的显示区域尺寸,SurfaceFlinger服务计算出虚拟键盘在屏幕上的显示位置,以使虚拟键盘的位置尽量靠近用户激活的输入区域的位置。
[0041]按照通常人们的使用习惯,应该尽量将虚拟键盘的位置设置在输入区域的下方,因此在一个优选的实施例中,当用户激活的输入区域的底部到屏幕底部的距离大于虚拟键盘的垂直尺寸时,可以将虚拟键盘的位置确定为虚拟键盘的顶部贴近上述激活的输入区域的底部的位置。
[0042]需要说明的是,虚拟键盘的显示位置应该会受到用户激活的输入区域在屏幕上的显示位置影响,当输入区域距离屏幕底部过近以至于已经无法在输入区域和屏幕底部之间完整显示虚拟键盘时,应该优先在其他能够完整显示虚拟键盘且尽量靠近输入区域的位置显示虚拟键盘,例如当输入区域位于屏幕底部附近时,虚拟键盘的位置可以为虚拟键盘的底部贴近输入区域的顶部的位置。
[0043]由于现有Android系统中的虚拟键盘都是以默认位置的方式进行显示,因此在本发明中需要对现有的SurfaceFlinger服务进行相应的改进,例如可以为SurfaceFlinger服务创建新的函数(Function),该函数的作用在于接收输入区域的位置信息,计算出步骤S203中所需的虚拟键盘的显示位置。
[0044]步骤S204:SurfaceFlinger服务为虚拟键盘创建单独的绘图表面;
[0045]在现有技术中,应用程序的虚拟键盘显示与应用程序主界面的绘画至同一个绘图表面上,且虚拟键盘的默认显示位置为屏幕的底部,这使得虚拟键盘被呼出显示的同时,应用程序主界面的原有显示内容将发生变化,例如向上移动或者将虚拟键盘所占区域的内容进行截断。[0046]在本发明实施例中,为虚拟键盘创建单独的绘图表面,可以方便灵活调整虚拟键盘的显示位置,且可以虚拟键盘显示在输入区域附近的同时不改变应用程序主界面的内容。
[0047]步骤S205 =SurfaceFlinger服务将虚拟键盘对应的绘图表面和激活的输入区域所属的应用程序对应的绘图表面进行合成。
[0048]对于不同绘图表面的合成在Android系统中是由SurfaceFlinger服务来完成的,在本实施例中,由SurfaceFlinger服务将虚拟键盘对应的绘图表面和输入区域所属的应用程序对应的绘图表面进行合成,以使合成后的数据中,虚拟键盘尽量靠近用户激活的输入区域。
[0049]步骤S206:SurfaceFlinger服务讲合成后的数据存入硬件巾贞转缓冲区FrameBuffer中,以进行显示。
[0050]这样,在用户激活输入区域以后,SurfaceFlinger服务根据输入区域的位置计算出虚拟键盘的最佳出现位置,之后调整虚拟键盘在其绘图表面上的位置,并将虚拟键盘的绘图表面和输入区域所属的绘图表面进行合并,并存入缓冲区中进行显示,实现了当用户激活输入区域后就会在输入区域附近呼出虚拟键盘的效果,用户在点击虚拟键盘的同时可以很容易地查看输入区域内的输出文本是否正确,因此提高了输入的效率,同时提升了用户的体验。
[0051]本发明相应还提供一种虚拟键盘的显示控制装置,如图3所示,该装置包括:位置信息获取单元301、键盘位置计算单元302、键盘位置调整单元303、合成单元304。
[0052]其中,位置信息获取单元301用于获取用户激活的输入区域的位置信息;键盘位置计算单元302用于根据上述输入区域的位置信息,以及虚拟键盘所需要的显示区域的尺寸,计算出该虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置;键盘位置调整单元303用于依据上述计算出的虚拟键盘的显示位置,调整该虚拟键盘对应的绘图表面上该虚拟键盘的位置;合成单元304用于将上述虚拟键盘对应的绘图表面和用户激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以便进行显示。
[0053]本发明实施例中的虚拟键盘的显示控制装置,在用户激活输入区域时,计算出虚拟键盘在屏幕上的显示位置,该显示位置尽量靠近用户激活的输入区域的位置,并以该显示位置对虚拟键盘的位置进行调整,使得最终虚拟键盘显示在输入区域的附近,方便用户在点击虚拟键盘的同时查看输入区域内的输出文本是否正确,提高了输入效率,而且提升了用户体验。
[0054]在一个优选的实施例中,用户所激活的输入区域的形状为矩形,位置信息获取单元301具体用于获取用户激活的输入区域的四个角的坐标信息。
[0055]键盘位置计算单元302在计算虚拟键盘的显示位置时,当发现用户所激活的输入区域的底部到屏幕底部的距离大于要显示的虚拟键盘的垂直尺寸时,将虚拟键盘的位置确定为该虚拟键盘的顶部贴近上述输入区域的底部的位置。
[0056]在实际中,硬件显示缓冲区可以为硬件帧缓冲区,称为Frame Buffer。
[0057]在本实施例中,虚拟键盘对应的绘图表面可以为独立于上述输入区域所属应用程序的绘图表面。[0058]本发明实施例还相应提供一种触摸设备,该触摸设备包括上述实施例中的虚拟键盘的显示控制装置。
[0059]本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
【权利要求】
1.一种虚拟键盘的显示方法,其特征在于,包括: 获取用户激活的输入区域的位置信息; 根据输入区域的位置信息,以及虚拟键盘所需要的显示区域尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置; 依据所述计算出的虚拟键盘的显示位置,调整所述虚拟键盘对应的绘图表面上该虚拟键盘的位置; 将所述虚拟键盘对应的绘图表面和所述激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以进行显示。
2.如权利要求1所述的方法,其特征在于,当所述用户激活的输入区域的形状为矩形时,所述获取用户激活的输入区域的位置信息包括:获取用户激活的输入区域的四个角的坐标信息。
3.如权利要求1所述的方法,其特征在于,所述计算出所述虚拟键盘在屏幕上的显示位置包括:当所述激活的输入区域的底部到屏幕底部的距离大于所述虚拟键盘的垂直尺寸时,将所述虚拟键盘的位置确定为虚拟键盘的顶部贴近所述输入区域的底部的位置。
4.如权利要求1所述的方法,其特征在于,所述硬件显示缓冲区为硬件帧缓冲区。
5.如权利要求1所述的方法,其特征在于,所述虚拟键盘对应的绘图表面为独立于所述输入区域所属应用程序的绘图表面。
6.一种虚拟键盘的显示控制装置,其特征在于,包括: 位置信息获取单元,用于获取用户激活的输入区域的位置信息; 键盘位置计算单元,用于根据所述输入区域的位置信息,以及虚拟键盘所需要的显示区域的尺寸,计算出所述虚拟键盘在屏幕上的显示位置,以使所述虚拟键盘的位置尽量靠近所述用户激活的输入区域的位置; 键盘位置调整单元,用于依据所述计算出的虚拟键盘的显示位置,调整所述虚拟键盘对应的绘图表面上该虚拟键盘的位置; 合成单元,用于将所述虚拟键盘对应的绘图表面和所述激活的输入区域所属应用程序对应的绘图表面进行合成,并将合成后的数据存入硬件显示缓冲区中,以便进行显示。
7.如权利要求6所述的装置,其特征在于,当所述用户激活的输入区域的形状为矩形时,所述位置信息获取单元具体用于获取用户激活的输入区域的四个角的坐标信息。
8.如权利要求6所述的装置,其特征在于,键盘位置计算单元具体用于当所述激活的输入区域的底部到屏幕底部的距离大于所述虚拟键盘的垂直尺寸时,将所述虚拟键盘的位置确定为虚拟键盘的顶部贴近所述输入区域的底部的位置。
9.如权利要求6所述的装置,其特征在于,所述硬件显示缓冲区为硬件帧缓冲区。
10.如权利要求6所述的装置,其特征在于,所述虚拟键盘对应的绘图表面为独立于所述输入区域所属应用程序的绘图表面。
11.一种触摸设备,其特征在于,包括如权利要求6至10中任意一项所述的虚拟键盘的显示控制装置。
【文档编号】G06F3/0488GK103577104SQ201310461208
【公开日】2014年2月12日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】陈冠翰, 杨丰铭 申请人:苏州佳世达电通有限公司, 佳世达科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1