Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR RESPONDING OPERATIONS
Document Type and Number:
WIPO Patent Application WO/2011/134297
Kind Code:
A1
Abstract:
A method and apparatus for responding operations are disclosed, belonging to the technical field of computer. Said method includes: intercepting the pressing event of a pointing device, obtaining the pressing position and time of the pointing device; intercepting the movement event of the pointing device, obtaining the position and time which said pointing device currently moves to; computing the staying time, moving speed and direction of said pointing device according to said pressing position and time, as well as said position and time currently moved to; judging the current gesture is a dragging gesture or a scrolling gesture according to said staying time, moving speed and direction, if dragging gesture, a dragging operation is executed, if scrolling gesture, a scrolling operation is executed. Said apparatus includes: a obtaining module, a computing module and a processing module. The present invention enables simultaneously supporting dragging operations and scrolling operations, in order to improve user experience.

Inventors:
LI ANQI (CN)
REN MIN (CN)
Application Number:
PCT/CN2011/070992
Publication Date:
November 03, 2011
Filing Date:
February 15, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
LI ANQI (CN)
REN MIN (CN)
International Classes:
G06F3/048; G06F3/041; G06F3/0485; G06F3/0486; G06F3/0488
Domestic Patent References:
WO2009142871A22009-11-26
Foreign References:
US20090187842A12009-07-23
CN1945513A2007-04-11
CN101424997A2009-05-06
CN1624631A2005-06-08
Other References:
See also references of EP 2565762A4
None
Attorney, Agent or Firm:
DEQI INTELLECTUAL PROPERTY LAW CORPORATION (CN)
北京德琦知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求书

1、 一种响应操作的方法, 其特征在于, 所述方法包括:

截获指针设备按下事件, 获取指针设备按下的位置和时间; 截获指针设备移动事件, 获取所述指针设备当前移动到的位置和时 间;

根据所述按下的位置和时间、 以及当前移动到的位置和时间, 计算 得到所述指针设备的停留时间、 移动速度和移动方向;

根据所述停留时间、 移动速度和移动方向, 判断当前手势是拖拽手 势还是滚动手势,如果是拖拽手势, 则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

2、 根据权利要求 1 所述的方法, 其特征在于, 根据所述按下的位 置和时间、 以及当前移动到的位置和时间, 计算得到所述指针设备的停 留时间、 移动速度, 包括:

计算所述当前移动到的时间与所述按下的时间的差值, 得到所述指 针设备的停留时间;

根据所述当前移动到的位置与所述按下的位置的差值, 计算得到所 述指针设备的移动速度。

3、 根据权利要求 1 所述的方法, 其特征在于, 根据所述按下的位 置和时间、 以及当前移动到的位置和时间, 计算得到所述指针设备的移 动方向, 包括:

按照如下公式计算得到所述指针设备的移动方向:

其中, XI 和 Yl 为所述按下的位置的横坐标和纵坐标, X2和 Y2 为所述当前移动到的位置的横坐标和纵坐标, A为用角度表示的所述指 针设备的移动方向。

4、 根据权利要求 1所述的方法, 其特征在于, 根据所述停留时间、 移动速度和移动方向, 判断当前手势是拖拽手势还是滚动手势, 包括: 根据所述停留时间、 移动速度和移动方向, 分别计算拖拽手势的概 率和滚动手势的和无率;

将所述拖拽手势的概率和滚动手势的概率与预设的阈值进行比较; 如果所述拖拽手势的概率大于所述阈值, 且所述阈值大于所述滚动 手势的概率, 则判定当前手势为拖拽手势;

如果所述滚动手势的概率大于所述阈值, 且所述阈值大于所述拖拽 手势的概率, 则判定当前手势为滚动手势。

5、 根据权利要求 4所述的方法, 其特征在于, 根据所述停留时间、 移动速度和移动方向, 分别计算拖拽手势的概率和滚动手势的概率, 包 括:

将所述停留时间与预设的时间阈值进行比较, 得到拖拽手势的时间 概率和滚动手势的时间概率;

将所述移动速度与预设的速度阈值进行比较, 得到拖拽手势的速度 概率和滚动手势的速度概率;

将所述移动方向与预设的角度阈值进行比较, 得到拖拽手势的方向 既率和滚动手势的方向和无率;

按照预设的时间权重、 速度权重和方向权重, 计算所述拖拽手势的 时间概率、 速度概率和方向概率的加权平均值, 得到拖拽手势的概率; 按照所述时间权重、 速度权重和方向权重, 计算所述滚动手势的时 间概率、 速度概率和方向概率的加权平均值, 得到滚动手势的概率。

6、 根据权利要求 1至 5中任一权利要求所述的方法, 其特征在于, 所述指针设备为鼠标、 手指或触摸笔。

7、 一种响应操作的装置, 其特征在于, 所述装置包括:

获取模块, 用于截获指针设备按下事件, 获取指针设备按下的位置 和时间, 截获指针设备移动事件, 获取所述指针设备当前移动到的位置 和时间;

计算模块, 用于根据所述获取模块获取的所述按下的位置和时间、 以及当前移动到的位置和时间, 计算得到所述指针设备的停留时间、 移 动速度和移动方向;

处理模块, 用于根据所述计算模块计算得到的所述停留时间、 移动 速度和移动方向, 判断当前手势是拖拽手势还是滚动手势, 如果是拖拽 手势, 则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

8、 根据权利要求 7所述的装置, 其特征在于, 所述计算模块包括: 时间计算单元, 用于计算所述当前移动到的时间与所述按下的时间 的差值, 得到所述指针设备的停留时间;

速度计算单元, 用于根据所述当前移动到的位置与所述按下的位置 的差值, 计算得到所述指针设备的移动速度。

9、 根据权利要求 7所述的装置, 其特征在于, 所述计算模块包括: 方向计算单元, 用于按照如下公式计算得到所述指针设备的移动方

arctan[(F2 - Y1) /(X2 - X 1)] , Χ1≠Χ2

A - 90。, Y2 > Y1, X1 = X2 ;

-90°, Υ2 < Υ1, Χ1 = Χ2 其中, XI 和 Yl 为所述按下的位置的横坐标和纵坐标, X2和 Y2 为所述当前移动到的位置的横坐标和纵坐标, A为用角度表示的所述指 针设备的移动方向。 10、根据权利要求 7所述的装置, 其特征在于, 所述处理模块包括: 概率计算单元, 用于根据所述停留时间、 移动速度和移动方向, 分 别计算拖拽手势的概率和滚动手势的概率;

判断单元, 用于将所述概率计算单元计算得到的所述拖拽手势的概 率和滚动手势的概率与预设的阈值进行比较; 如果所述拖拽手势的概率 大于所述阈值, 且所述阈值大于所述滚动手势的概率, 则判定当前手势 为拖拽手势; 如果所述滚动手势的概率大于所述阈值, 且所述阈值大于 所述拖拽手势的概率, 则判定当前手势为滚动手势。

11、 根据权利要求 10所述的装置, 其特征在于, 所述概率计算单 元包括:

第一计算子单元, 用于将所述停留时间与预设的时间阈值进行比 较, 得到拖拽手势的时间概率和滚动手势的时间概率; 并且, 将所述移 动速度与预设的速度阈值进行比较, 得到拖拽手势的速度概率和滚动手 势的速度概率; 并且, 将所述移动方向与预设的角度阈值进行比较, 得 到拖拽手势的方向概率和滚动手势的方向概率;

第二计算子单元,用于按照预设的时间权重、速度权重和方向权重, 计算所述拖拽手势的时间概率、 速度概率和方向概率的加权平均值, 得 到拖拽手势的概率; 并且, 按照所述时间权重、 速度权重和方向权重, 计算所述滚动手势的时间概率、 速度概率和方向概率的加权平均值, 得 到滚动手势的和无率。

12、 根据权利要求 7至 11 中任一权利要求所述的装置, 其特征在 于, 所述指针设备为鼠标、 手指或触摸笔。

Description:
响应操作的方法和装置

技术领域

本发明涉及计算机技术领域,特别涉及一种响 应操作的方法和装置。 发明背景

随着技术的发展, 具有触摸屏界面的触摸设备已经逐渐普及, 如 iPhone等。 触摸设备的最大特点是可以实现触摸操作, 常用的触摸操作 包括: 点击、 滚动、 拖拽等等。 目前的触摸设备对用户的滚动操作和拖 拽操作各自都能支持, 如用户打开通讯录后执行滚动操作查阅联系人 , 或者用户在主界面上拖拽功能图标来更换显示 位置等等。

但是现有的触摸设备普遍存在如下问题: 在支持滚动操作时不能支 持拖拽操作, 在支持拖拽操作时不能支持滚动操作, 即无法同时支持拖 拽操作和滚动操作, 造成用户体验差。

随着用户需求的增长, 需要同时支持拖拽操作和滚动操作的场景越 来越多。例如,当触摸设备中安装有目前广泛 应用的即时通讯( IM, Instant Messaging )软件时, 用户不仅仅满足于可以通过滚动操作在联系人 列表 中查阅联系人, 同时还希望能够通过拖拽联系人头像来打开一 个聊天对 话框。 因此, 如何实现同时支持拖拽操作和滚动操作是有待 于解决的问 题。 发明内容

为了解决现有技术无法同时支持拖拽操作和滚 动操作的问题, 本发 明实施例提供了一种响应操作的方法和装置。 所述技术方案如下:

一种响应操作的方法, 所述方法包括: 截获指针设备按下事件, 获取指针设备按下的位置和时间; 截获指针设备移动事件, 获取所述指针设备当前移动到的位置和时 间;

根据所述按下的位置和时间、 以及当前移动到的位置和时间, 计算 得到所述指针设备的停留时间、 移动速度和移动方向;

根据所述停留时间、 移动速度和移动方向, 判断当前手势是拖拽手 势还是滚动手势,如果是拖拽手势, 则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

根据所述按下的位置和时间、 以及当前移动到的位置和时间, 计算 得到所述指针设备的停留时间、 移动速度, 包括:

计算所述当前移动到的时间与所述按下的时间 的差值, 得到所述指 针设备的停留时间;

根据所述当前移动到的位置与所述按下的位置 的差值, 计算得到所 述指针设备的移动速度。

根据所述按下的位置和时间、 以及当前移动到的位置和时间, 计算 得到所述指针设备的移动方向, 包括:

按照如下公式计算得到所述指针设备的移动方 向:

其中, XI 和 Y1 为所述按下的位置的横坐标和纵坐标, X2和 Y2 为所述当前移动到的位置的横坐标和纵坐标, A为用角度表示的所述指 针设备的移动方向。

根据所述停留时间、 移动速度和移动方向, 判断当前手势是拖拽手 势还是滚动手势, 包括: 根据所述停留时间、 移动速度和移动方向, 分别计算拖拽手势的概 率和滚动手势的和无率;

将所述拖拽手势的概率和滚动手势的概率与预 设的阈值进行比较; 如果所述拖拽手势的概率大于所述阈值, 且所述阈值大于所述滚动 手势的概率, 则判定当前手势为拖拽手势;

如果所述滚动手势的概率大于所述阈值, 且所述阈值大于所述拖拽 手势的概率, 则判定当前手势为滚动手势。

根据所述停留时间、 移动速度和移动方向, 分别计算拖拽手势的概 率和滚动手势的概率, 包括:

将所述停留时间与预设的时间阈值进行比较, 得到拖拽手势的时间 概率和滚动手势的时间概率;

将所述移动速度与预设的速度阈值进行比较, 得到拖拽手势的速度 概率和滚动手势的速度概率;

将所述移动方向与预设的角度阈值进行比较, 得到拖拽手势的方向 既率和滚动手势的方向和无率;

按照预设的时间权重、 速度权重和方向权重, 计算所述拖拽手势的 时间概率、 速度概率和方向概率的加权平均值, 得到拖拽手势的概率; 按照所述时间权重、 速度权重和方向权重, 计算所述滚动手势的时 间概率、 速度概率和方向概率的加权平均值, 得到滚动手势的概率。

所述指针设备为鼠标、 手指或触摸笔。

一种响应操作的装置, 所述装置包括:

获取模块, 用于截获指针设备按下事件, 获取指针设备按下的位置 和时间, 截获指针设备移动事件, 获取所述指针设备当前移动到的位置 和时间;

计算模块, 用于根据所述获取模块获取的所述按下的位置 和时间、 以及当前移动到的位置和时间, 计算得到所述指针设备的停留时间、 移 动速度和移动方向;

处理模块, 用于根据所述计算模块计算得到的所述停留时 间、 移动 速度和移动方向, 判断当前手势是拖拽手势还是滚动手势, 如果是拖拽 手势, 则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

所述计算模块包括:

时间计算单元, 用于计算所述当前移动到的时间与所述按下的 时间 的差值, 得到所述指针设备的停留时间;

速度计算单元, 用于根据所述当前移动到的位置与所述按下的 位置 的差值, 计算得到所述指针设备的移动速度。

所述计算模块包括:

方向计算单元, 用于按照如下公式计算得到所述指针设备的移 动方

arctan[(F2 - Y1) /(X2 - X 1)] , Χ1≠Χ2

A - 90。, Υ2 > Υ1, Χ1 = Χ2

-90°, Υ2 < Υ1, Χ1 = Χ2 其中, XI 和 Υ1 为所述按下的位置的横坐标和纵坐标, X2和 Y2 为所述当前移动到的位置的横坐标和纵坐标, A为用角度表示的所述指 针设备的移动方向。

所述处理模块包括:

概率计算单元, 用于根据所述停留时间、 移动速度和移动方向, 分 别计算拖拽手势的概率和滚动手势的概率;

判断单元, 用于将所述概率计算单元计算得到的所述拖拽 手势的概 率和滚动手势的概率与预设的阈值进行比较; 如果所述拖拽手势的概率 大于所述阈值, 且所述阈值大于所述滚动手势的概率, 则判定当前手势 为拖拽手势; 如果所述滚动手势的概率大于所述阈值, 且所述阈值大于 所述拖拽手势的概率, 则判定当前手势为滚动手势。

所述概率计算单元包括:

第一计算子单元, 用于将所述停留时间与预设的时间阈值进行比 较, 得到拖拽手势的时间概率和滚动手势的时间概 率; 并且, 将所述移 动速度与预设的速度阈值进行比较, 得到拖拽手势的速度概率和滚动手 势的速度概率; 并且, 将所述移动方向与预设的角度阈值进行比较, 得 到拖拽手势的方向概率和滚动手势的方向概率 ;

第二计算子单元,用于按照预设的时间权重、 速度权重和方向权重, 计算所述拖拽手势的时间概率、 速度概率和方向概率的加权平均值, 得 到拖拽手势的概率; 并且, 按照所述时间权重、 速度权重和方向权重, 计算所述滚动手势的时间概率、 速度概率和方向概率的加权平均值, 得 到滚动手势的和无率。

所述指针设备为鼠标、 手指或触摸笔。

本发明实施例提供的技术方案, 通过计算指针设备的停留时间、 移 动速度和移动方向, 识别当前手势是拖拽手势还是滚动手势, 并执行相 应的操作, 实现了同时支持拖拽操作和滚动操作, 提升了用户的体验。 附图简要说明

下面将通过参照附图详细描述本发明的示例性 实施例, 使本领域的 普通技术人员更清楚本发明的上述及其它特征 和优点, 附图中:

图 1是本发明实施例 1提供的响应操作的方法流程图;

图 2是本发明实施例 2提供的响应操作的方法流程图;

图 3是本发明实施例 3提供的响应操作的装置一种结构图; 图 4是本发明实施例 3提供的响应操作的装置另一种结构图。 实施本发明的方式

为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对 本发明实施方式作进一步地详细描述。

实施例 1

参见图 1 , 本实施例提供了一种响应操作的方法, 包括:

步骤 101 : 截获指针设备按下事件, 获取指针设备按下的位置和时 间。

步骤 102: 截获指针设备移动事件, 获取指针设备当前移动到的位 置和时间。

步骤 103: 根据已获取的指针设备按下的位置和时间、 以及当前移 动到的位置和时间, 计算得到指针设备的停留时间、 移动速度和移动方 向。

步骤 104: 根据计算得到的停留时间、 移动速度和移动方向, 判断 当前手势是拖拽手势还是滚动手势,如果是拖 拽手势,则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

本发明实施例中的指针设备是指一种输入设备 , 通过该设备可以在 图形用户界面 (GUI, Graphical User Interface )上产生按下 ( Down )、 抬起(Up )和移动 (Move )事件, 触发 GUI所在的设备执行相应的操 作。 该 GUI所在的设备可以为触摸设备或计算机等, 触摸设备是指具有 触摸屏的设备, 包括但不限于具有触摸屏的手机、 PDA等等, 计算机包 括但不限于台式机、笔记本电脑等等,本发明 实施例对此不做具体限定。

在本发明实施例中,指针设备包括但不限于鼠 标、手指或触摸笔等。 当指针设备为鼠标时, 上述方法应用于用户使用鼠标在终端屏幕的界 面 上进行操作的场景, 当指针设备为手指或触摸笔时, 上述方法应用于用 户使用手指或触摸笔在触摸设备的界面上进行 触摸操作的场景。 无论是 哪种场景, 本发明实施例均是具体针对拖拽和滚动两种操 作来进行识别 和响应的。

其中, 指针设备的停留时间是指指针设备在界面上进 行移动时停留 的时间, 该时间可以通过指针设备当前移动到的时间与 指针设备按下的 时间的差值计算得出。 指针设备的移动速度是指指针设备在界面上移 动 的速度, 该速度可以根据指针设备当前移动到的位置与 指针设备按下的 位置的差值计算得出。 指针设备的移动方向是指指针设备在界面上移 动 的方向, 可以用指针设备当前移动到的位置与指针设备 按下的位置所连 成的直线与水平坐标轴之间的夹角来表示, 该夹角可以通过指针设备按 下的位置和时间以及指针设备当前移动到的位 置和时间计算得到。 例 如, 将水平方向视为横坐标轴, 将垂直方向视为纵坐标轴, 当用户使用 手指触摸手机的触摸屏时, 将手指按下的位置作为原点, 如果手指沿垂 直方向向上移动, 此时, 横坐标未变, 手指当前移动到的位置与原点之 间的距离为两点之间纵坐标的差值, 结果为正数, 因此, 代表手指移动 方向的该夹角为 90° , 如果手指沿垂直方向向下移动, 此时, 横坐标未 变, 手指当前移动到的位置与原点之间的距离为两 点之间纵坐标的差 值, 结果为负数, 因此, 代表手指移动方向的该夹角为 -90。 等等。

本实施例提供的上述方法, 通过计算指针设备的停留时间、 移动速 度和移动方向, 识别当前手势是拖拽手势还是滚动手势, 并执行相应的 操作, 实现了同时支持拖拽操作和滚动操作, 克服了现有技术的缺陷, 极大地提升了用户的体验。 上述方法不仅支持鼠标操作, 还支持手指操 作或触摸笔操作, 应用范围广, 兼容性强。 实施例 2

参见图 2, 本实施例提供了一种响应操作的方法, 以指针设备是手 指为例进行说明, 具体包括:

步骤 201: 截获手指按下事件, 获取手指按下的位置和时间。

具体地, 可以将手指按下事件映射为鼠标按下事件: MouseButtonDown事件, 当用户在触摸屏上按下手指时, 可以截获到鼠 标按下事件。

其中, 在鼠标按下事件的处理函数中, 可以获取到手指按下的位置

P1和时间 T1 ,该位置 P1可以用横坐标 XI和纵坐标 Y1两个值来表示: ( XI , Yl )。

步骤 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 ) 11;

其中, t是鼠标位置移动的刷新时间, 为系统固定值, 是已知的常 量, 因此该公式也可筒化表示为:

V= P2 - P1 ;

本实施例中, P2-P1为矢量操作, 代表位置 P1和 P2两个点之间的 距离。

步骤 205: 按照如下公式计算得到手指移动方向 A:

arctan[(F2 - Y1) /(X2 - X 1)] , Χ1≠Χ2

A - 90。, Y2 > Y1, X1 = X2 ;

-90°, Υ2 < Υ1, Χ1 = Χ2 其中, XI和 Υ1为手指按下的位置 P1 的横坐标和纵坐标, X2和 Y2为手指当前移动到的位置 P2的横坐标和纵坐标, A为用角度表示的 手指移动方向。

本实施例中, 步骤 203、 步骤 204和步骤 205没有固定的先后顺序, 上述顺序只是其中的一种实现方式, 也可以采用其它任意顺序来执行, 当然也可以同时执行, 本发明实施例对此不做具体限定。

步骤 206: 将手指停留时间 T与预设的时间阈值进行比较, 得到拖 拽手势的时间概率 Dragl和滚动手势的时间概率 Scrolll; 将手指移动速 度 V与预设的速度阈值进行比较,得到拖拽手势 速度概率 Drag2和滚 动手势的速度概率 Scroll2;将手指移动方向 A与预设的角度阈值进行比 较, 得到拖拽手势的方向概率 Drag3和滚动手势的方向概率 Scroll3。

其中, 时间阈值、 速度阈值和方向阈值可以根据经验进行设置, 而 且还可以根据需要随时调整已设置的上述任一 类型的阈值, 本发明实施 例对任一类型的阈值的数值大小、 阈值个数均不做具体限定, 对于任一 类型, 可以设置一个阈值也可以设置多个阈值, 无论是一个阈值, 还是 多个阈值, 其数值均不限。 如可以设置一个时间阈值, 其数值为 200ms, 设置两个速度阈值, 数值分别为 20和 90, 设置两个方向阈值, 数值分 别为 30° 和 60° 等等。

在本实施例中, 上述各种概率符合以下关系:

Dragl+ScrollK l ;

Drag2+Scroll2 < l ;

Drag3+Scroll3 < 1。

其中, 与阈值进行比较得到拖拽手势和滚动手势的概 率可以根据预 设的规则来执行, 该预设的规则是根据经验设定的, 具体如下:

1 )手指按下后停留的时间较长时, 当前手势是拖拽手势的概率较 大, 手指按下后停留的时间较短时, 当前手势是滚动手势的概率较大;

2 )手指移动速度较慢时, 当前手势是拖拽手势的概率较大, 手指 移动速度较快时, 当前手势是滚动手势的概率较大;

3 ) 手指移动方向与列表排列方向垂直时, 当前手势是拖拽手势的 概率较大, 手指移动方向与列表排列方向平行时, 当前手势是滚动手势 的概率较大。

按照上述规则可以确定出拖拽手势的概率和滚 动手势的概率, 由于 上述规则中只是定义了两种概率的倾向, 即代表哪种手势的可能性更 大, 因此, 对于拖拽手势概率的具体数值和滚动手势概率 的具体数值, 本发明实施例对此不做具体限定, 只要根据二者的数值可以区分出当前 手势的倾向即可。 如确定出拖拽手势的时间概率 Dragl大, 滚动手势的 时间概率 Scrolll小, 则可以将二者的数值设置为: Dragl=l , Scrolll=0, 或者设置为 Dragl=0.8, Scrolll=0.1等等。

具体地, 按照上述规则确定拖拽手势的概率和滚动手势 的概率可以 具体如下:

1 )设置一个时间阈值 Ta,将手指停留时间 T与该时间阈值 Ta作比 较: 如果 T Ta, 则 Dragl=Ml, Scroll 1=M2, 其中, M1<M2;

如果 T>Ta, 则 Dragl=Nl, Scrolll=N2, 其中, N1>N2;

而且, M2与 Nl可以相同, 也可以不同, Ml与 N2可以相同, 也 可以不同。 另夕卜, 上述两个场景也可以设置为 1^¾和 1^丁&, 对应的 概率值不变, 本发明实施例对此不做具体限定。

例如, 时间阈值为 200ms, 如果 T<200ms, 则设置 Dragl = 0, Scrolll=0.9; 如果 T>200ms, 则设置 Dragl =0.9, Scrolll=0。

2 )设置两个速度阈值 VI和 V2, 且 V1<V2, 将手指移动速度 V与 该两个速度阈值作比较:

如果 V>V2, 则 Drag2=Il, Scroll2=I2, 其中, 11<12;

如果 V<V1, 则 Drag2=Jl, Scroll2=J2, 其中, J1>J2;

口果 V1 V V2, 则 Drag2=0, Scroll2=0;

而且, 12 与 Jl可以相同, 也可以不同, II与 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=l; 如果 V<10, 则设置 Drag2=0.7, Scroll2=0.3, 如果 10<V<100, 则设置 Drag2=Scroll2=0。

3)设置两个方向阈值 A1和 A2, 且 A1<A2, 将手指移动方向 A与 该两个方向阈值作比较:

如果 IAI>A2, 则 Drag3=Kl, Scroll3=K2, 其中, K1<K2;

如果 IA A1, 则 Drag3=Ll, Scroll3=L2, 其中, L1>L2;

如果 A1<IAI<A2, 则 Drag3=0, Scroll3=0; 而且, K2 与 L1可以相同, 也可以不同, K1与 L2可以相同, 也可 以不同。 另外, 与速度场景同理, IAI=A1和 IAI=A2位于上述三个场景中 的哪一个都可以, 本发明实施例对此不做具体限定。

例如, 设置两个方向阈值分别为 30° 和 60° , 如果 ΙΑΙ > 60。 , 则 设置 Drag3=0, Scroll3=l; 如果 ΙΑΚ 30。 , 则设置 Drag3=l; Scroll=0, 如果 30。 < IAI <60。 , 则设置 Drag3=Scroll3=0。

本步骤中, 确定时间概率、 速度概率和方向概率没有固定的先后顺 序, 上述顺序只是其中的一种实现方式, 也可以采用其它任意顺序来执 行, 当然也可以同时执行, 本发明实施例对此不做具体限定。

步骤 207: 按照预设的时间权重、 速度权重和方向权重, 计算拖拽 手势的时间概率、 速度概率和方向概率的加权平均值, 得到拖拽手势的 概率 Drag; 按照上述时间权重、 速度权重和方向权重, 计算滚动手势的 时间概率、 速度概率和方向概率的加权平均值, 得到滚动手势的概率 Scroll。

其中, 用 Rl , R2和 R3分别表示时间权重、 速度权重和方向权重, 则 Rl , R2和 R3符合以下关系:

Rl > 0, R2 > 0, R3 > 0, 且 Rl+R2+R3=l。

具体地,拖拽手势的概率 Drag和滚动手势的概率 Scroll计算公式如 下:

Drag = Rl X Dragl + R2 χ Drag2 + R3 χ Drag3;

Scroll = Rl χ Scrolll + R2 Scroll2 + R3 x Scrol ;

本实施例中, 上述三个权重 Rl , R2和 R3的值可以根据经验设定, 而且, 在实际应用中还可以根据实际情况调整 Rl , R2和 R3的值, 本 发明实施例对此不做具体限定。 设置和调整 Rl , 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: 此时将当前手势识别为拖拽手势, 因此, 执行拖拽操作; 之后, 执行步骤 212。

步骤 210: 此时将当前手势识别为滚动手势, 因此, 执行滚动操作; 之后, 执行步骤 212。

步骤 211: 此时将当前手势识别为未知手势, 因此, 对当前手势不 做任何响应; 之后, 执行步骤 212。 步骤 212: 截获手指抬起事件, 结束当前流程。

具体地,可以将手指抬起事件映射为鼠标抬起 事件: MouseButtonUp 事件, 当用户在触摸屏上抬起手指时, 可以截获到鼠标抬起事件, 此时, 当前触摸操作结束。

本实施例提供的上述方法, 通过计算指针设备的停留时间、 移动速 度和移动方向, 识别当前手势是拖拽手势还是滚动手势, 并执行相应的 操作, 实现了同时支持拖拽操作和滚动操作, 克服了现有技术的缺陷, 极大地提升了用户的体验。

上述方法描述的对手指操作进行响应的过程, 当指针设备为触摸笔 时, 对触摸笔的操作进行响应的过程与本实施例中 的上述方法类似, 其 中, 将触摸笔按下事件映射为鼠标按下事件, 以及将触摸笔移动事件映 射为鼠标移动事件, 还有将触摸笔抬起事件映射为鼠标抬起事件均 相 同,整个过程的区别仅在于发起操作的是手指 还是触摸笔,其余均相同, 因此, 此处不再赘述。 当指针设备为鼠标时, 对鼠标的操作进行响应的 过程与本实施例中的上述方法类似, 区别有两点, 一个是发起操作的是 手指还是鼠标, 另一个是对鼠标而言不需要映射, 直接截获的就是鼠标 按下事件、 鼠标移动事件和鼠标抬起事件, 其余的均相同, 因此, 此处 不再赘述。 本实施例提供的方法不仅支持鼠标操作, 还支持手指操作或 触摸笔操作, 应用范围广, 兼容性强。 实施例 3

参见图 3 , 本实施例提供了一种响应操作的装置, 包括:

获取模块 301 , 用于截获指针设备按下事件, 获取指针设备按下的 位置和时间, 截获指针设备移动事件, 获取指针设备当前移动到的位置 和时间; 计算模块 302, 用于根据获取模块 301获取的按下的位置和时间、 以及当前移动到的位置和时间, 计算得到指针设备的停留时间、 移动速 度和移动方向;

处理模块 303, 用于根据计算模块 302计算得到的停留时间、 移动 速度和移动方向, 判断当前手势是拖拽手势还是滚动手势, 如果是拖拽 手势, 则执行拖拽操作, 如果是滚动手势, 则执行滚动操作。

参见图 4, 计算模块 302可以包括:

时间计算单元 302a,用于计算指针设备当前移动到的时间与指 设 备按下的时间的差值, 得到指针设备的停留时间;

速度计算单元 302b,用于根据指针设备当前移动到的位置与指 设 备按下的位置的差值, 计算得到指针设备的移动速度。

另外, 计算模块 302可以包括:

方向计算单元 302c,用于按照如下公式计算得到指针设备的移 方

arctan[(F2 - Y1) /(X2 - X 1)] , Χ1≠Χ2

A - 90。, Y2 > Y1, X1 = X2 ;

-90°, Υ2 < Υ1, Χ1 = Χ2 其中, XI和 Yl为指针设备按下的位置的横坐标和纵坐标, X2和 Y2为指针设备当前移动到的位置的横坐标和纵 标, A为用角度表示的 指针设备的移动方向。

本实施例中, 处理模块 303包括:

概率计算单元 303a, 用于根据指针设备的停留时间、 移动速度和移 动方向, 分别计算拖拽手势的概率和滚动手势的概率;

判断单元 303b, 用于将概率计算单元 303a计算得到的拖拽手势的 概率和滚动手势的概率与预设的阈值进行比较 ; 如果拖拽手势的概率大 于阈值, 且阈值大于滚动手势的概率, 则判定当前手势为拖拽手势; 如 果滚动手势的概率大于阈值, 且阈值大于拖拽手势的概率, 则判定当前 手势为滚动手势。

其中, 概率计算单元 303a可以包括(为筒化附图, 未图示): 第一计算子单元, 用于将指针设备的停留时间与预设的时间阈值 进 行比较, 得到拖拽手势的时间概率和滚动手势的时间概 率; 并且, 将指 针设备的移动速度与预设的速度阈值进行比较 , 得到拖拽手势的速度概 率和滚动手势的速度概率; 并且, 将指针设备的移动方向与预设的角度 阈值进行比较, 得到拖拽手势的方向概率和滚动手势的方向概 率;

第二计算子单元,用于按照预设的时间权重、 速度权重和方向权重, 计算拖拽手势的时间概率、 速度概率和方向概率的加权平均值, 得到拖 拽手势的概率; 并且, 按照时间权重、 速度权重和方向权重, 计算滚动 手势的时间概率、 速度概率和方向概率的加权平均值, 得到滚动手势的 概率。

本实施例提供的上述装置, 具体可以是终端或触摸设备等等, 如计 算机、 笔记本电脑、 具有触摸功能的手机等等, 该装置与以上实施例中 的方法属于同一构思, 在该装置上可以运行上述方法实施例中提供的 任 一方法, 其具体实现过程详见方法实施例, 这里不再赘述。

本实施例提供的上述装置, 通过计算指针设备的停留时间、 移动速 度和移动方向, 识别当前手势是拖拽手势还是滚动手势, 并执行相应的 操作, 实现了同时支持拖拽操作和滚动操作, 克服了现有技术的缺陷, 极大地提升了用户的体验。 上述装置不仅支持鼠标操作, 还支持手指操 作或触摸笔操作, 应用范围广, 兼容性强。 最后需要说明的是, 本领域普通技术人员可以理解实现上述实施例 方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来 完成的, 所述的程序可存储于一计算机可读取存储介质 中, 该程序在执 行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可 为磁碟、 光盘、 只读存储器(ROM, Read-Only Memory )或随机存储器 ( RAM, Random Access Memory )等。

本发明实施例中的各功能单元可以集成在一个 处理模块中, 也可以 是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个模块 中。 上述集成的模块既可以采用硬件的形式实现, 也可以采用软件功能 模块的形式实现。 所述集成的模块如果以软件功能模块的形式实 现并作 为独立的产品销售或使用时, 也可以存储在一个计算机可读取存储介质 中。 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。 上述的各 装置或系统, 可以执行相应方法实施例中的方法。

以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本 发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包 含在本发明的保护范围之内。