用于在单触式触摸表面上实施多触式示意动作的方法技术领域
本发明大体涉及用于计算系统的用户接口系统,且更明确地说,涉及使用触敏用户
接口表面的示意动作表示(gesturing)。
背景技术
与计算装置的多触式交互近年来已受到很大关注。如今,多触式触敏装置存在于许
多便携式计算装置中,例如个人数字助理(PDA)和膝上型计算机。这些触敏装置允许用
户采用多触式示意动作来执行例如缩放或旋转显示图像的功能。然而,当前可用的多触
式兼容触敏装置存在许多缺点。举例来说,能够辨识多触式示意动作的触敏装置需要特
殊的技术和硬件,所述技术和硬件当前制造和实施起来较昂贵。另外,此特殊技术与大
多数计算装置中使用的许多当前可用的触摸表面装置不兼容。因此,因为当前可用的多
触式技术较新且昂贵,所以市场中已有的大多数计算装置并不拥有多触摸能力。
发明内容
各个方面包含用于在具有触摸表面用户输入装置的计算装置上实施多触式示意动
作的方法,其包含:检测触摸表面上的第一触摸事件;存储触摸表面上的所述第一触摸
事件的位置;在未检测到触摸完成(touch up)事件的情况下检测触摸表面上的触摸事件的
位置的跳跃;存储在所检测到的跳跃之后触摸事件的位置;获得新的触摸事件位置;基
于第一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储位置和新的
触摸事件位置来确定待实施的图形用户接口功能;以及实施所确定的图形用户接口功
能。
在所述方法的各个方面中,所确定的图形用户接口功能可为(例如)变换功能、图像
缩放变换功能,和图像旋转变换功能。在所确定的图形用户接口功能为变换功能的方面
中,所述方法另外可进一步包含基于第一触摸事件的所存储位置、在所检测到的跳跃之
后的触摸事件的所存储位置和新的触摸事件位置来确定变换因子。在所确定的图形用户
接口功能为图像缩放变换功能的方面中,且所述方法另外可进一步包含基于第一触摸事
件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储位置和新的触摸事件位置
来确定放大变换因子,其中实施所确定的图形用户接口功能包括基于所确定的放大变换
因子将缩放放大应用于所显示的图像。在所确定的图形用户接口功能为图像旋转变换功
能的方面中,且所述方法可进一步包含基于第一触摸事件的所存储位置、在所检测到的
跳跃之后的触摸事件的所存储位置和新的触摸事件位置来确定旋转变换因子,其中实施
所确定的图形用户接口功能包括基于所确定的旋转变换因子旋转所显示的图像。
在所述方法的各个方面中,可以多种方式实现基于第一触摸事件的所存储位置、在
所检测到的跳跃之后的触摸事件的所存储位置和新的触摸事件位置来确定待实施的图
形用户接口功能。在一方面中,基于第一触摸事件的所存储位置、在所检测到的跳跃之
后的触摸事件的所存储位置和新的触摸事件位置来确定待实施的图形用户接口功能可
包含计算从第一触摸事件的所存储位置到在所检测到的跳跃之后的触摸事件的所存储
位置的距离与从第一触摸事件的所存储位置到新的触摸事件位置的距离之间的差。在一
方面中,基于第一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储
位置和新的触摸事件位置来确定待实施的图形用户接口功能可包含计算从第一触摸事
件的所存储位置到在所检测到的跳跃之后的触摸事件的所存储位置的线与从第一触摸
事件的所存储位置到新的触摸事件位置的线之间的角度。在又一方面中,基于第一触摸
事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储位置和新的触摸事件位
置来确定待实施的图形用户接口功能可包含:计算从第一触摸事件的所存储位置到在所
检测到的跳跃之后的触摸事件的所存储位置的距离与从第一触摸事件的所存储位置到
新的触摸事件位置的距离之间的差;以及计算从第一触摸事件的所存储位置到在所检测
到的跳跃之后的触摸事件的所存储位置的线与从第一触摸事件的所存储位置到新的触
摸事件位置的线之间的角度。在另外的方面中,可通过操作系统或通过应用编程接口
(API)来执行基于第一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存
储位置和新的触摸事件位置来确定待实施的图形用户接口功能。在又一方面中,基于第
一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储位置和新的触摸
事件位置来确定待实施的图形用户接口功能可包含基于第一触摸事件的所存储位置和
在所检测到的跳跃之后的触摸事件的所存储位置估计第二触摸的触摸位置。在又一方面
中,基于第一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储位置
和新的触摸事件位置来确定待实施的图形用户接口功能可包含:计算从第一触摸事件的
所存储位置到在所检测到的跳跃之后的触摸事件的所存储位置的第一距离;计算从第一
触摸事件的所存储位置到新的触摸事件位置的第二距离;确定所述第一距离是否不同于
所述第二距离;在所述第一与第二距离不同的情况下确定图形用户接口功能为缩放变换
功能;以及基于第二距离与第一距离的比率确定放大变换因子,其中实施所确定的图形
用户接口功能包括基于计算出的放大变换因子将缩放放大应用于所显示的图像。在又一
方面中,基于第一触摸事件的所存储位置、在所检测到的跳跃之后的触摸事件的所存储
位置和新的触摸事件位置来确定待实施的图形用户接口功能可包含:基于从第一触摸的
所存储位置到在所检测到的跳跃之后的触摸事件的所存储位置的距离计算从第一触摸
事件的所存储位置到第二触摸位置的第一距离;基于从第一触摸的所存储位置到新的触
摸事件位置的距离计算从第一触摸事件的所存储位置到新的第二触摸位置的第二距离;
确定所述第一距离是否不同于所述第二距离;在所述第一与第二距离不同的情况下确定
图形用户接口功能为缩放变换功能;以及基于第二距离与第一距离的比率计算放大变换
因子,其中实施所确定的图形用户接口功能包括基于计算出的放大变换因子将缩放放大
应用于所显示的图像。
在又一方面中,一种计算装置包含:处理器;用户接口触摸表面装置,其耦合到所
述处理器;存储器,其耦合到所述处理器;显示器,其耦合到所述处理器,其中所述处
理器配置有处理器可执行指令以执行各个方面方法的过程。
在又一方面中,一种计算装置包含用于实现各个方面方法的处理功能的装置。
在又一方面中,一种计算机程序产品包含计算机可读媒体,其上存储有至少一个指
令,所述至少一个指令用于实现各个方面方法的过程。
附图说明
附图并入本文中并组成本说明书的一部分,附图说明本发明的示范性方面。连同上
文给出的一般描述和下文给出的详细描述一起,附图用以阐释本发明的特征。
图1是说明非多触式触摸表面输入装置上的多触式示意动作的处理的移动装置的前
视图。
图2是用于实施各个方面的多触式示意动作的实例方法的过程流程图。
图3A和3B是说明根据一方面经激活以放大到显示图像的挤压(pinch)示意动作功能
性的计算装置的前视图。
图4A和4B是说明根据一方面经激活以旋转显示图像的旋转示意动作功能性的计算
装置的前视图。
图5A和5B是说明根据一方面的缩放和旋转示意动作功能性的计算装置的前视图。
图6是说明根据各个方面的多触式示意动作以及基于第一触摸事件和平均虚拟触摸
事件的坐标的计算的非多触式表面触摸输入装置的前视图。
图7A和7B是说明根据一方面的挤压示意动作的非多触式表面触摸输入装置的前视
图。
图8是说明根据一方面的旋转示意动作的非多触式表面触摸输入装置的前视图。
图9是根据一方面将触摸事件参数和示意动作类型链接到功能性的数据表。
图10是说明根据一方面与游戏应用一起使用的多触式示意动作的计算装置的前视
图。
图11是展示如何将触摸事件传送到应用软件的典型移动装置的硬件/软件架构图。
图12是用于使用第二触摸事件位置实施多触式示意动作的一方面方法的过程流程
图。
图13是用于使用虚拟触摸事件的位置实施多触式示意动作的一方面方法的过程流
程图。
图14是适合与各个方面一起使用的实例计算装置的组件框图。
图15是适合与各个方面一起使用的实例计算机的电路框图。
具体实施方式
将参看附图详细描述各个方面。只要可能,将在整个图式中使用相同的参考编号指
代相同或相似的部分。对特定实例和实施方案作出的参考是出于说明性目的,且无意限
制本发明或所附权利要求书的范围。
词语“示范性”在本文中用以表示“充当实例、个例或说明”。在本文中描述为“示
范性”的任何实施方案均不一定被解释为比其它实施方案优选或有利。
如本文所使用,“触摸屏”是具有相关联图像显示器的触摸感测输入装置或触敏输
入装置。如本文所使用,“触摸板”是无相关联图像显示器的触摸感测输入装置。举例
来说,触摸板可实施于电子装置的在图像显示器区域外部的任一表面上。触摸屏和触摸
板在本文中统称为“触摸表面”。触摸表面可为电子装置的一体式部分(例如,触摸屏显
示器),或可为可通过有线或无线数据链路耦合到电子装置的单独的模块(例如,触摸板)。
术语触摸屏、触摸板和触摸表面在下文中可互换使用。
如本文所使用,术语“个人电子装置”、“计算装置”和“便携式计算装置”指代以
下装置中的任一者或全部:蜂窝式电话、个人数据助理(PDA)、掌上型计算机、笔记本
型计算机、个人计算机、无线电子邮件接收器以及蜂窝式电话接收器(例如,
和装置)、具有多媒体因特网功能的蜂窝式电话(例如,Blackberry),以及
包含可编程处理器、存储器和连接的或一体式触摸表面或其它指点装置(例如,计算机鼠
标)的类似的电子装置。在用于说明本发明的各个方面的实例中,电子装置为包含一体式
触摸屏显示器的蜂窝式电话。然而,此方面当前仅作为各个方面的一个实例实施方案,
且因此无意排除所附权利要求书中陈述的标的物的其它可能的实施方案。
如本文所使用,“触摸事件”指代触摸表面上的检测到的用户输入,其可包含关于
触摸的位置或相对位置的信息。举例来说,在触摸屏或触摸板接口装置上,触摸事件指
代对用户触摸所述装置的检测,且可包含关于装置上正被触摸的位置的信息。
当前可用的多触式技术唯独在采用特殊且昂贵类型的具有多触式能力的触敏装置
的计算装置上可用。如今,为了实施多触式示意动作,用户必须丢弃其非多触式计算装
置,且购买新的昂贵的配备有具有多触式能力的触敏装置的计算装置。
各个方面方法和系统提供用户接口系统,其辨识任何触敏装置上的多触式示意动
作,借此使非多触式敏感装置能够支持多触式示意动作。可在配备有非多触式触敏装置
的许多计算装置中实施各个方面的方法。此外,可经由简单的软件升级在当前非多触式
计算装置中实施各个方面。
当前可用的非多触式装置拥有妨碍常规多触式交互的某些局限性。当用户使用两个
手指触摸非多触式计算装置的表面时,两个(或两个以上)触摸位置求平均以指示单个触
摸位置。因此,所有多触式事件均被解释为具有平均触摸位置的坐标的单触摸事件。
图1说明正被两个手指102、104触摸的非多触式触摸表面100。在此图示中,假定
一个手指102在P1处触摸触摸表面100,之后是第二手指104在P2处触摸触摸表面100。
第一触摸位置P1位于触摸表面坐标(X1,Y1),且第二触摸位置P2位于触摸表面坐标(X2,
Y2)。第二手指104一触摸触摸表面100的表面,触摸表面100(例如,触摸表面硬件及
其驱动程序软件)就将报告处于坐标(X3,Y3)的单个虚拟触摸P3,所述坐标(X3,Y3)表示
两个实际触摸位置P1和P2的平均值。因此,常规计算装置将仅通过辨识P3的坐标而
将多触式事件视为单触摸事件,不能定位P1和P2处的实际触摸。虽然此行为防止常规
非多触式计算装置辨识标准多触式示意动作,但所述行为可经操控以实现本发明的多触
式示意动作。特定来说,当用户用第一手指102触摸时,触摸表面记录第一位置P1,但
当用户用第二手指104触摸时,触摸位置忽然跳到虚拟触摸位置P3而无触摸完成事件。
各个方面将此特定行为视为指示多触式事件,且使用已知的第一触摸位置P1和虚拟触
摸位置P3或外推的实际第二触摸位置P2来确定应实施的图形用户接口功能。
为了激活多触式图形用户接口功能性(例如,放大或旋转),根据各个方面的计算装
置的处理器可用处理器可执行指令来编程以辨识上文描述的触摸样式,并将所述触摸样
式视为多触式示意动作。根据各个方面,为了使用两个手指在非多触式触摸表面100上
执行多触式示意动作,用户需要首先用一个手指102触摸触摸表面100,随后用第二手
指104触摸。计算装置可经配置以检测并存储第一触摸(P1)的坐标,辨识触摸位置向平
均虚拟触摸坐标(P3)的突然跳跃(例如,无触摸完成事件的情况下的突然移动),且基于
虚拟触摸P3的坐标计算第二触摸(P2)的坐标。在根据各个方面执行多触式示意动作的过
程中,用户应保持在移动第二手指104的同时第一手指102基本上静止并与触摸表面100
接触。保持第一手指102始终静止允许计算装置基于P3处虚拟触摸的第二位置计算P2
处第二手指的位置的改变。通过假定第一触摸位置P1不在移动,计算装置可识别所执
行的多触式示意动作,并实施适当的多触式示意动作功能。
举例来说,为执行用于将拉远(即,缩小)功能应用于显示图像的挤压示意动作,用
户可首先用一个手指102触摸触摸表面100,之后用第二手指104隔开短距离而触摸。
为了执行图形用户接口拉近功能,用户可保持第一手指102静止,且在增加第一手指102
与第二手指104之间的距离的挤压示意动作中将第二手指104移动远离第一手指102。
类似地,为了执行旋转功能,用户可保持第一手指102静止且移动第二手指104,仿佛
遵循圆的圆周一般,圆的中心由P1处第一手指102的位置界定。在顺时针方向上相对
于第一手指102移动第二手指104经过弧形可解释为计算装置实施以在顺时针方向上旋
转显示图像的多触式示意动作。类似地,在逆时针方向上移动第二手指104可致使计算
装置在逆时针方向上旋转显示图像。
各个方面方法克服了非多触式计算装置存在的技术局限性,且使得非多触式计算装
置能够将多触式示意动作辨识并处理为图形用户接口命令。因此,可在配备有触摸表面
100的所有计算装置上通过实施图2中说明的方法200来实施各个方面方法。在方法200
中框201处,计算装置可检测第一手指102的第一触摸,且将第一触摸位置的坐标存储
在存储器中。在框202处,计算装置可检测当第二手指104触摸触摸表面100时的虚拟
触摸位置,且在确定框203处确定触摸表面触摸位置从第一触摸事件的位置向虚拟触摸
事件的位置(即,从P1向P3)突然跳跃。计算装置可经配置以基于触摸事件位置的跳跃
的参数而激活多触式功能性。可基于第一触摸事件与虚拟触摸事件之间的距离计算跳跃
的距离。下文参看图6详细描述可用于计算跳跃的距离的数学公式。为了区分触摸表面
上手指的正常跟踪,计算装置可在确定框203处确定触摸事件位置的跳跃的所计算距离
是否大于预定阈值距离“X”。如果瞬时跳跃的距离小于阈值距离(即,确定框203=“否”),
那么不使用多触式示意动作功能性,且可实施触摸事件的正常图形用户接口处理。如果
瞬时跳跃的距离等于或超过阈值距离(即,确定框203=“是”),那么计算装置可激活多
触式功能性,且在框204处将虚拟触摸位置P3存储在存储器中。
基于触摸位置的位置的突然跳跃检测多触式事件仅是可实施的一个实例方法。在另
一方面中,计算装置可经配置以基于其它可测量参数检测触摸表面上两个手指触摸的存
在,所述其它可测量参数例如为所触摸的总表面面积量、触摸表面内的两个不同区中的
触摸位置、触摸表面测量到的总电容或电阻,或可用于触摸表面的其它机制或测量。此
类用于检测多触式事件的替代机制可代替图2中的确定框203。
当用户在触摸表面上移动第二手指104时,平均化虚拟触摸位置P3的坐标将对应
地改变。在框206处,计算装置可经配置以获得下一新的虚拟触摸位置(即,在下一触摸
表面刷新中),且在框208处将所述新的虚拟触摸位置与所存储的P3坐标进行比较。在
框210处,计算装置可计算当前触摸事件的位置从所存储的虚拟触摸坐标的改变,且在
框212处确定待执行的适当图形用户接口功能。举例来说,图形用户接口功能可为用以
使所显示的图像按所确定变换因子进行变换的功能。可应用的图形用户接口变换功能的
实例包含将图像拉近(即,放大)所确定量、将图像拉远(即,缩小)所确定量、顺时针或逆
时针旋转所确定度数,以及向左、向右、向上或向下扫描所确定量。在框214处,计算
装置可接着应用所确定的图形用户接口功能,例如在214框处变换所显示图像或将用户
输入提供到开放应用。所确定的图形用户接口功能可依据应用而变化。举例来说,相同
多触式示意动作可与在地图应用中拉远图像的图形用户接口功能有关,且致使游戏应用
中的虚拟车辆加速。
各个方面的计算装置可经配置以将不同类型的多触式示意动作辨识并处理为图形
用户接口功能。两个常用的图形用户接口多触式示意动作包含挤压和旋转示意动作。挤
压示意动作可与使用户能够拉近或拉远图像、文件或应用的图形用户接口缩放功能相关
联。旋转示意动作可与使用户能够顺时针或逆时针旋转图像的图形用户接口旋转功能相
关联,或如游戏应用可理解,作为旋转用户输入。
在一些方面中,多触式示意动作功能性可通过采用可能与多触式示意动作混淆的用
户接口示意动作的应用自动停用。在另一方面中,用户可能够基于用户输入(例如,激活
虚拟按钮和配置菜单)激活和去活多触式示意动作功能性,作为装置用户设置的一部分。
在一些方面中,多触式示意动作可手动启用。为了在一应用中手动启用或激活多触
式示意动作,用户可通过按压按钮或通过激活GUI显示器上的图标而选择并激活多触式
示意动作。举例来说,可向软键指派索引操作,用户可激活所述软键(例如,通过按压或
点击)以启动多触式示意动作功能性。作为另一实例,可通过用户命令激活多触式示意动
作功能性。举例来说,用户可使用例如“激活索引”等话音命令来启用多触式示意动作
功能性。一旦激活,多触式示意动作功能性就可以本文描述的方式使用。
多触式示意动作功能性可实施于任何触摸表面100上。触摸屏显示器是尤其有用的
实施方案,条件是触摸屏可呈现可使用多触式示意动作操纵的显示图像。在此类应用中,
用户可通过用两个手指触摸触摸屏而与图像交互。
当检测到多触式示意动作(即,两个手指在触摸表面上的触摸)时,可激活链接的图
形用户接口功能或示意动作功能。链接到多触式示意动作或与多触式示意动作相关联的
图形用户接口功能可建立于计算装置的图形用户接口中,由应用界定,且/或通过用户偏
好设置来设定。此类多触式示意动作图形用户接口功能的一些实例可包含如本文所描述
缩放或旋转显示图像。举例来说,如果将链接的功能界定为缩放功能,那么计算装置处
理器可响应于用户跟踪满足所需参数的挤压示意动作而拉近或拉远显示图像。
图3A说明当用户在计算装置300的触摸表面100上执行扩大(pinch out)示意动作时
的拉近功能性。为了起始多触式示意动作,用户可用第一手指102触摸触摸表面100,
随后较短时间之后通过第二手指104进行触摸。为了跟踪用以在显示器306中的图像上
拉近的扩大示意动作,用户保持第一手指102静止且移动第二手指104远离第一手指
102(如虚线和箭头302所说明)。此虚线和箭头302是出于说明性目的以展示第二手指
104可移动以跟踪扩大示意动作的方向,且根据此方面不出现在显示器上。
图3B说明在用户完成扩大示意动作之后的计算装置300,其中计算装置300已将
此多触式示意动作解释为拉近功能,且通过将显示图像放大而将其应用于显示图像。
图4A说明旋转功能性多触式示意动作。与各个方面一样,为了起始多触式示意动
作,用户可用第一手指102触摸触摸表面100,随后较短时间之后通过第二手指104进
行触摸。用户可保持第一手指102静止,且在顺时针方向上旋转第二手指104以在顺时
针方向上旋转显示图像。弯曲虚线和箭头402展示第二手指104可旋转的方向。计算装
置300可将所述示意动作辨识为旋转示意动作,且在顺时针方向上旋转显示图像,如图
4B中说明。
如图5A和5B中说明,根据一方面,计算装置300可经配置以一次辨识并处理一个
以上示意动作。举例来说,用户可使用其手指来通过保持第一手指102在触摸表面100
上静止、在虚线和箭头302的方向上移动第二手指104远离第一手指102,且在弯曲虚
线和箭头402的方向上顺时针旋转第二手指104而跟踪挤压示意动作和旋转示意动作两
者。虚线和箭头302以及弯曲虚线和箭头402仅出于说明的目的而展示,且不是根据此
方面的显示的一部分。计算装置300可经配置以辨识这些示意动作,且当在顺时针方向
上旋转图像的同时拉近到所显示的图像。
计算装置300可经配置以执行某些数学计算以辨识并处理各个方面的多触式示意动
作。可使用不同数学公式来确定当不同多触式示意动作由用户在计算装置300的触摸表
面100上执行时所述不同多触式示意动作的适当图形用户接口效果。下文参看图6到7
论述示范性数学公式。
图6中说明在计算装置在非多触式表面上进行多触式示意动作时可执行的一些计
算。如上所述,当用户触摸触摸表面100时,计算装置300可检测第一触摸事件P1,且
将第一触摸的坐标(X,Y)存储在存储器中。当用户在点P2(具有坐标X2,Y2)处第二次触
摸触摸表面时,计算装置300将检测到正在单个点P3(具有坐标X3,Y3)处触摸触摸表面。
计算装置300可经配置以计算P2的实际坐标,以及P1与P2之间的距离(即,距离
d),或使用P1和P3坐标计算P1与P3之间的距离(即,距离c)。以下数学公式可用于
使用已知坐标P1(X1,Y1)和P3(X3,Y3)确定P2的位置:
公式1:
P2=(2*P3)-P1
P2=((2X3-X1),(2Y3-Y1))
使用P1和P3坐标(即,(X1,Y1)和(X3,Y3)),计算装置300还可计算每一触摸位置
P1与P3之间的距离(即,距离c)以及P1与P2之间的距离(即,距离d)。以下数学公式
可用于计算距离c:
公式2:
c2=a2+b2
其中,
a=(X3-X1),且
b=(Y3-Y1)
从而得到
c = ( X 3 - X 1 ) 2 + ( Y 3 - Y 1 ) 2 ]]>
可使用以下数学公式计算距离d:
公式3:
d=2c
可使用P1和P3坐标来计算的另一参数是通过使用以下数学公式得出的角θ1:
公式4:
θ1=arcTan(b/a)
其中
a=(X3-X1),且
b=(Y3-Y1)
从而得到
θ1=arcTan[(Y3-Y1)/(X3-X1)]
基于这些数学公式计算的参数可用于确定多触式示意动作所指示的图形用户接口
功能,以及将在函数中应用的量值(例如,缩放因子)。举例来说,依据当前应用和正显
示的媒体的性质,如果P1与P3之间的距离增加(即,c的长度增加),那么这可指示正
跟踪挤压示意动作以拉近到所显示的图像。如果P3的坐标与第二手指104相对于第一
手指102的逆时针移动一致而改变,那么这可指示正跟踪旋转示意动作以在逆时针方向
上旋转显示图像。
图7A和7B说明用于使用触摸表面100检测多触式挤压示意动作的一方面方法。如
图7A中说明,当用户在点P2(具有坐标X2,Y2)处第二次触摸触摸表面时,计算装置300
将检测到正在单个点P3(具有坐标X3,Y3)处触摸触摸表面。使用上文描述的公式1到4,
计算装置300可确定P2触摸的坐标,且计算距第一触摸位置P1的距离d和从第一触摸
位置P1到所报告的虚拟触摸位置P3的距离c。用户可通过在虚线和箭头502的方向上
移动第二手指104远离第一手指104而到达触摸表面100上的新位置来跟踪示意动作。
计算装置300将检测到正在虚拟触摸位置P3′处触摸触摸表面,如图7B中说明。使
用新的P3′坐标,计算装置可确定第二手指触摸P2′的位置,且计算P1与P3′之间的距离
(即,c′)或P1与P2′之间的距离(即,d′)。
计算装置300可通过确定是否已存在存储在存储器中的P1与如触摸表面所指示的
P3之间的距离(即,从c到c′的距离)或P1与P2之间的距离(即,从d到d′的距离)的变
化来确定用户跟踪了挤压示意动作。如果P1与P3之间的距离已增加(即,c′>c),那么
计算装置300可确定用户正跟踪扩大示意动作。然而,如果P1与P3之间的距离已减小
(即,c′<c),那么计算装置300可确定用户正跟踪紧缩示意动作。计算装置300可使用
数学公式5来通过计算c与c′之间的差而做出此确定。
类似地,如果存储在存储器中的P1与如基于当前P3所计算的P2之间的距离已增
加(即,d′>d),那么计算装置300可确定用户正跟踪扩大示意动作。然而,如果P1与
P2之间的距离已减小(即,d′<d),那么计算装置300可确定用户正跟踪紧缩示意动作。
应注意,虽然计算装置可计算第二手指触摸(即,P2)的位置,但此计算并非必需的,
因为可仅基于所记录的第一触摸位置P1和当前测量的触摸位置P3来辨识和实施多触式
示意动作。从P1到P3的距离的改变将为从P1到P2的距离的改变的一半。因此,对于
挤压型图形用户接口示意动作,变换因子(其基于两个手指朝向或远离彼此移动的距离)
必须增加因数二。然而,旋转型图形用户接口示意动作不需要调整。
一旦计算出距离c和c′或d和d′,计算装置300就可通过使用数学公式5计算c与
c′或d与d′之间的差。稍后可使用所计算的差来确定可基于其来变换显示图像的变换因
子。下文更详细描述所述变换因子。
公式5:
Δ=c′-c,或
Δ=d′-d
图8说明用于使用配备有触摸表面100的计算装置300来检测多触式旋转示意动作
的一方面方法。当用户在点P2(具有坐标X2,Y2)处第二次触摸触摸表面时,计算装置
300将检测到正在单个点P3(具有坐标X3,Y3)处触摸触摸表面。基于初始多触式触摸事
件,计算装置可经配置以确定P2触摸事件的坐标,并使用上文参看图6描述的公式1
到4计算θ1,C和E。用户可接着通过在顺时针或逆时针方向上移动第二手指104来跟
踪旋转示意动作。在此方面中,用户正在如虚线和箭头702展示的逆时针方向上移动第
二手指104。
在确定所跟踪的移动是否为旋转示意动作的过程中,计算装置300可通过计算角D,
通过确定P2与P2′之间的距离(即,距离E′)或通过确定P3与P3′之间的距离(即,沿着水
平轴(即,X轴)的距离C′)来计算从P3和P3′的移动所对的角。D的值的任何变化或距离
C或E的变化可表示对旋转示意动作的跟踪。
可使用以下数学公式来计算角D:
公式6:
D=θ2-θ1,
其中
θ2=180-θ3,
且其中
θ3=arcTan[(Y3′-Y1)/(X3′-X1)]
计算装置300还可经配置以确定在虚拟触摸事件P3与P3′之间所行进的距离(即,
距离C′),并计算C与C′之间的变化。可使用以下数学公式来计算距离C′:
公式7:
C′2=a2+b2-(2ab*cos D),
其中
a = ( X 3 ′ - X 1 ) 2 + ( Y 3 ′ - Y 1 ) 2 , ]]>且
b = ( X 3 - X 1 ) 2 + ( Y 3 - Y 1 ) 2 ]]>
可使用以下数学公式来计算C与C′之间的距离的变化:
公式8:
Δ=C′-C
其中
C = ( X 3 - X 1 ) 2 + ( Y 3 - Y 1 ) 2 ]]>
还可计算第二手指104已沿着X轴从P2向P2′行进的距离(及,距离E′)。还可使用
以下数学公式来计算E与E′之间的距离的变化:
公式9:
Δ=E′-E
其中,
E = ( X 2 - X 1 ) 2 + ( Y 2 - Y 1 ) 2 ]]>且
E′2=a2+b2-(2ab*cos D)
其中,
a = ( X 3 ′ - X 1 ) 2 + ( Y 3 ′ - Y 1 ) 2 , ]]>且
b = ( X 3 - X 1 ) 2 + ( Y 3 - Y 1 ) 2 ]]>
或者,可使用下式来计算E′:
E′2=a′2+b′2-(2a′b′*cos D)
其中
a , = ( X 2 ′ - X 1 ) 2 + ( Y 2 ′ - Y 1 ) 2 , ]]>且
b , = ( X 2 - X 1 ) 2 + ( Y 2 - Y 1 ) 2 ]]>
可使用计算(即,计算角D或距离C到C′或E到E′的变化)的结果来确定待应用于所
显示内容的变换因子。下文更详细论述变换因子。
计算装置300还可经配置以使用基于以上公式尔计算出的参数来确定所跟踪示意动
作的向上和向下以及顺时针和逆时针方向。这可经由不同P3位置的X和Y坐标值的简
单减法来实现。此类值可在可使用各个方面开发的不同多触式示意动作中使用。
在一方面中,计算装置300可经配置以通过参考示意动作数据表800来确定所跟踪
示意动作的类型,示意动作数据表800的实例在图9中说明。数据表可经组织以包含关
于参数、示意动作,以及P2或P3移动的方向的信息,且识别与参数值相关联的特定显
示功能。举例来说,在行802中,计算装置可识别用于在距离c小于距离c′时拉近到显
示图像的挤压示意动作。在行804中所示的另一实例中,当角D等于大于零的值且计算
装置确定P2或P3的移动方向为逆时针时,计算装置可在逆时针方向上旋转显示图像。
如图9所示,还可使用其它参数和方向来确定示意动作的类型和功能。
一旦确定所跟踪多触式示意动作的图形用户接口类型或变换功能,计算装置300就
可经配置以确定对应的变换因子(即,Δ)。变换因子可为待用于变换功能中的例如数字
等值,计算装置300使用所述变换功能来与多触式示意动作所指示的用户意图一致地变
换显示图像。举例来说,当用户在图像被显示时执行挤压示意动作时,变换功能将为放
大,且变换因子将为图像待放大的程度。因此,如果所确定的变换因子为10,那么计算
装置将使所显示图像放大因数10。类似地,如果所确定的变换因子为-10,那么计算装
置将使显示图像缩小因数10。对于旋转变换功能,变换因子将为待应用于图像的旋转的
度数或弧度。因此,在具有10度的所确定变换因子的旋转示意动作中,计算装置将使
显示图像例如在顺时针方向上旋转10度,而如果所确定变换因子为-10,那么计算装置
将使显示图像在逆时针方向上旋转10度。
如上文所提到,可基于多触式示意动作期间触摸位置的改变的量值来确定变换因
子。现参看图7A和7B,在将缩放功能应用于显示图像的挤压示意动作中,可基于在示
意动作开始时和结束时两个手指之间的距离的比率来确定变换因子。举例来说,可通过
下式计算变换因子:
Δ=d′/d。
或者,由于P3与P1之间的距离的变化为P2与P1之间的距离的变化的一半,所以
可通过下式计算变换因子:
Δ=c′/c。
或者,计算装置300可经配置以使用缩放因子查找表来基于所测量或计算的参数而
确定将使用的变换因子Δ。举例来说,缩放因子查找表可指示+1cm的P1-P3间隔距离
的变化对应于缩放因子10%。
现在参看图8,可基于在触摸示意动作期间P3旋转经过的角D来简单地计算旋转
变换因子,或者可将距离C和/或E的变化用作变换因子。计算装置300可经配置以通
过应用使图像以线性方式旋转变换因子的旋转功能来变换显示图像。因此,如果旋转角
(D)确定为在顺时针方向上30°,那么计算装置可在顺时针方向上使显示图像旋转30°。
计算装置还可经配置以应用非线性旋转变换因子,使得多触式示意动作中扩展的角的每
一度应用于图像的旋转量随着示意动作跨越的角增大而增大。举例来说,5°的旋转角D
可相当于图像的5°旋转变换,而15°旋转角D可相当于图像的35°旋转变换。或者,计
算装置300可经配置以使用表查找程序来基于所测量或计算的参数而确定待使用的变换
因子。举例来说,顺时针方向上1cm的C与C′之间的距离的变化可相当于图像的10°
旋转变换。
参看图8,在旋转示意动作中,还可通过计算θ1/θ2,C/C′和E/E′比率来计算变换因
子。计算装置300可使用这些所计算的比率来确定变换因子。此类基于比率的旋转变换
因子可以线性或非线性方式在应用于图像的旋转变换功能中应用。
一旦辨识出多触式示意动作,计算装置300就可确定适当的图形用户接口功能。如
果图形用户接口功能为变换功能,那么计算装置300可使用所确定的变换因子来应用适
当的变换功能,例如以用当前应用所确定的方式变换所显示的图像。
如果多触式示意动作确定为到应用的图形用户接口输入,那么可将适当的输入传递
到开放应用。举例来说,图10说明一方面,其中各个方面的多触式示意动作将图形用
户接口输入提供到驾驶游戏应用。在此实例中,游戏应用可经编程以将计算装置300计
算出的多触式参数转译为游戏功能输入,例如转向和加速。举例来说,在与图10中所
说明类似的驾驶游戏中,计算装置300可跟踪P3的位置的变化,以确定将应用于通过
有风道路的虚拟车辆的转向输入。计算装置300可存储第一手指102的位置,且计算当
其在用户试图沿着道路操纵车辆的同时检测因第二手指104的移动引起的虚拟触摸位置
的移动时的不同参数(例如,c和θ)。在此实例应用中,用户可在虚线与箭头904的方向
上移动第二手指104,以使用虚拟转向盘902使车辆向左或向右转向。
当使虚拟车辆例如向右转向时,计算装置300可检测虚拟触摸位置P3朝向显示器
306右侧的移动,且计算不同参数(例如,参数a、b、c、c′、θ1、θ2、θ3、D、C、C′、E、
E′中的一者或一者以上),或可计算与移动相关联的适当图形用户接口输入。驾驶应用可
接着使用这些参数中的一些或全部,或可使用从这些参数导出的图形用户接口输入来确
定适当的游戏响应。举例来说,驾驶应用可使用θ1与θ2之间的变化来确定用户期望的
方向和转向量。类似地,所述应用可计算手指之间(即,从c到c′)的距离的变化,以确
定待应用于虚拟车辆的加速。
传统上,触摸表面100通过将触摸表面100上的触摸事件变换为可由计算装置300
及其应用软件解释的电信号而起作用。图11说明典型计算装置300的硬件/软件架构,
其展示触摸事件如何传送到应用软件。存在不同类型的可用触摸表面100,例如电阻性
和电容性触摸表面。这些触摸表面100中的每一者可用于以不同方式检测触摸事件。举
例来说,电阻性触摸表面面板由若干层组成,其中最重要的层是由窄间隙分隔的两个薄
的金属导电层。当例如手指等物体在面板的外表面上的一点处向下按压时,两个金属层
变成在所述点处连接。面板接着充当具有连接的输出的一对分压器。这导致电流改变,
所述电流改变被纪录为触摸事件且被发送到控制器以供处理。
电容性触摸表面面板是通常由用例如氧化铟锡等材料涂覆的玻璃制成的传感器。此
类型的传感器类似于电容器而起作用,其中板是网格图案中水平轴与垂直轴之间的重叠
区域。由于人体也导电,所以传感器的表面上的触摸将影响电场,且产生装置电容的可
测改变。这些传感器在近处工作,且不必被直接触摸来触发。
来自触摸表面100的触摸的电信号可由硬件驱动器1002处理。硬件驱动器1002可
为电路、软件,或硬件与软件的混合物,这取决于特定移动装置300。硬件驱动器1002
将从触摸表面100接收到的电信号转换为可由在移动装置300上运行的软件应用程序解
译的格式。举例来说,硬件驱动器可将电信号转换为触摸事件的坐标。此信号可呈被中
断或存储在可由应用软件存取的存储器表中的值的形式。此被中断或存储在存储器中的
值可由操作系统(OS)1004接收。
在一方面中,本文描述的多触式功能性可实施为操作系统1004的一部分,作为辅
助软件应用程序,或作为多触式应用编程接口(API)1006。操作系统1004或多触式API
1006可使用从硬件驱动器1004接收的数据来计算用于确定适当多触式示意动作功能性
的参数(例如,c、c′、θ1和θ2),或变换例如c/c′、θ1/θ2等因子。接着,使用所计算的参
数,操作系统1004或多触式API 1006可基于检测到的多触式事件将适当格式化和变换
因子例如以触摸事件消息的形式传递到应用层1008。触摸事件还可传送到用户接口层
1010,例如以显示与特定触摸事件相关联的值。
图12说明根据一方面用于检测和处理多触式示意动作的实例方法1100。在方法
1100中框1102处,计算装置300检测第一触摸事件,且在框1104处获得并存储所述触
摸的位置。在确定框1106处,计算装置300可确定是否存在触摸完成,其在用户从触
摸表面100提升所有手指时发生。如果触摸事件为触摸完成事件(即,确定1106=“是”),
那么计算装置300可在框1124处执行正常图形用户接口(GUI)功能,随后继续在框1102
处接收下一触摸事件。
如果触摸事件不是触摸完成事件(即,确定1106=“否”),那么计算装置300可在
确定框1108处确定触摸位置中是否已存在大于预定值“x”的突然跳跃。这可在用户用
第二手指104触摸屏幕时发生。可通过计算第一触摸事件位置到下一触摸事件的位置之
间的距离来确定触摸位置跳跃的距离。预定阈值“x”可为任何距离,例如大于抵靠触
摸表面按压的平均人手指指尖的尺寸的距离。如果触摸位置的位置变化小于阈值X(即,
确定框1108=“否”),那么计算装置可在框1124处执行正常图形用户接口功能,随后
继续在框1102处接收下一触摸事件。
如果触摸位置的位置变化大于阈值X(即,确定框1108=“是”),那么计算装置300
可在框1110处存储虚拟触摸事件位置,且在框1112处基于虚拟触摸事件位置和第一触
摸位置而计算和存储第二触摸事件的位置。如上所述,计算第二触摸事件的位置的操作
是任选的,如下文参看图13所描述。计算装置300可在框1114处获得触摸事件位置,
且在确定框1106处确定所述事件是否为触摸完成事件。如果所述事件是触摸完成事件
(即,确定框1106=“是”),那么计算装置300可在框1124处执行正常(即,非多触式)
图形用户接口功能,随后继续在框1102处接收下一触摸事件。如果所述事件不是触摸
完成事件(即,确定框1106=“否”),那么计算装置300可在框1118处获得新的触摸事
件位置,且在框1119处使用所存储的和新的第二触摸事件位置数据来计算如本文描述
的多触式示意动作参数。在框1120处,计算装置300可基于所计算的参数确定待应用
的变换功能和变换因子,且在框1122处将使用所述变换因子的变换功能应用于所显示
图像或当前运行的应用程序。计算装置300可接着在框1114处获得下一触摸事件位置,
且重复所述过程,直到检测到触摸完成事件(即,确定框1106=“是”)为止。
图13说明根据一方面用于检测和处理多触式示意动作的实例方法1200。在方法
1200中框1102处,计算装置300检测第一触摸事件,且在框1104处获得并存储所述触
摸的位置。在确定框1106处,计算装置300可确定是否存在触摸完成,所述触摸完成
在用户从触摸表面100提升所有手指时发生。如果触摸事件为触摸完成事件(即,确定框
1106=“是”),那么计算装置300可在框1124处执行正常图形用户接口功能,随后继
续在框1 102处接收下一触摸事件。
如果触摸事件不是触摸完成事件(即,确定框1106=“否”),那么计算装置300可
在确定框1108处确定触摸位置中是否已存在大于预定值“x”的突然跳跃。如果触摸位
置的位置变化小于阈值X(即,确定框1108=“否”),那么计算装置可在框1124处执行
正常图形用户接口功能,随后继续在框1102处接收下一触摸事件。如果触摸位置的位
置变化大于阈值X(即,确定框1108=“是”),那么计算装置300可在框1110处存储平
均虚拟触摸事件位置。在框1111处,计算装置300可计算并存储与虚拟触摸事件位置
相关的本文描述的各个多触式示意动作参数。在框1104处,计算装置300可获得新的
虚拟触摸事件位置,且在确定框1106处确定所述事件是否为触摸完成事件。如果所述
事件是触摸完成事件(即,确定框1106=“是”),那么计算装置300可在框1124处执行
正常图形用户接口功能,随后继续在框1102处接收下一触摸事件。如果所述事件不是
触摸完成事件(即,确定框1106=“否”),那么计算装置300可在框1201处计算与新触
摸事件相关的新的多触式示意动作参数。在框1202处,计算装置可将所存储的和新的
虚拟触摸事件位置的所计算的多触式示意动作参数进行比较,且在框1120处确定变换
功能和相关联的变换因子。在框1122处,计算装置300可将使用所述变换因子的变换
功能应用于所显示图像或正操作的应用程序。计算装置300可接着在框1114处获得下
一触摸事件位置,且重复所述过程,直到检测到触摸完成事件(即,确定框1106=“是”)
为止。
上文描述的方面可在多种计算装置300的任一者上实施。通常,此类计算装置300
将共同具有图14中说明的组件。举例来说,计算装置300可包含处理器191(其耦合到
内部存储器195),以及触摸表面输入装置100或显示器306。触摸表面输入装置100可
为任何类型的触摸屏显示器,例如电阻性感测触摸屏、电容性感测触摸屏、红外感测触
摸屏、听觉/压电感测触摸屏等。各个方面不限于任何特定类型的触摸屏显示器或触摸垫
技术。另外,计算装置300可具有用于发送和接收电磁辐射的天线194,其连接到无线
数据链路和/或蜂窝式电话收发器192(其耦合到处理器191)。不包含触摸表面输入装置
100(通常包含显示器306)的计算装置300通常包含小键盘196或微型键盘,以及充当指
点装置的菜单选择键或摇臂开关197。处理器191可进一步连接到有线网络接口198,
例如通用串行总线(USB)或连接器插口,用于将处理器191连接到外部触摸垫
或触摸表面或者外部局域网。
在一些实施方案中,触摸表面可提供在计算装置300的在触摸表面100或显示器306
外部的区域中。举例来说,小键盘196可包含具有掩埋式电容性触摸传感器的触摸表面
100。在其它实施方案中,可排除小键盘196,使得触摸屏显示器306提供完整的GUI。
在另外其它实施方案中,触摸表面100可为外部触摸垫,其可借助缆线到缆线连接器198
或耦合到处理器191的无线收发器(例如,收发器192)而连接到计算装置300。
上文描述的若干方面也可利用图15中说明的例如笔记本型计算机2000等多种计算
装置中的任一者实施。此笔记本型计算机2000通常包含外壳2466,其含有处理器2461,
所述处理器2461耦合到易失性存储器2462且耦合到大容量非易失性存储器(例如,磁盘
驱动器2463)。计算机2000还可包含耦合到处理器2461的软盘驱动器2464和压缩光盘
(CD)驱动器2465。计算机外壳2466通常还包含触摸垫2467、键盘2468和显示器2469。
计算装置处理器191、2461可为任何可编程微处理器、微计算机或多个处理器芯片,
其可通过软件指令(应用程序)配置以执行多种功能,包含上文描述的各个方面的功能。
在一些便携式计算装置300、2000中,可提供多个处理器191、2461,例如一个处理器
专用于无线通信功能,且一个处理器专用于运行其它应用程序。处理器还可包含作为通
信芯片集的一部分。
各个方面可通过计算机处理器191、2461执行经配置以实施所描述的方法或过程中
的一者或一者以上的软件指令来实施,此类软件指令可存储在存储器192、2462中在硬
盘存储器2463中,在有形存储媒体上或在可经由网络(未图示)接入的服务器上,作为单
独应用程序,或作为实施一方面方法或过程的经编译软件。此外,软件指令可存储在任
何形式的有形处理器可读存储器上,包含:随机存取存储器192、2462、硬盘存储器2463、
软盘(在软盘驱动器2464中可读)、压缩光盘(在CD驱动器2465中可读)、电可擦除/可
编程只读存储器(EEPROM)、只读存储器(例如,快闪存储器),和/或插入到计算装置300、
2000中的存储器模块(未图示),例如插入到USB网络端口中的外部存储器芯片或USB
可连接外部存储器(例如,“快闪驱动器”)。出于此描述的目的,术语存储器指代可由处
理器191、2461存取的所有存储器,包含处理器191、2461本身内的存储器。
提供以上方法描述和过程流程图仅作为说明性实例,且无意要求或暗示必须以所呈
现的次序执行各个方面的过程。如所属领域的技术人员将了解,可以任何次序执行以上
方面中的块和过程的次序。例如“随后”、“接着”、“接下来”等词语无意限制过程的次
序;这些词语仅用于引导读者通读对方法的描述。此外,例如使用冠词“一”或“所述”
以单数形式对权利要求元素的任何参考不应解释为将所述元素限于单数形式。
结合本文揭示的方面描述的各种说明性逻辑块、模块、电路和算法过程可实施为电
子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此互换性,上文已大致关
于其功能性而描述了各种说明性组件、块、模块、电路及算法。将所述功能性实施为硬
件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对
每一特定应用以不同方式来实施所描述的功能性,但所述实施决策不应被解释为会导致
脱离本发明的范围。
用以实施结合本文揭示的方面而描述的各种说明性逻辑、逻辑块、模块和电路的硬
件可用经设计以执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成
电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、
离散硬件组件,或其任何组合实施或执行。通用处理器可以是微处理器,但在替代方案
中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计
算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上
微处理器与DSP核心的联合,或任何其它此配置。或者,一些过程或方法可通过特定针
对给定功能的电路来执行。
在一个或一个以上示范性方面中,所描述的功能可实施于硬件、软件、固件或其任
何组合中。如果实施于软件中,那么可将功能作为计算机可读媒体上的一个或一个以上
指令或码而加以存储或传输。本文揭示的方法或算法的过程可体现于可驻留于计算机可
读媒体上的所执行的处理器可执行软件模块中。计算机可读媒体包括计算机存储媒体与
包含促进计算机程序从一处传送到另一处的任何媒体的通信媒体两者。存储媒体可为可
由计算机存取的任何可用媒体。作为实例而非限制,此计算机可读媒体可包含RAM、
ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,
或可用以运载或存储呈指令或数据结构形式的所要程序代码且可通过计算机存取的任
何其它媒体。同样,严格地说,可将任何连接均称作计算机可读媒体。举例来说,如果
使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等
无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤缆线、双绞线、
DSL或例如红外线、无线电及微波等无线技术包括于媒体的定义中。如本文中所使用,
磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘
及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。
上文的组合也应包括在计算机可读媒体的范围内。另外,方法或算法的操作可驻留作为
存储在机器可读媒体和/或计算机可读媒体(其可并入到计算机程序产品中)上的代码和/
或指令的一者或任何组合或集合。
提供对各个方面的以上描述是为了使所属领域的任何技术人员能够制作或使用本
发明。对于所属领域的技术人员来说,将易于明白对这些方面的各种修改,且在不脱离
本发明的范围的情况下,本文中定义的一般原理可适用于其它方面。因此,并不希望将
本发明限于本文中所示的方面,而是,应赋予所附权利要求书与本文中所揭示的原理和
新颖特征一致的最广泛范围。