CN102236511B - 响应操作的方法和装置 - Google Patents

响应操作的方法和装置 Download PDF

Info

Publication number
CN102236511B
CN102236511B CN201010163216.1A CN201010163216A CN102236511B CN 102236511 B CN102236511 B CN 102236511B CN 201010163216 A CN201010163216 A CN 201010163216A CN 102236511 B CN102236511 B CN 102236511B
Authority
CN
China
Prior art keywords
gesture
probability
time
pointing device
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010163216.1A
Other languages
English (en)
Other versions
CN102236511A (zh
Inventor
李安琪
任旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010163216.1A priority Critical patent/CN102236511B/zh
Priority to EP11774288.2A priority patent/EP2565762B1/en
Priority to PCT/CN2011/070992 priority patent/WO2011134297A1/zh
Publication of CN102236511A publication Critical patent/CN102236511A/zh
Priority to US13/602,847 priority patent/US8638293B2/en
Application granted granted Critical
Publication of CN102236511B publication Critical patent/CN102236511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明公开了一种响应操作的方法和装置,属于计算机技术领域。所述方法包括:截获指针设备按下事件,获取指针设备按下的位置和时间;截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;根据所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。所述装置包括:获取模块、计算模块和处理模块。本发明实现了同时支持拖拽操作和滚动操作,提升了用户的体验。

Description

响应操作的方法和装置
技术领域
本发明涉及计算机技术领域,特别涉及一种响应操作的方法和装置。
背景技术
随着技术的发展,具有触摸屏界面的触摸产品已经逐渐普及,如iPhone等。触摸产品的最大特点是可以实现触摸操作,触摸操作简单易学,连老人和小孩也能轻松掌握。常用的触摸操作包括:点击、滚动、拖拽等等。目前的触摸产品对用户的滚动操作和拖拽操作各自都能支持,如用户打开通讯录后执行滚动操作查阅联系人,或者用户在主界面上拖拽功能图标来更换显示位置等等。
但是现有的触摸产品普遍存在如下问题:在支持滚动操作时不能支持拖拽操作,在支持拖拽操作时不能支持滚动操作,目前还无法同时支持拖拽操作和滚动操作,造成用户体验差。例如,iPhone产品在打开通讯录时,可以支持滚动操作来翻阅查看每个联系人,但是,此时不支持拖拽联系人的功能,用户无法通过拖拽联系人来达到排序联系人的目的。
随着用户需求的增长,需要同时支持拖拽操作和滚动操作的场景越来越多。例如,当触摸产品中安装有目前广泛应用的IM(InstantMessaging,即时通讯)软件时,用户不仅仅满足于可以通过滚动操作在联系人列表中查阅联系人,同时还希望能够通过拖拽联系人头像来打开一个聊天对话框,或者希望能够通过拖拽联系人头像来对联系人排序等等。因此,如何在触摸产品中实现同时支持拖拽操作和滚动操作是有待于解决的问题。
发明内容
为了解决现有技术无法同时支持拖拽操作和滚动操作的问题,本发明实施例提供了一种响应操作的方法和装置。所述技术方案如下:
一种响应操作的方法,所述方法包括:
截获指针设备按下事件,获取指针设备按下的位置和时间;
截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;
根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;
根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;
将所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;
如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势,如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定所述当前手势为滚动手势;
如果所述当前手势是拖拽手势,则执行拖拽操作,如果所述当前手势是是滚动手势,则执行滚动操作。
根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度,包括:
计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;
根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的移动方向,包括:
按照如下公式计算得到所述指针设备的移动方向:
其中,X1和Y1为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。
根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率,包括:
将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;
将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;
将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;
按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;
按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
所述指针设备为鼠标、手指或触摸笔。
一种响应操作的装置,所述装置包括:
获取模块,用于截获指针设备按下事件,获取指针设备按下的位置和时间,截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;
计算模块,用于根据所述获取模块获取的所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;
处理模块,用于根据所述计算模块计算得到的所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作;
其中,所述处理模块包括:
概率计算单元,用于根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;
判断单元,用于将所述概率计算单元计算得到的所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定当前手势为滚动手势。
所述计算模块包括:
时间计算单元,用于计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;
速度计算单元,用于根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
所述计算模块包括:
方向计算单元,用于按照如下公式计算得到所述指针设备的移动方向:
其中,X1和Y1为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。
所述概率计算单元包括:
第一计算子单元,用于将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;并且,将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;并且,将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;
第二计算子单元,用于按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;并且,按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
所述指针设备为鼠标、手指或触摸笔。
本发明实施例提供的技术方案,通过计算指针设备的停留时间、移动速度和移动方向,识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,提升了用户的体验。
附图说明
图1是本发明实施例1提供的响应操作的方法流程图;
图2是本发明实施例2提供的响应操作的方法流程图;
图3是本发明实施例3提供的响应操作的装置一种结构图;
图4是本发明实施例3提供的响应操作的装置另一种结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种响应操作的方法,包括:
101:截获指针设备按下事件,获取指针设备按下的位置和时间;
102:截获指针设备移动事件,获取指针设备当前移动到的位置和时间;
103:根据已获取的指针设备按下的位置和时间、以及当前移动到的位置和时间,计算得到指针设备的停留时间、移动速度和移动方向;
104:根据计算得到的停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。
本发明实施例中的指针设备是指一种输入设备,通过该设备可以在GUI(GraphicalUserInterface图形用户界面)上产生按下(Down)、抬起(Up)和移动(Move)事件,触发GUI所在的设备执行相应的操作。该GUI所在的设备可以为触摸终端或计算机等,触摸终端是指具有触摸屏的终端,包括但不限于具有触摸屏的手机、PDA等等。计算机包括但不限于台式机、笔记本电脑等等,本发明实施例对此不做具体限定。
在本发明实施例中,指针设备包括但不限于鼠标、手指或触摸笔中的任一种。当指针设备为鼠标时,上述方法应用于用户使用鼠标在终端屏幕的界面上进行操作的场景,当指针设备为手指或触摸笔时,上述方法应用于用户使用手指或触摸笔在触摸设备的界面上进行触摸操作的场景。无论是哪种场景,本发明实施例均是具体针对拖拽和滚动两种操作来进行识别和响应的。
其中,指针设备的停留时间是指指针设备在界面上进行移动时停留的时间,该时间可以通过指针设备当前移动到的时间与指针设备按下的时间的差值计算得出。指针设备的移动速度是指指针设备在界面上移动的速度,该速度可以根据指针设备当前移动到的位置与指针设备按下的位置的差值计算得出。指针设备的移动方向是指指针设备在界面上移动的方向,可以用指针设备当前移动到的位置与指针设备按下的位置所连成的直线与水平坐标轴之间的夹角来表示,该夹角可以通过指针设备按下的位置和时间以及指针设备当前移动到的位置和时间计算得到。例如,将水平方向视为横坐标轴,将垂直方向视为纵坐标轴,当用户使用手指触摸手机终端的触摸屏时,将手指按下的位置作为原点,如果手指沿垂直方向向上移动,此时,横坐标未变,手指当前移动到的位置与原点之间的距离为两点之间纵坐标的差值,结果为正数,因此,代表手指移动方向的该夹角为90°,如果手指沿垂直方向向下移动,此时,横坐标未变,手指当前移动到的位置与原点之间的距离为两点之间纵坐标的差值,结果为负数,因此,代表手指移动方向的该夹角为-90°等等。
本实施例提供的上述方法,通过计算指针设备的停留时间、移动速度和移动方向,识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,克服了现有技术的缺陷,极大地提升了用户的体验。上述方法不仅支持鼠标操作,还支持手指操作或触摸笔操作,应用范围广,兼容性强。
实施例2
参见图2,本实施例提供了一种响应操作的方法,以指针设备是手指为例进行说明,具体包括:
201:截获手指按下事件,获取手指按下的位置和时间。
具体地,可以将手指按下事件映射为鼠标按下事件:MouseButtonDown事件,当用户在触摸屏上按下手指时,可以截获到鼠标按下事件。
其中,在鼠标按下事件的处理函数中,可以获取到手指按下的位置P1和时间T1,该位置P1可以用横坐标X1和纵坐标Y1两个值来表示:(X1,Y1)。
202:截获手指移动事件,获取手指当前移动到的位置和时间。
具体地,可以将手指移动事件映射为鼠标移动事件:MouseMove事件,当用户在触摸屏上移动手指时,可以截获到鼠标移动事件。
其中,在鼠标移动事件的处理函数中,可以获取到手指当前移动到的位置P2和时间T2,该位置P2可以表示为(X2,Y2),其中,X2为横坐标,Y2为纵坐标。
203:计算手指当前移动到的时间T2与手指按下的时间T1的差值,得到手指停留时间。
用T表示手指停留时间,则具体公式如下:
T=T2-T1;
例如,手指按下的时间为9点零20ms,手指当前移动到的时间为9点零120ms,则手指停留时间为100ms。
204:根据手指当前移动到的位置P2与手指按下的位置P1的差值,计算得到手指移动速度。
用V表示手指移动速度,则具体公式如下:
V=(P2-P1)/t;
其中,t是鼠标位置移动的刷新时间,为系统固定值,是已知的常量,因此该公式也可简化表示为:
V=P2-P1;
本实施例中,P2-P1为矢量操作,代表位置P1和P2两个点之间的距离。
205:按照如下公式计算得到手指移动方向A:
其中,X1和Y1为手指按下的位置P1的横坐标和纵坐标,X2和Y2为手指当前移动到的位置P2的横坐标和纵坐标,A为用角度表示的手指移动方向。
本实施例中,203、204和205没有固定的先后顺序,上述顺序只是其中的一种实现方式,也可以采用其它任意顺序来执行,当然也可以同时执行,本发明实施例对此不做具体限定。
206:将手指停留时间T与预设的时间阈值进行比较,得到拖拽手势的时间概率Drag1和滚动手势的时间概率Scroll1;将手指移动速度V与预设的速度阈值进行比较,得到拖拽手势的速度概率Drag2和滚动手势的速度概率Scroll2;将手指移动方向A与预设的角度阈值进行比较,得到拖拽手势的方向概率Drag3和滚动手势的方向概率Scroll3。
其中,时间阈值、速度阈值和方向阈值可以根据经验值进行设置,而且还可以根据需要随时调整已设置的上述任一类型的阈值,本发明实施例对任一类型的阈值的数值大小、阈值个数均不做具体限定,对于任一类型,可以设置一个阈值也可以设置多个阈值,无论是一个阈值,还是多个阈值,其数值均不限。如可以设置一个时间阈值,其数值为200ms,设置两个速度阈值,数值分别为20和90,设置两个方向阈值,数值分别为30°,60°等等。
在本实施例中,上述各种概率符合以下关系:
Drag1+Scroll1≤1;
Drag2+Scroll2≤1;
Drag3+Scroll3≤1。
其中,与阈值进行比较得到拖拽手势和滚动手势的概率可以根据预设的规则来执行,该预设的规则是根据经验设定的,具体如下:
1)手指按下后停留的时间较长时,当前手势是拖拽手势的概率较大,手指按下后停留的时间较短时,当前手势是滚动手势的概率较大;
2)手指移动速度较慢时,当前手势是拖拽手势的概率较大,手指移动速度较快时,当前手势是滚动手势的概率较大;
3)手指移动方向与列表排列方向垂直时,当前手势是拖拽手势的概率较大,手指移动方向与列表排列方向平行时,当前手势是滚动手势的概率较大。
按照上述规则可以确定出拖拽手势的概率和滚动手势的概率,由于上述规则中只是定义了两种概率的倾向,即代表哪种手势的可能性更大,因此,对于拖拽手势概率的具体数值和滚动手势概率的具体数值,本发明实施例对此不做具体限定,只要根据二者的数值可以区分出当前手势的倾向即可。如确定出拖拽手势的时间概率Drag1大,滚动手势的时间概率Scroll1小,则可以将二者的数值设置为:Drag1=1,Scroll1=0,或者设置为Drag1=0.8,Scroll1=0.1等等。
具体地,按照上述规则确定拖拽手势的概率和滚动手势的概率可以具体如下:
1)设置一个时间阈值Ta,将手指停留时间T与该时间阈值Ta作比较:
如果T≤Ta,则Drag1=M1,Scroll1=M2,其中,M1<M2;
如果T>Ta,则Drag1=N1,Scroll1=N2,其中,N1>N2;
而且,M2与N1可以相同,也可以不同,M1与N2可以相同,也可以不同。另外,上述两个场景也可以设置为T<Ta和T≥Ta,对应的概率值不变,本发明实施例对此不做具体限定。
例如,时间阈值为200ms,如果T<200ms,则设置Drag1=0,Scroll1=0.9;如果T>200ms,则设置Drag1=0.9,Scroll1=0。
2)设置两个速度阈值V1和V2,且V1<V2,将手指移动速度V与该两个速度阈值作比较:
如果V>V2,则Drag2=I1,Scroll2=I2,其中,I1<I2;
如果V<V1,则Drag2=J1,Scroll2=J2,其中,J1>J2;
如果V1≤V≤V2,则Drag2=0,Scroll2=0;
而且,I2与J1可以相同,也可以不同,I1与J2可以相同,也可以不同。另外,上述三个场景也可以设置为V≥V2,V≤V1,V1<V<V2,或者V>V2,V≤V1,V1<V≤V2等等,对应的概率值不变,V=V1和V=V2位于上述三个场景中的哪一个都可以,本发明实施例对此不做具体限定。
例如,设置两个速度阈值分别为10和100,如果V>100,则设置Drag2=0,Scroll2=1;如果V<10,则设置Drag2=0.7,Scroll2=0.3,如果10<V<100,则设置Drag2=Scroll2=0。
3)设置两个方向阈值A1和A2,且A1<A2,将手指移动方向A与该两个方向阈值作比较:
如果|A|≥A2,则Drag3=K1,Scroll3=K2,其中,K1<K2;
如果|A|≤A1,则Drag3=L1,Scroll3=L2,其中,L1>L2;
如果A1<|A|<A2,则Drag3=0,Scroll3=0;
而且,K2与L1可以相同,也可以不同,K1与L2可以相同,也可以不同。另外,与速度场景同理,|A|=A1和|A|=A2位于上述三个场景中的哪一个都可以,本发明实施例对此不做具体限定。
例如,设置两个方向阈值分别为30°和60°,如果|A|≥60°,则设置Drag3=0,Scroll3=1;如果|A|≤30°,则设置Drag3=1;Scroll=0,如果30°<|A|<60°,则设置Drag3=Scroll3=0。
本步骤中,确定时间概率、速度概率和方向概率没有固定的先后顺序,上述顺序只是其中的一种实现方式,也可以采用其它任意顺序来执行,当然也可以同时执行,本发明实施例对此不做具体限定。
207:按照预设的时间权重、速度权重和方向权重,计算拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率Drag;按照上述时间权重、速度权重和方向权重,计算滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率Scroll。
其中,用R1,R2和R3分别表示时间权重、速度权重和方向权重,则R1,R2和R3符合以下关系:
R1≥0,R2≥0,R3≥0,且R1+R2+R3=1。
具体地,拖拽手势的概率Drag和滚动手势的概率Scroll计算公式如下:
Drag=R1×Drag1+R2×Drag2+R3×Drag3;
Scroll=R1×Scroll1+R2×Scroll2+R3×Scroll3;
本实施例中,上述三个权重R1,R2和R3的值可以根据经验设定,而且,在实际应用中还可以根据实际情况调整R1,R2和R3的值,本发明实施例对此不做具体限定。设置和调整R1,R2和R3的值可以参考具体的应用场景来进行,如在操作文件列表的应用场景中,经常会有拖拽文件的操作,此时手指停留时间和手指移动速度是重点考虑的参数,因此,可以针对此场景将R1和R2的值设置得大一些,将R3的值设置得小一些;或者,在操作联系人列表的应用场景中,经常会有滚动列表进行查看的操作,此时手指移动方向是重点考虑的参数,因此,可以针对该场景将R3的值设置得大一些,将R1和R2的值设置得小一些。至于系统当前处于哪个场景之中,可以通过获取相应的场景信息来获知,现有的手段就可以实现,本发明实施例不做过多说明。
208:将计算得到的拖拽手势的概率Drag和滚动手势的概率Scroll与预设的概率阈值进行比较,判断当前手势是拖拽手势还是滚动手势;如果是拖拽手势,则执行209;如果是滚动手势,则执行210,如果既不是拖拽手势也不是滚动手势,则执行211。
本实施例中,用H表示预设的概率阈值,则上述判断过程具体如下:
如果Drag>H>Scroll,则判定当前手势为拖拽手势;
如果Scroll>H>Drag,则判定当前手势为滚动手势;
如果既不符合Drag>H>Scroll,也不符合Scroll>H>Drag,则判定当前手势为未知手势。
其中,概率阈值H可以根据经验设定,如设置为0.5或者0.6等等,当然也可以设置为其它的值,还可以根据需要随时调整,本发明实施例对此均不做具体限定。
209:此时将当前手势识别为拖拽手势,因此,执行拖拽操作。
210:此时将当前手势识别为滚动手势,因此,执行滚动操作。
211:此时将当前手势识别为未知手势,因此,对当前手势不做任何响应。
212:截获手指抬起事件,结束当前流程。
具体地,可以将手指抬起事件映射为鼠标抬起事件:MouseButtonUp事件,当用户在触摸屏上抬起手指时,可以截获到鼠标抬起事件,此时,当前触摸操作结束。
本实施例提供的上述方法,通过计算指针设备的停留时间、移动速度和移动方向,识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,克服了现有技术的缺陷,极大地提升了用户的体验。
上述方法描述的对手指操作进行响应的过程,当指针设备为触摸笔时,对触摸笔的操作进行响应的过程与本实施例中的上述方法类似,其中,将触摸笔按下事件映射为鼠标按下事件,以及将触摸笔移动事件映射为鼠标移动事件,还有将触摸笔抬起事件映射为鼠标抬起事件均相同,整个过程的区别仅在于发起操作的是手指还是触摸笔,其余均相同,因此,此处不再赘述。当指针设备为鼠标时,对鼠标的操作进行响应的过程与本实施例中的上述方法类似,区别有两点,一个是发起操作的是手指还是鼠标,另一个是对鼠标而言不需要映射,直接截获的就是鼠标按下事件、鼠标移动事件和鼠标抬起事件,其余的均相同,因此,此处不再赘述。本实施例提供的方法不仅支持鼠标操作,还支持手指操作或触摸笔操作,应用范围广,兼容性强。
实施例3
参见图3,本实施例提供了一种响应操作的装置,包括:
获取模块301,用于截获指针设备按下事件,获取指针设备按下的位置和时间,截获指针设备移动事件,获取指针设备当前移动到的位置和时间;
计算模块302,用于根据获取模块301获取的按下的位置和时间、以及当前移动到的位置和时间,计算得到指针设备的停留时间、移动速度和移动方向;
处理模块303,用于根据计算模块302计算得到的停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作。
参见图4,计算模块302可以包括:
时间计算单元302a,用于计算指针设备当前移动到的时间与指针设备按下的时间的差值,得到指针设备的停留时间;
速度计算单元302b,用于根据指针设备当前移动到的位置与指针设备按下的位置的差值,计算得到指针设备的移动速度。
另外,计算模块302可以包括:
方向计算单元302c,用于按照如下公式计算得到指针设备的移动方向:
其中,X1和Y1为指针设备按下的位置的横坐标和纵坐标,X2和Y2为指针设备当前移动到的位置的横坐标和纵坐标,A为用角度表示的指针设备的移动方向。
本实施例中,处理模块303包括:
概率计算单元303a,用于根据指针设备的停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;
判断单元303b,用于将概率计算单元303a计算得到的拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果拖拽手势的概率大于阈值,且阈值大于滚动手势的概率,则判定当前手势为拖拽手势;如果滚动手势的概率大于阈值,且阈值大于拖拽手势的概率,则判定当前手势为滚动手势。
其中,概率计算单元303a可以包括:
第一计算子单元,用于将指针设备的停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;并且,将指针设备的移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;并且,将指针设备的移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;
第二计算子单元,用于按照预设的时间权重、速度权重和方向权重,计算拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;并且,按照时间权重、速度权重和方向权重,计算滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
本实施例提供的上述装置,具体可以是终端或触摸设备等等,如计算机、笔记本电脑、具有触摸功能的手机等等,该装置与以上实施例中的方法属于同一构思,在该装置上可以运行上述方法实施例中提供的任一方法,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供的上述装置,通过计算指针设备的停留时间、移动速度和移动方向,识别当前手势是拖拽手势还是滚动手势,并执行相应的操作,实现了同时支持拖拽操作和滚动操作,克服了现有技术的缺陷,极大地提升了用户的体验。上述装置不仅支持鼠标操作,还支持手指操作或触摸笔操作,应用范围广,兼容性强。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种响应操作的方法,其特征在于,所述方法包括:
截获指针设备按下事件,获取指针设备按下的位置和时间;
截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;
根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;
根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;
将所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;
如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势,如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定所述当前手势为滚动手势;
如果所述当前手势是拖拽手势,则执行拖拽操作,如果所述当前手势是滚动手势,则执行滚动操作。
2.根据权利要求1所述的方法,其特征在于,根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度,包括:
计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;
根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
3.根据权利要求1所述的方法,其特征在于,根据所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的移动方向,包括:
按照如下公式计算得到所述指针设备的移动方向:
其中,X1和Y1为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。
4.根据权利要求1所述的方法,其特征在于,根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率,包括:
将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;
将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;
将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;
按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;
按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
5.根据权利要求1至4中任一权利要求所述的方法,其特征在于,所述指针设备为鼠标、手指或触摸笔。
6.一种响应操作的装置,其特征在于,所述装置包括:
获取模块,用于截获指针设备按下事件,获取指针设备按下的位置和时间,截获指针设备移动事件,获取所述指针设备当前移动到的位置和时间;
计算模块,用于根据所述获取模块获取的所述按下的位置和时间、以及当前移动到的位置和时间,计算得到所述指针设备的停留时间、移动速度和移动方向;
处理模块,用于根据所述计算模块计算得到的所述停留时间、移动速度和移动方向,判断当前手势是拖拽手势还是滚动手势,如果是拖拽手势,则执行拖拽操作,如果是滚动手势,则执行滚动操作;
其中,所述处理模块包括:
概率计算单元,用于根据所述停留时间、移动速度和移动方向,分别计算拖拽手势的概率和滚动手势的概率;
判断单元,用于将所述概率计算单元计算得到的所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较;如果所述拖拽手势的概率大于所述阈值,且所述阈值大于所述滚动手势的概率,则判定当前手势为拖拽手势;如果所述滚动手势的概率大于所述阈值,且所述阈值大于所述拖拽手势的概率,则判定当前手势为滚动手势。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
时间计算单元,用于计算所述当前移动到的时间与所述按下的时间的差值,得到所述指针设备的停留时间;
速度计算单元,用于根据所述当前移动到的位置与所述按下的位置的差值,计算得到所述指针设备的移动速度。
8.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
方向计算单元,用于按照如下公式计算得到所述指针设备的移动方向:
其中,X1和Y1为所述按下的位置的横坐标和纵坐标,X2和Y2为所述当前移动到的位置的横坐标和纵坐标,A为用角度表示的所述指针设备的移动方向。
9.根据权利要求6所述的装置,其特征在于,所述概率计算单元包括:
第一计算子单元,用于将所述停留时间与预设的时间阈值进行比较,得到拖拽手势的时间概率和滚动手势的时间概率;并且,将所述移动速度与预设的速度阈值进行比较,得到拖拽手势的速度概率和滚动手势的速度概率;并且,将所述移动方向与预设的角度阈值进行比较,得到拖拽手势的方向概率和滚动手势的方向概率;
第二计算子单元,用于按照预设的时间权重、速度权重和方向权重,计算所述拖拽手势的时间概率、速度概率和方向概率的加权平均值,得到拖拽手势的概率;并且,按照所述时间权重、速度权重和方向权重,计算所述滚动手势的时间概率、速度概率和方向概率的加权平均值,得到滚动手势的概率。
10.根据权利要求6至9中任一权利要求所述的装置,其特征在于,所述指针设备为鼠标、手指或触摸笔。
CN201010163216.1A 2010-04-30 2010-04-30 响应操作的方法和装置 Active CN102236511B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201010163216.1A CN102236511B (zh) 2010-04-30 2010-04-30 响应操作的方法和装置
EP11774288.2A EP2565762B1 (en) 2010-04-30 2011-02-15 Method and apparatus for responding to operations
PCT/CN2011/070992 WO2011134297A1 (zh) 2010-04-30 2011-02-15 响应操作的方法和装置
US13/602,847 US8638293B2 (en) 2010-04-30 2012-09-04 Method and apparatus for responding operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010163216.1A CN102236511B (zh) 2010-04-30 2010-04-30 响应操作的方法和装置

Publications (2)

Publication Number Publication Date
CN102236511A CN102236511A (zh) 2011-11-09
CN102236511B true CN102236511B (zh) 2015-11-25

Family

ID=44860827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010163216.1A Active CN102236511B (zh) 2010-04-30 2010-04-30 响应操作的方法和装置

Country Status (4)

Country Link
US (1) US8638293B2 (zh)
EP (1) EP2565762B1 (zh)
CN (1) CN102236511B (zh)
WO (1) WO2011134297A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513899A (zh) * 2012-06-21 2014-01-15 北京睿思汇通移动科技有限公司 一种移动终端浏览器的分割屏幕方法及操控浏览器的方法
JP5862587B2 (ja) 2013-03-25 2016-02-16 コニカミノルタ株式会社 ジェスチャ判別装置、ジェスチャ判別方法、およびコンピュータプログラム
JP5956481B2 (ja) * 2014-02-10 2016-07-27 レノボ・シンガポール・プライベート・リミテッド 入力装置、入力方法、及びコンピュータが実行可能なプログラム
US9009516B1 (en) * 2014-02-19 2015-04-14 Google Inc. Adjusting a power mode of a wearable computing device based on motion data
CN108804009B (zh) * 2018-05-30 2020-09-08 北京小米移动软件有限公司 手势识别方法及装置
JP6940172B2 (ja) * 2019-06-21 2021-09-22 Necプラットフォームズ株式会社 情報端末、表示制御方法、及びプログラム
US11763078B2 (en) 2021-04-22 2023-09-19 Microsoft Technology Licensing, Llc Provisional selection drives edit suggestion generation
CN113407029B (zh) * 2021-06-25 2024-02-20 腾讯云计算(北京)有限责任公司 一种页面对象状态信息确定方法、装置、设备和可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726687A (en) * 1995-02-22 1998-03-10 Microsoft Corporation Auto-scrolling with mouse speed computation during dragging

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1280692C (zh) * 2003-12-04 2006-10-18 陞达科技股份有限公司 辨识拖曳手势的方法及控制器
CN100573431C (zh) * 2005-10-06 2009-12-23 鸿富锦精密工业(深圳)有限公司 光标控制装置及方法
US9619143B2 (en) * 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US20090187842A1 (en) * 2008-01-22 2009-07-23 3Dlabs Inc., Ltd. Drag and Drop User Interface for Portable Electronic Devices with Touch Sensitive Screens
US8375336B2 (en) * 2008-05-23 2013-02-12 Microsoft Corporation Panning content utilizing a drag operation
JP5274187B2 (ja) * 2008-09-30 2013-08-28 任天堂株式会社 画像処理プログラム、情報処理装置、画像処理方法、および画像処理システム
CN101424997A (zh) * 2008-12-04 2009-05-06 苏州达方电子有限公司 触控面板及其快速滚动条的启动方法
US8184102B2 (en) * 2008-12-17 2012-05-22 Cypress Semiconductor Corporation Finger gesture recognition for touch sensing surface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726687A (en) * 1995-02-22 1998-03-10 Microsoft Corporation Auto-scrolling with mouse speed computation during dragging

Also Published As

Publication number Publication date
US8638293B2 (en) 2014-01-28
EP2565762A1 (en) 2013-03-06
US20130027309A1 (en) 2013-01-31
EP2565762A4 (en) 2016-04-06
CN102236511A (zh) 2011-11-09
WO2011134297A1 (zh) 2011-11-03
EP2565762B1 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
CN102236511B (zh) 响应操作的方法和装置
US20210019028A1 (en) Method, device, and graphical user interface for tabbed and private browsing
TWI629636B (zh) 用於控制一電子器件之方法、電子器件及非暫時性電腦可讀儲存媒體
KR102000253B1 (ko) 사용자 인터페이스 계층을 내비게이션하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
KR101958517B1 (ko) 터치 입력에서 디스플레이 출력으로의 관계들 사이에서 전환하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
EP2812796B1 (en) Apparatus and method for providing for remote user interaction
KR20200043356A (ko) 사용자 인터렉션을 제공하는 사용자 단말 장치 및 그 방법
CN108845782B (zh) 连接移动终端和外部显示器的方法和实现该方法的装置
US11112959B2 (en) Linking multiple windows in a user interface display
US9658762B2 (en) Mobile terminal and method for controlling display of object on touch screen
JP2014044725A (ja) ユーザインターフェース提供方法、機械可読保存媒体及び携帯端末
TW201544949A (zh) 電池使用量追蹤使用者介面
JP6378451B2 (ja) アプリケーションに関連付けられた新規メッセージを処理するための方法及び装置
CN103513822B (zh) 用于改进触摸辨识的方法及其电子装置
US9727131B2 (en) User input method for use in portable device using virtual input area
JP6612351B2 (ja) アプリケーション・インタフェース要素を移動させるために使用されるデバイス、方法およびグラフィック・ユーザ・インタフェース
US9977567B2 (en) Graphical user interface
KR102157078B1 (ko) 휴대 단말기에서 전자문서 작성 방법 및 장치
EP3574413A1 (en) Capturing pen input by a pen-aware shell
CN114296599A (zh) 界面交互方法、装置、终端和存储介质
TW201610823A (zh) 縮小尺寸之使用者介面
CN104978102A (zh) 电子装置以及使用者界面控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant