CN102197359A - 对应用对象的多点触摸操纵 - Google Patents

对应用对象的多点触摸操纵 Download PDF

Info

Publication number
CN102197359A
CN102197359A CN2009801435972A CN200980143597A CN102197359A CN 102197359 A CN102197359 A CN 102197359A CN 2009801435972 A CN2009801435972 A CN 2009801435972A CN 200980143597 A CN200980143597 A CN 200980143597A CN 102197359 A CN102197359 A CN 102197359A
Authority
CN
China
Prior art keywords
application
manipulation
touch
multiple point
input
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.)
Granted
Application number
CN2009801435972A
Other languages
English (en)
Other versions
CN102197359B (zh
Inventor
R·L·汤森
T·肖
B·D·斯格特
T·A·托尔塞特
E·M·盖德
S·S·普拉丹
J·A·蒂德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102197359A publication Critical patent/CN102197359A/zh
Application granted granted Critical
Publication of CN102197359B publication Critical patent/CN102197359B/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

在此所述的操纵系统为应用提供公共平台和应用编程接口(API)以与各种多点触摸硬件设备通信,并且使得易于将多点触摸输入解释成一个或多个操纵。操纵与进行个别化的触摸输入相比更直接地映射到用户意图,并且添加对使用多点触摸接触对对象进行基本变换的支持。应用可以使用操纵来支持旋转、调整大小、以及同时平移多个对象。操纵系统输出包含旋转、比例缩放和平移信息的二维(2D)仿射变换。因此,使用该操纵系统,应用创作者可以将更加专注于建立具有触摸能力的应用并且让操纵系统来处理底层变换和与多点触摸硬件的通信。

Description

对应用对象的多点触摸操纵
背景技术
平板PC或笔输入计算机是装备有触摸屏或图形输入板/屏幕混合技术的笔记本或平板形状的移动计算机,该技术允许用户用指示笔、数字笔、或手指尖来代替键盘或鼠标来操作计算机。平板PC提供了更加自然的输入形式,因为尤其是对于那些新使用计算机的人而言,草绘和手写是比键盘和鼠标熟悉得多的输入形式。平板PC还可以更容易访问,因为那些在身体上无法打字的人能够使用平板PC的附加特征来与电子世界交互。
多点触摸是指允许计算机用户使用多个手指或输入设备(例如指示笔)控制图形应用的交互技术的集合。多点触摸实施方式常常包括识别多个同时触点的触摸硬件(例如屏幕、桌、壁等等)和软件。多点触摸与一次仅识别一个触点的传统的触摸屏(例如计算机触摸板、ATM、购物自助服务终端)不同。多点触摸硬件可以感测:使用热、手指压力、高捕获率相机、红外光、光学捕获、调谐电磁感应、超声接收机、换能器麦克风、激光测距仪、阴影捕获、以及其他机制的接触。存在多点触摸界面的许多应用,并且应用设计者和用户正在提出更多的应用。一些使用是个别化的(例如微软Surface、苹果iPhone、HTC Diamond)。作为新的输入方法,多点触摸提供新的用户体验范例的潜力。
应用在没有应用软件从多点触摸硬件接收信息的接口的情况下不能使用多点触摸硬件。遗憾的是,每个多点触摸硬件设备都包括其自己的专有接口,并且应用创作者必须具有硬件设备的特定知识来编写与该设备一起工作的软件。例如,多点触摸硬件提供商可以提供内核模式驱动器和用户模式应用接口,通过该用户模式应用接口,用户模式软件应用可以与多点触摸硬件交互以接收触摸信息。应用创作者编写与用户模式应用接口通信的软件,但是应用创作者的软件仅仅与该多点触摸硬件一起工作。具有不同的多点触摸硬件设备的计算机用户不能使用该应用创作者的软件,除非该应用创作者制作该软件的与该计算机用户的设备一起正确运行的不同版本。这导致了应用创作者的非常有限的潜在市场,减少了编写支持多点触摸交互的应用的动机,并且将最大数目的应用可用于的最流行设备的成本保持得高。
另一问题是,应用难以基于从多点触摸硬件所接收的触摸输入来确定用户的意图。触摸输入可以作为硬件在任何给定时刻感测到触摸输入之处的坐标的列表被接收。每个应用都必须包括用于解释坐标以及确定用户意图的软件。例如,如果应用接收关于两个不同触摸的信息,即第一位置处的第一触摸、然后稍后是新位置处的第二触摸,则由应用来确定:用户是否针对第一触摸使用了一个手指并且针对第二触摸使用了另一手指,或者用户是否将同一手指从一个位置滑动到另一位置以产生第一触摸和第二触摸。根据应用的目的,对用户输入的这两种不同的解释可能具有大不相同的含义。
发明内容
在此所述的操纵系统为应用提供通用的平台和应用编程接口(API)以与各种多点触摸硬件设备通信,并且使得易于将多点触摸输入解释成一个或多个操纵。操纵与进行个别化的触摸输入相比更直接地映射到用户意图,并且添加对使用多点触摸接触对对象进行基本变换的支持。应用可以使用操纵来支持旋转、调整大小、以及同时平移多个对象。操纵系统输出包含旋转、比例和平移信息的二维(2D)仿射变换。因此,使用该操纵系统,应用创作者可以更加专注于建立具有触摸能力的应用并且让操纵系统来处理底层变换和与多点触摸硬件的通信。
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
图1是示出了一个实施例中的操纵系统的组件的框图。
图2是示出了一个实施例中的操纵的典型操作环境和组件之间的数据流的数据流图。
图3是示出了一个实施例中的通过触摸输入被操纵的应用对象的显示图。
图4是示出了一个实施例中的多点触摸应用使用该操纵系统进行的输入循环处理的流程图。
图5是示出了一个实施例中的操纵系统在该系统接收触摸输入时的处理的流程图。
具体实施方式
该操纵系统为应用提供公共平台和API以与各种多点触摸硬件设备通信,并且使得易于将多点触摸输入解释成一种或多种操纵。操纵与进行个别化的触摸输入相比更直接地映射到用户意图,并且添加对使用多个触摸接触对对象进行基本变换的支持。例如,从操纵系统接收操纵的应用创作者可以在不对输入执行附加解释的情况下将用户把手指从一个位置滑动到另一位置与用户放下两个不同手指区分开。操纵提供对多个同时交互的支持。应用可以使用操纵来支持旋转、调整大小、以及同时平移多个对象(例如照片)。与典型的基于窗口的用户界面不同,不存在每次将用户束缚于单个输入的焦点或激活的概念。另外,应用可以检索操纵信息。操纵系统输出2D仿射变换,该2D仿射变换包含旋转、比例(例如缩放)以及平移(例如水平移动)信息。
接触是对多点触摸硬件的个别化的触摸。例如,当用户将其手指放置在多点触摸硬件上,将其手指在周围移动并且提起其手指时,该事件序列是单个接触。该系统用接触标识符来标识每个接触。接触在其存在的时间内保留相同的标识符。当用户在周围移动各种接触时,系统将该运动解释成一个或多个操纵。例如,如果用户将两个接触移动得彼此更近或分开更远,则该系统可以确定:该用户正在对对象进行缩放比例(例如对其进行放大或缩小)。作为另一例子,如果用户以圆周运动移动多个接触,则该系统可以将该移动解释成对象的旋转。每个应用都可以定义相关度不同的对象,因此由应用将系统的实例(称为操纵处理器)附加到用户可以在该应用内使用触摸输入进行操纵的每个对象。例如,照片浏览应用可以将操纵处理器附加到所显示的每个照片,使得用户可以在周围移动照片,对照片进行比例缩放,旋转照片等等。因此,应用创作者可以更加专注于建立具有触摸能力的应用并且让操纵系统来处理底层变换和与多点触摸硬件的通信。
图1是示出一个实施例中的操纵系统的组件的框图。操纵系统100包括硬件接口110、一个或多个操纵处理器120、接触管理器130、输入变换组件140、以及应用接口150。这些组件中的每一个都在此处进一步详细讨论。
硬件接口110与硬件通信以接收触摸接触和移动。硬件接口110可以包括若干子组件,这些子组件一起工作以提供触摸输入信息。例如,操作系统可以为多点触摸硬件制造商提供公共驱动器模型以为他们的特定硬件提供触摸信息。操作系统可以将通过该模型所接收的触摸信息翻译成窗口消息(例如在此所述的WM_TOUCH)并且将这些消息传递给应用。因此,硬件接口110可以涉及硬件、硬件驱动器以及操作系统层的协调。其结果是到操纵系统的一系列消息,这些消息标识出特定的接触(例如手指的触摸)以及该接触随时间的坐标。例如,操作系统可以在新的接触被向下放置到多点触摸硬件上时提供消息,每当接触移动时提供消息,以及在用户提起接触离开多点触摸硬件时提供消息。
一个或多个操纵处理器120使用输入变换组件140来解释与某一应用对象相关联的每个接触的移动。操纵处理器120可以确定:用户正在使用多个接触来执行单个动作。例如,用户可以用一只手的所有五个手指触摸照片并且扭转其手以指示对照片进行旋转的意图。操纵处理器120接收五个分开的接触(每个手指一个)以及每个接触的坐标在用户旋转其手时的变化。操纵处理器120确定每个接触正在抓取同一对象并且执行同一旋转。该系统将向应用通知:用户旋转了该对象,但是应用可以忽略用户是使用两个、五个还是任意特定数目的手指或其他接触来执行该旋转。这大大简化了应用的创作,因为应用创作者可以处理与应用相关的那些类型的操纵,并且让操纵系统来解释从多点触摸硬件所接收的每个低级触摸输入的含义。
每个操纵处理器120都管理与该操纵处理器相关联的接触的列表,并且在操纵处理器120接收新的低级触摸信息时存储关于这些接触的速度矢量和平移信息。接触管理器130是系统100的处理操纵处理器120的接触管理的一部分。由应用向操纵系统通知应当将哪些接触与每个操纵处理器相关联。应用可以在该应用接收低级触摸信息时例如通过使用与所接收的低级触摸信息相关联的坐标对应用对象进行命中测试来作出该确定。例如,如果用户在照片编辑应用中将3个手指放在同一照片上,则应用确定与每个手指相关联的接触是触摸同一对象,并且将这3个接触中的每个与同一操纵处理器相关联。接触管理器130代表操纵处理器120管理相关联的接触的列表,并且跟踪接触的移动以解释由用户所打算的对相关联的对象的操纵。
操纵处理器120使用输入变换组件140以单独和一齐两种方式作出关于所接收的各个接触的移动的含义的确定。例如,如果用户用两个手指操纵照片,这创建两个相应的输入接触,则操纵处理器120使用输入变换组件140来确定这两个接触之间的相对移动的含义。如果这两个接触移动得分开,则输入变换组件140可以确定用户正在对对象进行比例缩放以改变对象的大小。如果2个接触旋转,则输入变换组件140可以确定:用户正在旋转对象。如果这两个接触都在某一方向上滑动,则输入变换组件140可以确定用户正在将对象水平移动到新的位置处。尽管每种类型的移动在此都是分开描述的,但是用户可以同时作出所有三种类型的移动,并且输入变换处理器可以将总体变换报告给应用。例如,用户可以在一个移动中对对象进行旋转、比例缩放和水平移动的全部项目。
应用接口150与应用通信以接收信息并且将操纵变换提供给该应用。应用接口150从应用接收初始化信息。初始化信息可以规定应用对象针对某一对象和相关联的操纵处理器支持哪些类型的变换。例如,一些应用对象可以支持比例缩放但不支持旋转。初始化信息还可以规定对象的支点。操纵系统通过应用接口向应用提供操纵变换。例如,当操纵系统接收被系统解释成所识别的变换(例如旋转)的低级触摸输入时,该系统激发一事件以向应用通知该操纵。应用处理操纵变换以基于该变换来修改对象。例如,如果用户旋转了对象,则应用可以存储对象的新取向以在应用下次显示该对象时使用。
上面实现该系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器)。存储器和存储设备是可以用实现该系统的计算机可执行指令来编码的计算机可读介质,这表示包含该指令的计算机可读介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的各实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子设备、数码相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的一般上下文下予以描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图2是示出了一个实施例中的操纵系统的典型操作环境和组件之间的数据流的数据流图。多点触摸硬件设备通过硬件接口产生输入210。例如,该硬件可以通过由硬件制造商所提供的软件驱动器将输入210发送给操作系统。硬件接口向应用230提供输入事件220。例如,应用可以向操作系统通知应用230支持多点触摸用户输入,并注册以接收与多点触摸用户输入相关的消息。应用230接收低级触摸输入信息作为输入变化240,并且将该输入变化240转发给在此所述的操纵系统250。例如,输入变化240可以使用一组坐标来描述与硬件的一个或多个触摸接触的每个移动,所述一组坐标指示每个接触的当前位置和其他移动特性。操纵系统250解释输入变化240并且向应用230通知一个或多个操纵事件260,所述操纵事件260指示用户正在对所显示的对象执行的较高级的操纵。例如,如果接触的移动指示用户打算旋转对象,则操纵事件260指示旋转程度。
尽管该图示出了应用首先接收触摸输入并且将触摸输入传递给操纵系统,但是在一些实施例中,操纵系统直接从硬件接口接收触摸输入,解释触摸输入,并且向应用提供所解释的操纵事件。这表示一种替代架构,其提供相似的所产生的功能,但是给应用赋予对输入处理的更少控制。例如,该应用可能不能定义该系统将各个操纵处理器附加到的各个应用对象。在此所述的RTS插件是该系统的该替代架构的一个例子。
图3是示出了一个实施例中的通过触摸输入操纵的应用对象的显示图。应用可以同时显示和接收针对许多这样的对象的触摸输入。例如,这些对象可以代表存储在用户的计算机上的一个或多个照片。对象310具有由应用基于该应用的具体定义域所定义的边界320。例如,照片浏览应用可以具有代表用户照片的对象,并且该应用可以将每个所显示的照片的边缘定义成对象边界320。用户用位置330和340处的两个初始接触来触摸该对象。例如,用户可以将其拇指放置在位置330处并且将其食指放置在位置340处。然后,用户旋转其手指并且将手指移动分开,使得接触终止于位置350和360。线370和380示出了由用户的移动所执行的近似旋转。线390示出了由用户的移动所执行的近似伸展。操纵系统不是提供触摸接触330-360的各个坐标,而是可以向应用指示由用户所执行的诸如旋转程度和与伸展相关的比例缩放因子之类的变换。
图4是示出了一个实施例中的多点触摸应用使用该操纵系统进行的输入循环处理的流程图。在框410,应用接收低级触摸输入。例如,操作系统或者操纵系统的实例从多点触摸硬件接收触摸接触信息,并且将该触摸接触信息转发给该应用。在框420,该应用标识出该输入所应用于的对象。例如,该应用可以通过将所接收的输入的坐标与由该应用所显示的每个应用对象的坐标相比较来对所接收的输入的坐标进行命中测试。如果触摸输入处于所显示的应用对象的边界内,则该应用确定该触摸输入应用于该对象。在框430,该应用向操纵API发送所接收的触摸输入和关于所标识出的应用对象的信息以用于调用该操纵系统(参见图5)。例如,该应用可以为每个应用对象创建数字标识符并且在每当触摸输入对应于该对象时将该数字标识符传递给操纵系统。
在框440,该应用从操纵系统接收操纵事件,该操纵事件描述对所标识出的应用对象的一个或多个操纵。例如,该应用可以接收描述应用对象的2D仿射变换的事件。为了简化说明,框440被串行地在框430之后示出。在实际中,该应用可以在操纵系统向应用通知操纵事件以前接收许多触摸输入事件。不一定存在触摸输入事件到操纵事件的一对一映射。由于操纵事件代表低级触摸输入的较高级解释,因此多个触摸输入可以组成单个操纵事件。在框450,应用处理所接收的操纵事件。例如,如果所接收的操纵事件是旋转,则应用可以在屏幕上旋转该应用对象并且存储应用对象新位置以供在该应用再次显示该应用对象时使用。操纵系统使应用不必执行特定于某一多点触摸硬件设备的步骤或者甚至不必知道哪个硬件正在提供多点触摸输入。另外,操纵系统使应用不必处理个别化的接触运动,并且允许应用专注于处理应用对象层的变换。
在框460,应用等待下一触摸输入。例如,应用可以调用诸如微软Windows上的GetMessage之类的操纵系统提供的消息API,该消息API等待将被递送给应用的消息队列的下一消息。在判定框470,如果应用接收到下一触摸输入,则该应用循环到框410以处理该输入,否则该应用循环到框460以继续等待另外的输入。当应用关闭时,该应用退出输入循环(未示出)。
图5是示出了一个实施例中的操纵系统在该系统接收触摸输入时的处理的流程图。在框505,该系统一起接收触摸输入和标识出与该触摸输入相关联的应用对象的信息。例如,触摸输入可以包括一个或多个触摸接触的坐标或其他位置信息,并且应用对象信息可以包括如下标识符:该标识符被该应用分配给多点触摸硬件上该触摸输入所位于的某一显示的对象。在框510,该系统标识出与该应用对象相关联的操纵处理器。在判定框520,如果该系统之前还未将操纵处理器与应用对象相关联,则该系统在框530继续进行,否则该系统在框540继续进行。在框530,该系统创建操纵处理器并且将其与该应用对象相关联,然后在框540继续进行。
在判定框540,如果所接收的触摸输入指示该应用接收到新的触摸(例如触摸放下事件),则该系统在框550继续进行,否则该系统在框560继续进行。例如,用户可以做出手指与屏幕上对象的初始接触,或者将另一手指放下在(即接触)之前所触摸的对象上。在框550,该系统将新的接触添加到与操纵处理器相关联的接触的列表,并且然后在框560继续进行。在判定框560,如果所接收的触摸输入指示该应用接收到表示触摸接触已经被除去(例如触摸抬起事件)的通知,则该系统在框570继续进行,否则该系统在框580继续进行。例如,用户可以从之前所触摸的对象提起一个或多个手指。在框570,该系统从与操纵处理器相关联的接触的列表中除去该接触,并且然后在框580继续进行。在框580,该系统处理触摸输入以确定由该触摸输入所表示的任何操纵。例如,触摸移动可以指示旋转或平移操纵,而触摸接触去除可以指示操纵的完成。在框590,该系统激发操纵事件以将描述该操纵的变换信息发送给该应用。例如,该系统可以向该应用提供该对象的角旋转的程度。在框590之后,这些步骤结束。
在一些实施例中,操纵系统是基于消息的操作系统的一部分,并且该系统接收与该操作系统从硬件接收的触摸输入相关的消息。例如,使用类似于用于鼠标消息的WM_MOUSEMOVE的范例,未来版本的微软Windows可以提供包含从多点触摸硬件接收的低级触摸移动信息的WM_TOUCH消息。操纵系统还可以提供粒度更细的消息,比如WM_TOUCHDOWN(当用多点触摸硬件作出新接触时)、WM_TOUCHMOVE(当现有接触移动时)、以及WM_TOUCHUP(当接触被提离多点触摸硬件时)。接收与WM_TOUCH相关的消息的应用可以调用操纵系统并且将该消息传递给操纵系统以用于解释和处理。然后,该应用接收较高级事件,该较高级事件代表操纵系统基于所接收的低级触摸移动信息对用户所打算的操纵作出的解释。
在一些实施例中,操纵系统从诸如实时指示笔之类的专用硬件接收低级触摸移动信息。例如,微软平板PC软件开发包(SDK)提供应用创作者可用挂钩(hook)进行扩展的实时指示笔(RTS)组件。RTS挂钩从RTS硬件接收输入,并且可以对所接收的输入执行处理。操纵系统可以提供如下的挂钩:该挂钩可以被应用插入到RTS组件中以自动处理RTS以及其他输入以便如在此所述那样操纵应用对象。RTS挂钩向操纵系统提供接收输入的不同方式,但是操纵系统如之前所描述的那样解释输入并向应用激发描述该输入所蕴含的操纵的事件。用户可以使用指示笔和触摸输入的组合。例如,用户可以用指示笔绘制对象并且然后使用其手指旋转该对象。
在一些实施例中,操纵系统的操纵处理器从使用该系统的应用接收初始化信息。例如,应用可以用关于应用对象的中心位置的信息来初始化操纵处理器。这可以允许操纵处理器更好地从所接收的低级触摸输入中解释用户的意图。例如,如果用户绕应用对象的中心以弧形旋转单个触摸接触,则该处理器可以将该运动作为旋转操纵。在没有初始化信息的情况下,该处理器可以将同一移动解释成以触摸接触所移动的圆弧简单地水平移动该应用对象。因此,通过向操纵处理器提供附加的应用上下文信息,应用可以允许操纵系统更好地解释用户操纵。
在一些实施例中,操纵系统允许应用在用户操纵某一对象的全部时间内重新使用相同的操纵处理器。例如,应用可以请求:系统在应用启动时为每个应用对象创建操纵处理器并且在应用关闭以前一直使用该操纵处理器。应用也可以延迟每个操纵处理器的创建,直到用户使用触摸与某一对象交互(例如当该应用检测到对一对象的首次接触时)。在操纵处理器的寿命期间,接触可随着用户提离和触摸多点触摸硬件并且执行各种操纵而出现和消失。操纵处理器如在此所述的那样跟踪当前接触的列表和由接触移动所表示的操纵。
在一些实施例中,操纵系统延迟向应用激发事件,直到该系统已经接收到与某一操纵处理器相关联的每个接触的经更新的位置,或者直到已经经过一定时间。如果该系统过快地作出反应,比如在每个所接收的接触更新以后激发事件,则可能出现诸如似动非动(stuttering)之类的问题。例如,如果用户用两个手指触摸应用对象并且将两个手指同时沿着多点触摸硬件往下拉,则可能的是系统将稍稍在一个接触的更新之前接收另一个接触。如果该系统在该系统一接收更新时就基于接触更新而激发事件,则该系统将报告该对象正在快速地来回旋转。反之,如果该系统在接收针对第二接触的新位置以前一直等待,或者等待一定的时间段(例如100毫秒)来接收针对第二接触的更新,则该系统可以正确区分用户以相同方向移动两个接触并且更新在时间上稍微隔开地被接收的情况和用户实际上通过仅移动所述接触之一来旋转对象的情况。因此,该系统可以执行该附加的处理来提供令人满意的用户体验。
在一些实施例中,操纵系统是应用可调用的公共控制的一部分,以提供公共用户接口。微软Windows提供用于显示列表、树、按钮等等的公共控制。同样,操纵系统可以提供基于多点触摸的控制以用于以在此所述的方式操纵应用对象。例如,该系统可以提供允许用户显示一个或多个对象并操纵这些对象的散布控制。散布控制处理的是:对低级触摸输入的处理以及将该输入与某一应用对象相关联,并且该应用从该控制接收事件以处理对应用对象的操纵。例如,如果该控制指示用户调整了对象的大小,则该应用可以存储对象的新大小。
在一些实施例中,操纵系统提供单个触摸接触的增强型解释。例如如前面所述的那样,当该应用用对象的中心或其他参考点(例如角)的位置来初始化操纵处理器时,该系统可以将单个接触绕应用对象的中心的旋转解释成旋转而不是平移。类似地,该系统可以根据预先定义的含义来解释其他单个触摸移动。例如,该系统可以将用户对单个接触进行绕对象的中心的圆周旋转处理成用于对对象进行比例缩放的操纵,而不是由用户的移动字面上所蕴含的旋转。
在一些实施例中,操纵系统以三维形式执行在此所述的处理。尽管在此描述了二维多点触摸硬件,但是本领域的普通技术人员能够认识到,该系统的在此所述的处理可以在硬件可用于以三维形式提供坐标移动的情况下同样良好地应用于三维(3D)操纵。例如,检测压力或使用相机来检测用户手指的3D移动的硬件可以以三维形式向操纵系统提供移动的坐标,并且该操纵系统然后可以产生以多个3D方向描述对对象的操纵(例如旋转、比例缩放、以及平移)的3D变换。
下面的表定义了由操纵系统提供给应用以用于处理多点触摸用户输入的一个API。
Figure BPA00001357821100121
Figure BPA00001357821100131
在上面的表中,MANIPULATION_ID是由应用分配给用户可以操纵的每个应用对象的标识符。应用使用命中测试或其他常规方法来确定所接收的触摸输入应用于哪个对象,查找与该对象相关联的标识符,并且将该标识符和该触摸输入传递给操纵API以用于处理。
从上文中能够理解,在此已出于说明目的描述了操纵系统的特定实施例,但是在不偏离本发明的精神和范围的情况下可以做出各种修改。例如,尽管已经作为例子使用了旋转、比例缩放和平移操纵,但是其他类型的操纵可以基于用户想要利用多点触摸硬件来执行的任意类型的操纵与该系统一起使用。因此,本发明只受所附权利要求限制。

Claims (20)

1.一种计算机实现的用于将多点触摸输入变换成一个或多个操纵事件的方法,该方法包括:
从多点触摸硬件接收410低级触摸输入;
标识出420所接收的低级触摸输入应用于的应用对象;
向操纵API发送430所接收的低级触摸输入和关于所标识出的应用对象的信息,以用于将所接收的低级触摸输入解释成一个或多个操纵事件,其中该操纵API能够被多个应用调用并且提供应用无关的平台以用于处理多点触摸输入;
从该操纵系统接收440描述对所标识出的应用对象的一个或多个操纵的操纵事件;以及
通过修改所标识出的应用对象来处理450所接收的操纵事件,
使得该应用在不执行特定于特定多点触摸硬件的步骤并且不解释个别化的低级触摸输入的情况下接收一个或多个操纵事件。
2.如权利要求1所述的方法,其特征在于,接收低级触摸输入包括:从操作系统接收硬件触摸事件。
3.如权利要求1所述的方法,其特征在于,标识出应用对象包括:通过将所接收的低级触摸输入的坐标与由该应用所显示的对象的坐标相比较以确定该触摸输入是否处于某一应用对象的边界内,来对所接收的低级触摸输入的坐标进行命中测试。
4.如权利要求1所述的方法,其特征在于,该应用为所显示的每个应用对象创建数字标识符,并且在每当所接收的低级触摸输入对应于一对象时将该对象的数字标识符传递给该操纵API。
5.如权利要求4所述的方法,其特征在于,接收操纵事件包括:接收与所标识出的应用对象相关联的数字标识符。
6.如权利要求1所述的方法,其特征在于,接收操纵事件包括:接收描述所标识出的应用对象的2D仿射变换的信息。
7.如权利要求1所述的方法,其特征在于,所接收的操纵事件与发送给该操纵API的多个低级触摸输入相关。
8.如权利要求1所述的方法,其特征在于,所接收的操纵事件是旋转,并且其中处理所接收的操纵事件包括:在显示器上旋转该应用对象。
9.如权利要求1所述的方法,其特征在于,该应用在输入循环中执行该方法,以在该应用运行时处理所接收的多点触摸输入。
10.一种用于处理来自多点触摸硬件的触摸输入的计算机系统,该系统包括:
硬件接口110,该硬件接口110被配置为与该多点触摸硬件通信以接收触摸接触信息和所述触摸接触的移动;
一个或多个操纵处理器120,所述操纵处理器120被配置为管理对与某一应用对象相关联的每个接触的移动的解释;
接触管理器130,该接触管理器130被配置为存储关于与每个操纵处理器相关联的一个或多个接触的信息;
输入变换组件140,该输入变换组件140被配置为解释所接收的各个接触的移动的含义以产生对应用对象的操纵;以及
应用接口150,该应用接口150被配置为与该应用通信以接收接触移动信息并且将操纵变换提供给该应用。
11.如权利要求10所述的系统,其特征在于,该硬件接口协调多点触摸硬件、硬件驱动器、以及操作系统多点触摸层以提供触摸输入信息。
12.如权利要求11所述的系统,其特征在于,该操作系统多点触摸层向多点触摸硬件制造商提供公共驱动器模型,以对他们的特定硬件提供触摸信息。
13.如权利要求11所述的系统,其特征在于,该操作系统多点触摸层将从该多点触摸硬件接收的触摸信息翻译成窗口消息并且将这些消息提供给一个或多个应用。
14.如权利要求13所述的系统,其特征在于,该操作系统多点触摸层在新接触被向下放置在该多点触摸硬件上时、在接触移动时、以及在该接触被提离该多点触摸硬件时提供消息。
15.如权利要求10所述的系统,其特征在于,操纵处理器被进一步配置为确定用户正在使用多个接触来执行单个操纵。
16.如权利要求10所述的系统,其特征在于,该应用接口被进一步配置为从该应用接收初始化信息,该初始化信息规定支点和由该应用的对象所支持的操纵。
17.一种用指令编码的计算机可读存储介质,所述指令用于控制计算机系统通过一种方法将多点触摸输入解释成一个或多个应用对象操纵,该方法包括:
从应用接收505触摸输入和标识出与该触摸输入相关联的应用对象的信息;
标识出510与所标识出的应用对象相关联的操纵处理器,其中操纵处理器将该多点触摸硬件的多个接触的移动解释成对所标识出的应用对象的一个或多个操纵;
处理580所接收的触摸输入以解释由该触摸输入所表示的操纵,其中操纵至少包括下列项目中的一个或多个:对所标识出的应用对象的旋转、平移和比例缩放;以及
激发590将描述所解释的操纵的变换信息发送给该应用的操纵事件。
18.如权利要求17所述的计算机可读介质,其特征在于,进一步包括:当所接收的触摸输入指示该应用接收了新接触时,将该新接触添加到与所标识出的操纵处理器相关联的接触的列表。
19.如权利要求17所述的计算机可读介质,其特征在于,进一步包括:当所接收的触摸输入指示该应用接收了表示触摸接触被除去的通知时,从与所标识出的操纵处理器相关联的接触的列表中除去该接触。
20.如权利要求17所述的计算机可读介质,其特征在于,该计算机系统提供API,通过该API该应用提供触摸输入和接收与所标识出的应用对象相关的变换信息。
CN2009801435972A 2008-10-26 2009-10-16 对应用对象的多点触摸操纵 Active CN102197359B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/258,437 2008-10-26
US12/258,437 US8466879B2 (en) 2008-10-26 2008-10-26 Multi-touch manipulation of application objects
PCT/US2009/060974 WO2010048050A2 (en) 2008-10-26 2009-10-16 Multi-touch manipulation of application objects

Publications (2)

Publication Number Publication Date
CN102197359A true CN102197359A (zh) 2011-09-21
CN102197359B CN102197359B (zh) 2013-10-23

Family

ID=42117009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801435972A Active CN102197359B (zh) 2008-10-26 2009-10-16 对应用对象的多点触摸操纵

Country Status (7)

Country Link
US (5) US8466879B2 (zh)
EP (1) EP2342620B1 (zh)
CN (1) CN102197359B (zh)
AR (1) AR073980A1 (zh)
ES (1) ES2800976T3 (zh)
TW (1) TWI502503B (zh)
WO (1) WO2010048050A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331185A (zh) * 2013-07-22 2015-02-04 阿尔卑斯电气株式会社 输入装置
CN107431741A (zh) * 2015-03-25 2017-12-01 奥林巴斯株式会社 图像处理装置、图像处理方法以及程序

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US10705692B2 (en) 2009-05-21 2020-07-07 Sony Interactive Entertainment Inc. Continuous and dynamic scene decomposition for user interface
US20110157023A1 (en) * 2009-12-28 2011-06-30 Ritdisplay Corporation Multi-touch detection method
TWI581131B (zh) * 2010-06-15 2017-05-01 陞達科技股份有限公司 分析二維軌跡以產生至少一非線性指標之方法以及使用該方法之觸控模組
CN102339192B (zh) * 2010-07-19 2015-12-16 联想(北京)有限公司 电子设备及其显示处理方法
USD680125S1 (en) * 2010-11-16 2013-04-16 Apple Inc. Display screen or portion thereof with graphical user interface
TWI417782B (zh) * 2010-11-16 2013-12-01 Altek Corp 具有觸控顯示介面之電子裝置及依時間區間顯示影像圖示之方法
US9152395B2 (en) 2010-12-13 2015-10-06 Microsoft Technology Licensing, Llc Response to user input based on declarative mappings
US9244545B2 (en) 2010-12-17 2016-01-26 Microsoft Technology Licensing, Llc Touch and stylus discrimination and rejection for contact sensitive computing devices
KR101854582B1 (ko) * 2010-12-20 2018-05-03 애플 인크. 이벤트 인식
US9201520B2 (en) * 2011-02-11 2015-12-01 Microsoft Technology Licensing, Llc Motion and context sharing for pen-based computing inputs
US20120249468A1 (en) * 2011-04-04 2012-10-04 Microsoft Corporation Virtual Touchpad Using a Depth Camera
US9727227B2 (en) * 2011-07-28 2017-08-08 Microsoft Technology Licensing, Llc Multi-touch remoting
US20130027433A1 (en) * 2011-07-29 2013-01-31 Motorola Mobility, Inc. User interface and method for managing a user interface state between a locked state and an unlocked state
TWI465960B (en) * 2011-08-30 2014-12-21 Three-dimensional human interface system and method thereof
US9658715B2 (en) 2011-10-20 2017-05-23 Microsoft Technology Licensing, Llc Display mapping modes for multi-pointer indirect input devices
US9274642B2 (en) 2011-10-20 2016-03-01 Microsoft Technology Licensing, Llc Acceleration-based interaction for multi-pointer indirect input devices
US9367230B2 (en) 2011-11-08 2016-06-14 Microsoft Technology Licensing, Llc Interaction models for indirect interaction devices
KR101383840B1 (ko) * 2011-11-17 2014-04-14 도시바삼성스토리지테크놀러지코리아 주식회사 리모트 컨트롤러와, 이를 이용한 제어 시스템 및 제어 방법
US9389679B2 (en) 2011-11-30 2016-07-12 Microsoft Technology Licensing, Llc Application programming interface for a multi-pointer indirect touch input device
US9069968B2 (en) * 2012-01-30 2015-06-30 Nokia Technologies Oy Method and apparatus providing privacy benchmarking for mobile application development
US8854325B2 (en) 2012-02-29 2014-10-07 Blackberry Limited Two-factor rotation input on a touchscreen device
JP5502943B2 (ja) * 2012-06-29 2014-05-28 楽天株式会社 情報処理装置、認証装置、情報処理方法及び情報処理プログラム
KR102073601B1 (ko) 2012-07-25 2020-02-06 삼성전자주식회사 사용자 단말 장치 및 그의 제어 방법
US10222975B2 (en) 2012-08-27 2019-03-05 Apple Inc. Single contact scaling gesture
US9405379B2 (en) * 2013-06-13 2016-08-02 Microsoft Technology Licensing, Llc Classification of user input
EP3019938B1 (en) 2013-07-08 2018-08-22 Elo Touch Solutions, Inc. Multi-user multi-touch projected capacitance touch sensor
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US9384335B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content delivery prioritization in managed wireless distribution networks
US9384334B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content discovery in managed wireless distribution networks
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9870083B2 (en) 2014-06-12 2018-01-16 Microsoft Technology Licensing, Llc Multi-device multi-user sensor correlation for pen and computing device interaction
US9727161B2 (en) 2014-06-12 2017-08-08 Microsoft Technology Licensing, Llc Sensor correlation for pen and touch-sensitive computing device interaction
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
TWI578213B (zh) * 2014-12-11 2017-04-11 義隆電子股份有限公司 觸控信號的處理方法及電腦系統
CN105808082B (zh) * 2014-12-30 2020-10-09 深圳富泰宏精密工业有限公司 多点触摸处理系统及方法
US10120735B2 (en) 2015-03-30 2018-11-06 Microsoft Technology Licensing, Llc Touch application programming interfaces
EP3093767A1 (en) * 2015-05-12 2016-11-16 Optofidelity OY Method, apparatus and computer program product for testing a device
US11029836B2 (en) * 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
US20170277311A1 (en) * 2016-03-25 2017-09-28 Microsoft Technology Licensing, Llc Asynchronous Interaction Handoff To System At Arbitrary Time
EP3532916A4 (en) 2016-10-26 2020-07-01 Soroco Private Limited SYSTEMS AND METHODS FOR DISCOVERING AUTOMATIC TASKS
US10507385B2 (en) 2017-01-25 2019-12-17 Kieran S. Lyden Game controller
US11816112B1 (en) 2020-04-03 2023-11-14 Soroco India Private Limited Systems and methods for automated process discovery
USD940737S1 (en) 2020-06-21 2022-01-11 Apple Inc. Display screen or portion thereof with graphical user interface
CN112202965B (zh) * 2020-09-23 2021-06-22 广州华欣电子科技有限公司 通信设备控制方法、装置、系统和存储介质

Family Cites Families (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153577A (en) 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US5261098A (en) * 1991-08-28 1993-11-09 Sun Microsystems, Inc. Method and apparatus for deriving object type and obtaining object type attribute values
JP2827612B2 (ja) 1991-10-07 1998-11-25 富士通株式会社 タッチパネル装置およびタッチパネル装置におけるオブジェクトの表示方法。
US7345675B1 (en) 1991-10-07 2008-03-18 Fujitsu Limited Apparatus for manipulating an object displayed on a display device by using a touch screen
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5875108A (en) * 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
JP3244798B2 (ja) 1992-09-08 2002-01-07 株式会社東芝 動画像処理装置
US5563632A (en) 1993-04-30 1996-10-08 Microtouch Systems, Inc. Method of and apparatus for the elimination of the effects of internal interference in force measurement systems, including touch - input computer and related displays employing touch force location measurement techniques
US5553224A (en) * 1993-08-04 1996-09-03 Xerox Corporation Method for dynamically maintaining multiple structural interpretations in graphics system
US5621434A (en) * 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5650941A (en) * 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5495566A (en) * 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
US5692143A (en) * 1994-12-30 1997-11-25 International Business Machines Corporation Method and system for recalling desktop states in a data processing system
ATE199042T1 (de) 1995-03-10 2001-02-15 Heidenhain Gmbh Dr Johannes Mehrkoordinaten-tastkopf mit gleichen auslenkungen
US5691898A (en) * 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5798769A (en) * 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US5790114A (en) * 1996-10-04 1998-08-04 Microtouch Systems, Inc. Electronic whiteboard with multi-functional user interface
US6636197B1 (en) 1996-11-26 2003-10-21 Immersion Corporation Haptic feedback effects for control, knobs and other interface devices
US6005551A (en) 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7840912B2 (en) 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US20070177804A1 (en) * 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
EP1717681B1 (en) * 1998-01-26 2015-04-29 Apple Inc. Method for integrating manual input
US6529210B1 (en) 1998-04-08 2003-03-04 Altor Systems, Inc. Indirect object manipulation in a simulation
JP2000089913A (ja) 1998-09-08 2000-03-31 Gunze Ltd タッチパネル入力座標変換装置
US6154210A (en) * 1998-11-25 2000-11-28 Flashpoint Technology, Inc. Method and system for implementing button interface compatibility in touch-screen equipped digital imaging device
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US6597378B1 (en) * 2000-01-18 2003-07-22 Seiko Epson Corporation Display device, portable information processing apparatus, information storage medium, and electronic apparatus
US6822635B2 (en) * 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
GB0008537D0 (en) * 2000-04-06 2000-05-24 Ananova Ltd Character animation
US6590568B1 (en) 2000-11-20 2003-07-08 Nokia Corporation Touch screen drag and drop input technique
US7039234B2 (en) * 2001-07-19 2006-05-02 Microsoft Corporation Electronic ink as a software object
US7038670B2 (en) 2002-08-16 2006-05-02 Sipix Imaging, Inc. Electrophoretic display with dual mode switching
US20030225890A1 (en) * 2002-06-03 2003-12-04 Dunstan Robert A. State token for thin client devices
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7027054B1 (en) 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US7103852B2 (en) 2003-03-10 2006-09-05 International Business Machines Corporation Dynamic resizing of clickable areas of touch screen applications
US7884804B2 (en) 2003-04-30 2011-02-08 Microsoft Corporation Keyboard with input-sensitive display device
US7324121B2 (en) 2003-07-21 2008-01-29 Autodesk, Inc. Adaptive manipulators
JP3968717B2 (ja) 2003-09-25 2007-08-29 松下電工株式会社 照明器具
US7302650B1 (en) * 2003-10-31 2007-11-27 Microsoft Corporation Intuitive tools for manipulating objects in a display
US7495659B2 (en) * 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US7167162B2 (en) 2003-12-12 2007-01-23 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Apparatus and method for controlling a screen pointer
US7961909B2 (en) 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
US7826641B2 (en) * 2004-01-30 2010-11-02 Electronic Scripting Products, Inc. Apparatus and method for determining an absolute pose of a manipulated object in a real three-dimensional environment with invariant features
US7345681B2 (en) * 2004-02-17 2008-03-18 Microsoft Corporation Pen data capture and injection
FR2866726B1 (fr) 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
WO2005125250A1 (en) 2004-06-22 2005-12-29 Nortel Networks Limited Soft handoff in ofdma system
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
US7653883B2 (en) * 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
CN103365595B (zh) 2004-07-30 2017-03-01 苹果公司 用于触敏输入设备的手势
US7724242B2 (en) 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7434173B2 (en) 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US20060077183A1 (en) 2004-10-08 2006-04-13 Studt Peter C Methods and systems for converting touchscreen events into application formatted data
US7208730B2 (en) * 2004-10-14 2007-04-24 International Business Machines Corporation Programmable molecular manipulating devices
US7683883B2 (en) 2004-11-02 2010-03-23 Pierre Touma 3D mouse and game controller based on spherical coordinates system and system for use
US7711681B2 (en) * 2004-11-05 2010-05-04 Accenture Global Services Gmbh System for distributed information presentation and interaction
US7574593B2 (en) * 2004-12-03 2009-08-11 Hewlett-Packard Development Company, L.P. Persistent memory manipulation using EFI
DE102004060405A1 (de) 2004-12-14 2006-07-06 Voith Paper Patent Gmbh Verfahren und Vorrichtung zum Beladen von in einer Suspension enthaltenen Fasern oder enthaltenem Zellstoff mit einem Füllstoff
US7728825B2 (en) * 2005-03-22 2010-06-01 Microsoft Corporation Targeting in a stylus-based user interface
US7499058B2 (en) * 2005-04-22 2009-03-03 Microsoft Corporation Programmatical access to handwritten electronic ink in a tree-based rendering environment
US7928959B1 (en) * 2005-05-05 2011-04-19 Imi Innovations Inc. System and method for multiple independent computer inputs using unique device and source identification systems
US20060250352A1 (en) * 2005-05-05 2006-11-09 Mice Technoligies, Inc. System and method for improved cursor functionality
KR100811160B1 (ko) * 2005-06-02 2008-03-07 삼성전자주식회사 사용자명령을 3차원적으로 입력가능한 전자장치
US8085318B2 (en) * 2005-10-11 2011-12-27 Apple Inc. Real-time image capture and manipulation based on streaming data
US20060292531A1 (en) * 2005-06-22 2006-12-28 Gibson Kenneth H Method for developing cognitive skills
US7463263B2 (en) * 2005-07-15 2008-12-09 Sap Portals Israel Ltd. Declarative specification of model visualizations
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US8355410B2 (en) 2007-08-17 2013-01-15 At&T Intellectual Property I, L.P. Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol
CN102169415A (zh) * 2005-12-30 2011-08-31 苹果公司 具有多重触摸输入的便携式电子设备
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US20070174490A1 (en) * 2006-01-25 2007-07-26 Greystripe Inc. System and methods for managing content in pre-existing mobile applications
US8681098B2 (en) * 2008-04-24 2014-03-25 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US8334841B2 (en) * 2006-03-13 2012-12-18 Navisense Virtual user interface method and system thereof
US9395905B2 (en) 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
US9063647B2 (en) * 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
US8924269B2 (en) * 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
KR100866484B1 (ko) 2006-05-17 2008-11-03 삼성전자주식회사 다접점 터치 센서를 이용한 손가락의 이동 감지 장치 및방법
US8169421B2 (en) 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US8269725B2 (en) * 2006-06-28 2012-09-18 Microsoft Corporation Input simulation system for touch based devices
US20120208639A1 (en) 2006-07-14 2012-08-16 Ailive Inc. Remote control with motion sensitive devices
US9007299B2 (en) 2006-07-14 2015-04-14 Ailive Inc. Motion control used as controlling device
US20080030486A1 (en) 2006-08-04 2008-02-07 Quiteso Technologies, Llc Multi-functional pen input device
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8147316B2 (en) * 2006-10-10 2012-04-03 Wms Gaming, Inc. Multi-player, multi-touch table for use in wagering game systems
US20080122878A1 (en) * 2006-11-24 2008-05-29 Keefe Gary W Apparatus and method for publishing computer-readable media
US8970501B2 (en) 2007-01-03 2015-03-03 Apple Inc. Proximity and multi-touch sensor detection and demodulation
US9311528B2 (en) * 2007-01-03 2016-04-12 Apple Inc. Gesture learning
US7924271B2 (en) * 2007-01-05 2011-04-12 Apple Inc. Detecting gestures on multi-event sensitive devices
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US8970503B2 (en) * 2007-01-05 2015-03-03 Apple Inc. Gestures for devices having one or more touch sensitive surfaces
US7907125B2 (en) * 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US7877707B2 (en) * 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US7844915B2 (en) * 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7903115B2 (en) * 2007-01-07 2011-03-08 Apple Inc. Animations
US20080168402A1 (en) * 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8656311B1 (en) 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
WO2008095139A2 (en) * 2007-01-31 2008-08-07 Perceptive Pixel, Inc. Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques
US8436815B2 (en) * 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8194117B2 (en) 2007-08-08 2012-06-05 Qnx Software Systems Limited Video phone system
US20110210931A1 (en) * 2007-08-19 2011-09-01 Ringbow Ltd. Finger-worn device and interaction methods and communication methods
US20090079745A1 (en) 2007-09-24 2009-03-26 Wey Fun System and method for intuitive interactive navigational control in virtual environments
US9857872B2 (en) 2007-12-31 2018-01-02 Apple Inc. Multi-touch display screen with localized tactile feedback
WO2009093241A2 (en) * 2008-01-23 2009-07-30 N-Trig Ltd. Graphical object manipulation with a touch sensitive screen
US20090273560A1 (en) * 2008-02-04 2009-11-05 Massachusetts Institute Of Technology Sensor-based distributed tangible user interface
US20090207175A1 (en) 2008-02-15 2009-08-20 Apple Inc. Animation Using Animation Effect and Trigger Element
US20090213083A1 (en) 2008-02-26 2009-08-27 Apple Inc. Simulation of multi-point gestures with a single pointing device
US8797271B2 (en) * 2008-02-27 2014-08-05 Microsoft Corporation Input aggregation for a multi-touch device
WO2009108334A2 (en) * 2008-02-28 2009-09-03 New York University Method and apparatus for providing input to a processor, and a sensor pad
US8416196B2 (en) * 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8717305B2 (en) * 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
EP2963675A1 (en) 2008-03-05 2016-01-06 The Board of Trustees of The University of Illinois Stretchable and foldable electronic devices
US20100149073A1 (en) * 2008-11-02 2010-06-17 David Chaum Near to Eye Display System and Appliance
RU2008113045A (ru) 2008-04-07 2008-08-20 Александр Виль мович Казакевич (RU) Способ ввода информации с компактной сенсорной панели (варианты)
US8154524B2 (en) 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
WO2010006277A1 (en) * 2008-07-11 2010-01-14 Wms Gaming Inc. Methods of receiving electronic wagers in a wagering game via a handheld electronic wager input device
US20100214243A1 (en) 2008-07-15 2010-08-26 Immersion Corporation Systems and Methods For Interpreting Physical Interactions With A Graphical User Interface
US8237807B2 (en) * 2008-07-24 2012-08-07 Apple Inc. Image capturing device with touch screen for adjusting camera settings
US8390577B2 (en) * 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US8142283B2 (en) * 2008-08-20 2012-03-27 Cfph, Llc Game of chance processing apparatus
US8654085B2 (en) * 2008-08-20 2014-02-18 Sony Corporation Multidimensional navigation for touch sensitive display
US20100053111A1 (en) * 2008-09-04 2010-03-04 Sony Ericsson Mobile Communications Ab Multi-touch control for touch sensitive display
US8421756B2 (en) * 2008-09-23 2013-04-16 Sony Ericsson Mobile Communications Ab Two-thumb qwerty keyboard
US8810522B2 (en) 2008-09-29 2014-08-19 Smart Technologies Ulc Method for selecting and manipulating a graphical object in an interactive input system, and interactive input system executing the method
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
WO2010062479A1 (en) 2008-11-02 2010-06-03 David Chaum System and apparatus for eyeglass appliance platform
US8866699B2 (en) 2008-12-02 2014-10-21 Fuji Xerox Co., Ltd. Systems and methods for interacting with mobile devices using external displays
US8957918B2 (en) 2009-11-03 2015-02-17 Qualcomm Incorporated Methods for implementing multi-touch gestures on a single-touch touch surface
US8232990B2 (en) * 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
US8878787B2 (en) 2010-08-13 2014-11-04 Fujitsu Limited Multi-touch user input based on multiple quick-point controllers
JP5100809B2 (ja) 2010-09-27 2012-12-19 京セラ株式会社 液晶表示装置およびそれを用いた表示体
US20140096092A1 (en) 2011-03-20 2014-04-03 William J. Johnson System and Method for Indirect Manipulation of User Interface Object(s)
US20130162519A1 (en) 2011-12-23 2013-06-27 Sap Ag Cross-platform human input customization
US9311750B2 (en) 2012-06-05 2016-04-12 Apple Inc. Rotation operations in a mapping application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331185A (zh) * 2013-07-22 2015-02-04 阿尔卑斯电气株式会社 输入装置
CN104331185B (zh) * 2013-07-22 2018-02-02 阿尔卑斯电气株式会社 输入装置
CN107431741A (zh) * 2015-03-25 2017-12-01 奥林巴斯株式会社 图像处理装置、图像处理方法以及程序
CN107431741B (zh) * 2015-03-25 2020-05-01 奥林巴斯株式会社 图像处理装置、图像处理方法以及记录介质

Also Published As

Publication number Publication date
US8884907B2 (en) 2014-11-11
ES2800976T3 (es) 2021-01-07
EP2342620A4 (en) 2017-03-15
TW201020919A (en) 2010-06-01
WO2010048050A2 (en) 2010-04-29
US10198101B2 (en) 2019-02-05
US9477333B2 (en) 2016-10-25
TWI502503B (zh) 2015-10-01
EP2342620A2 (en) 2011-07-13
US20100103117A1 (en) 2010-04-29
US20150022478A1 (en) 2015-01-22
EP2342620B1 (en) 2020-04-22
AR073980A1 (es) 2010-12-15
US20130278529A1 (en) 2013-10-24
CN102197359B (zh) 2013-10-23
WO2010048050A3 (en) 2010-07-08
US20190113997A1 (en) 2019-04-18
US20170115760A1 (en) 2017-04-27
US8466879B2 (en) 2013-06-18

Similar Documents

Publication Publication Date Title
CN102197359B (zh) 对应用对象的多点触摸操纵
CN102197377B (zh) 多触摸对象惯性模拟
US9285907B2 (en) Recognizing multiple input point gestures
CN101730874B (zh) 基于免接触的手势的输入
US9740321B2 (en) Method for operating application program and mobile electronic device using the same
US8726194B2 (en) Item selection using enhanced control
JP4284855B2 (ja) 情報入出力システム及び情報入出力方法、並びにプログラム記憶媒体
US20090167882A1 (en) Electronic device and operation method thereof
CN104808942A (zh) 用于web页面的触摸事件处理
CN103955339A (zh) 一种终端操作方法及终端设备
CN109791468A (zh) 用于双手控制的用户界面
CN101869484A (zh) 具有触摸屏的医疗诊断装置及其操控方法
US20130127867A1 (en) Freestyle drawing supported by stencil edge shapes
CN101859177B (zh) 一种在智能电子装置上调用和操作应用程序的方法及装置
CN113052078A (zh) 空中书写轨迹识别方法、装置、存储介质及电子设备
Cardoso et al. Interaction tasks and controls for public display applications
Dengel et al. Touch & Write: Penabled Collaborative Intelligence
Quigley et al. Face-to-face collaborative interfaces
Cardoso et al. Research Article Interaction Tasks and Controls for Public Display Applications
Mäkelä Capturing movement for interaction

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.