发明内容
鉴于以上内容,有必要提供一种电子设备,方便用户通过手势操作来操作电子设备。
鉴于以上内容,还有必要提供一种手势导航方法,方便用户通过手势操作来操作电子设备。
所述电子设备包括:屏幕;存储器;处理器;以及多个模块,所述多个模块被存储在所述存储器中并被由所述处理器执行,所述多个模块包括:侦测模块,侦测所述屏幕上的滑动操作;确定模块,于侦测到滑动操作时,根据该滑动操作所对应的滑动起点、在滑动终点的悬停、以及滑动距离,确定该滑动操作所对应的操作指令;及执行模块,执行上述确定的操作指令所对应的功能。
优选地,所述指定区域是指包括所述屏幕在当前使用模式下所对应的下边缘的区域,该指定区域具有预定形状和大小。
优选地,所述指定区域与所述屏幕在当前使用模式下所对应的左边缘和右边缘分别间隔预定距离。
优选地,所述滑动操作所对应的滑动距离“S”是指根据该滑动操作所对应的滑动
起点的坐标(X1,Y1)和该滑动操作所对应的滑动终点的坐标(X2,Y2)所计算得出的距离,其
中,S=Y2-Y1或者
优选地,所述确定模块:当滑动操作所对应的滑动起点位于所述指定区域且该滑动操作所对应的滑动距离大于一个第一预设值,且在滑动终点没有悬停时,确定该滑动操作对应于第一操作指令;当滑动操作所对应的滑动起点位于所述指定区域且该滑动距离小于所述第一预设值但是大于第二预设值,且在滑动终点没有悬停时,确定该滑动操作对应于第二操作指令;及当滑动操作所对应的滑动起点位于所述指定区域且该滑动操作所对应的滑动距离大于一个第三预设值,且该滑动操作在滑动终点处还悬停了,且悬停时间达到预定时长时,确定该滑动操作对应于第三操作指令。
优选地,所述确定模块:确定仅发生在所述指定区域的滑动操作和发生在所述指定区域内的点击操作为无效操作,其中,仅发生在所述指定区域的滑动操作是指该滑动操作所对应的滑动路径上的各个坐标点均位于所述指定区域内。
优选地,所述确定模块:于确定得出所述滑动操作对应于所述第一操作指令时,存储该滑动操作所对应的第一操作指令、滑动距离以及该滑动操作所对应的操作时间;于确定得出所述滑动操作对应于所述第二操作指令时,存储该滑动操作所对应的第二操作指令、滑动距离以及该滑动操作所对应的操作时间;及于确定得出所述滑动操作对应于所述第三操作指令时,存储该滑动操作所对应的第三操作指令、滑动距离以及该滑动操作所对应的操作时间。
优选地,所述确定模块:定期读取所存储的操作时间发生在指定时段内的所述第一操作指令所对应的滑动距离,根据所读取的所述第一操作指令所对应的所有滑动距离,利用预设的算法计算第一校准值;定期读取所存储的操作时间发生在所述指定时段内的所述第二操作指令所对应的滑动距离,根据所读取的所述第二操作指令所对应的所有滑动距离,利用所述预设的算法计算第二校准值;定期读取所存储的操作时间发生在所述指定时段内的所述第三操作指令所对应的滑动距离,根据所读取的所述第三操作指令所对应的所有滑动距离,利用所述预设的算法计算第三校准值;及将所述第一预设值更新设置为所述第一校准值,将所述第二预设值更新设置为所述第二校准值,以及将所述第三预设值更新设置为所述第三校准值。
优选地,所述确定模块:提示用户作N次用于触发所述第一操作指令的第一滑动操作,侦测所述N次第一滑动操作分别所对应的第一滑动距离,由此获得N个第一滑动距离,N为正整数,根据所述N个第一滑动距离利用预设的算法计算所述第一预设值;提示用户作N次用于触发所述第二操作指令的第二滑动操作,侦测所述N次第二滑动操作分别所对应的第二滑动距离,由此获得N个第二滑动距离,根据所述N个第二滑动距离利用所述预设的算法计算所述第二预设值;及提示用户作N次用于触发所述第三操作指令的第三滑动操作,侦测所述N次第三滑动操作分别所对应的第三滑动距离,由此获得N个第三滑动距离,根据所述N个第三滑动距离利用所述预设的算法计算所述第三预设值。
所述手势导航方法,应用于包括屏幕的电子设备,该方法包括:侦测步骤,侦测所述屏幕上的滑动操作;确定步骤,于侦测到滑动操作时,根据该滑动操作所对应的滑动起点、在滑动终点的悬停、以及滑动距离,确定该滑动操作所对应的操作指令;及执行步骤,执行上述确定的操作指令所对应的功能。
优选地,所述指定区域是指包括所述屏幕在当前使用模式下所对应的下边缘的区域,该指定区域具有预定形状和大小。
优选地,所述指定区域与所述屏幕在当前使用模式下所对应的左边缘和右边缘分别间隔预定距离。
优选地,所述滑动操作所对应的滑动距离“S”是指根据该滑动操作所对应的滑动
起点的坐标(X1,Y1)和该滑动操作所对应的滑动终点的坐标(X2,Y2)所计算得出的距离,其
中,S=Y2-Y1或者
优选地,所述确定模块:当滑动操作所对应的滑动起点位于所述指定区域且该滑动操作所对应的滑动距离大于一个第一预设值,且在滑动终点没有悬停时,确定该滑动操作对应于第一操作指令;当滑动操作所对应的滑动起点位于所述指定区域且该滑动距离小于所述第一预设值但是大于第二预设值,且在滑动终点没有悬停时,确定该滑动操作对应于第二操作指令;及当滑动操作所对应的滑动起点位于所述指定区域且该滑动操作所对应的滑动距离大于一个第三预设值,且该滑动操作在滑动终点处还悬停了,且悬停时间达到预定时长时,确定该滑动操作对应于第三操作指令。
优选地,所述确定模块:确定仅发生在所述指定区域的滑动操作和发生在所述指定区域内的点击操作为无效操作,其中,仅发生在所述指定区域的滑动操作是指该滑动操作所对应的滑动路径上的各个坐标点均位于所述指定区域内。
优选地,所述确定模块:于确定得出所述滑动操作对应于所述第一操作指令时,存储该滑动操作所对应的第一操作指令、滑动距离以及该滑动操作所对应的操作时间;于确定得出所述滑动操作对应于所述第二操作指令时,存储该滑动操作所对应的第二操作指令、滑动距离以及该滑动操作所对应的操作时间;及于确定得出所述滑动操作对应于所述第三操作指令时,存储该滑动操作所对应的第三操作指令、滑动距离以及该滑动操作所对应的操作时间。
优选地,所述确定模块:定期读取所存储的操作时间发生在指定时段内的所述第一操作指令所对应的滑动距离,根据所读取的所述第一操作指令所对应的所有滑动距离,利用预设的算法计算第一校准值;定期读取所存储的操作时间发生在所述指定时段内的所述第二操作指令所对应的滑动距离,根据所读取的所述第二操作指令所对应的所有滑动距离,利用所述预设的算法计算第二校准值;定期读取所存储的操作时间发生在所述指定时段内的所述第三操作指令所对应的滑动距离,根据所读取的所述第三操作指令所对应的所有滑动距离,利用所述预设的算法计算第三校准值;及将所述第一预设值更新设置为所述第一校准值,将所述第二预设值更新设置为所述第二校准值,以及将所述第三预设值更新设置为所述第三校准值。
优选地,所述确定模块:提示用户作N次用于触发所述第一操作指令的第一滑动操作,侦测所述N次第一滑动操作分别所对应的第一滑动距离,由此获得N个第一滑动距离,N为正整数,根据所述N个第一滑动距离利用预设的算法计算所述第一预设值;提示用户作N次用于触发所述第二操作指令的第二滑动操作,侦测所述N次第二滑动操作分别所对应的第二滑动距离,由此获得N个第二滑动距离,根据所述N个第二滑动距离利用所述预设的算法计算所述第二预设值;及提示用户作N次用于触发所述第三操作指令的第三滑动操作,侦测所述N次第三滑动操作分别所对应的第三滑动距离,由此获得N个第三滑动距离,根据所述N个第三滑动距离利用所述预设的算法计算所述第三预设值。
相较于现有技术,本发明提供的电子设备及手势导航方法,方便用户利用手势来操作电子设备。
具体实施方式
参阅图1所示,所述电子设备1可以为游戏机、手机、平板电脑等具有触控功能的设备。在本实施例中,所述电子设备1包括,但不仅限于,处理器10、屏幕11、存储器12,及传感器13。上述各个元件之间电气连接。
在本实施例中,所述屏幕11可以为触摸显示屏。所述传感器13可以感测所述屏幕11当前的使用模式是竖屏模式还是横屏模式。例如,当所述屏幕11的摆放方向为图2所示时,所述传感器13可以感测到所述屏幕11当前的使用模式为竖屏模式。又如,当所述屏幕11的摆放方向为图3所示时,所述传感器13可以感测到所述屏幕11当前的使用模式为横屏模式。
在一个实施例中,所述传感器13可以为重力感测器,或者重力感测器与其他感测器例如罗盘传感器和/或陀螺仪的组合。
在一些实施例中,所述存储器12用于存储程序代码和各种数据,例如安装在所述电子设备1中的手势导航系统120,并在电子设备1的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器12包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述处理器10可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片或图形处理器,或各种控制芯片的组合等。所述处理器10是所述电子设备1的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块,以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据,例如执行手势导航系统120辅助用户操作所述电子设备1。
在本实施方式中,所述手势导航系统120可以包括一个或多个模块,所述一个或多个模块存储在所述存储器12中,并由至一个或多个处理器(本实施例为一个处理器10)执行,以完成本发明。例如,参阅图4所示,所述手势导航系统120包括侦测模块1201、确定模块1202及执行模块1203。本发明所称的模块是能够完成一特定功能的程序段,关于各模块的详细功能将在后文图5的流程图中作具体描述。
如图5所示,本发明较佳实施方式的手势导航方法流程图。根据不同需求,该流程图中步骤的顺序可以改变,某些步骤可以省略或合并。
步骤S501,侦测模块1201侦测所述屏幕11上的滑动操作。当侦测模块1201侦测到滑动操作时,执行步骤S502。
步骤S502,所述确定模块1202根据该滑动操作所对应的滑动起点、在滑动终点的悬停、滑动距离“S”确定该滑动操作所对应的操作指令。
在一个实施例中,当滑动操作所对应的滑动起点位于所述屏幕11的指定区域,且该滑动操作所对应的滑动距离“S”大于一个第一预设值(例如,3.5厘米),且在滑动终点没有悬停时,所述确定模块1202确定该滑动操作对应于第一操作指令。
在一个实施例中,当滑动操作所对应的滑动起点位于所述指定区域,且该滑动操作所对应的滑动距离“S”小于所述第一预设值但是大于一个第二预设值,且在滑动终点没有悬停时,所述确定模块1202确定该滑动操作对应于第二操作指令。在一个实施例中,所述第二预设值的大小可以等于所述指定区域的高度(例如,0.2厘米)。
在一个实施例中,当滑动操作所对应的滑动起点位于所述指定区域,且该滑动操作所对应的滑动距离“S”大于一个第三预设值,且该滑动操作在滑动终点处还悬停了,且悬停时间达到预定时长(例如1秒)时,所述确定模块1202确定该滑动操作对应于第三操作指令。在一个实施例中,所述第三预设值可以大于或等于所述第二预设值。
在一个实施例中,所述滑动操作所对应的滑动距离“S”是指根据该滑动操作所对应的滑动起点的坐标(X1,Y1)和该滑动操作所对应的滑动终点的坐标(X2,Y2)所计算得出的距离。在本实施例中,S=Y2-Y1。在其他实施例中,
在一个实施例中,所述三个操作指令可以对应所述电子设备1的不同导航功能。例如所述第一操作指令可以对应主页键(Home Button)的功能,也就是控制所述电子设备1回到主页面。所述第二操作指令可以对应返回键(Back Button)的功能,也就是控制所述电子设备1从当前页面回到前一页面。所述第三操作指令可以对应最近列表键(Recent Button)的功能,也就是控制所述电子设备1将当前处于开启状态的所有页面和应用程序罗列显示在所述屏幕11上。
在一个实施例中,当滑动操作所对应的滑动起点不是位于屏幕11的所述指定区域时,所述确定模块1202确定该滑动操作所对应的指令为所述电子设备1的一般操作指令。该一般操作指令可以定义为除所述导航功能所对应的操作指令之外的其他指令。例如,该一般操作指令可以为通过执行滑动操作来触发的翻页指令、搜索指令等。
在一个实施例中,所述确定模块1202确定仅发生在所述指定区域的滑动操作和发生在所述指定区域内的点击操作为无效操作,其中,仅发生在所述指定区域的滑动操作是指该滑动操作所对应的滑动路径上的各个坐标点均位于所述指定区域内。
在一个实施例中,所述指定区域是指包括所述屏幕11在当前使用模式下所对应的下边缘的区域,该指定区域具有预定形状和大小。例如,该指定区域可以为具有指定宽度“W1”和高度“H1”(例如,“H1”等于0.2厘米)的长方形形状的区域。本实施例中,为了方便描述,将长方形对应于横向方向的边称为“宽”,以及将长方形对应于纵向方向的边称为“高”。
在一个实施例中,为起到防误触的作用,所述指定区域与所述屏幕11在当前使用模式下所对应的左边缘和右边缘可以分别间隔预定距离“X”厘米(例如,“X”等于0.5厘米)。由此可知,所述指定区域的宽度为W1=W2-2X,其中,“W2”为所述屏幕11的宽度。在其他实施例中,W1=W2,即X等于0。
例如,参阅图6所示,当所述屏幕11的使用模式为竖屏模式时,指定区域110包括该屏幕11在竖屏模式下所对应的下边缘111。该指定区域110与所述屏幕11在竖屏模式下所对应的左边缘112和右边缘113分别间隔“X”厘米。
又如,参阅图7所示,当所述屏幕11的使用模式为横屏模式时,指定区域110包括该屏幕11在横屏模式下所对应的下边缘111。该指定区域110与所述屏幕11在横屏模式下所对应的左边缘112和右边缘113分别间隔“X”厘米。
另外需要说明的是,本实施例中,所述第一预设值、第二预设值,以及所述第三预设值可以由程序开发员在开发所述手势导航系统120时直接设定。在其他实施例中,所述第一预设值、第二预设值,以及所述第三预设值也可以由所述确定模块1202根据用户的输入来计算设定。具体细节请参后面对图8的介绍。
本发明还提供一种根据用户在实际使用所述手势导航系统120过程中所搜集的数据来校准所述第一预设值、第二预设值,以及所述第三预设值的方法。具体细节请参后面对9的介绍。
在一个实施例中,所述确定模块1202还于确定得出所述滑动操作对应于所述第一操作指令时,记录该滑动操作所对应的第一操作指令、滑动距离以及该滑动操作所对应的操作时间,并将该记录存储在所述存储器12中。在一个实施例中,所述确定模块1202可以于确定所述滑动操作对应于所述第一操作指令时,读取所述电子设备1当前的系统时间,将该电子设备1当前的系统时间作为所述滑动操作所对应的操作时间。
同样地,所述确定模块1202还于确定得出所述滑动操作对应于所述第二操作指令时,记录该滑动操作所对应的第二操作指令、滑动距离以及该滑动操作所对应的操作时间,并将该记录存储在所述存储器12中。所述确定模块1202还于确定得出所述滑动操作对应于所述第三操作指令时,记录该滑动操作所对应的第三操作指令、滑动距离以及该滑动操作所对应的操作时间,并将该记录存储在所述存储器12中。
需要说明的是,所述确定模块1202存储所述滑动操作所对应的操作指令、滑动距离以及操作时间是为了用于后续校准所述第一预设值、第二预设值,以及所述第三预设值。具体请参后面对图9的介绍。
步骤S503,执行模块1203根据上述步骤S502中所确定的操作指令执行该确定的操作指令所对应的功能。
例如,当在步骤S502中确定所述滑动操作对应于所述第一操作指令时,所述执行模块1203控制所述电子设备1回到主页面。
又如,当在步骤S502中确定所述滑动操作对应于所述第二操作指令时,所述执行模块1203控制所述电子设备1从当前页面回到前一页面。
再如,当在步骤S502中确定所述滑动操作对应于所述第三操作指令时,所述执行模块1203控制所述电子设备1将当前处于开启状态的所有页面和应用程序罗列显示在所述屏幕11上。
再如,当在步骤S502中确定所述滑动操作对应于所述一般操作指令时,所述执行模块1203根据该一般操作指令执行该一般操作指令所对应的功能。例如,控制所述电子设备1执行搜索程序的功能。
需要说明的是,当在步骤S502中确定所述滑动操作为无效操作时,本步骤中,所述执行模块1203则可以不执行任何操作或者作出相应的提示,例如利用文字或声音提示用户该滑动操作为无效操作。
参阅图8所示,是本发明较佳实施例的设置所述第一预设值、第二预设值,以及所述第三预设值的方法。根据不同需求,该流程图中步骤的顺序可以改变,某些步骤可以省略或合并。
步骤S801,所述确定模块1202可以提示用户分别作N次用于触发所述第一操作指令的第一滑动操作、N次用于触发所述第二操作指令的第二滑动操作、N次用于触发所述第三操作指令的第三滑动操作。N为正整数,例如N可以等于5、10、15,或20。
在一个实施例中,所述确定模块1202可以于所述电子设备1出厂后第一次开机时发出上述提示。
步骤S802,所述确定模块1202侦测所述N次第一滑动操作分别所对应的第一滑动距离,由此获得N个第一滑动距离。所述确定模块1202侦测所述N次第二滑动操作分别所对应的第二滑动距离,由此获得N个第二滑动距离。所述确定模块1202侦测所述N次第三滑动操作分别所对应的第三滑动距离,由此获得N个第三滑动距离。
步骤S803,所述确定模块1202根据所述N个第一滑动距离利用预设的算法计算所述第一预设值,根据所述N个第二滑动距离利用所述预设的算法计算所述第二预设值,以及根据所述N个第三滑动距离利用所述预设的算法计算所述第三预设值。
在一个实施例中,所述预设的算法可以为求最小值、平均值或加权平均值。例如,在本实施例中,所述第一预设值可以为所述N个第一滑动距离的平均值。所述第二预设值可以为所述N个第二滑动距离的平均值。所述第三预设值可以为所述N个第三滑动距离的平均值。
又如,在其他实施例中,所述第一预设值可以为所述N个第一滑动距离中的最小值。所述第二预设值可以为所述N个第二滑动距离中的最小值。所述第三预设值可以为所述N个第三滑动距离中的最小值。
需要说明的是,本实施例中,所述确定模块1202可以先提示用户作所述N次第一滑动操作。所述确定模块1202可以于根据用户的该N次第一滑动操作所对应的第一滑动距离计算得出所述第一预设值后,再提示用户作N次所述第二滑动操作。依次类推,所述确定模块1202可以于根据用户的该N次第二滑动操作所对应的第二滑动距离计算得出所述第二预设值后,再提示用户作N次所述第三滑动操作,然后再根据用户的N次第三滑动操作所对应的第三滑动距离计算所述第三预设值。
参阅图9所示,是本发明较佳实施例的校准所述第一预设值、第二预设值,以及所述第三预设值的校准方法。根据不同需求,该流程图中步骤的顺序可以改变,某些步骤可以省略或合并。
步骤S901,所述确定模块1202定期(例如,每隔一个月)读取所述存储器12中所存储的操作时间发生在指定时段内(例如,前一个月内)的所述第一操作指令所对应的滑动距离。所述确定模块1202定期读取所述存储器12中所存储的操作时间发生在所述指定时段内的所述第二操作指令所对应的滑动距离。所述确定模块1202定期读取所述存储器12中所存储的操作时间发生在所述指定时段内的所述第三操作指令所对应的滑动距离。
步骤S902,所述确定模块1202根据所读取的发生在所述指定时段内的所述第一操作指令所对应的所有滑动距离,利用所述预设的算法计算第一校准值。所述确定模块1202根据所读取的发生在所述指定时段内的所述第二操作指令所对应的所有滑动距离,利用所述预设的算法计算第二校准值。所述确定模块1202根据所读取的发生在所述指定时段内的所述第三操作指令所对应的所有滑动距离,利用所述预设的算法计算第三校准值。
在一个实施例中,所述第一校准值为发生在所述指定时段内的所述第一操作指令所对应的所有滑动距离的平均值。所述第二校准值为发生在所述指定时段内的所述第二操作指令所对应的所有滑动距离的平均值。所述第三校准值为发生在所述指定时段内的所述第三操作指令所对应的所有滑动距离的平均值。
在其他实施例中,所述第一校准值为发生在所述指定时段内的所述第一操作指令所对应的所有滑动距离中的最小值。所述第二校准值为发生在所述指定时段内的所述第二操作指令所对应的所有滑动距离中的最小值。所述第三校准值为发生在所述指定时段内的所述第二操作指令所对应的所有滑动距离中的最小值。
步骤S903,所述确定模块1202根据上述步骤S902所计算得出的所述第一校准值校准所述第一预设值,根据所述第二校准值校准所述第二预设值,以及根据所述第三校准值校准所述第三预设值。即所述确定模块1202将所述第一预设值更新设置为所述第一校准值,将所述第二预设值更新设置为所述第二校准值,以及将所述第三预设值更新设置为所述第三校准值。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。