响应操作的方法和装置的制作方法

文档序号:6601789阅读:163来源:国知局
专利名称:响应操作的方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种响应操作的方法和装置。
背景技术
随着技术的发展,具有触摸屏界面的触摸产品已经逐渐普及,如iPhone等。触摸产品的最大特点是可以实现触摸操作,触摸操作简单易学,连老人和小孩也能轻松掌握。常用的触摸操作包括点击、滚动、拖拽等等。目前的触摸产品对用户的滚动操作和拖拽操作各自都能支持,如用户打开通讯录后执行滚动操作查阅联系人,或者用户在主界面上拖拽功能图标来更换显示位置等等。但是现有的触摸产品普遍存在如下问题在支持滚动操作时不能支持拖拽操作, 在支持拖拽操作时不能支持滚动操作,目前还无法同时支持拖拽操作和滚动操作,造成用户体验差。例如,iPhone产品在打开通讯录时,可以支持滚动操作来翻阅查看每个联系人, 但是,此时不支持拖拽联系人的功能,用户无法通过拖拽联系人来达到排序联系人的目的。随着用户需求的增长,需要同时支持拖拽操作和滚动操作的场景越来越多。例如, 当触摸产品中安装有目前广泛应用的IMdnstant Messaging,即时通讯)软件时,用户不仅仅满足于可以通过滚动操作在联系人列表中查阅联系人,同时还希望能够通过拖拽联系人头像来打开一个聊天对话框,或者希望能够通过拖拽联系人头像来对联系人排序等等。 因此,如何在触摸产品中实现同时支持拖拽操作和滚动操作是有待于解决的问题。

发明内容
为了解决现有技术无法同时支持拖拽操作和滚动操作的问题,本发明实施例提供了一种响应操作的方法和装置。所述技术方案如下一种响应操作的方法,所述方法包括截获指针设备按下事件,获取指针设备按下的位置和时间;截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度,包括计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的移动方向,包括按照如下公式计算得到所述指针设备的移动方向
arctan[(72 - Y\) /{Χ2 - Xl)],Xl Φ Χ2
A = J 90°,Υ2>Υ\,Χ\ = Χ2
-90°,Υ2<Υ\,ΧΙ = Χ2其中,Xl和Yl为所述按下的位置的横坐标和纵坐标,Χ2和Υ2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,包括根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;将所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率, 则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率, 则判定当前手势为滚动手势。根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率,包括将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。所述指针设备为鼠标、手指或触摸笔。一种响应操作的装置,所述装置包括获取模块,用于截获指针设备按下事件,获取指针设备按下的位置和时间,截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;计算模块,用于根据所述获取模块获取的所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;处理模块,用于根据所述计算模块计算得到的所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。所述计算模块包括
时间计算单元,用于计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;速度计算单元,用于根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。所述计算模块包括方向计算单元,用于按照如下公式计算得到所述指针设备的移动方向其中,Xl和Yl为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。所述处理模块包括概率计算单元,用于根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;判断单元,用于将所述概率计算单元计算得到的所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定当前手势为滚动手势。所述概率计算单元包括第一计算子单元,用于将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;并且,将所述移动速度与预设的速度阈值进行比较, 得到拖拽手势的速度概率和滚动手势的速度概率;并且,将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;第二计算子单元,用于按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;并且,按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。所述指针设备为鼠标、手指或触摸笔。本发明实施例提供的技术方案,通过计算指针设备的停留时间、移动速度和移动方向,识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,提升了用户的体验。


图1是本发明实施例1提供的响应操作的方法流程图;图2是本发明实施例2提供的响应操作的方法流程图;图3是本发明实施例3提供的响应操作的装置一种结构图;图4是本发明实施例3提供的响应操作的装置另一种结构图。
arctan[(F2 - 71) /(X2 - XV)], A = 190°, -90°,
Xl^ X2 Y2>Y\,X\ = X2 Υ2<Υ\,Χ\ = Χ具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图1,本实施例提供了一种响应操作的方法,包括101 截获指针设备按下事件,获取指针设备按下的位置和时间;102 截获指针设备移动事件,获取指针设备当前移动到的位置和时间;103 根据已获取的指针设备按下的位置和时间、以及当前移动到的位置和时间, 计算得到指针设备的停留时间、移动速度和移动方向;104:根据计算得到的停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。本发明实施例中的指针设备是指一种输入设备,通过该设备可以在 ⑶I (Graphical UserInterface图形用户界面)上产生按下(Down)、抬起(Up)和移动 (Move)事件,触发GUI所在的设备执行相应的操作。该GUI所在的设备可以为触摸终端或计算机等,触摸终端是指具有触摸屏的终端,包括但不限于具有触摸屏的手机、PDA等等。计算机包括但不限于台式机、笔记本电脑等等,本发明实施例对此不做具体限定。 在本发明实施例中,指针设备包括但不限于鼠标、手指或触摸笔中的任一种。当指针设备为鼠标时,上述方法应用于用户使用鼠标在终端屏幕的界面上进行操作的场景,当指针设备为手指或触摸笔时,上述方法应用于用户使用手指或触摸笔在触摸设备的界面上进行触摸操作的场景。无论是哪种场景,本发明实施例均是具体针对拖拽和滚动两种操作来进行识别和响应的。其中,指针设备的停留时间是指指针设备在界面上进行移动时停留的时间,该时间可以通过指针设备当前移动到的时间与指针设备按下的时间的差值计算得出。指针设备的移动速度是指指针设备在界面上移动的速度,该速度可以根据指针设备当前移动到的位置与指针设备按下的位置的差值计算得出。指针设备的移动方向是指指针设备在界面上移动的方向,可以用指针设备当前移动到的位置与指针设备按下的位置所连成的直线与水平坐标轴之间的夹角来表示,该夹角可以通过指针设备按下的位置和时间以及指针设备当前移动到的位置和时间计算得到。例如,将水平方向视为横坐标轴,将垂直方向视为纵坐标轴,当用户使用手指触摸手机终端的触摸屏时,将手指按下的位置作为原点,如果手指沿垂直方向向上移动,此时,横坐标未变,手指当前移动到的位置与原点之间的距离为两点之间纵坐标的差值,结果为正数,因此,代表手指移动方向的该夹角为90°,如果手指沿垂直方向向下移动,此时,横坐标未变,手指当前移动到的位置与原点之间的距离为两点之间纵坐标的差值,结果为负数,因此,代表手指移动方向的该夹角为-90°等等。本实施例提供的上述方法,通过计算指针设备的停留时间、移动速度和移动方向, 识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,克服了现有技术的缺陷,极大地提升了用户的体验。上述方法不仅支持鼠标操作,还支持手指操作或触摸笔操作,应用范围广,兼容性强。实施例2参见图2,本实施例提供了一种响应操作的方法,以指针设备是手指为例进行说明,具体包括201 截获手指按下事件,获取手指按下的位置和时间。具体地,可以将手指按下事件映射为鼠标按下事件M0uSeButt0nD0Wn事件,当用户在触摸屏上按下手指时,可以截获到鼠标按下事件。其中,在鼠标按下事件的处理函数中,可以获取到手指按下的位置Pl和时间Tl, 该位置Pl可以用横坐标Xl和纵坐标Yl两个值来表示(XI,Yl)。202 截获手指移动事件,获取手指当前移动到的位置和时间。具体地,可以将手指移动事件映射为鼠标移动事件:M0USeM0Ve事件,当用户在触摸屏上移动手指时,可以截获到鼠标移动事件。其中,在鼠标移动事件的处理函数中,可以获取到手指当前移动到的位置P2和时间T2,该位置P2可以表示为(X2,Y2),其中,X2为横坐标,Y2为纵坐标。203 计算手指当前移动到的时间T2与手指按下的时间Tl的差值,得到手指停留时间。用T表示手指停留时间,则具体公式如下T = T2-T1 ;例如,手指按下的时间为9点零20ms,手指当前移动到的时间为9点零120ms,则手指停留时间为100ms。204 根据手指当前移动到的位置P2与手指按下的位置Pl的差值,计算得到手指移动速度。用V表示手指移动速度,则具体公式如下V = (P2-Pl)/t ;其中,t是鼠标位置移动的刷新时间,为系统固定值,是已知的常量,因此该公式也可简化表示为V = P2-P1 ;本实施例中,P2-P1为矢量操作,代表位置Pl和P2两个点之间的距离。205 按照如下公式计算得到手指移动方向A
权利要求
1.一种响应操作的方法,其特征在于,所述方法包括 截获指针设备按下事件,获取指针设备按下的位置和时间;截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间; 根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。
2.根据权利要求1所述的方法,其特征在于,根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度,包括计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
3.根据权利要求1所述的方法,其特征在于,根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的移动方向,包括按照如下公式计算得到所述指针设备的移动方向其中,Xl和Yl为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。
4.根据权利要求1所述的方法,其特征在于,根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,包括根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;将所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较; 如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定当前手势为滚动手势。
5.根据权利要求4所述的方法,其特征在于,根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率,包括将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述指针设备为鼠标、手指或触摸笔。
7.—种响应操作的装置,其特征在于,所述装置包括获取模块,用于截获指针设备按下事件,获取指针设备按下的位置和时间,截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;计算模块,用于根据所述获取模块获取的所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;处理模块,用于根据所述计算模块计算得到的所述停留时间、移动速度和移动方向, 判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。
8.根据权利要求7所述的装置,其特征在于,所述计算模块包括时间计算单元,用于计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;速度计算单元,用于根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
9.根据权利要求7所述的装置,其特征在于,所述计算模块包括方向计算单元,用于按照如下公式计算得到所述指针设备的移动方向
10.根据权利要求7所述的装置,其特征在于,所述处理模块包括概率计算单元,用于根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;判断单元,用于将所述概率计算单元计算得到的所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定当前手势为滚动手势。
11.根据权利要求10所述的装置,其特征在于,所述概率计算单元包括第一计算子单元,用于将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;并且,将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;并且,将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;第二计算子单元,用于按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;并且,按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
12.根据权利要求7至11中任一权利要求所述的装置,其特征在于,所述指针设备为鼠标、手指或触摸笔。
全文摘要
本发明公开了一种响应操作的方法和装置,属于计算机技术领域。所述方法包括截获指针设备按下事件,获取指针设备按下的位置和时间;截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。所述装置包括获取模块、计算模块和处理模块。本发明实现了同时支持拖拽操作和滚动操作,提升了用户的体验。
文档编号G06F3/041GK102236511SQ20101016321
公开日2011年11月9日 申请日期2010年4月30日 优先权日2010年4月30日
发明者任旻, 李安琪 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1