屏幕触摸虚拟键盘模糊输入字符判断方法及字符输入法与流程

文档序号:20008398发布日期:2020-02-22 03:49阅读:338来源:国知局
屏幕触摸虚拟键盘模糊输入字符判断方法及字符输入法与流程

本发明属于屏幕触摸虚拟键盘模糊输入法领域,特别涉及屏幕触摸虚拟键盘模糊输入字符判断方法及字符输入法。



背景技术:

现有的虚拟键盘输入法大体有触摸屏输入、投影键盘输入、手指动作捕捉输入等。其中触屏输入法系统包括虚拟键盘显示、触摸屏、输入法驱动软件等部分;投影键盘包括投影硬件、动作捕捉、包含特定算法的软件等部分。上述的输入方法均通过点击触摸屏或者投影出的键盘上的对应字符键实现字符的输入。

触屏输入和投影键盘等虚拟键盘输入方法存不足。因触屏和投影键盘没有实体键盘的手感,用户在进行字符输入时没有字符键反馈,字符键间定位偏差容易出现累积。会造成输入出错率高,不易实现盲打,因而输入效率较低。

因为人在操作触屏、虚拟键盘等人机接口程序软硬件过程中,输入点击位置存在一定的偏差,当需要盲打时,连续动作下,这个偏差就会逐步累积。如要求一个人在平地上闭眼睛定点双脚跳跃,在没有外界干扰的情况下,随着跳跃次数的增加,其偏离原起跳点的距离必然累加。类似的,用户在虚拟字符键盲打输入情况下,点击坐标必然出现漂移。造成的结果是点击坐标所落入的字符键范围,同用户输入意图出现偏差而造成输入错误。

因些,本发明人对用户在虚拟字符键盲打输入情况下,点击坐标必然出现漂移进行了研究,提出一种判断用户输入真实意图的方法。



技术实现要素:

本发明的目的在于提供屏幕触摸虚拟键盘模糊输入字符判断方法,该方法在用户盲打输入情况下,能够判断出用户真实的输入的意图并输出对应字符,提高输入字符准确率。

本发明的目的还在在于提供使用屏幕触摸虚拟键盘模糊输入字符判断方法的字符输入法,该方法在用户盲打输入情况下,能够判断出同用户真实的输入字符的意图并输出对应字符,提高输入字符准确率。

为了实现上述目的,本发明的技术方案如下:

屏幕触摸虚拟键盘模糊输入字符判断方法:

(1)、对系统输入法所带的虚拟键盘建立以整数数值为单位的字符坐标集,键盘的每个字符对应一个整数坐标(r,c);

(2)、记录虚拟键盘屏幕上触点p的数值坐标,每个触点p对应一个数值坐标(x,y);

(3)、通过对比当前触点p1与前一触点p0之间的数值坐标,得出当前触点p1与前一触点p0之间的横向偏移值△x、纵向偏移值△y,即点击数值坐标相对偏移值(△x,△y),公式(△x,△y)=(x1,y1)-(x0,y0),对横向偏移值△x同按键宽度常量sx相除四舍五入后取整得到横向相对偏移整数值△r,公式是△r=△x/sx;对纵向偏移值△y同按键高度常量sy相除四舍五入后取整得到纵向相对偏移整数值△c,公式是△c=△y/sy,即点击整数坐标相对偏移值(△r,△c),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1,c1),公式是(r1,c1)=(r0,c0)+(△r,△c),通过当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配相对应的字符。

进一步,所述第(1)步中的字符坐标集按照字符键盘上的横排、纵排上的字符键数量为单位的建立字符坐标集。

进一步,所述第(1)步中的系统输入法所带的虚拟键盘为九宫格键盘,分别对应12个字符,键盘的横排上的字符键数量为3个,分别为0,1,2,字符键盘的纵排上的字符键数量为4个,分别为0,1,2,4,以左下角为整数坐标原点,每个字符对应一个整数坐标(r,c),共计12个整数数组,形成字符坐标集。

进一步,所述第(2)步中的数值坐标以屏幕上的横向x、纵向y上的像素为单位的数值坐标。

进一步,所述第(2)步中的数值坐标以左下角为坐标原点,每个字符键的长度为100像素,高度为80像素。

使用上述屏幕触摸虚拟键盘模糊输入字符判断方法来进行盲打时字符输入方法:

(1)开始,当系统输入法区域被点击,记录到p0(x0,y0)=点击的数值坐标,通过p0点坐标直接确定字符b,公式b=对应的按键字符,根据字符坐标集中的b字符确定p0整数坐标(r0,c0)=f(b),输出b字符,b为变量,代表当前目标字符,此时通过p0(x0,y0)=点击的数值坐标直接确定字符,此时系统计时器开始清零t=0,并开始记时,(2)盲打开始,当输入法区域被点击,对比t与td的大小,t代表前后两次按键间隔时间,td为前一触点p0与当前触点p1前后间隔时间t的最大延迟上限,最大延迟td为字符键归零时间,如果前后两次点击键盘间隔过长即t>td成立,表示人们可能重新盯着了键盘,此时点击键盘上按键位置是相对准确的,输入法通过点击的数值坐标直接确定字符即可;如果前后两次点击键盘时间间隔比较短即t<td成立,那么表示人们是在键盘上盲打,此时记录当前触点p1的数值坐标(x1y1),计算当前触点p1与前一触点p0之间点击数值坐标相对偏移值(△x,△y),公式(△x,△y)=(x1,y1)-(x0,y0),计算点击整数坐标相对偏移值(△r,△c),公式△r=△x/sx(四舍五入取整),△c=△y/sy(四舍五入取整),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1,c1),公式是(r1,c1)=(r0,c0)+(△r,△c),通过当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配相对应的字符,公式b=f(r1,c1);如果当前触点p1的整数坐标(r1,c1)匹配的字符是其他值即b=null,表示人们盲打的点击区域可能超出了输入法点击区域或不是有效字符,系统内部报错不输出字符,计时器归零t=0,等待下一次点击输入,系统仍以前一触点p0为数值坐标和字符的整数坐标为坐标原点;如果当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配到对应的字符,输出字符b,并对(x0,y0)和(r0,c0)进行重新赋值,公式(x0,y0)=(x1,y1)、(r0,c0)=(r1,c1);计时器归零t=0,等待下一次点击输入。

本案与现在技术相比,本发明的字符判断方法及输入法的核心思想是通过计算屏幕或者虚拟区域点击位置之间的距离变化量(△x,△y),通过算法对比键盘布局参数来判断用户的真实输入意图,实现降低出错率、提高输入效率的目的。

附图说明

图1是本发明的实现步骤图;

图2是本发明的九宫格键盘图:

图3是本发明的九宫格键盘的按键数字化提取示意图;

图4是本发明的第一点“a”在九宫格键盘上的数值坐标图;

图5是本发明的第一点“a”在九宫格键盘上对应的整数坐标实线键盘相对移动图;

图6是本发明的第一点“a”与第二点“b”在九宫格键盘上的数值坐标图;

图7是本发明的第二点“b”在九宫格键盘上对应的整数坐标实线键盘相对移动图;

图8是本发明的第三点“c”与第二点“b”在九宫格键盘上的数值坐标图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图介绍,显而易见地,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的技术方案。

本实施例所涉及表格有个。

一种屏幕触摸虚拟键盘模糊输入字符判断方法:

(1)、对系统输入法所带的虚拟键盘建立以整数数值为单位的字符坐标集,键盘的每个字符对应一个整数坐标;具体是,按照字符键盘上的横排、纵排上的字符键数量为单位的建立字符坐标集,键盘的每个字符对应一个整数坐标(r,c),如图2、图3所示,九宫格的字符键盘,分别对应12个字符,字符键盘的横排上的字符键数量为3个,分别为0,1,2,字符键盘的纵排上的字符键数量为4个,分别为0,1,2,4,以左下角为整数坐标原点,每个字符对应一个整数坐标(r,c),共计12个整数数组,形成字符坐标集,如表格2所示,数字字符“5”对应的整数坐标是(1,2),符号字符“#”对应的整数坐标是(2,0);

(2)、记录虚拟键盘屏幕上触点p的数值坐标,具体是,以屏幕上的横向x、纵向y上的像素为单位的数值坐标,每个触点p对应一个数值坐标(x,y),例如图4所示,九宫格的字符键盘,以左下角为坐标原点,每个字符键的长度为100像素,高度为80像素,当前触点p1(第一点a)的数值坐标上(x1,y1)=(175,180);

(3)、通过对比当前触点p1与前一触点p0之间的数值坐标,得出当前触点p1与前一触点p0之间的横向偏移值△x、纵向偏移值△y,即点击数值坐标相对偏移值(△x,△y),公式(△x,△y)=(x1,y1)-(x0,y0),对横向偏移值△x同按键宽度常量sx相除四舍五入后取整得到横向相对偏移整数值△r,公式是△r=△x/sx,对纵向偏移值△y同按键高度常量sy相除四舍五入后取整得到纵向相对偏移整数值△c,公式是△c=△y/sy,即点击整数坐标相对偏移值(△r,△c),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1,c1),公式是(r1,c1)=(r0,c0)+(△r,△c),通过当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配相对应的字符。

如图1所示,使用上述屏幕触摸虚拟键盘模糊输入字符判断方法来进行盲打时字符输入方法:

(1)开始,当系统输入法区域被点击,记录到p0(x0,y0)=点击的数值坐标,通过p0点坐标直接确定字符b,公式b=对应的按键字符,根据字符坐标集中的b字符确定p0整数坐标(r0,c0)=f(b),输出b字符,b为变量,代表当前目标字符(参见表格1),此时之所以通过p0(x0,y0)=点击的数值坐标直接确定字符,是因为人们在首次点击输入想要输入的字符时,人们是会集中注意力看屏幕上点击输入字符的大概位置的,输入字符是准确的,此时系统计时器开始清零t=0,并开始记时;(2)盲打开始,当输入法区域被点击,对比t与td的大小,t代表前后两次按键间隔时间,td为前一触点p0与当前触点p1前后间隔时间t的最大延迟上限,最大延迟td为字符键归零时间,td是根据人们在盲打时的习惯来确定,如果前后两次点击键盘间隔过长即t>td成立,表示人们可能重新盯着了键盘,此时点击键盘上按键位置是相对准确的,输入法通过点击的数值坐标直接确定字符即可;如果前后两次点击键盘时间间隔比较短即t<td成立,那么表示人们是在键盘上盲打,因为人们在键盘上盲打时往往是连续点击键盘的,前后两次点击键盘时间间隔很短,此时记录当前触点p1的数值坐标(x1y1),计算当前触点p1与前一触点p0之间点击数值坐标相对偏移值(△x,△y),公式(△x,△y)=(x1,y1)-(x0,y0),计算点击整数坐标相对偏移值(△r,△c),公式△r=△x/sx(四舍五入取整),△c=△y/sy(四舍五入取整),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1,c1),公式是(r1,c1)=(r0,c0)+(△r,△c),通过当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配相对应的字符,公式b=f(r1,c1);如果当前触点p1的整数坐标(r1,c1)匹配的字符是其他值即b=null,表示人们盲打的点击区域可能超出了输入法点击区域或不是有效字符,系统内部报错不输出字符,计时器归零t=0,等待下一次点击输入,系统仍以前一触点p0为数值坐标和字符的整数坐标为坐标原点;如果当前触点p1的整数坐标(r1,c1)从字符坐标集中匹配到对应的字符,输出字符b,并对(x0,y0)和(r0,c0)进行重新赋值,公式(x0,y0)=(x1,y1)、(r0,c0)=(r1,c1);计时器归零t=0,等待下一次点击输入。

为方便理解,此处以日常生活中常见手机的九宫格键盘布局的触屏为例,在单手操作时实现盲打,其他虚拟键盘和虚拟按钮等类似,故不赘述。

名词解释:

a、b、c:点击点。

附图中虚线键盘:屏幕初始键盘位置。

附图中实线键盘:表示当前系统判断输入字符的键盘位置(本键盘位置由相关参数确定,不真实存在,此处仅为帮助理解绘制)。

此例中,宫格按键宽度:100像素即(sx=100)、高80像素(即sy=80),坐标原点(0,0)位于虚线键盘左下角。

如图2-图8,表格1-表格6所示,以九宫格键盘为例实现盲打时的字符输入方法。

(1)打开九宫格键盘输入法,等侍输入,如图4所示,当系统收到屏幕的点击坐标位于九宫格数字“5”偏右下角位置“a”时,如图4所示,记录下当前触点p1数值坐标为(x1,y1)=(175,180),直接输出字符“5”,此时系统计时器清零t=0,并开始记时,因为,按人们的输入习惯,打开输入法第一次点击想要输入的字符在屏幕上的位置是相对准确的,所以,此时前一触点p0的数值坐标(x0,y0)、前一触点p0的整数坐标(r0,c0),去计算当前触点p1与记录前一触点p0之间的点击数值坐标相对偏移值(△x,△y)、点击整数坐标相对偏移值(△r,△c)无意义;参照表格3:

(2)方便理解,如图5所示,图中“实线键盘”相当于字符坐标集对应键盘,上述根据输出字符“5”从对应的字符坐标集(表格中2)中匹配对应的字符坐标(1,2),相当于“实线键盘”的中字符“5”正中移动到“a”点位置,如表格4:

(3)盲打情况下需要输出字符“9”,点击第二点位于“b”即“实线键盘”数字“9”的右下角区域,因第二点“b”点位于虚线键盘线上边界附近位置,此时不采用本案输入法将会输出错误字符或无输出字符,此时判断点击第二点“b”与第一点“a”的时间间隔t>td,如果第一点“a”与第二点“b”两次点击键盘时间间隔比较短即t<td成立,那么表示人们是在键盘上盲打,此时第一点“a”相对于第二点“b”来说,第一点“a”为前一触点p0,第二点“b”为当前触点p1,如图6所示,记录下当前触点p1(第二点“b”)的数值坐标(x1y1)=(300,85),计算当前触点p1与前一触点p0之间点击数值坐标相对偏移值(△x,△y)=(125,-95),公式(△x=125,△y=-95)=(x1=300,y1=85)-(x0=175,y0=180),计算点击整数坐标相对偏移值(△r,△c)=(1,-1),公式(△r=1)=(△x=125)/(sx=100)=1.25≈1(四舍五入取整),(△c=-1)=(△y=-95)/(sy=80)=-0.95≈-1(四舍五入取整),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1=2,c1=1),公式是(r1=2,c1=1)=(r0=1,c0=2)+(△r=1,△c=-1),通过当前触点p1的整数坐标(r1,c1)=(2,1)从字符坐标集(表格2)中匹配相对应的字符“9”,公式(b=9)=f(r1=2,c1=1),系统输出字符“9”,如表格5所示;

(4)方便理解,如图7所示,上述根据整数坐标(2,1)从对应的字符坐标集(表格2)中匹配对应的字符“9”,输出字符“9”,相当于“实线键盘”的中字符“9”正中移动到第二点“b”点位置,如表格6:

(5)连续盲打情况下需要输出字符“7”,点击第三点位于“c”即“实线键盘”数字“7”的右上角区域,因“c”点位于虚线键盘数字“8”左下角,此时不采用本案输入法将会错误输出字符“8”,此时判断点击第三点“c”与第二点“b”的时间间隔t>td,如果第三点“c”与第二点“b”两次点击键盘时间间隔比较短即t<td成立,那么表示人们是在键盘上盲打,此时第二点“b”相对于第三点“c”来说,第二点“b”变成了前一触点p0,第三点“c”变成了当前触点p1,如图8所示,记录下当前触点p1(第三点“b”)的数值坐标(x1,y1)=(115,110),计算当前触点p1与前一触点p0之间点击数值坐标相对偏移值(△x,△y)=(-185,25),公式(△x=-185,△y=25)=(x1=115,y1=110)-(x0=300,y0=85),计算点击整数坐标相对偏移值(△r,△c)=(-2,0),公式(△r=-2)=(△x=-185)/(sx=100)=-1.85≈-2(四舍五入取整),(△c=0)=(△y=25)/(sy=80)=0.31≈0(四舍五入取整),将前一触点p0的整数坐标(r0,c0)与点击整数坐标相对偏移值(△r,△c)相加得出当前触点p1的整数坐标(r1,c1),公式是(r1=0,c1=1)=(r0=2,c0=1)+(△r=-2,△c=0),通过当前触点p1的整数坐标(r1,c1)=(0,1)从字符坐标集(表格2)中匹配相对应的字符“7”,公式(b=7)=f(r1=0,c1=1),系统输出字符“7”,如表格7所示;

(6)后续连续盲打,重复上述第(2)至第(5)步骤;直到前后两次点击间隔超时即t>td,输入法回到从第(1)步骤开始执行。

以上显示和描述了本发明的基本原理和主要特征以及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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