CN101324828B - 用于操作多点触摸使能装置的方法和设备 - Google Patents

用于操作多点触摸使能装置的方法和设备 Download PDF

Info

Publication number
CN101324828B
CN101324828B CN200810125593.9A CN200810125593A CN101324828B CN 101324828 B CN101324828 B CN 101324828B CN 200810125593 A CN200810125593 A CN 200810125593A CN 101324828 B CN101324828 B CN 101324828B
Authority
CN
China
Prior art keywords
touch data
control instance
instance
control
relevant
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
CN200810125593.9A
Other languages
English (en)
Other versions
CN101324828A (zh
Inventor
S·P·霍特林
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN201210249484.4A priority Critical patent/CN102902473B/zh
Publication of CN101324828A publication Critical patent/CN101324828A/zh
Application granted granted Critical
Publication of CN101324828B publication Critical patent/CN101324828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

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

用于操作多点触摸使能装置的方法和设备
技术领域
本发明涉及用户界面,更具体地说,涉及用于拥有多点触摸显示器的装置的用户界面。 
背景技术
鼠标是在许多计算装置中使用的众所周知并且相对简单的用户接口工具。由鼠标提供的输入可以是相对简单的-鼠标具有的各个按钮或滚轮的位置和状态。许多现有的触摸屏装置通过允许用户将触笔(stylus)或手指按压在其上来指定单个特定位置,提供与鼠标的功能类似的功能。 
现有的操作系统(OS)可以为其上运行的软件应用提供各种工具,这些工具用于使得通过图形用户界面和鼠标或类似鼠标的用户输入进行的用户交互更容易。例如,OS实用程序可允许软件应用定义并注册窗口小部件(widget)(例如,按钮或滚动条)。OS实用程序可在用户用鼠标点击窗口小部件时进行跟踪,并且可以向软件应用发送告警。这使得软件应用的开发变得容易和简化,因为各应用不需要保持对鼠标运动的跟踪。 
用户界面技术的最新进展提出了多点触控面板(multi-touch panel)。在2007年1月3日提交的名称为“Proximity and Multi-Touch Sensor Detection and Demodulation”的美国专利申请第11/649,998号中描述了示例性多点触控面板(通过引用将其全部内容并入于此)。 
多点触控面板的优点之一在于,它同时检测面板上的多个位置处的多个触摸事件。因此,多点触控面板不仅可提供单个交互位置(如许多现有的触控面板那样),而且提供该面板的当前正在被触摸的所有部分的映射。这使得可以提供比先前的输入装置丰富得多的用户交互。 
然而,多点触控面板也要求利用它的各种应用处理多得多的数据。具体来说,利用多点触控面板的应用可能需要处理指定当前被触摸的位置的整个映射,而不是单个鼠标点击位置。这会导致对在多点触摸使能装置(multi-touch enabled device,或称多重触摸使能装置)上运行应用提出高得多的处理要求。 
发明内容
本发明涉及一种多点触摸使能装置,该多点触摸使能装置包含可以对触摸数据执行应用知道的处理的硬件或软件实用程序层。具体而言,在装置上执行的各种应用可向实用程序层发送它们从多点触摸使能显示器需要的触摸数据的类型的定义。实用程序层然后可与这些定义相关联地处理进入的触摸数据,并将结果数据以应用请求的格式发送回应用。由此,可减少与触摸数据的处理相关的计算负荷。并且,在某些情况下,应用可获得比现有系统中提供的数据更精确的数据。 
在多点触摸使能装置上执行的应用可在控件实例(controlinstance)方面定义这些应用需要的触摸数据的类型。控件实例可定义用户可与在多点触摸使能装置上运行的应用通信或控制这些应用的各种方式。控件实例可以为例如按钮、滑块、旋钮、导航板等。每个控件实例与相关的控件类型一起可定义对于该控件实例需要的结果的类型以及要如何计算这些结果。 
由此,应用可将一个或更多个控件实例传递给实用程序层,然后实用程序层可按照控件实例来处理触摸数据,并将根据控件实例计算的结果提供给应用。由此,例如,应用可接收按钮是否被触摸或者滑块是否移动以及移动多远的简单的指示,而不必处理几何触摸数据以获得该信息。 
附图说明
图1是根据本发明的一个实施例的示例性多点触摸使能装置的示 意图。 
图2是示出根据本发明的一个实施例的应用和MTL解析器(parser)层的操作的示例性方法的流程图。 
图3是示出根据本发明的一个实施例的在屏幕上显示的不同控件类型的各种示例性控件实例的示意图。 
图4是示出根据本发明的一个实施例的示例性控件的透明度和/或不透明度的示意图。 
图5例示了根据本发明的一个实施例的示例性多DOF控件类型(Multi-DOF Control Type)的示例性控件的触摸数据的处理。 
图6例示了稍后对图5的触摸数据的处理,用于根据本发明的一个实施例的示例性增量控件。 
图7是示出根据本发明的一个实施例的示例性增量变化的示意图,在该示例性增量变化中,触摸区域可移动并且可出现新的接触块。 
图8是根据本发明的一个实施例的示例性多点触摸使能装置的示意图。 
具体实施方式
在以下对优选实施例的描述中,参照了附图,这些附图构成其一部分,并且,在这些附图中,以例示的方式示出了可实践本发明的特定实施例。应当理解,在不脱离本发明的优选实施例的范围的情况下,可以利用其他实施例并且可提出结构变化。 
这与多点触摸使能装置的下层上的(例如OS上的)触摸数据的处理有关,以形成相对简单的触摸事件,使得可减少应用层上的处理和通信带宽需求。 
图1是根据本发明的实施例的示例性多点触摸使能装置的示意图。更具体来说,图1是多点触摸装置的触摸数据处理模块的层图。最下层可以是物理多点触摸传感器100。物理传感器可以是例如基于互电容的测量感测触摸事件的多点触控面板(例如,以上讨论的美国专利申请第11/649,998号的多点触控面板)。多点触控面板可被叠放 到显示器上,甚至被集成到显示器内,使得用户可通过触摸显示器与装置进行交互。在2007年1月3日提交的名称为“Proximity andMulti-Touch Sensor Detection and Demodulation”的美国专利申请第11/649,998号(通过引用将其全部内容并入于此)教导将多点触控面板与显示器组合起来。物理传感器还可包括用于对由多点触控面板获得的数据进行处理和/或数字化的电路。在一些实施例中,物理传感器可被配置为感测是否正在触摸某些预定义的触摸像素。在其他的实施例中,物理传感器还可感测触摸各像素所使用的压力或强度。 
误差去除和活动检测模块101可从物理传感器接收数据,并对其执行各种误差去除操作。误差去除可包括去除一般不是由有意的触摸事件导致的数据。此外,模块101还可执行活动检测。因此,它可检测是否正在发生任何触摸活动,并且,如果情况不是这样,那么去除进入的触摸数据(即,不传递到下一层)。因此,通过避免对触摸数据的不必要的处理,可节省电力。层100和101可以是硬件层的多个部分。 
层102和106可以是硬件抽象层(hardware abstraction layer)的多个部分。硬件抽象层可被提供来给予较高层更有用的多点触摸数据。层102和106可以是硬件或软件。多点触摸语言处理层102可用于将表示感测到的电压(其本身表示各触摸像素上的互电容)的原始数据处理成处理后的触摸数据。处理后的触摸数据可基于触摸像素的坐标,并可包括指示像素是否正在被触摸的二元值。在其他的实施例中,处理后的触摸数据可包括其他或附加的数据,诸如对于各个像素指示触摸像素所使用的力量的值。处理后的触摸数据可被看作图像,其中,图像的每个像素都可指示相应的像素是否正在被触摸(或者,它被触摸的强烈程度)。 
显示图形/输入表面坐标转换器层106可用于将处理后的触摸数据从触控面板坐标转换成显示器坐标。出于实际的原因,可感测到触摸事件的最小区域(例如,触摸像素)可比显示像素大。通常,由于人的手指的尺寸,因此触摸分辨率不需要如显示分辨率那样高。但是, 为了使触摸事件与屏幕上显示的元素(例如,按钮等)相关联,使得触摸数据基于与显示数据相同的坐标系统是有用的。出于这种原因,显示图形/输入表面坐标转换器可用于将触摸数据转换成显示器坐标。显示图形/输入表面坐标转换器可将转换后的触摸数据发送给MTL解析器(parser)103。MTL解析器接收的数据可以是光栅数据。换句话说,它可包括与各个触摸像素相关的触摸值的一个或更多个数组。 
多点触摸语言(MTL)解析器层103可显示基于坐标的触摸数据,并利用它以向应用层105提供基于高级控件的界面。应用层105可包含一个或更多个应用,诸如电话薄、电子邮件、地图应用、视频或图片查看器等。 
在图2中更详细地描述应用和MTL解析器层的操作。在步骤200中,一个或更多个应用可定义一个或更多个控件实例并将它们发送到MTL解析器。控件实例可以是用户交互的元素。它可以是按钮、旋钮、滑块等。控件实例可包含视觉表示并用其承载触摸功能,即,为了与创建控件实例的应用相通信,用户可触摸显示器上出现的控件实例。因此,用户可触摸按钮以按压它、拖动滑块以移动它,或者将他/她的手指放在旋钮的上方然后旋转它们,以旋转旋钮。 
由应用创建的控件实例可以是一种或更多种数据类型的实例。这些类型可与诸如旋钮、按钮、滑块等的各种类型的控件相对应。这些实例可包含对控件的尺寸/形状、控件的位置等进行标识的数据。在一些实施例中,这些实例还可包含定义控件的视觉外观的数据。在其他的实施例中,为了定义控件的视觉外观,应用可与其他的模块(诸如,例如,核心图形(core graphics)104)通信。应用可连续地定义新的控件实例,并且/或者通过与MTL解析器通信来移动或删除较旧的控件实例。 
在步骤202中,MTL解析器可存储所有当前的控件实例。在步骤204中,MTL解析器可从下层(诸如显示图形/输入表面转换器)接收处理后的触摸数据。在步骤206中,为了确定与实例的交互(即,按钮是否被按压、旋钮是否被旋转等),MTL解析器可将接收的数据应 用于所存储的控件实例。 
例如,MTL解析器可检查由按钮实例限定的区域,并检查处理后的触摸数据是否表明该区域内的任何触摸事件。在一些实例中,为了确定用户如何与该实例交互,MTL解析器可能需要将控件实例应用于历史触摸数据以及当前触摸数据。例如,对于旋钮,MTL解析器可能需要检查旋钮上和周围的触摸的以前位置以及它们的当前位置,以确定旋钮是否正在被旋转。MTL解析器可通过存储历史处理后的触摸数据并在步骤206中对其进行处理来实现这一点。作为替代方案,MTL解析器可存储各控件类型特有的中间数据。例如,如果存在旋钮类型的单个控件实例,那么MTL解析器可仅保持用于由该实例限定的区域的历史触摸数据,并且仅保持用于确定旋钮旋转必需的特定的过去时期的历史数据(例如,它可仅保持数据的一个先前的帧)。使用历史数据的一些控件常常仅使用来自先前的帧的历史数据并由此测量增量变化,因此它们还可被称为增量控件。 
在步骤208中,MTL解析器可将在步骤206中获得的各种结果数据发送到各种应用。结果数据可与应用发送给解析器的控件实例有关。具体而言,结果数据可与定义控件实例的控件类型相关。因此,例如,简单的按钮类型可将指示按钮是否正在被按压的二元值定义为其结果数据。旋钮控件类型可将指示旋钮的旋转角度的整数定义为其结果数据。 
因此,通过提供向应用发送简要并且易于使用的结果数据的较低级MTL解析器层,本发明的实施例可大大简化应用编程并减少应用必须处理的数据量。此外,由于MTL解析器可知道所有控件实例,因此,它可跟踪显示器的其中触摸数据与应用相关的区域(即,在该区域中存在控件实例)以及不相关的区域。因此,通过不对无关区域处理触摸数据,MTL解析器可提高效率。此外,MTL解析器可通过指示低于它的各层不处理无关数据来提高它们的效率。在一些实施例中,MTL解析器甚至可指示触控面板本身不处理来自该面板的无关区域的触摸数据。这样可节省电力,因为触控面板可关闭激励信号(根 据一些实施例,激励信号对于触摸感测来说是必需的)。 
在以前的系统中,MTL解析器在不知道正在由不同应用显示的各种控件元素的情况下处理触摸数据。因此,解析器可以处理标准格式的触摸数据。例如,解析器可将已被触摸的像素分组成触摸区域,将触摸区域拟合成椭圆(和/或其他容易限定的形状),并将限定各种椭圆或其他形状的数据发送给应用。然后应用必须处理这些形状并将它们与应用正在屏幕上显示的控件相比较,以确定用户是否以及如何与这些控件相交互。为了支持传统的应用并且/或者支持基于控件类型的功能可能不是最佳的一些实例,本发明的一些实施例可包含后述功能以及上面讨论的先进的基于控件类型的功能。 
虽然乍看起来传统的系统可由于将实际的触摸数据传递给应用而允许更高的精度水平,但情况并不总是如此。例如,在一些情况下,本发明的基于控件实例的系统可比传统的系统更精确地确定用户的意图。为了变得实用,传统的系统在将触摸数据传递给应用之前通常对其进行压缩(例如,通过将其转换成如上所述的椭圆和其他形状)。但是,压缩数据可能不正确地传达用户的意图。另一方面,根据本发明的实施例,MTL解析器可不同地处理各控件类型的控件实例。因此,可以对控件类型进行预定义,以最正确地解释用户的意图。因此,即使本发明的实施例可能实际上未将触摸数据传递给应用,它们也使得应用可以更精确地解释用户意图。 
此外,本领域技术人员将认识到,本发明的实施例可需要比传统的系统少得多的处理。在传统的系统中,由于解析器不知道应用需要什么类型的数据,因此它可能需要处理并向应用发送所有或大部分进入的触摸数据。另外,应用必须再次处理由解析器接收的数据,以确定它如何应用于由应用使用的特定控件。在本发明的实施例中,解析器知道应用需要什么触摸数据并且可仅进行与应用相关的那些处理。此外,解析器向应用发送已与应用的控件相关的数据,从而使应用需要对进入的触摸数据进行的处理最少化或完全消除这种处理。 
图3示出了在屏幕上显示的不同控件类型的各种控件实例。例如, 可以使用一个或更多个按钮类型实例(诸如按钮300)。按钮可用于检测用户是否按压或压下按钮。也可以使用滑块控件301和302。滑块可检测用户什么时候沿控件滑动他/她的手指。也可以使用旋转或旋钮控件(诸如旋钮303)。旋钮控件可检测对于旋钮按下的手指的旋转。滑块和旋钮控件可以是需要历史数据的控件类型。因此,MTL解析器可将滑块或旋钮的先前触摸状态与当前触摸状态相比较,以确定是否正在发生滑动和/或旋转。此外,可以使用触摸垫(touch pad)控件304。触摸垫控件旨在仿效计算机笔记本触摸垫,并可用于检测触摸垫上的各种触摸事件。触摸垫控件还可通过检测诸如手指的展开等的更复杂的事件,提供普通的笔记本计算机触摸垫的功能以外的功能。因此,例如,触摸垫控件可以是对手的横向移动、手对表面的压力、手的展开和收缩、手在表面上的旋转和表面上的接触块的数量进行检测的导航表面。 
图4示出了根据本发明的实施例的控件的透明度和/或不透明度选项。根据一些实施例,各种控件可被叠加或定义,使得它们可覆盖同一区域。因此,例如,控件400和401可覆盖相交区域403。一些实施例允许将控件限定为透明的或不透明的。在透明控件的情况下,以与不存在叠加的情况相同的方式,两个控件均检测共同的区域中的触摸事件。因此,如果控件400和401均是按钮并且手指按在区域402中,那么两个控件均可检测到手指的触摸。 
根据一些实施例,控件可以是不透明的。当使用不透明性时,各种控件实例可包含层次参数。不透明控件实例可遮蔽处于其下方并与其区域的至少一部分相交的任何控件实例。在一些实施例中,具有最低层次参数的实例可被视为最高层次(即,所有其他实例均处于它们下方),但其他的配置是可能的。因此,假定实例400可以是不透明的并且处于比实例401高的层次,那么实例400可遮蔽实例401(即,防止在实例401处注册触摸事件)。在一些实施例中,仅在不透明实例与其下方的实例叠加的区域中会出现遮蔽。因此,对于图4的示例,在叠加区域403处会出现遮蔽(由此遮蔽触摸402),但在没有叠加 的区域404处不会出现遮蔽。 
在除了触摸事件以外还感测触摸的力量或压力的一些实施例中,控件的不透明度可以是部分的。部分不透明的控件可能不完全地遮蔽其下方的控件,而只是会减小触摸事件对其下方的控件的力量。 
以下描述详细讨论本发明的实施例的范围。根据这些实施例,MTL控件可使用以下的定义: 
-控件的区域的定义:“控件区域”; 
-控件的类型的定义,包括希望从控件得到什么类型的输出数据:“控件类型定义”(它们引用控件区域定义); 
-具有各控件的X、Y位置的控件实例的定义:引用控件类型的“控件实例”,或者,简称为“控件”。 
一旦定义了控件实例,就可由当前正经历用户活动的任何控件实例产生控件输出数据(或结果数据)。通常,没有被活动地使用的控件可以是“安静的(quiet)”并且不输出数据。 
控件输出数据可包含: 
-当前活动的控件的数量; 
-对于每个活动的控件: 
-CTRLID-将输出数据与控件实例相关联的控件ID代码 
-数据集-提供与控件的状态或自最后一次输出数据报告以来控件的增量状态有关的附加信息的数据集合。对于按钮的特殊情况,数据集不是必要的,因为CTRLID的存在足以表示按钮当前被按压。 
控件实例可以是例如按钮的实际控件。控件实例可引用可在控件实例的定义之前定义的控件类型。例如,控件类型可描述按钮的形状和行为。许多控件实例可引用相同的控件类型(例如,为了构建虚拟键盘,许多控件实例可引用按钮)。 
控件可以以与显示器上的交叠的图形对象类似的方式相互交叠。可以利用(在控件实例中定义的)次序和(在控件类型中定义的)不透明度参数如下地确定交叠控件的行为: 
-对于不透明控件,首先处理的控件(最低序号)根据它们的区域屏蔽(mask)从原始图像提取信号,并减去已使用的信号,使得不可访问稍后处理的控件(更高的序号)。 
-对于透明控件,它们根据区域屏蔽从原始图像提取信号,但它们不减去已使用的信号,使得已使用的信号可以被稍后处理的控件再次使用。 
与显示中的交叠对象的类比可被扩展:具有最低序号的不透明控件可与最接近用户的显示对象类似,这些显示对象使距用户较远的显示对象的可见性变模糊。由于仍可透过透明控件看到距用户较远的显示对象,因此透明控件可以与透明显示对象类似。 
表1(控件实例参数) 
  控件实例定义输入  参数  描述   类型 含义
  T  对于控件类型的处理-   无符号整数 标签
  X  控件边框左下角的X 坐标   无符号字节 输入像素
  Y  控件边框左下角的Y 坐标   无符号字节 输入像素
  次序  控件处理次序,第一 个到最后一个。   无符号整数 0=首先处理,1=第2,2=第3,等等。
  控件实例定义输入  参数  描述   类型 含义
  控件实例定义输出  参数  描述   类型 含义
  CTRLID  将输出报告数据与控 件实例定义相关联的 控件实例ID代码   无符号整数 控件实例的唯一ID
控件区域可以是可被控件类型引用的形状的可再次使用的定义。多于一个的控件类型可引用同一控件区域。坐标可相对于可在控件实例中指定的局部原点。局部原点可被定义为边框的左下角。 
矩形区域定义可定义简单的矩形区域。对于由控件类型指定的类型的输入,矩形内的所有区域都可以是活动的。 
表2(矩形区域) 
  输入参数   描述   类型   含义
  M   边框高度(Y尺寸)   无符号字节   输入像素
  N   边框长度(X尺寸)   无符号字节   输入像素
  输出参数   描述   类型   含义
  R   对区域的处理-可由  控件类型定义引用   无符号字节   标签
二元屏蔽区域定义可定义简单的矩形边框内的任意形状。对于由控件类型指定的类型的输入,与“1”相关的所有区域都可以是活动的。对于输入,与“0”相关的所有区域可以是不活动的。 
表3(边界屏蔽(bounding mask)) 
  输入参数   描述  类型 含义
  M   边框高度(Y尺寸)  无符号字节 输入像素
  N   边框长度(X尺寸)  无符号字节 输入像素
  屏蔽   二元数组,2D图像,  定义边框内的活动和  不活动区域  位的大小为M X N 的数组 1=活动,0=不活动
  输出参数   描述  类型 含义
  R   对区域的处理-可由  控件类型定义引用  无符号字节 标签
分级屏蔽区域定义可定义简单的矩形边框内的具有分级的敏感度的任意形状。在各元素上,标量值可确定该点上的相对敏感度。对于输入,具有“0”的所有像素可以是不活动的。具有“255”的像素可以是完全敏感的。具有“127”的像素可以是50%敏感的。 
表4(分级屏蔽) 
  输入参数   描述   类型 含义
  M   边框高度(Y尺寸)   无符号字节 输入像素
  N   边框长度(X尺寸)   无符号字节 输入像素
  屏蔽   无符号字节数组,2D  图像,定义边框内的活  动和不活动区域   无符号字节的大小  为M X N的数组 255=完全敏感的,0=不敏感的
  输出参数   描述   类型 含义
  R   对区域的处理-可由  控件类型定义引用   无符号整数 标签
控件类型可引用区域定义并添加功能(functional)要求,以形成可用于调用多个控件实例的功能性的、可再次使用的控件类型。具体的控件类型定义的示例可以是对键盘按钮的描述。可以存在两种主要的控件类型族:(i)按钮控件类型和(ii)多DOF控件类型。 
多DOF控件类型是指允许多个自由度的控件类型。它们可提供可被分类成组输出和多点输出的可配置输出参数组: 
组输出可以是利用在控件区域上发现的所有接触块的参数。针对平稳的压力跟踪、平稳的XY跟踪、平稳的旋转跟踪、平稳的R跟踪和估计的数量的团点(blob)跟踪,可以对这些输出进行优化。在接触块合并和分离的情况下,它们可表现得好于多点输出。 
多点输出可以是接触块的列表,该列表带有各接触块的属性。当接触块被分开时,它们可很好地工作,但是,在接触块合并和分离的情况下,可能表现得没有组输出那样好。 
除了组对多点以外,输出可被宽泛地归类为瞬时的或增量的。瞬时输出不需要依赖于先前的图像数据。当将新的接触块包含、排除、并入共同的区域或者将接触块从共同的区域分离时,一些瞬时输出会突然变化。增量输出可使用当前的图像以及最后一幅图像。增量输出的目标可以是,不管由于接触块的添加、减去、合并或分离而导致的变化如何,它们都继续提供真实地代表用户的意图的连续的、平稳的、有含义的数据。各个输出和相关的计算可通过在控件类型定义中定义的类(Class)参数被使能/禁用,并被示于下表中。 
表5(输出的类型) 
    瞬时输出   增量输出
  组输出   CTRLID:控件活动  Class0:Ztot,AG  Class1:XG、YG  Class2:RG  Class3:NBG  Class4:ThetaG,ECG   Class5:XGinc,YGinc  Class6:RGinc  Class7:ThetaGinc
  多点输出   Class8:NPTS,对于各个点:  PTID、Z、A、X、Y  Class9:对于各个点:R,Theta,EC  
下表可示出示例性控件应用以及对于控件类型和示例参数映射的相关推荐: 
表6(示例性控件应用) 
Figure S2008101255939D00141
按钮控件类型可以是旨在用于屏上键盘的相对简单的控件。 
表7(按钮控件类型) 
Figure S2008101255939D00151
Figure S2008101255939D00152
Figure S2008101255939D00153
对于按钮的特殊情况,数据集不是必要的,因为输出报告列表中CTRLID的存在足以表示按钮当前被按压。 
下面对用于处理按钮控件类型的触摸数据的一些示例性算法进行描述。误差去除之后的区域中的图像数据可由无符号字节数组D(p,q)表示,其中,p可代表从0(下)到M-1(上)的行号,q可代表从0(左)到N-1(右)的列号。当D(p,q)=0时,在该像素上不会感测到输入信号。当D(p,q)=255时,可在该像素上感测到最大信号。对于矩形屏蔽: 
Z(p,q)=D(p,q) 
二元屏蔽数据可被存储在位的数组M(i,j)中,其中,i可代表从0(下)到Ylen-1(上)的行号,j可代表从0(左)到Xlen-1(右)的列号。因此,对于二元屏蔽: 
Z(p,q)=D(p,q)*M(p,q) 
分级屏蔽数据可被存储在无符号字节数组G(i,j)中,其中,i可代表从0(下)到Ylen-1(上)的行号,j可代表从0(左)到Xlen-1(右)的列号。 
Z ( p , q ) = D ( p , q ) * M ( p , q ) 256
可如下计算Ztot: 
Ztot = Σ p = 0 M - 1 Σ q = 0 N - 1 Z ( p , q ) 2 ZDIV
可如下执行按钮阈值判断: 
if(BUTTON==OFF) 
if Ztot>Zon then BUTTON=ON 
if(BUTTON==ON) 
if Ztot<Zoff then BUTTON=OFF 
可如下定义多MOF控件类型: 
表8(多DOF控件类型) 
  多DOF控件控件  类型定义输入参  数   描述   类型   含义
  H   对区域定义的处理   无符号整数   标签
  ZDIV   Ztot的控件缩放   无符号字节   当计算Ztot时对和执行  的右移的次数
  Zon   控件激活的阈值   无符号整数   当Ztot超过Zon时,控  件是活动的(提供输出  数据)
  Zoff   控件失活的阈值   无符号整数   当Ztot低于Zoff时,控  件是不活动的(没有输  出数据)
  Opc   不透明控件-确定由该  控件区域使用的信号对  于随后的具有较高序号  的交叠控件来说是否可  用   二元的   1=不透明,0=透明
  Class0   使能Class 0参数   二元的   1=开,0=关
  Class1   使能Class 1参数   二元的   1=开,0=关
  Class2   使能Class 2参数   二元的   1=开,0=关
  Class3   使能Class 3参数   二元的   1=开,0=关
  Class4   使能Class 4参数   二元的   1=开,0=关
  Class5   使能Class 5参数   二元的   1=开,0=关
  Class6   使能Class 6参数   二元的   1=开,0=关
  Class7   使能Class 7参数   二元的   1=开,0=关
  Class8   使能Class 8参数   二元的   1=开,0=关
  Class9   使能Class 9参数   二元的   1=开,0=关
 多DOF控件类型定 义输出参数   描述   类型   含义
 T   对控件类型的处理  -可被控件实例引  用   无符号整数   标签
Figure S2008101255939D00181
Figure S2008101255939D00191
Figure S2008101255939D00201
下面对用于处理多DOF控件类型的触摸数据的一些算法进行描述。误差去除之后的区域中的图像数据可由数组D(p,q)表示,其中,p可代表从0(下)到M-1(上)的行号,q可代表从0(左)到N-1(右)的列号。 
以下讨论用于Class0和Class1输出参数Ztot、XG、YG、AG的算法。对于矩形屏蔽: 
Z(p,q)=D(p,q) 
二元屏蔽数据可被存储在位的数组M(i,j)中,其中,i可代表从0(下)到Ylen-1(上)的行号,j可代表从0(左)到Xlen-1(右)的列号。因此,对于二元屏蔽: 
Z(p,q)=D(p,q)*M(p,q) 
分级屏蔽数据可处于无符号字节的数组G(i,j)中,,i可代表从0(下)到Ylen-1(上)的行号,j可代表从0(左)到Xlen-1(右)的列号。因此,对于分级屏蔽: 
Z ( p , q ) = D ( p , q ) * M ( p , q ) 256
可如下计算Ztot: 
Ztot = Σ p = 0 M - 1 Σ q = 0 N - 1 Z ( p , q ) 2 ZDIV
可根据以下代码执行控件激活阈值判断: 
if(CONTROL-ACTIVE==OFF) 
if Ztot>Zon then CONTROL-ACTIVE=ON 
if(CONTROL-ACTIVE==ON) 
if Ztot<Zoff then CONTROL-ACTIVE=OFF 
可如下计算AG: 
Peak=max(Z(p,q)) 
thresh=0.50 
HiFlag(p,q)=if(Z(p,q)>thresh,1,0) 
AG = Σ p = 0 M - 1 Σ q = 0 N - 1 HiFlag
图5例示了示例性多DOF控件类型的示例性控件的触摸数据的处理。例如,图5可涉及旋钮控件类型。区域500可以是被感测为被首先触摸的区域。通过检测对区域内的每个单个像素的触摸或检测对区域的某些像素的触摸,并将这些像素连接起来以形成连续区域,可以获得区域500。 
参数XG和YG可以是触摸区域500的形心501的X和Y坐标。形心可被定义为具有区域500的平均X和Y坐标的点。RG可被定义为区域500的平均半径502。ThetaG可被定义为第一惯性主轴504相对于装置的X轴的角度503。第二惯性主轴可与第一惯性主轴垂直。 
对于XG、YG的形心计算可如下: 
XG = Σ p = 0 M - 1 Σ q = 0 N - 1 Z ( p , q ) * q Ztot * 2 ZDIV / 64
YG = Σ p = 0 M - 1 Σ q = 0 N - 1 Z ( p , q ) * p Ztot * 2 ZDIV / 64
可以如下所示的那样导出Class2输出参数RG。应当注意,Class1参数依赖于Class 0参数。围绕着组500的形心x轴的惯性矩可以为: 
IxG = Σ p = 0 M - 1 Σ q = 0 N - 1 ( p - YG ) 2 * Z ( p , q )
围绕着组的形心y轴的惯性矩可以为: 
IyG = Σ p = 0 M - 1 Σ q = 0 N - 1 ( q - XG ) 2 * Z ( p , q )
围绕着组的形心的极惯性矩可以为: 
IpG=IxG+IyG 
围绕着形心的回转极半径可以为: 
RG = IpG Ztot * 2 ZDIV
输出参数NBG可以是组中的“突起”的数量的估计。这可以通过诸如离散余弦变换算法的空间频率分析来确定。它可以与不同的接触块的数量相同或不同。 
以下示出用于计算Class4输出参数ThetaG、ECG的算法。应当注意,Class 3参数依赖于Class 1参数。可如下计算围绕着形心的惯性积: 
IxyG = Σ p = 0 M - 1 Σ q = 0 N - 1 ( p - YG ) * ( q - XG ) * Z ( p , q )
第一主轴可被计算为: 
Theta 1 = 1 2 tan - 1 ( 2 * IxyG IxG - IyG )
注意:Theta1范围为-90度~+90度。 
第二主轴可被计算为: 
Theta2=Theta1+90 
注意:Theta2范围为0度~+180度。 
第一主惯性矩可被计算为: 
I 1 G = IxG + IyG 2 + ( IxG - IyG 2 ) * cos ( 2 * Theta 1 ) - IxyG * sin ( 2 * Theta 1 )
第二主惯性矩可被计算为: 
I 2 G = IxG + IyG 2 + ( IxG - IyG 2 ) * cos ( 2 * Theta 2 ) - IxyG * sin ( 2 * Theta 2 )
主惯性矩的比值(第1/第2)可以为: 
ECG = I 1 G I 2 G
Class5、Class6和Class7输出参数XGinc、YGinc、Ztotinc、AGinc、RGinc、ThetaGinc可以是增量参数。换句话说,它们旨在用于测量触摸数据的增量变化。例如,图6例示了对增量参数的使用。具体而言,对于示例性增量控件,图6例示了稍后对图5的触摸数据的处理。图5的初始触摸区域500可在稍后变为触摸区域600。新的触摸区域600可具有新形心601(其具有新坐标XG和YG)、新的平均半径602(RG)和第一惯性主轴的新角度603(ThetaG)。 
当特征组(接触块的数量/接触块的近似位置)不改变时,可如下计算增量参数XGinc、YGinc、RGinc、ThetaGinc: 
XGinc=XG-XG_old 
YGinc=YG-YG_old 
RGinc=RG-RG_old 
ThetaGinc=ThetaG-ThetaG_old 
其中,XG_old、YG_old、RG_old和ThetaG_old可以是来自以前的阶段(见图5)的输出参数。注意,可以调整ThetaGinc以应对由于ThetaG超出+90度或-90度的上溢/下溢而导致的突然变化。 
图7是示出触摸区域可移动并且可出现新的接触块的增量变化。 每当特征组(例如,接触块的数量和相对定位)由于接触块的添加、减去、合并或分离而变化时,可改变增量参数的计算。图7示出了在出现新的接触块之后如何在第一帧中计算增量参数的示例。在图7中,图像500的位置和角度被改变以形成具有形心701的图像700,并且出现了新的接触块702。假定XG_old、YG_old、RG_old、ThetaG_old是来自具有旧的特征组的最后一幅图像500的输出,并且XG2、YG2、ThetaG2是基于OLD特征组(即,忽略新的块702)根据NEW图像计算出的输出,那么如下所示那样获得增量值XGinc、YGinc、Rginc和ThetaGinc: 
XGinc=XG2-XG_old 
YGinc=YG2-YG_old 
RGinc=RG2-RG_old 
ThetaGinc=ThetaG2-ThetaG_old 
注意,应调整ThetaGinc以应对由于ThetaG超出+90度或-90度的上溢/下溢而导致的突然变化。 
不管接触块的添加、减去、合并和分离的情况如何,这一计算增量参数的方法都可提供连续性。 
在接触块减去之后的第一幅图像中的增量参数计算可以按类似的方式进行。因此,假定XG_old、YG_old、RG_old、ThetaG_old是来自具有OLD特征组的NEW图像的输出,并且XG3、YG3、RG3、ThetaG3是基于NEW特征组根据OLD图像计算的输出,那么如下所示的那样获得增量值: 
XGinc=XG-XG3 
YGinc=YG-YG3 
RGinc=RG-RG3 
ThetaGinc=ThetaG-ThetaG3 
注意,可调整ThetaGinc以应对由于ThetaG超出+90度或-90度的上溢/下溢而导致的突然变化。 
以下讨论对于Class8输出参数NPTS、PTID、Z、X、Y、A、R、 Theta、EC的算法。 
NPTS代表控件区域中的接触块的数量。在高的层次上,可以使用诸如以下方法的通用方法: 
-使触摸数据通过空间低通滤波器; 
-通过阈值滤除(threshold out)噪声; 
-分成多个区域;和 
-将各个区域尺寸限制为区域的峰值的50%以上的像素。 
在接触块区域被限定之后,可以用与用于以上已详述的组参数的算法类似的算法来处理各个接触块的各接触块参数: 
表9(计算各接触块参数Class 8) 
  各接触块参数   使用类似于以下算法的算法
  Z   ZG
  A   AG
  X   XG
  Y   YG
一旦如上所示的那样建立了各接触块参数,就可通过对新的与最后的X、Y、Z和A参数进行比较以及这些参数的前时间导数(previoustime derivative)来找出各次接触的PTID。 
以下示出用于Class9输出参数R、Theta、EC的算法。可以用与用于以上已详述的组参数的算法类似的算法来处理各个接触块的各接触块参数: 
表10(计算各接触块参数-Class 9) 
  各接触块参数   使用类似于以下算法的算法
  R   RG
  Theta   ThetaG
  EC   ECG
以上讨论的实施例使得可以提供SDK,以使得易于开发用于多点触摸装置的软件。具体而言,SDK可允许开发者使用直观的图形环境来创建控件类型的类和实例并将它们嵌入应用中。因此,不太熟悉多点触摸数据处理的细节的开发者仍可利用多点触摸显示器的益处来开发应用。 
多点触摸使能显示器可用于各种装置中。因此,本发明的实施例包含但不限于诸如蜂窝电话、便携式音乐播放器、GPS装置、PDA、便携式电子邮件装置、电子信息站(electronic kiosk)、计算机的装置和利用多点触摸显示器的其他装置。 
图8是根据本发明的实施例的多点触摸使能装置的示意图。多点触摸使能装置800可包含执行显示和多点触摸功能的面板801。该装置还可包括用于处理多点触摸数据的多点触摸处理电路802、用于存储指令和/或数据的存储器803(存储器可以是RAM或包含非易失性存储器的其他类型的存储器)、处理器804和用于连接各种元件的总线806。可在面板801、电路802中并且/或者通过存储在存储器中并由处理器执行的指令来实现图1所示的模块。 
虽然在此针对基于互电容的多点触控面板描述了本发明的实施例,但应理解,本发明并不限于这些实施例,而是一般可应用于所有多点触摸装置和诸如例如接近传感器(proximity sensor)装置、照相机装置等的可接收类似的基于像素的输入的其他装置,在该输入中不同的像素可在同一时间是活动的。 
虽然已参照附图结合本发明的实施例全面地描述了本发明,但应注意,各种改变和修改对于本领域技术人员来说将变得显见。这些变化和修改应被理解为被包含于本发明的由所附的权利要求限定的范围内。 

Claims (42)

1.一种用于操作多点触摸使能装置的方法,包括以下步骤:
通过在多点触摸使能装置上执行的一个或更多个应用产生一个或更多个控件实例;
将控件实例从所述一个或更多个应用发送到多点触摸实用程序;
由多点触摸实用程序接收光栅触摸数据;
由多点触摸实用程序仅对与至少一个控件实例有关的光栅触摸数据进行处理,以获得一个或更多个结果组,其中,每个结果组都与相应的控件实例相关;和
将所述一个或更多个结果组发送给所述一个或更多个应用。
2.根据权利要求1所述的方法,还包括以下步骤:
在多点触摸使能装置的显示器上显示一个或更多个界面图像,每个界面图像都与控件实例相关;和
检测一个或更多个界面图像上的触摸,
其中,光栅触摸数据包含指示所述一个或更多个界面图像上的触摸的数据;并且
其中,所述处理光栅触摸数据的步骤包含:以与控件实例相关的方式对光栅触摸数据进行处理,以获得结果组。
3.根据权利要求1所述的方法,其中,所述一个或更多个控件实例定义结果组的格式。
4.根据权利要求1所述的方法,其中,所述结果组不包含光栅触摸数据。
5.根据权利要求1所述的方法,其中,所述处理光栅触摸数据的步骤包含:处理当前的光栅触摸数据以及处理历史光栅触摸数据。
6.根据权利要求5所述的方法,其中,处理光栅触摸数据的步骤包含:将当前的光栅触摸数据与历史光栅触摸数据相比较以获得增量结果。
7.根据权利要求5所述的方法,还包括:
由多点触摸实用程序基于控件实例确定将来可能需要哪个接收的光栅触摸数据作为历史光栅触摸数据;
保存将来可能需要的接收的光栅触摸数据;和
舍弃所有其他接收的光栅触摸数据。
8.根据权利要求1所述的方法,其中,
所述处理光栅触摸数据的步骤还包括:导出中间触摸数据,该中间触摸数据采用光栅形式以外的形式;
该方法还包括:
保存中间触摸数据;和
在将来使用中间触摸数据获得增量结果。
9.根据权利要求1所述的方法,其中,光栅触摸数据包含多个二元值,每个二元值指示特定像素是否被触摸。
10.根据权利要求1所述的方法,其中,光栅触摸数据包含多个值,这些值中的每一个指示对特定像素的触摸的力量或压力。
11.根据权利要求1所述的方法,其中,每个控件实例都限定显示器的相关区域,并且,从来自显示器的用于控件实例的相关区域的触摸数据导出与各个控件实例相关的结果。
12.根据权利要求11所述的方法,其中,
一个或更多个控件实例包含指示各个控件实例的虚拟层次的层次参数;
一个或更多个控件实例被限定为不透明的;并且
处理光栅触摸数据的步骤还包括:对于每个不透明实例,去除针对被不透明实例的区域覆盖的处于不透明实例的较低层次的实例的区域的所有触摸事件。
13.根据权利要求12所述的方法,其中,一个或更多个控件实例被限定为透明的,并且,在触摸数据的处理过程中,被透明实例覆盖的实例不受影响。
14.根据权利要求1所述的方法,其中,每个控件实例都与一个或更多个控件类型中的控件类型相关。
15.根据权利要求1所述的方法,其中,控件实例中的一个是按钮控件实例,并且,与所述按钮控件实例相关的结果指示在显示器上出现并与所述按钮控件实例相关的按钮是否被按压。
16.根据权利要求1所述的方法,其中,控件实例中的一个是滑块控件实例,并且,与所述滑块控件实例相关的结果指示一个或多个触摸沿在显示器上出现并与所述滑块控件实例相关的滑块的位置的增量变化。
17.根据权利要求1所述的方法,其中,控件实例中的一个是旋钮控件实例,并且,与所述旋钮控件实例相关的结果指示一个或多个触摸沿在显示器上出现并与所述旋钮控件实例相关的旋钮的旋转取向的增量变化。
18.根据权利要求1所述的方法,其中,控件实例中的一个是导航表面控件实例,并且,与所述导航表面控件实例相关的结果指示几个手指沿导航表面的相对位置的增量变化,其中所述导航表面出现在显示器上并与导航表面控件实例相关。
19.一种用于操作多点触摸使能装置的方法,所述方法:
从一个或更多个应用接收一个或更多个控件实例;
接收光栅触摸数据;
仅对与至少一个控件实例有关的光栅触摸数据进行处理,以获得一个或更多个结果组,其中,每个结果组都与相应的控件实例相关;和
将所述一个或更多个结果组发送给所述一个或更多个应用。
20.一种用于操作多点触摸使能装置的方法,该方法包括:
通过一个或更多个应用模块向多点触摸实用程序模块发送一个或更多个控件实例,所述多点触摸实用程序模块可操作为应用模块和触摸数据之间的处理层,每个控件实例都定义用户界面元素;
在显示器上显示由控件实例定义的用户界面元素;
处理光栅触摸数据中捕捉的触摸事件;
通过仅对与至少一个控件实例有关的光栅触摸数据进行处理来产生结果;和
向所述一个或更多个应用模块发送指示界面元素上的触摸事件并与相应的控件实例相关的结果。
21.根据权利要求20所述的方法,其中,每个控件实例还包含数据,所述数据定义用于为该实例处理进入的触摸数据的方法。
22.一种用于操作多点触摸使能装置的设备,包括:
用于通过在多点触摸使能装置上执行的一个或更多个应用产生一个或更多个控件实例的装置;
用于将控件实例从所述一个或更多个应用发送到多点触摸实用程序的装置;
用于由多点触摸实用程序接收光栅触摸数据的装置;
用于由多点触摸实用程序仅对与至少一个控件实例有关的光栅触摸数据进行处理,以获得一个或更多个结果组的装置,其中,每个结果组都与相应的控件实例相关;和
用于将所述一个或更多个结果组发送给所述一个或更多个应用的装置。
23.根据权利要求22所述的设备,还包括:
用于在多点触摸使能装置的显示器上显示一个或更多个界面图像的装置,每个界面图像都与控件实例相关;和
检测一个或更多个界面图像上的触摸的装置,
其中,光栅触摸数据包含指示所述一个或更多个界面图像上的触摸的数据;并且
其中,所述用于处理光栅触摸数据的装置包含:
用于以与控件实例相关的方式对光栅触摸数据进行处理,以获得结果组的装置。
24.根据权利要求22所述的设备,其中,所述一个或更多个控件实例定义结果组的格式。
25.根据权利要求22所述的设备,其中,所述结果组不包含光栅触摸数据。
26.根据权利要求22所述的设备,其中,所述用于处理光栅触摸数据的装置包含:用于处理当前的光栅触摸数据以及处理历史光栅触摸数据的装置。
27.根据权利要求26所述的设备,其中,用于处理光栅触摸数据的装置包含:用于将当前的光栅触摸数据与历史光栅触摸数据相比较以获得增量结果的装置。
28.根据权利要求26所述的设备,还包括:
用于由多点触摸实用程序基于控件实例确定将来可能需要哪个接收的光栅触摸数据作为历史光栅触摸数据的装置;
用于保存将来可能需要的接收的光栅触摸数据的装置;和
用于舍弃所有其他接收的光栅触摸数据的装置。
29.根据权利要求22所述的设备,其中,
所述用于处理光栅触摸数据的装置还包括:用于导出中间触摸数据的装置,该中间触摸数据采用光栅形式以外的形式;
该设备还包括:
用于保存中间触摸数据的装置;和
用于在将来使用中间触摸数据获得增量结果的装置。
30.根据权利要求22所述的设备,其中,光栅触摸数据包含多个二元值,每个二元值指示特定像素是否被触摸。
31.根据权利要求22所述的设备,其中,光栅触摸数据包含多个值,这些值中的每一个指示对特定像素的触摸的力量或压力。
32.根据权利要求22所述的设备,其中,每个控件实例都限定显示器的相关区域,并且,从来自显示器的用于控件实例的相关区域的触摸数据导出与各个控件实例相关的结果。
33.根据权利要求32所述的设备,其中,
一个或更多个控件实例包含指示各个控件实例的虚拟层次的层次参数;
一个或更多个控件实例被限定为不透明的;并且
用于处理光栅触摸数据的装置还包括:对于每个不透明实例,用于去除针对被不透明实例的区域覆盖的处于不透明实例的较低层次的实例的区域的所有触摸事件的装置。
34.根据权利要求33所述的设备,其中,一个或更多个控件实例被限定为透明的,并且,在触摸数据的处理过程中,被透明实例覆盖的实例不受影响。
35.根据权利要求22所述的设备,其中,每个控件实例都与一个或更多个控件类型中的控件类型相关。
36.根据权利要求22所述的设备,其中,控件实例中的一个是按钮控件实例,并且,与所述按钮控件实例相关的结果指示在显示器上出现并与所述按钮控件实例相关的按钮是否被按压。
37.根据权利要求22所述的设备,其中,控件实例中的一个是滑块控件实例,并且,与所述滑块控件实例相关的结果指示一个或多个触摸沿在显示器上出现并与所述滑块控件实例相关的滑块的位置的增量变化。
38.根据权利要求22所述的设备,其中,控件实例中的一个是旋钮控件实例,并且,与所述旋钮控件实例相关的结果指示一个或多个触摸沿在显示器上出现并与所述旋钮控件实例相关的旋钮的旋转取向的增量变化。
39.根据权利要求22所述的设备,其中,控件实例中的一个是导航表面控件实例,并且,与所述导航表面控件实例相关的结果指示几个手指沿导航表面的相对位置的增量变化,其中所述导航表面出现在显示器上并与导航表面控件实例相关。
40.一种用于操作多点触摸使能装置的设备,该设备包括:
用于通过一个或更多个应用模块向多点触摸实用程序模块发送一个或更多个控件实例的装置,所述多点触摸实用程序模块可操作为应用模块和触摸数据之间的处理层,每个控件实例都定义用户界面元素;
用于在显示器上显示由控件实例定义的用户界面元素的装置;
用于处理光栅触摸数据中捕捉的触摸事件的装置;
用于通过仅对与至少一个控件实例有关的光栅触摸数据进行处理来产生结果的装置;和
用于向所述一个或更多个应用模块发送指示界面元素上的触摸事件并与相应的控件实例相关的结果的装置。
41.根据权利要求40所述的设备,其中,每个控件实例还包含数据,所述数据定义用于为该实例处理进入的触摸数据的方法。
42.一种用于操作多点触摸使能装置的设备,所述设备包括:
用于从一个或更多个应用接收一个或更多个控件实例的装置;
用于接收光栅触摸数据的装置;
用于仅对与至少一个控件实例有关的光栅触摸数据进行处理,以获得一个或更多个结果组的装置,其中,每个结果组都与相应的控件实例相关;和
用于将所述一个或更多个结果组发送给所述一个或更多个应用的装置。
CN200810125593.9A 2007-06-13 2008-06-13 用于操作多点触摸使能装置的方法和设备 Active CN101324828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210249484.4A CN102902473B (zh) 2007-06-13 2008-06-13 触摸数据的模式敏感处理

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/818,334 US9052817B2 (en) 2007-06-13 2007-06-13 Mode sensitive processing of touch data
US11/818,334 2007-06-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210249484.4A Division CN102902473B (zh) 2007-06-13 2008-06-13 触摸数据的模式敏感处理

Publications (2)

Publication Number Publication Date
CN101324828A CN101324828A (zh) 2008-12-17
CN101324828B true CN101324828B (zh) 2012-09-05

Family

ID=39571363

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210249484.4A Active CN102902473B (zh) 2007-06-13 2008-06-13 触摸数据的模式敏感处理
CN200810125593.9A Active CN101324828B (zh) 2007-06-13 2008-06-13 用于操作多点触摸使能装置的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210249484.4A Active CN102902473B (zh) 2007-06-13 2008-06-13 触摸数据的模式敏感处理

Country Status (7)

Country Link
US (1) US9052817B2 (zh)
CN (2) CN102902473B (zh)
DE (2) DE202008007940U1 (zh)
GB (1) GB2450208B (zh)
HK (1) HK1127651A1 (zh)
NL (1) NL2001670C2 (zh)
WO (1) WO2008157250A1 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052817B2 (en) 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
NO332210B1 (no) * 2009-03-23 2012-07-30 Cisco Systems Int Sarl Grensesnittenhet mellom videokonferansekodek og interaktiv whiteboard-tavle
US9176542B2 (en) * 2009-11-06 2015-11-03 Sony Corporation Accelerometer-based touchscreen user interface
JP5998936B2 (ja) * 2010-01-06 2016-09-28 ▲華▼▲為▼▲終▼端有限公司 ピクチャ/インターフェースを表示するための方法および端末
US9007190B2 (en) 2010-03-31 2015-04-14 Tk Holdings Inc. Steering wheel sensors
DE102011006344B4 (de) 2010-03-31 2020-03-12 Joyson Safety Systems Acquisition Llc Insassenmesssystem
DE102011006649B4 (de) 2010-04-02 2018-05-03 Tk Holdings Inc. Lenkrad mit Handsensoren
KR101746453B1 (ko) * 2010-04-12 2017-06-13 삼성전자주식회사 실감 효과 처리 시스템 및 방법
TWI443557B (zh) * 2010-09-30 2014-07-01 Wintek Corp 觸控面板資料傳輸方法
US8988087B2 (en) 2011-01-24 2015-03-24 Microsoft Technology Licensing, Llc Touchscreen testing
US8725443B2 (en) 2011-01-24 2014-05-13 Microsoft Corporation Latency measurement
US9542092B2 (en) 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
US8982061B2 (en) * 2011-02-12 2015-03-17 Microsoft Technology Licensing, Llc Angular contact geometry
US8773377B2 (en) 2011-03-04 2014-07-08 Microsoft Corporation Multi-pass touch contact tracking
US8913019B2 (en) 2011-07-14 2014-12-16 Microsoft Corporation Multi-finger detection and component resolution
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
CN103176635B (zh) * 2011-12-22 2016-04-13 腾讯科技(深圳)有限公司 多控件触控方法和系统
US8914254B2 (en) 2012-01-31 2014-12-16 Microsoft Corporation Latency measurement
US8928582B2 (en) * 2012-02-17 2015-01-06 Sri International Method for adaptive interaction with a legacy software application
WO2013154720A1 (en) 2012-04-13 2013-10-17 Tk Holdings Inc. Pressure sensor including a pressure sensitive material for use with control systems and methods of using the same
JP6260622B2 (ja) 2012-09-17 2018-01-17 ティーケー ホールディングス インク.Tk Holdings Inc. 単一層力センサ
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
US10691953B2 (en) 2013-03-15 2020-06-23 August Home, Inc. Door lock system with one or more virtual fences
US10140828B2 (en) 2015-06-04 2018-11-27 August Home, Inc. Intelligent door lock system with camera and motion detector
US9704314B2 (en) 2014-08-13 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling
US11043055B2 (en) 2013-03-15 2021-06-22 August Home, Inc. Door lock system with contact sensor
US10443266B2 (en) 2013-03-15 2019-10-15 August Home, Inc. Intelligent door lock system with manual operation and push notification
US10388094B2 (en) 2013-03-15 2019-08-20 August Home Inc. Intelligent door lock system with notification to user regarding battery status
US11527121B2 (en) 2013-03-15 2022-12-13 August Home, Inc. Door lock system with contact sensor
US11072945B2 (en) 2013-03-15 2021-07-27 August Home, Inc. Video recording triggered by a smart lock device
US10181232B2 (en) 2013-03-15 2019-01-15 August Home, Inc. Wireless access control system and methods for intelligent door lock system
US11802422B2 (en) 2013-03-15 2023-10-31 August Home, Inc. Video recording triggered by a smart lock device
US11352812B2 (en) 2013-03-15 2022-06-07 August Home, Inc. Door lock system coupled to an image capture device
US9305374B2 (en) * 2013-03-15 2016-04-05 Apple Inc. Device, method, and graphical user interface for adjusting the appearance of a control
US9470018B1 (en) 2013-03-15 2016-10-18 August Home, Inc. Intelligent door lock system with friction detection and deformed door mode operation
US9695616B2 (en) * 2013-03-15 2017-07-04 August Home, Inc. Intelligent door lock system and vibration/tapping sensing device to lock or unlock a door
US11441332B2 (en) 2013-03-15 2022-09-13 August Home, Inc. Mesh of cameras communicating with each other to follow a delivery agent within a dwelling
US11421445B2 (en) 2013-03-15 2022-08-23 August Home, Inc. Smart lock device with near field communication
US9916746B2 (en) 2013-03-15 2018-03-13 August Home, Inc. Security system coupled to a door lock system
GB2547031B (en) * 2016-02-05 2019-09-25 Cambridge Touch Tech Ltd Touchscreen panel signal processing
US11402909B2 (en) 2017-04-26 2022-08-02 Cognixion Brain computer interface for augmented reality
US11237635B2 (en) 2017-04-26 2022-02-01 Cognixion Nonverbal multi-input and feedback devices for user intended computer control and communication of text, graphics and audio
US11054971B2 (en) * 2017-05-23 2021-07-06 Salesforce.Com., Inc. Modular runtime environment
US10852926B2 (en) 2017-05-23 2020-12-01 Salesforce.Com., Inc. Filter of data presentations via user-generated links
US10360136B2 (en) 2017-05-23 2019-07-23 Salesforce.Com., Inc. Dashboard execution engine
US11327707B1 (en) 2020-04-09 2022-05-10 Cisco Technology, Inc. Multi-device interactivity system for a touch screen display
TWI734592B (zh) * 2020-08-20 2021-07-21 仁寶電腦工業股份有限公司 觸控螢幕控制方法及其系統
AU2021343369A1 (en) 2020-09-17 2023-04-20 Assa Abloy Australia Pty Limited Magnetic sensor for lock position

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000031614A1 (en) * 1998-11-25 2000-06-02 Flashpoint Technology, Inc. Digital image capture devices and methods and systems associated therewith
WO2006020304A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US588411A (en) * 1897-08-17 Pipe-coupling
JPS63108457A (ja) * 1986-10-24 1988-05-13 Brother Ind Ltd デ−タ処理装置
DE3809677A1 (de) * 1987-03-19 1988-12-01 Toshiba Kk Anzeige- und eingabegeraet
US5483261A (en) * 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
US5488204A (en) * 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5591945A (en) * 1995-04-19 1997-01-07 Elo Touchsystems, Inc. Acoustic touch position sensor using higher order horizontally polarized shear wave propagation
US5825352A (en) * 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
US5835079A (en) * 1996-06-13 1998-11-10 International Business Machines Corporation Virtual pointing device for touchscreens
US6310610B1 (en) * 1997-12-04 2001-10-30 Nortel Networks Limited Intelligent touch display
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7663607B2 (en) * 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
EP1717683A3 (en) * 1998-01-26 2010-03-17 Apple Inc. Method and apparatus for integrating manual input
US6188391B1 (en) * 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
FI117811B (fi) * 2000-05-15 2007-02-28 Nokia Corp Laite ja menetelmä näppäimen toteuttamiseksi
JP3800984B2 (ja) 2001-05-21 2006-07-26 ソニー株式会社 ユーザ入力装置
US6690365B2 (en) * 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
JP2003173237A (ja) * 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体
FI115254B (fi) * 2001-12-20 2005-03-31 Nokia Corp Kosketusnäytön käyttäminen osoitinvälineellä
US6690387B2 (en) * 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
GB0201074D0 (en) 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
US20030193481A1 (en) * 2002-04-12 2003-10-16 Alexander Sokolsky Touch-sensitive input overlay for graphical user interface
US6928619B2 (en) * 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US20040204129A1 (en) * 2002-08-14 2004-10-14 Payne David M. Touch-sensitive user interface
US20040261039A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Method and system for ordering on-screen windows for display
US7495659B2 (en) * 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
FR2866726B1 (fr) * 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
US7728821B2 (en) * 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US8888600B2 (en) * 2004-08-25 2014-11-18 Igt Emulation methods and devices for a gaming machine
US7429993B2 (en) * 2004-09-17 2008-09-30 Microsoft Corporation Method and system for presenting functionally-transparent, unobtrusive on-screen windows
US20060181519A1 (en) * 2005-02-14 2006-08-17 Vernier Frederic D Method and system for manipulating graphical objects displayed on a touch-sensitive display surface using displaced pop-ups
DE202006020369U1 (de) 2005-03-04 2008-05-21 Apple Inc., Cupertino Multifunktionale handgehaltene Vorrichtung
US7605804B2 (en) * 2005-04-29 2009-10-20 Microsoft Corporation System and method for fine cursor positioning using a low resolution imaging touch screen
US8970501B2 (en) * 2007-01-03 2015-03-03 Apple Inc. Proximity and multi-touch sensor detection and demodulation
US9052817B2 (en) 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
US8436829B1 (en) * 2012-01-31 2013-05-07 Google Inc. Touchscreen keyboard simulation for performance evaluation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000031614A1 (en) * 1998-11-25 2000-06-02 Flashpoint Technology, Inc. Digital image capture devices and methods and systems associated therewith
WO2006020304A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices

Also Published As

Publication number Publication date
HK1127651A1 (en) 2009-10-02
US9052817B2 (en) 2015-06-09
US20080309624A1 (en) 2008-12-18
GB2450208A (en) 2008-12-17
NL2001670C2 (en) 2009-09-24
NL2001670A1 (nl) 2008-12-16
GB2450208B (en) 2012-05-02
DE102008028223A1 (de) 2008-12-18
CN101324828A (zh) 2008-12-17
CN102902473A (zh) 2013-01-30
WO2008157250A1 (en) 2008-12-24
DE102008028223B4 (de) 2023-09-21
CN102902473B (zh) 2019-05-03
DE202008007940U1 (de) 2008-09-25
GB0808784D0 (en) 2008-06-18

Similar Documents

Publication Publication Date Title
CN101324828B (zh) 用于操作多点触摸使能装置的方法和设备
US9880655B2 (en) Method of disambiguating water from a finger touch on a touch sensor panel
CN103777882B (zh) 基于触摸屏的多项选中方法及装置
US20100259493A1 (en) Apparatus and method recognizing touch gesture
CN105653190B (zh) 移动通讯终端及其单手操作模式控制方法和装置
CN101198925A (zh) 用于触敏输入设备的手势
CN103793683B (zh) 手势辨识方法与电子装置
CN108596955A (zh) 一种图像检测方法、图像检测装置及移动终端
TW201439855A (zh) 用於決定有角度之接觸幾何形狀的方法及計算裝置
US11175822B2 (en) Touchscreen with group filtering
WO2019174398A1 (zh) 一种利用手势模拟鼠标操作的方法、装置及终端
CN109240554A (zh) 检测手指在无触摸屏幕附近存在的方法和系统
CN104516499A (zh) 利用用户接口的事件的设备和方法
CN103197790B (zh) 可携式电子装置及触控感测方法
CN107678540A (zh) 基于深度传感器的虚拟触屏人机交互方法、系统及装置
CN103558957A (zh) 一种移动终端屏幕操作的方法及装置
US9235338B1 (en) Pan and zoom gesture detection in a multiple touch display
CN103823584A (zh) 触控感测方法及可携式电子装置
TW201239717A (en) Method for detecting multi-object behavior of a proximity-touch detection device
CN111025039B (zh) 触摸显示屏的精准度的测试方法、装置、设备以及介质
CN103076925A (zh) 光学触控系统、光学感测模块及其运作方法
CN104375697A (zh) 一种移动设备
CN104216560A (zh) 移动设备及实现移动设备空中触控的系统、控制装置
CN103793053B (zh) 一种便携式终端的手势投影方法及装置
CN103869959B (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