本发明涉及鼠标领域,具体涉及一种鼠标连续书写方法。
背景技术:
现有的光电鼠标依靠光电引擎获取鼠标沿其工作表面移动的轨迹变化数据,从而控制光标的移动,随着技术的发展,目前先进的光电引擎已经足以识别非常细微的轨迹变化,如果将高精度的光电引擎与书写功能相结合,就可以用鼠标书写或绘画出准确的笔迹。
然而,用现有的普通鼠标进行书写的方法通常为:按住鼠标左键,写第一笔,写完第一笔之后松开鼠标左键,移动鼠标控制光标行至第二笔的起点,然后再按下鼠标左键,开始第二笔的书写,写完第二笔之后松开鼠标左键,移动鼠标控制光标行至第三笔的起点,以此类推完成后续笔画的书写。这种鼠标书写方式最大的问题在于,每写一笔都需要完成两个动作,即按住鼠标左键和松开鼠标左键,当然将鼠标左键替换成其他触发方式也是一样的,比如将鼠标左键替换成触点开关,轻触开始书写,松开结束当前笔画的书写,但是这种替换本质上是没变的,即每写一笔都需要操作两次,这种书写方式显然无法满足正常的书写需求,只能作为某些特殊场合应急之用。
针对上述问题,发明人想到,如果可以提出一种鼠标连续书写的方法,在书写过程中完全不用操作鼠标上的按键或触点,只需要像用粉笔或者普通钢笔书写一样,写完一笔后略微抬起鼠标,然后移动到下一笔的起始位置继续书写,就可以用鼠标实现连续且流畅的书写,这将极大地满足人们在普通平面上进行书写的需求,而不再需要借助数位板、触摸板、触摸屏之类能感知接触位置的特殊面板,因此这将成为一种全新且具备实用价值的电子书写方式,并会对整个电子书写方式的格局产生一定的影响。
技术实现要素:
本发明的目的是提供一种鼠标连续书写方法,在用鼠标进行书写的过程中完全不用操作鼠标上的按键或触点,只需要像用粉笔或者普通钢笔书写一样,写完一笔后略微抬起鼠标,然后移动到下一笔的起始位置继续书写,使整个书写过程流畅且自然。
实现所述发明目的的技术方案如下:
一种鼠标连续书写方法,其特征在于,应用于鼠标和终端,所述鼠标包括光电引擎、加速度检测单元,所述方法包括:
步骤1:获取第一位移数据,即在鼠标的书写模式下,采用所述光电引擎获取当鼠标底部与鼠标工作表面的距离小于等于静默距离时鼠标沿鼠标工作表面移动产生的第一位移数据;
步骤2:获取第二位移数据,即在鼠标的书写模式下,采用所述加速度检测单元获取当鼠标底部与鼠标工作表面的距离大于静默距离时鼠标沿鼠标工作表面移动产生的第二位移数据;
步骤3:将第一位移数据作为鼠标书写过程中笔迹的输入数据,将第二位移数据作为鼠标书写过程中光标移动但不产生笔迹的输入数据,并在书写过程中将所述第一位移数据和所述第二位移数据实时传输给所述终端,由所述终端对第一位移数据和第二位移数据进行处理或显示。
进一步的,所述鼠标还包括书写模式切换开关,采用所述书写切换模式开关实现鼠标的书写模式和普通鼠标模式之间的切换,在普通鼠标模式下,所述鼠标执行的是普通鼠标的功能,在书写模式下,所述鼠标执行的是连续书写的功能。
进一步的,采用加速度检测单元获取第二位移数据的方法包括
s1,确定积分下限:当鼠标底部与鼠标工作表面的距离大于静默距离,即光电引擎已经不再贡献有效的第一位移数据,但加速度检测单元仍能检测到鼠标沿鼠标工作表面移动的加速度变化,以光电引擎不再贡献有效的位移数据的时刻作为加速度二次积分获得第二位移数据的积分时间下限;
s2,通过对加速度积分获得第二位移数据:在确定了所述积分下限的基础上,通过对加速度检测单元所检测到的加速度信号进行时域上的二次积分,即可得到第二位移数据;
s3,确定积分上限:当鼠标底部与鼠标工作表面的距离由大于静默距离变化为小于等于静默距离时,即所述光电引擎重新开始贡献有效的第一位移数据,将此时刻作为此次加速度积分的时间上限,得到此次加速度积分的结果,即有效的第二位移数据。
进一步的,所述第一位移数据与所述第二位移数据的衔接位置的确定方法为:
第n个第一位移数据的位置终点,作为第n个第二位移数据的位置起点;第n个第二位移数据的位置终点,作为第n 1个第一位移数据的位置起点。
本发明实现的原理:光电引擎的一个特性是具有静默距离,即光电引擎在检测鼠标相对其工作表面之间的位移数据时是有高度限制的,当鼠标底部离鼠标工作表面的距离超过某个距离阈值时,光电引擎将无法获得鼠标移动的位移数据,该距离阈值称为鼠标的静默距离。如果在书写的过程中不操作鼠标左键或触点,写完一笔后抬起鼠标使其上移的高度超过静默距离,以此操作作为结束当前笔画的信号,确实也能完成当前笔画的书写,但是下一笔画的起点应该在哪里是不得而知的,因为当鼠标抬起的距离超过静默距离后,无论怎么移动鼠标,光标都只会停留在抬起鼠标时光标所在的位置,因此这种情况下无法继续书写下一笔,而本发明中引入加速度检测单元的作用正是为了解决这一问题,将鼠标抬起来后的位移通过对加速度信号进行二次积分计算出来,得到下一笔的起点位置。
对加速度进行二次积分计算位移的方法虽然精度上存在一些不足,但是如果只是用于确定下一笔的起点位置还是够用的,因为只需要计算当前笔画的终点到下一笔画的起点之间的位移,不会像计算实时轨迹那样因为多次的连续积分产生大量的累积误差,况且本身写字时起笔位置就不需要非常的精确。同时由于只需要计算当前笔画的终点到下一笔画的起点之间的位移,其计算任务量比较小,也更利于采用更精确的二次积分算法计算位移。
反之,如果书写笔迹本身的轨迹也采用加速度二次积分来进行获取的话,其产生的轨迹误差将不可接受,原因如下:我们知道,笔迹是由许多连续的轨迹点组成的,如果采用加速度二次积分计算笔迹,下一轨迹点的计算需要以上一个计算出的轨迹点为位置起点,而上一轨迹点本身就带有计算误差,误差会一点一点逐步叠加,因此其计算出的笔迹会产生精度上的连续漂移,这样计算出来的轨迹将会与真实的鼠标移动轨迹产生越来越大的偏差。另外,在该过程中巨大的实时计算量也是不可接受的。这也是本发明采用光电引擎获取第一位移数据,用加速度检测单元获取第二位移数据的原因。
本发明的有益效果:将本发明应用于鼠标的书写过程后,可以像用粉笔或者钢笔一样,实现连续且流畅的书写,这将极大地满足人们在普通平面上进行书写的需求,而不再需要借助数位板、触摸板、触摸屏之类能感知接触位置的特殊面板,使电子书写过程变得简便且低成本,因此该方法将成为一种全新且具备实用价值的电子书写方式,且有可能会对整个电子书写方式的市场和格局产生一定的影响。
附图说明
图1是本发明鼠标连续书写方法的简易原理说明图,图中“木”字的空心笔画1指代的是本发明所述的笔迹,即第一位移数据所对应的轨迹;图中带有箭头的三根细线2指代的是本发明所述的第二位移数据,即书写过程中抬起鼠标的高度超过静默距离时,鼠标沿其工作表面移动的空行程。
具体实施方式
下面将结合本发明的实施例及附图,对本发明做进一步详细说明和描述,需要说明的是,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种鼠标连续书写方法,应用于鼠标和终端,所述终端可以是台式电脑、笔记本电脑、智能手机、平板电脑、智能电视、智能手表、智能投影仪、带显示功能的智能眼镜等。
所述鼠标应当包括处理器、电源模块、通讯模块。
所述处理器可以是常见的arm芯片、51芯片、arduino芯片、fpga芯片、x86芯片、dsp芯片等。
所述通信模块与所述处理器连接,用于使所述鼠标能够与所述终端实现数据通讯。所述通信模块可以是有线通信模块也可以是无线通信模块,其中所述无线通信模块可以是蓝牙、2.4ghz、wifi、nfc、移动通信网络等常见的无线通讯方式的标准化模组。
所述电源模块用于为所述鼠标供电,可以是常见的干电池、锂电池或者其他类型的小型化电池,也可以通过导线外接电源。
进一步的,所述鼠标还包括光电引擎、加速度检测单元,所述光电引擎可以是常用的鼠标光电引擎,例如原相公司的两款鼠标引擎:paw3220lu-tjdu、paw3204lu-tjdu及其配套透镜和光源等;所述加速度检测单元可以是普通的六轴加速度传感器。
所述方法包括:
步骤1:获取第一位移数据,即在鼠标的书写模式下,采用所述光电引擎获取当鼠标底部与鼠标工作表面的距离小于等于静默距离时鼠标沿鼠标工作表面移动产生的第一位移数据;
步骤2:获取第二位移数据,即在鼠标的书写模式下,采用所述加速度检测单元获取当鼠标底部与鼠标工作表面的距离大于静默距离时鼠标沿鼠标工作表面移动产生的第二位移数据;
步骤3:如图1所示,以书写的内容是一个“木”字为例,现将第一位移数据,也就是图1中的“木”字的空心笔画1所对应的轨迹,作为鼠标书写过程中笔迹的输入数据;将第二位移数据,也就是图1中带有箭头的三根细线2所对应的轨迹,即书写过程中抬起鼠标的高度超过静默距离时,鼠标沿其工作表面移动的空行程,作为鼠标书写过程中光标移动但不产生笔迹的输入数据;在书写过程中将所述第一位移数据和所述第二位移数据实时传输给所述终端,由所述终端对第一位移数据和第二位移数据进行处理或显示。
需要说明的是,图1中为了简化绘图,细线2绘制的是直线,但这只是一种示意的表示,实际书写过程中可能会是不规则的曲线,但不管细线2是直线还是曲线,本发明的技术方案都是适用的。
进一步的,所述鼠标还包括书写模式切换开关,采用所述书写模式切换开关实现鼠标的书写模式和普通鼠标模式之间的切换,在普通鼠标模式下,所述鼠标执行的是普通鼠标的功能,在书写模式下,所述鼠标执行的是书写的功能。
进一步的,采用及速度检测单元获取第二位移数据的方法包括
s1,确定积分下限:如图1所示,仍以“木”字的书写为例,当写完“木”字的第一笔,即图中ab段时,按照普通人的书写习惯在b点会有一个抬笔的动作,抬起笔之后会向下一笔也就是图中的cd段的起点c点移动;由于鼠标的静默距离通常为1mm-2mm,当在b点抬起鼠标后,鼠标底部与鼠标工作表面的距离会大于静默距离,即光电引擎已经不再贡献有效的第一位移数据,但此时当鼠标向着c点移动时,加速度检测单元可以检测到鼠标沿鼠标工作表面移动的加速度变化,以光电引擎不再贡献有效的位移数据的时刻,也就是在b点抬笔的时刻,作为加速度二次积分获得第二位移数据的积分时间下限;
s2,通过对加速度积分获得第二位移数据:在确定了所述积分下限的基础上,通过对加速度检测单元所检测到的加速度信号进行时域上的二次积分,即可得到第二位移数据;需要说明的是,通过加速度进行二次积分得到位移属于本领域的现有技术,且在公开号为cn105487689a的中国专利中已经记载了一种通过加速度二次积分计算位移的方法,本发明在此不再赘述;
s3,确定积分上限:图1中从b点抬笔移动到c点后再次落笔进行cd段的书写时,鼠标底部与鼠标工作表面的距离会由大于静默距离变化为小于等于静默距离时,即所述光电引擎重新开始贡献有效的第一位移数据,将此时刻作为此次加速度积分的时间上限,得到此次加速度积分的结果,即有效的第二位移数据。
进一步的,所述第一位移数据与所述第二位移数据的衔接位置的确定方法为:
第n个第一位移数据的位置终点,作为第n个第二位移数据的位置起点;第n个第二位移数据的位置终点,作为第n 1个第一位移数据的位置起点。如图1所示,仍以“木”字的书写为例,第一笔也就是ab段的位置终点,也就是b点,作为第一条细线2的位置起点;第一条细线2的位置终点,也就是c点,作为第二笔cd段的位置起点;后续笔画以此类推,不再赘述。
需要说明的是,由于上述方法的实施需要以鼠标为载体,因此凡是使用了上述鼠标连续书写方法的鼠标,也应当属于本发明保护的范围。
1.一种鼠标连续书写方法,其特征在于,应用于鼠标和终端,所述鼠标包括光电引擎、加速度检测单元,所述方法包括:
步骤1:获取第一位移数据,即在鼠标的书写模式下,采用所述光电引擎获取当鼠标底部与鼠标工作表面的距离小于等于静默距离时鼠标沿鼠标工作表面移动产生的第一位移数据;
步骤2:获取第二位移数据,即在鼠标的书写模式下,采用所述加速度检测单元获取当鼠标底部与鼠标工作表面的距离大于静默距离时鼠标沿鼠标工作表面移动产生的第二位移数据;
步骤3:将第一位移数据作为鼠标书写过程中笔迹的输入数据,将第二位移数据作为鼠标书写过程中光标移动但不产生笔迹的输入数据,并在书写过程中将所述第一位移数据和所述第二位移数据实时传输给所述终端,由所述终端对第一位移数据和第二位移数据进行处理或显示。
2.根据权利要求1所述的鼠标连续书写方法,其特征在于,所述鼠标还包括书写模式切换开关,采用所述书写模式切换开关实现鼠标的书写模式和普通鼠标模式之间的切换,在普通鼠标模式下,所述鼠标执行的是普通鼠标的功能,在书写模式下,所述鼠标执行的是书写的功能。
3.根据权利要求1所述的鼠标连续书写方法,其特征在于,采用及速度检测单元获取第二位移数据的方法包括
s1,确定积分下限:当鼠标底部与鼠标工作表面的距离大于静默距离,即光电引擎已经不再贡献有效的第一位移数据,但加速度检测单元仍能检测到鼠标沿鼠标工作表面移动的加速度变化,以光电引擎不再贡献有效的位移数据的时刻作为加速度二次积分获得第二位移数据的积分时间下限;
s2,通过对加速度积分获得第二位移数据:在确定了所述积分下限的基础上,通过对加速度检测单元所检测到的加速度信号进行时域上的二次积分,即可得到第二位移数据;
s3,确定积分上限:当鼠标底部与鼠标工作表面的距离由大于静默距离变化为小于等于静默距离时,即所述光电引擎重新开始贡献有效的第一位移数据,将此时刻作为此次加速度积分的时间上限,得到此次加速度积分的结果,即有效的第二位移数据。
4.根据权利要求1所述的鼠标连续书写方法,其特征在于,所述第一位移数据与所述第二位移数据的衔接位置的确定方法为:
第n个第一位移数据的位置终点,作为第n个第二位移数据的位置起点;第n个第二位移数据的位置终点,作为第n 1个第一位移数据的位置起点。
5.一种鼠标,其特征在于,所述鼠标使用了权利要求1-4任一所述的鼠标连续书写方法。
技术总结