CN107636594B - 用于处理触摸输入的设备和方法 - Google Patents

用于处理触摸输入的设备和方法 Download PDF

Info

Publication number
CN107636594B
CN107636594B CN201680028280.4A CN201680028280A CN107636594B CN 107636594 B CN107636594 B CN 107636594B CN 201680028280 A CN201680028280 A CN 201680028280A CN 107636594 B CN107636594 B CN 107636594B
Authority
CN
China
Prior art keywords
touch
locations
touch input
user interface
location
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
CN201680028280.4A
Other languages
English (en)
Other versions
CN107636594A (zh
Inventor
B·D·尼洛
D·M·查恩
J·A·肖
J·C·比弗
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 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 Inc filed Critical Apple Inc
Priority to CN202110190515.2A priority Critical patent/CN112732161A/zh
Priority to CN202110190405.6A priority patent/CN112783416B/zh
Publication of CN107636594A publication Critical patent/CN107636594A/zh
Application granted granted Critical
Publication of CN107636594B publication Critical patent/CN107636594B/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
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/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
    • G06F3/0412Digitisers structurally integrated in a display
    • 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
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了具有触敏表面和显示器的电子设备,该电子设备以第一显示速率显示用户界面。在显示用户界面时,设备以比第一显示速率大的第一检测速率检测触敏表面上一系列位置处触摸输入的移动;以及在一系列更新时间中的每个更新时间,根据触摸输入的该一系列位置的所选子集将用户界面从相应当前状态更新为相应下一状态。该一系列位置的每个所选子集包括触摸输入的多个位置。

Description

用于处理触摸输入的设备和方法
技术领域
本文整体涉及具有触敏表面的电子设备,包括但不限于具有接收触摸输入的触敏表面的电子设备。
背景技术
触敏表面作为计算机和其他电子计算设备的输入设备的使用在近年来显著增长。示例性触敏表面包括触摸板和触摸屏显示器。此类表面广泛地用于操纵显示器上的用户界面对象。
示例性操纵包括调整一个或多个用户界面对象的位置和/或尺寸或激活按钮或打开由用户界面对象表示的文件/应用程序,以及将元数据与一个或多个用户界面对象相关联或以其他方式操纵用户界面。示例性用户界面对象包括数字图像、视频、文本、图标、控制元件(诸如按钮)、以及其他图形。在某些情况下,用户将需要对以下各项中的用户界面对象执行此类操纵:文件管理程序(例如,来自Apple Inc.(Cupertino,California)的Finder);图像管理应用程序(例如,来自Apple Inc.(Cupertino,California)的Aperture、iPhoto、Photos);数字内容(例如,视频和音乐)管理应用程序(例如,来自Apple Inc.(Cupertino,California)的iTunes);绘图应用程序;展示应用程序(例如,来自Apple Inc.(Cupertino,California)的Keynote);文字处理应用程序(例如,来自Apple Inc.(Cupertino,California)的Pages);网站创建应用程序(例如,来自Apple Inc.(Cupertino,California)的iWeb);盘编辑应用程序(例如,来自Apple Inc.(Cupertino,California)的iDVD);或电子表格应用程序(例如,来自Apple Inc.(Cupertino,California)的Numbers)。
但是,触摸输入的快速移动导致触摸输入的实际位置与触摸输入在用户界面中如何被反映之间存在不一致。例如,用户界面可能以一定延迟而被更新,使得在触摸输入快速移动时用户界面不可能及时地反映触摸输入的位置。这对用户造成了认知负担。此外,这可能导致操控用户界面对象错误并可能需要反复校正,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。
发明内容
因此,本公开为电子设备提供更快、更有效率并且更精确的方法和界面以用于操控用户界面对象。此类方法和界面任选地补充或替换用于操控用户界面对象的常规方法。此类方法和界面减少了来自用户的输入的数量、程度、和/或性质,并且产生更有效的人机界面。另外,此类方法减少处理触摸输入所消耗的处理功率,节省功率,改善用户输入的准确性,减少不必要/无关/重复输入,并可能减少存储器使用。对于电池驱动的设备,此类方法和界面节省电池电力并且增长两次电池充电之间的时间。
借助所公开的设备减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,该设备是个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,该设备具有触摸板。在一些实施方案中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,设备具有图形用户界面(GUI)、一个或多个处理器、存储器、以及被存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括图像编辑、绘图、展示、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、记笔记和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。另选地或除此之外,用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在具有显示器和触敏表面的电子设备处执行一种方法。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元。所述方法包括:以第一显示速率显示用户界面;在显示用户界面时,以比第一显示速率大的第一检测速率检测触敏表面上一系列位置处触摸输入的移动;以及在一系列更新时间中每一者处,根据触摸输入的这一系列位置的所选子集将用户界面从相应当前状态更新为相应下一状态,这一系列位置的每个所选子集包括触摸输入的多个位置。
根据一些实施方案,在具有显示器和触敏表面的电子设备处执行一种方法。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元。所述方法包括:显示以第一显示速率更新的第一软件应用程序的用户界面;以及在显示根据第一显示速率的用户界面的第一帧时:检测触敏表面上触摸输入的相应移动;以及在独立于应用程序的触摸处理模块处:基于第一软件应用程序的触摸处理标准,选择在相应移动期间所检测到的触摸输入的相应触摸位置来标识为相应移动的代表性触摸位置;以及向与触摸处理模块不同的第一软件应用程序的特定于应用程序的部分发送将相应触摸位置标识为相应移动的代表性触摸位置的触摸输入的触摸位置信息。所述方法还包括在第一软件应用程序处根据触摸位置信息更新用户界面。
根据一些实施方案,在具有显示器和触敏表面的电子设备处执行一种方法。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元。所述方法包括:以第一显示速率显示用户界面;以及在显示根据第一显示速率的用户界面时,检测触摸输入的移动,包括在触敏表面上第一组顺序位置处检测触摸输入。第一组顺序位置包括触敏表面上的多个位置。所述方法还包括基于第一组顺序位置中的多个位置为触摸输入预测触敏表面上的第一组一个或多个所预测位置。所述方法还包括根据触敏表面上触摸输入的第一组一个或多个所预测位置更新用户界面。
根据一些实施方案,在具有显示器和触敏表面的电子设备处执行一种方法。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元。所述方法包括:显示以第一显示速率更新的第一软件应用程序的用户界面;以及以比第一显示速率高的第一检测速率检测触敏表面上触摸输入的相应移动。所述方法还包括在独立于应用程序的触摸处理模块处,向第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息,触摸位置信息标识:触敏表面上触摸输入的一个或多个所预测位置;和触敏表面上触摸输入的一个或多个强度位置处触摸输入的一个或多个所预测强度值,所述一个或多个强度位置至少包括所述一个或多个所预测位置的子集。所述方法还包括在第一软件应用程序处处理触摸位置信息。
根据一些实施方案,一种电子设备包括被配置为显示用户界面的显示单元;用于接收接触的触敏表面单元;以及与显示单元和触敏表面单元耦接的处理单元。处理单元被配置为:以第一显示速率启用对用户界面的显示;在用户界面被显示时,以比第一显示速率高的第一检测速率检测触敏表面单元上一系列位置处触摸输入的移动;以及在一系列更新时间中每一者处,根据触摸输入的这一系列位置的所选子集将用户界面从相应当前状态更新为相应下一状态,这一系列位置的每个所选子集包括触摸输入的多个位置。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。
根据一些实施方案,一种电子设备包括被配置为显示用户界面的显示单元;用于接收接触的触敏表面单元;以及与显示单元和触敏表面单元耦接的处理单元。处理单元被配置为:启用对以第一显示速率更新的第一软件应用程序的用户界面的显示;在根据第一显示速率的用户界面的第一帧被显示时:检测触敏表面单元上触摸输入的相应移动;以及在独立于应用程序的触摸处理模块处:基于第一软件应用程序的触摸处理标准,选择在相应移动期间所检测到的触摸输入的相应触摸位置来标识为相应移动的代表性触摸位置;以及向与触摸处理模块不同的第一软件应用程序的特定于应用程序的部分发送将相应触摸位置标识为相应移动的代表性触摸位置的触摸输入的触摸位置信息;以及在第一软件应用程序处,根据触摸位置信息更新用户界面。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。
根据一些实施方案,一种电子设备包括被配置为显示用户界面的显示单元;用于接收接触的触敏表面单元;以及与显示单元和触敏表面单元耦接的处理单元。处理单元被配置为:以第一显示速率启用对用户界面的显示;在显示根据第一显示速率的用户界面时:检测触摸输入的移动,包括在触敏表面单元上第一组顺序位置处检测触摸输入,其中第一组顺序位置包括触敏表面单元上的多个位置;以及基于第一组顺序位置中的多个位置预测触敏表面单元上的第一组一个或多个所预测位置;以及根据触敏表面单元上触摸输入的第一组一个或多个所预测位置更新用户界面。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。
根据一些实施方案,一种电子设备包括被配置为显示用户界面的显示单元;用于接收接触的触敏表面单元;以及与显示单元和触敏表面单元耦接的处理单元。处理单元被配置为:启用对以第一显示速率更新的第一软件应用程序的用户界面的显示;以比第一显示速率高的第一检测速率检测触敏表面单元上触摸输入的相应移动;在独立于应用程序的触摸处理模块处,向第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息,触摸位置信息标识:触敏表面单元上触摸输入的一个或多个所预测位置;和触敏表面单元上触摸输入的一个或多个强度位置处触摸输入的一个或多个所预测强度值,所述一个或多个强度位置至少包括所述一个或多个所预测位置的子集;以及在第一软件应用程序处,处理触摸位置信息。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。在一些实施方案中,电子设备包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元,并且处理单元与所述一个或多个传感器单元耦接。
根据一些实施方案,电子设备包括显示器、触敏表面、一个或多个处理器、存储器、一个或多个程序、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器;所述一个或多个程序被存储在存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行或导致执行本文所述的方法中的任一个方法的操作的指令。根据一些实施方案,一种计算机可读存储介质(例如非暂态计算机可读存储介质、或者另选地,暂态计算机可读存储介质)在其中存储有指令,指令在被具有显示器、触敏表面、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器的电子设备执行时使电子设备执行或导致执行本文所述的方法中的任一个方法的操作。根据一些实施方案,具有显示器、触敏表面、存储器、用于执行存储在存储器中的一个或多个程序的一个或多个处理器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器的电子设备上的一种图形用户界面包括在本文所述的任何方法中所显示的一个或多个元素,所述元素响应于输入而被更新,如本文所述的任何方法中所描述的。根据一些实施方案,一种电子设备包括:显示器、触敏表面、以及用于执行或导致执行本文所述的方法中的任一个方法的操作的装置。电子设备任选地包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器和/或用于检测与触敏表面的接触的强度的一个或多个传感器。根据一些实施方案,一种用于在具有显示器和触敏表面的电子设备中使用的信息处理设备包括用于执行或导致执行本文所述的方法中的任一个方法的操作的装置。电子设备任选地包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器和/或用于检测与触敏表面的接触的强度的一个或多个传感器。
因此,为具有显示器、触敏表面和任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器的电子设备提供了更快、更有效的方法和界面以用于操控用户界面对象,从而提高此类设备的效能、效率和用户满意度。此类方法和界面可补充或替换用于操控用户界面对象的常规方法。
附图说明
为了更好地理解各种所描述的实施方案,应该结合以下附图参考下面的具体实施方式,在附图中,在所有附图中类似的附图标号指示对应的部分。
图1A是示出根据一些实施例的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。
图1C是示出根据一些实施方案的事件对象的传送的框图。
图1D是示出根据一些实施方案的事件对象的结构的框图。
图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图4是根据一些实施方案的示例性电子触笔的框图。
图5A至图5B示出了根据一些实施方案的触笔相对于触敏表面的姿势状态。
图6A示出根据一些实施方案的便携式多功能设备上应用程序菜单的示例性用户界面。
图6B示出了根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图7A至图7OO示出了根据一些实施方案的用于基于合并的和/或所预测的触摸位置和相关操作更新用户界面的示例性用户界面。
图8A至图8B是示出根据一些实施方案的基于合并的触摸位置更新用户界面的方法的流程图。
图9A至图9D是示出根据一些实施方案的以触摸处理模块处理触摸输入的方法的流程图。
图10A至图10C是示出根据一些实施方案的基于所预测的触摸位置更新用户界面的方法的流程图。
图11是示出根据一些实施方案的传送所预测触摸信息的方法的流程图。
图12至图15是根据一些实施方案的电子设备的功能框图。
除非另行指出,否则附图并未按比例绘制。
具体实施方式
许多电子设备具有图形用户界面接收用于操控用户界面对象(例如移动用户界面对象或创建用户界面对象,诸如绘制线条)的用户输入。由于处理触摸输入中与硬件和/或软件部件相关联的延迟,触摸输入的快速移动导致触摸输入的实际位置与触摸输入在用户界面中如何被反映之间存在不一致。例如,用户界面可能以一定延迟而被更新,使得在触摸输入快速移动时用户界面不可能及时地反映触摸输入的位置。这对用户产生认知负担,并且可能导致操控用户界面对象错误。在下文所述的实施方案中,通过使用合并的触摸位置、所预测的触摸位置、或者合并的触摸位置与所预测的触摸位置二者的组合实现经改进的用于操控用户界面对象的方法。通过以更高速率(例如比显示速率高)检测触摸输入,可在帧之间检测触摸输入的位置。这个位置信息被用于减少不一致。此外或者另选地,预测触摸输入的位置,这也被用于减少不一致。这个方法通过使用合并的和/或所预测的触摸位置来使对象操控过程流线化,由此降低触摸输入与所显示用户界面之间的不相符并允许更准确地操控用户界面对象。
下面,图1A至图1B、图2和图3提供对示例性设备的描述。图4提供对示例性电子触笔的描述。图5A至图5B示出了触笔相对于触敏表面的姿势状态。图6A至图6B以及图7A至图7OO示出了用于基于合并的和/或所预测的触摸位置及相关操作来更新用户界面的示例性用户界面。图8A至图8B示出基于合并的触摸位置更新用户界面的方法的流程图。图9A至图9D示出以触摸处理模块处理触摸输入的方法的流程图。图10A至图10C示出基于所预测的触摸位置更新用户界面的方法的流程图。图11示出传送所预测触摸信息的方法的流程图。图7A至图7OO中的用户界面用于例示图8A至图8B、图9A至图9D、图10A至图10C和图11中的过程。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中给出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述熟知的方法、过程、部件、电路、和网络,从而不会不必要地模糊实施方案的各个方面。
还将理解的是,虽然在一些情况下,表述“第一”、“第二”等在本文中用于描述各种元素,但是这些元素不应受到这些表述限制。这些表述只是用于将一个元素与另一元素区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还应当理解,本文中所使用的表述“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.(Cupertino,California)的
Figure BDA0001469353830000101
设备、iPod
Figure BDA0001469353830000102
设备、和
Figure BDA0001469353830000103
设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
设备通常支持多种应用程序,诸如以下应用程序中的一个或多个应用程序:记事本应用程序、绘图应用程序、展示应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频相机应用程序、web浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个共用的物理用户接口设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式设备的实施方案。图1A是示出根据一些实施方案的具有触敏显示器***112的便携式多功能设备100的框图。触敏显示器***112有时为了方便而被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、***设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子***106、其他输入或控制设备116、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100(例如,触敏表面,诸如设备100的触敏显示器***112)上的接触的强度的一个或多个强度传感器165。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器163(例如在触敏表面诸如设备100的触敏显示器***112或设备300的触摸板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户的对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“松开点击”、“按下点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将生成典型(或普通)用户的所述感官知觉。
应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件、或它们的组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和***设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
***设备接口118可被用于将设备的输入***设备和输出***设备耦接到存储器102和一个或多个CPU 120。该一个或多个处理器120运行或执行被存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能并处理数据。
在一些实施方案中,***设备接口118、CPU 120、和存储器控制器122任选地在单个芯片诸如芯片104上实现。在一些其他实施方案中,它们被任选地在独立的芯片上实现。
RF(射频)电路108接收和发送也被叫做电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线***、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络和其他设备进行通信,网络为诸如互联网(也被称为万维网(WWW))、内联网、和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信***(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS)、和/或短消息服务(SMS))、或者包括在本文档提交日期还未开发出的通信协议的任何其他适当的通信协议。
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从***设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据,并将音频数据传输到***设备接口118,以用于处理。音频数据任选地由***设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110和可移除的音频输入/输出***设备之间的接口,该可移除的音频输入/输出***设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子***106将设备100上的输入/输出***设备诸如触敏显示器***112和其他输入或控制设备116与***设备接口118耦接。I/O子***106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。所述一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到所述其他输入或控制设备。其他输入或控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等等。在一些另选实施方案中,输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器***112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器***112接收电信号和/或将电信号发送至触敏显示器***112。触敏显示器***112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频、和它们的任何组合(被统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。
触敏显示器***112具有基于触觉/触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触敏显示器***112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器***112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器***112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一些示例性实施方案中,触敏显示器***112和用户之间的接触点对应于用户的手指或触笔。
触敏显示器***112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器***112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术,以及其他接近传感器阵列或用于确定与触敏显示器***112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,所述多种触摸感测技术包括但不限于电容式、电阻式、红外线和表面声波技术。在一些示例性实施方案中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的
Figure BDA0001469353830000141
iPod
Figure BDA0001469353830000142
Figure BDA0001469353830000143
中发现的技术。
触敏显示器***112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示器***112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板任选地是与触敏显示器***112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力***162。电力***162任选地包括电力管理***、一个或多个电源(例如,电池、交流电(AC))、再充电***、电力故障检测电路、功率转换器或逆变器、电源状态指示器(例如,发光二极管(LED))、和与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出与I/O子***106中的光学传感器控制器158耦接的光学传感器。光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示***112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取用户的图像(例如,用于自拍、用于在用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出与I/O子***106中的强度传感器控制器159耦接的接触强度传感器。接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器***112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的后部上,与位于设备100的前部上的触摸屏显示***112相背对。
设备100任选地还包括一个或多个接近传感器166。图1A示出与***设备接口118耦接的接近传感器166。另选地,接近传感器166与I/O子***106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器***112。
设备100任选地还包括一个或多个触觉输出发生器163。图1A示出与I/O子***106中的触觉反馈控制器161耦接的触觉输出发生器。触觉输出发生器163任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。在一些实施方案中,触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器***112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的后部上,与位于设备100的前部上的触敏显示器***112相背对。
设备100任选地还包括用于获取关于设备的位置(例如,姿态)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(IMU)的一部分)。图1A示出了与***设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任选地与I/O子***106中的输入控制器160耦接。在一些实施方案中,基于对从一个或多个加速度计接收的数据的分析,在触摸屏显示器上以纵向视图或横向视图显示信息。设备100可选地包括用于获取关于设备100的位置的信息的GPS(或GLONASS或其他全球导航***)接收器(未示出)。
在一些实施方案中,存储于存储器102中的软件部件包括操作***126、通信模块(或指令集)128、接触/运动模块(或指令集)130、姿势模块(或指令集)131、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位***(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图1A和图3中所示。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触敏显示器***112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备位置和/或姿态的位置和/或姿势信息。
操作***126(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作***诸如VxWorks)包括用于控制和管理一般***任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。
通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些
Figure BDA0001469353830000171
设备、iPod
Figure BDA0001469353830000172
设备、和iPod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与AppleInc.(Cupertino,California)的一些
Figure BDA0001469353830000173
设备、iPod
Figure BDA0001469353830000174
设备、和iPod设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器***112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如手指或触笔)接触检测相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的代替物)、确定是否存在接触的移动并跟踪触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬离事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),该接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触和/或触笔接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时、和/或强度)。因此,任选地通过检测具体接触图案来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,在触敏表面上检测手指轻扫手势包括检测手指按下事件、然后检测一个或多个手指拖动事件、并且随后检测手指抬起(抬离)事件。类似地,任选地通过检测触笔的特定接触图案来检测触笔的轻击、轻扫、拖动和其他手势。
位置模块131结合加速度计167、陀螺仪168、和/或磁力仪169任选地检测关于设备的姿势信息,诸如在特定参考系中设备的姿态(滚转、仰俯和/或偏航)。姿势模块130包括用于执行与检测设备姿势以及检测设备姿势变化相关的各种操作的软件部件。在一些实施方案中,姿势模块131使用从正与设备一起使用的触笔接收的信息来检测关于触笔的姿势信息,诸如检测触笔相对于设备的姿势状态和检测触笔的姿势状态改变。
图形模块132包括用于在触敏显示器***112或其他显示器上呈现和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件,该指令(例如,由触觉反馈控制器161使用)用于响应于用户与设备100的交互而使用触觉输出发生器163在设备100上的一个或多个位置处生成触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、-电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供该信息以供在各种应用程序中使用(例如,提供至电话138以用于基于位置的拨号,提供至相机143作为图片/视频元数据,以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序、和地图/导航桌面小程序)。
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
·联系人模块137(有时叫做通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5、和由用户获取的其他桌面小程序、以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·视频和音乐播放器模块152,其任选地由视频播放器模块和音乐播放器模块构成;
·记事本模块153;
·地图模块154;和/或
·在线视频模块155。
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、展示应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别、和语音复制。
结合触敏显示器***112、显示控制器156、接触模块130、图形模块132和文本输入模块134,联系人模块137包括用于管理通讯录或联系人列表(例如存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中)的可执行指令,包括:将姓名添加到通讯录;从通讯录删除姓名;使电话号码、电子邮件地址、物理地址或其他信息与姓名相关联;使图像与姓名相关联;对姓名归类和分类;提供电话号码和/或电子邮件地址以发起和/或促成通过电话138、视频会议139、电子邮件140或IM141的通信等等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器***112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一者。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器***112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令发起、进行和终止用户与一个或多个其他参与者之间的视频会议的可执行指令。
结合RF电路108、触敏显示器***112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触敏显示器***112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、发送相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、Apple推送通知服务(APNs)或IMPS)、接收即时消息、以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、照片、音频文件、视频文件和/或MMS和/或增强消息服务(EMS)中所支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、APNs或IMPS发送的消息)两者。
结合RF电路108、触敏显示器***112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,健身支持模块142包括用于以下操作的可执行指令:创建健身(例如具有时间、距离、和/或卡路里燃烧目标);与(运动设备和智能手表中的)健身传感器进行通信;接收健身传感器数据;校准用于监视健身的传感器;选择健身音乐并进行播放;以及显示、存储和传输健身数据。
结合触敏显示器***112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
结合触敏显示器***112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、展示(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路108、触敏显示器***112、显示***控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路108、触敏显示器***112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路108、触敏显示器***112、显示***控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和词典桌面小程序149-5)、或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路108、触敏显示器***112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
结合触敏显示器***112、显示***控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触敏显示器***112、显示***控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如,MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及(例如,在触敏显示器***112上或在无线连接或经由外部端口124连接的外部显示器上)显示、展示或以其他方式回放视频的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能。
结合触敏显示器***112、显示控制器156、接触模块130、图形模块132和文本输入模块134,记事本模块153包括用于根据用户指令来创建和管理记事本、待办事项等的可执行指令。
结合RF电路108、触敏显示器***112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;与特定位置处或附近的商店及其他兴趣点有关的数据;以及其他基于位置的数据)的可执行指令。
结合触敏显示器***112、显示***控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏112上或在无线连接的或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式诸如H.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送至特定在线视频的链接。
上述模块和应用程序中的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本专利申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上面未描述的附加模块和数据结构。
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地通过触摸屏和/或触摸板执行的该预定义的一组功能任选地包括在用户界面之间进行导航。在一些实施方案中,触摸板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单、或根菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作***126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器***112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用于确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用于确定要将事件信息递送到的应用程序视图191。
在一些实施方案中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好用于被应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的先前状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从***设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器***112上的用户触摸)的信息。***设备接口118传输其从I/O子***106或传感器诸如接近传感器166、一个或多个加速度计167、一个或多个陀螺仪168、一个或多个磁力仪169和/或麦克风113(通过音频电路110)接收的信息。***设备接口118从I/O子***106所接收的信息包括来自触敏显示器***112或触敏表面的信息。
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至***设备接口118。作为响应,***设备接口118传输事件信息。在其他实施方案中,***设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收输入持续超过预先确定的持续时间)时才传输事件信息。
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器***112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户可在显示器上看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被认为是正确输入的事件的集合任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
命中视图确定模块172接收与基于接触的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图才应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并且因此确定所有活跃参与的视图应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但在分级结构中较高的视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
在一些实施方案中,操作***126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在其他实施方案中,事件分类器170是独立的模块,或者是被存储在存储器102中的另一个模块(诸如接触/运动模块130)的一部分。
在一些实施方案中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中每个应用程序视图包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施方案中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块诸如用户界面工具包(未示出)或应用程序136-1从中继承方法和其他属性的更高水平的对象。在一些实施方案中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件递送指令188(其任选地包括子事件递送指令)的至少一个子集。
事件接收器182接收来自事件分类器170的事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一个取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较,确定事件或子事件,或确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消、和多点触摸。在一个示例中,针对事件1(187-1)的定义是在显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬离(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)、以及预先确定时长的第二次抬离(触摸结束)。在另一个示例中,针对事件2(187-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器***112上的移动、以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器***112上显示三个用户界面对象的应用程序视图中,当在触敏显示器***112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,对相应事件187的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列是否确实对应于或不对应于事件识别器的事件类型。
当相应事件识别器180确定子事件系列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器180包括具有指示事件递送***应该如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标志和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与该事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190接获该标记并执行预定义的过程。
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件系列相关联的事件处理程序或递送到活跃参与的视图。与子事件系列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频播放器模块145中所使用的视频文件进行存储。在一些实施方案中,对象更新器177创建和更新在应用程序136-1中使用的对象。例如,对象更新器177创建新用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132,以用于触敏显示器上的显示。
在一些实施方案中,事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178或者具有对数据更新器176、对象更新器177和GUI更新器178的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述讨论还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地结合单次或多次键盘按压或保持的鼠标移动和鼠标按钮按压;触摸板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;所检测到的眼睛移动;生物特征输入;和/或它们的任意组合任选地被用作与用于限定要识别的事件的子事件对应的输入。
图1C是示出根据一些实施方案的事件对象(例如图1D中的事件对象194)的传送的框图。
如上文参考图1A所述,接触/运动模块130确定触摸输入的状态和/或状态变化。在一些实施方案中,设备生成信号或数据(例如数据对象的形式)来将所确定的触摸输入的状态和/或所确定的触摸输入的状态改变传送给一个或多个软件部件。在一些实施方案中,数据对象被称为事件对象(例如事件对象194)。事件对象包括代表相应触摸输入的状态的数据。在一些实施方案中,事件对象194是鼠标事件对象(例如包括一个或多个鼠标事件(诸如鼠标移动、按钮点击等)的信息的事件对象)。在一些其它实施方案中,事件对象194是与鼠标事件对象不同的触摸事件对象。在一些实施方案中,触摸事件对象包括代表相应触摸输入的特定于触摸的属性(例如同时触摸的数量、手指接触或触笔的取向等)的数据。在一些实施方案中,事件对象194包括代表相应触摸输入的力事件特定属性(例如触摸输入所施加的强度、触摸输入的力阶段/时段等等)的数据。例如,可使用包括一个或多个力事件的信息(例如触摸输入施加的强度、触摸输入的力阶段/时段等等)的鼠标事件对象。
在一些实施方案中,接触/运动模块130生成(或更新)事件对象并发送事件对象给一个或多个应用程序(例如应用程序136-1,诸如图3中的绘图模块380,和/或应用程序136-2,诸如浏览器模块147)。另选地,接触/信息模块130发送关于接触的信息(例如接触的原始坐标)给一个或多个应用程序(例如应用程序1(136-1)和/或应用程序2(136-2)),接收该信息的应用程序生成(或更新)一个或多个事件对象。在一些实施方案中,应用程序包括触摸处理模块220,其生成(或更新)一个或多个事件对象并将所述一个或多个事件对象发送给该应用程序的除了触摸处理模块220之外的一部分。在一些实施方案中,触摸处理模块220是独立于应用程序的(例如,在多个不同应用程序(诸如绘图应用程序、浏览器应用程序等)中的每一者中包括相同的触摸处理模块)。如本文所用,触摸处理模块220是独立于应用程序的是意味着触摸处理模块220不是专门为特定软件应用程序设计的。触摸处理模块220是独立于应用程序的并不意味着触摸处理模块220与其相关联的应用程序分开地定位。虽然触摸处理模块220在一些实施方案中与其相关联的应用程序是不同的且是分开的,如图1C所示,但触摸处理模块220在一些实施方案中被包括在其相关联的应用程序中。在一些实施方案中,应用程序还包括特定于应用程序的应用程序内核。
在图1C中,应用程序1(136-1,诸如绘图应用程序)和应用程序2(136-2,诸如浏览器应用程序)中每一者都包括触摸处理模块220。此外,应用程序1(136-1)包括特定于应用程序1(136-1)的应用程序内核1(230-1),和/或应用程序2(136-2)包括特定于应用程序2(136-2)的应用程序内核2(230-2)。例如,应用程序内核1(230-1)包括用于执行特定于应用程序1(136-1)的操作(例如绘制笔划)的指令,应用程序内核2(230-2)包括用于执行特定于应用程序2(136-2)的操作(例如为网页加书签)的指令。
在一些实施方案中,事件对象194被直接发送给目标(例如软件部件,诸如应用程序内核1(230-1))。任选地,事件对象194通过应用编程接口222来发送。在一些实施方案中,事件对象194是通过(例如在队列218-1中)发布事件对象194供应用程序内核1(230-1)检索而被发送。
在一些实施方案中,事件对象194包括力信息。在一些实施方案中,鼠标事件对象包括力信息(例如触摸输入所施加的原始或经归一化的力)。在一些实施方案中,触摸事件对象包括力信息。在一些实施方案中,力事件对象包括力信息。
图1D是示出根据一些实施方案的事件对象194的结构的框图。
事件对象194包括对应于一个或多个所检测到的触摸的所检测触摸信息242。在一些实施方案中,所检测触摸信息242包括所检测到的单独触摸的信息(例如触摸1的信息246-1、触摸2的信息246-2等等)。所检测触摸信息242任选地包括触摸标识符(例如触摸1的触摸标识符1(246-1)、触摸2的触摸标识符2(246-2)等等)。在一些实施方案中,所检测触摸信息242包括标识代表性触摸的信息(例如代表性触摸的触摸标识符)。
单独触摸的信息包括相应触摸的位置信息250,任选地还包括标识相应触摸所施加的强度的信息252、标识与设备相关联的触笔的倾斜和/或取向的信息254、相应触摸的时间戳256(例如,时间戳26指示相应触摸被检测到的时间)、和/或相应触摸的类型258(例如相应触摸是用手指还是触笔进行的)。在一些实施方案中,甚至对所检测到的触摸,预测这些字段中一些字段的值(例如,由于获取关于触摸的力和/或倾斜信息的延迟,预测所检测到的触摸的力和/或倾斜值)。
在一些实施方案中,事件对象194还包括对应于一个或多个所预测触摸的所预测触摸信息244。所预测触摸信息244的结构与上文所检测触摸信息242的结构类似。为了简明起见,此类细节在这里不再重复。
图2示出了根据一些实施方案的具有触摸屏(例如,图1A的触敏显示器***112)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在这些实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中未按比例绘制)或一个或多个触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“home”按钮、或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的GUI中的软键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电和用于锁定设备的下压按钮206、音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预定义的时间间隔来使设备通电/断电;通过按下按钮并在经过所述预定义的时间间隔之前释放按钮来锁定设备;和/或对设备解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语音输入。设备100还任选地包括用于检测触敏显示器***112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏***、或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于使这些部件互连的一条或多条通信总线320。通信总线320任选地包括使***部件互连并且控制***部件之间的通信的电路(有时叫做芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器163)、传感器359(例如,类似于以上参考图1A所述的传感器112、164、165、166、167、168和169的触敏传感器、光学传感器、接触强度传感器、接近传感器、加速度传感器、姿态和/或磁传感器)。存储器370包括高速随机存取存储器诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备、或其他非易失性固态存储设备。存储器370任选地包括远离CPU 310定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、展示模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件的每一个任选地被存储在一个或多个先前提到的存储器设备中。上述模块中的每个模块对应于用于执行上述功能的一组指令。上述模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子集任选地在各种实施方案中被组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子集。此外,存储器370任选地存储上面未描述的附加模块和数据结构。
图4是根据一些实施方案的示例性电子触笔203的框图。电子触笔203有时被简称为触笔。触笔203包括存储器402(其任选地包括一个或多个计算机可读存储介质)、存储器控制器422、一个或多个处理单元(CPU)420、***设备接口418、RF电路408、输入/输出(I/O)子***406、和其他输入或控制设备416。触笔203任选地包括外部端口424和一个或多个光学传感器464。触笔203任选地包括用于检测在设备100上(例如,当触笔203与触敏表面诸如设备100的触敏显示器***112一起使用时)或者在其他表面(例如桌台表面)上触笔203的接触的强度的一个或多个强度传感器465。触笔203任选地包括用于在触笔203上生成触觉输出的一个或多个触觉输出发生器463。这些部件任选地通过一个或多个通信总线或信号线403进行通信。
在一些实施方案中,上述术语“触觉输出”是指将被用户以用户触觉检测到的设备(例如设备100)的附件(例如触笔203)相对于该附件的先前位置的物理位移、附件的一个部件相对于该附件的另一部件的物理位移、或者部件相对于附件质心的位移。例如,在附件或附件的部件与用户的对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于附件或附件的部件的物理特征的所感知的变化。例如,部件(例如触笔203的壳体)的移动任选地由用户解释为对物理致动按钮的“点击”。在一些情况下,用户将感觉到触感,诸如“点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触笔相关联的物理致动按钮没有移动时。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“点击”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将生成典型(或普通)用户的所述感官知觉。
应当理解,触笔203仅是电子触笔的一个示例,并且触笔203任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图4中所示的各种部件在硬件、软件、固件、或它们的组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器402任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个闪存存储器设备、或其他非易失性固态存储器设备。触笔203的其他部件(诸如CPU 420和***设备接口418)对存储器402的访问任选地由存储器控制器422来控制。
***设备接口418可被用于将触笔的输入***设备和输出***设备耦接到CPU420和存储器402。该一个或多个处理器420运行或执行被存储在存储器402中的各种软件程序和/或指令集,以执行触笔203的各种功能并处理数据。
在一些实施方案中,***设备接口418、CPU 420、和存储器控制器422任选地在单个芯片诸如芯片404上实现。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路408接收和发送也被叫做电磁信号的RF信号。RF电路408将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与设备100或300、通信网络和/或其他通信设备进行通信。RF电路408任选地包括用于执行这些功能的熟知的电路,包括但不限于天线***、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路408任选地通过无线通信来与网络和其他设备进行通信,网络为诸如互联网(也被称为万维网(WWW))、内联网、和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN)。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信***(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))、和/或短消息服务(SMS)、或者包括在本文档提交日期还未开发出的通信协议的任何其他适当的通信协议。
I/O子***406将触笔203上的输入/输出***设备诸如其他输入或控制设备416与***设备接口418耦接。I/O子***406任选地包括光学传感器控制器458、强度传感器控制器459、触觉反馈控制器461、以及用于其他输入或控制设备的一个或多个输入控制器460。所述一个或多个输入控制器460从其他输入或控制设备416接收电信号/将电信号发送到其他输入或控制设备416。所述其他输入或控制设备416任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、点击轮等等。在一些另选实施方案中,输入控制器460任选地与以下各项中的任一者耦接或不耦接:红外线端口和/或USB端口。
触笔203还包括用于为各种部件供电的电力***462。电力***462任选地包括电力管理***、一个或多个电源(例如,电池、交流电(AC))、再充电***、电力故障检测电路、功率转换器或逆变器、电源状态指示器(例如,发光二极管(LED))、和与便携式设备和/或便携式附件中电力的生成、管理和分配相关联的任何其他部件。
触笔203任选地还包括一个或多个光学传感器464。图4示出了与I/O子***406中的光学传感器控制器458耦接的光学传感器。光学传感器464任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器464从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。
触笔203任选地还包括一个或多个接触强度传感器465。图4示出与I/O子***406中的强度传感器控制器459耦接的接触强度传感器。接触强度传感器465任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量表面上的接触的力(或压力)的传感器)。接触强度传感器465从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触笔203的尖端并置排列或邻近。
触笔203任选地还包括一个或多个接近传感器466。图4示出了与***设备接口418耦接的接近传感器466。另选地,接近传感器466与I/O子***406中的输入控制器460耦接。在一些实施方案中,接近传感器确定触笔203接近电子设备(例如设备100)。
触笔203任选地还包括一个或多个触觉输出发生器463。图4示出与I/O子***406中的触觉反馈控制器461耦接的触觉输出发生器。触觉输出发生器463任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。触觉输出发生器463从触觉反馈模块433接收触觉反馈生成指令,并且在触笔203上生成能够由触笔203的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触笔203的长度(例如主体或壳体)并置排列或邻近,并且任选地通过竖直地(例如沿与触笔203的长度平行的方向)或横向地(例如沿与触笔203的长度正交的方向)移动触笔203来生成触觉输出。
触笔203任选地还包括用于获取关于触笔203的位置和姿势状态的信息的一个或多个加速度计467、陀螺仪468和/或磁力仪470(例如,作为惯性测量单元(IMU)的一部分)。图4示出了与***设备接口418耦接的传感器467、469和470。另选地,传感器467、469和470任选地与I/O子***406中的输入控制器460耦接。触笔203任选地包括用于获取关于触笔203的位置的信息的GPS(或GLONASS或其他全球导航***)接收器(未示出)。
在一些实施方案中,被存储在存储器402中的软件部件包括操作***426、通信模块(或指令集)428、接触/运动模块(或指令集)430、姿势模块(或指令集)431、和全球定位***(GPS)模块(或指令集)435。此外,在一些实施方案中,存储器402存储设备/全局内部状态457,如图4中所示。设备/全局内部状态457包括以下中的一者或多者:传感器状态,其指示从触笔的各个传感器以及其他输入或控制设备416获得的信息;姿势状态,其包括关于触笔相对于设备(例如设备100)的姿势(例如姿势、取向、倾斜、滚转和/或距离,如图5A和图5B所示)的信息;和关于触笔位置的位置信息(例如由GPS模块435确定)。
操作***426(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作***诸如VxWorks)包括用于控制和管理一般***任务(例如,存储器管理、电源管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。
通信模块428任选地促进通过一个或多个外部端口424来与其他设备进行通信,并且还包括用于处理由RF电路408和/或外部端口424所接收的数据的各种软件部件。外部端口424(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些
Figure BDA0001469353830000371
设备、iPod
Figure BDA0001469353830000372
设备、和
Figure BDA0001469353830000373
设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块430任选地检测与触笔203和触笔203的其他触敏设备(例如触笔203的按钮或其他触敏部件)的接触。接触/运动模块430包括用于执行与接触检测(例如检测触笔的尖端与触敏显示器诸如设备100的触摸屏112或者与另一表面诸如桌台表面的接触)相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测触摸按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的代替物)、确定是否存在接触的移动并跟踪移动(例如在设备100的触摸屏112上)、以及确定接触是否已停止(例如,检测抬离事件或者接触断开)。在一些实施方案中,接触/运动模块430从I/O子***406接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),该接触点的移动由一系列接触数据表示。如上所述,在一些实施方案中,与接触检测相关的这些操作中的一者或多者是通过设备利用接触/运动模块130(除了触笔利用接触/运动模块430之外或者代替触笔利用接触/运动模块430)来执行。
接触/运动模块430任选地检测触笔203的手势输入。触笔203的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时、和/或强度)。因此,任选地通过检测具体接触图案来检测手势。例如,检测单击手势包括检测触摸按下事件,然后在与触摸按下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测抬离事件。作为另一个示例,检测轻扫手势包括检测触摸按下事件,然后检测一个或多个触笔拖动事件,并且随后检测抬离事件。如上所述,在一些实施方案中,手势检测是通过设备利用接触/运动模块130(除了触笔利用接触/运动模块430之外或者代替触笔利用接触/运动模块430)来执行。
姿势模块431结合加速度计467、陀螺仪468、和/或磁力仪469任选地检测关于触笔的姿势信息,诸如在特定参考系中设备的姿态(滚转、仰俯和/或偏航)。姿势模块431结合加速度计467、陀螺仪468、和/或磁力仪469任选地检测触笔移动手势,诸如触笔的轻弹、轻击和滚转。姿势模块431包括用于执行与在特定参考系中检测触笔姿势以及检测触笔姿势变化相关的各种操作的软件部件。在一些实施方案中,姿势模块431检测触笔相对于设备的姿势状态,并检测触笔相对于设备的姿势状态变化。如上所述,在一些实施方案中,(除了触笔利用姿势模块431之外或者代替触笔利用姿势模块431,)设备100或300利用姿势模块131确定触笔相对于设备的姿势状态以及触笔姿势状态改变。
触觉反馈模块433包括用于生成被触觉输出发生器463用来响应于用户与触笔203的交互而在触笔203上的一个或多个位置处产生触觉输出的指令的各种软件部件。
GPS模块435确定触笔的位置并提供该信息以供在各种应用程序中使用(例如提供给提供基于位置的服务的应用程序,诸如用于寻找丢失设备和/或附件的应用程序)。
上述模块和应用程序中的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本专利申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器402任选地存储上述模块和数据结构的子集。此外,存储器402任选地存储上面未描述的附加模块和数据结构。
图5A至图5B示出了根据一些实施方案的触笔203相对于触敏表面(例如设备100的触摸屏112)的姿势状态。在一些实施方案中,触笔203的姿势状态对应于(或指示):触笔的尖端(或其他代表性部分)在触敏表面上的投影位置(例如(x,y)位置504,图5A)、触笔相对于触敏表面的取向(例如取向506,图5A)、触笔相对于触敏表面的倾斜(例如倾斜512,图5B)、和/或触笔相对于触敏表面的距离(例如距离514,图5B)。在一些实施方案中,触笔203的姿势状态对应于(或指示)触笔的仰俯、偏航、和/或滚转(例如触笔相对于特定参考系(诸如触敏表面(例如触摸屏112)或地的姿态)。在一些实施方案中,姿势状态包括一组姿势参数(例如一个或多个姿势参数)。在一些实施方案中,姿势状态是根据被发送给电子设备(例如设备100)的来自触笔203的一个或多个测量来检测的。例如,触笔测量触笔的倾斜(例如倾斜512,图5B)和/或取向(例如取向506,图5A),并将测量发送给设备100。在一些实施方案中,代替或结合根据来自触笔203的一个或多个测量所检测的姿势状态,根据触敏表面(例如设备100的触摸屏112)所感测的来自触笔中一个或多个电极的原始输入检测姿势状态。例如,触敏表面接收来自触笔中一个或多个电极的原始输出,并(任选地,结合触笔基于触笔生成的传感器测量而提供的姿势状态信息)基于原始输出来计算触笔的倾斜和/或取向。
图5A根据一些实施方案从触敏表面正上方的视角示出相对于触敏表面(例如设备100的触摸屏112)的触笔203。在图5A中,z轴594指出页面(即沿与触摸屏112的平面正交的方向),x轴590平行于触摸屏112的第一边缘(例如长度),y轴592平行于触摸屏112的第二边缘(例如宽度),并且y轴592垂直于x轴590。
图5A示出了触笔203的尖端位于(x,y)位置504。在一些实施方案中,触笔203的尖端是触笔的被配置用于确定触笔接近触敏表面(例如触摸屏112)的终端。在一些实施方案中,触笔的尖端在触敏表面上的投影是正交投影。换句话讲,触笔的尖端在触敏表面上的投影是与触敏表面的表面正交的从触笔尖端到触敏表面的线的末端处的点(例如,如果将触笔直接沿与触敏表面正交的路径移动,触笔的尖端会碰到触敏表面的(x,y)位置504)。在一些实施方案中,触摸屏112的左下角处的(x,y)位置是位置(0,0)(例如,(0,0)位置502),触摸屏112上的其他(x,y)位置是相对于触摸屏112的左下角的。另选地,在一些实施方案中,(0,0)位置位于触摸屏112的另一位置(例如在触摸屏112的中心),其他(x,y)位置是相对于触摸屏112的(0,0)位置的。
另外,图5A示出了具有取向506的触笔203。在一些实施方案中,取向506是触笔203到触摸屏112上的投影的取向(例如,触笔203的长度的正交投影,或与触笔203的两个不同点到触摸屏112上的投影之间的线对应的线)。在一些实施方案中,取向506是相对于与触摸屏112平行的平面中的至少一个轴的。在一些实施方案中,取向506是相对于与触摸屏112平行的平面中的单个轴(例如轴508,以相对于轴508从0度到360度的顺时针旋转角度,如图5A所示)。另选地,在一些实施方案中,取向506是相对于与触摸屏112平行的平面中的一对轴(例如x轴590和y轴592,如图5A所示,或者与触摸屏112上所显示的应用程序相关联的一对轴)。
在一些实施方案中,指示(例如指示516)被显示在触敏显示器(例如设备100的触摸屏112)上。在一些实施方案中,指示516在触笔碰到触敏显示器之前显示触笔将在哪里碰到(或标记)触敏显示器。在一些实施方案中,指示516是正在触敏显示器上绘制的标记的一部分。在一些实施方案中,指示516与正在触敏显示器上绘制的标记分开,并且对应于指示在触敏显示器上将在哪里绘制标记的虚拟“笔尖”或其他元素。
在一些实施方案中,指示516根据触笔203的姿势状态来显示。例如,在一些情况下,指示516相对于(x,y)位置504位移(如图5A和图5B所示),在其他情况下,指示516不相对于(x,y)位置504位移(例如,当倾斜512为零度时,指示516被显示在(x,y)位置504处或附近)。在一些实施方案中,指示516根据触笔的姿势状态而以变化的颜色、尺寸(或半径或面积)、不透明度和/或其他特性来显示。在一些实施方案中,所显示的指示考虑触敏显示器上玻璃层的厚度,以将指示贯穿“到”触敏显示器的“像素上”,而不是“在”覆盖像素的玻璃上“显示”指示。
图5B根据一些实施方案从触敏表面的侧面视角示出相对于触敏表面(例如设备100的触摸屏112)的触笔203。在图5B中,z轴594沿与触摸屏112的平面正交的方向指向,x轴590平行于触摸屏112的第一边缘(例如长度),y轴592平行于触摸屏112的第二边缘(例如宽度),并且y轴592垂直于x轴590。
图5B示出了具有倾斜512的触笔203。在一些实施方案中,倾斜512是相对于触敏表面的表面的法线(例如法线510)(也简称为触敏表面的法线)的角度。如图5B所示,倾斜512在触笔垂直于/正交于触敏表面时(例如在触笔203平行于法线510时)为零,并且倾斜随着触笔倾斜更接***行于触敏表面而增大。
另外,图5B示出了触笔203相对于触敏表面的距离514。在一些实施方案中,距离514是沿与触敏表面正交的方向从触笔203的尖端到触敏表面的距离。例如,在图5B中,距离514是从触笔203的尖端到(x,y)位置504的距离。
虽然在本文中使用术语“x轴”、“y轴”、和“z轴”来在特定附图中例示特定方向,但应当理解,这些术语并不是指代绝对方向。换句话讲,“x轴”可为任何相应轴,并且“y轴”可为与x轴不同的特定轴。通常,x轴垂直于y轴。类似地,“z轴”与“x轴”和“y轴”不同,并且通常垂直于“x轴”和“y轴”二者。
另外,图5B示出了触笔203的滚转518,关于长度(长轴)的旋转。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图6A示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面600包括以下元素或者其子集或超集:
·无线通信(诸如蜂窝信号和Wi-Fi信号)的信号强度指示器602;
·时间604;
·蓝牙指示器605;
·电池状态指示器606;
·具有常用应用程序的图标的托盘608,常用应用程序的图标诸如:
○电话模块138的被标记为“电话”的图标616,该图标任选地包括未接来电或语音留言的数量的指示器614;
○电子邮件客户端模块140的被标记为“邮件”的图标618,该图标任选地包括未读电子邮件的数量的指示器610;
○浏览器模块147的被标记为“浏览器”的图标620;和
○视频和音乐播放器模块152(也叫做iPod(Apple Inc.的商标)模块152)的被标记为“iPod”的图标622;以及
·其他应用程序的图标,诸如:
○IM模块141的被标记为“消息”的图标624;
○日历模块148的被标记为“日历”的图标626;
○图像管理模块144的被标记为“照片”的图标628;
○相机模块143的被标记为“相机”的图标630;
○在线视频模块155的被标记为“在线视频”的图标632;
○股市桌面小程序149-2的被标记为“股市”的图标634;
○地图模块154的被标记为“地图”的图标636;
○天气桌面小程序149-1的被标记为“天气”的图标638;
○闹钟桌面小程序169-6的被标记为“时钟”的图标640;
○健身支持模块142的被标记为“健身支持”的图标642;
○记事本模块153的被标记为“记事本”的图标644;和
○设置应用程序或模块的图标646,该图标提供对设备100及其各种应用程序136的设置的访问。
应当指出的是,图6A中示出的图标标签仅仅是示例性的。例如,在一些实施方案中,视频和音乐播放器模块152的图标622被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图6B示出了具有与显示器650分开的触敏表面651(例如,图3中的平板或触摸板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面651上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个传感器)、和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
图6B示出了具有与显示器650分开的触敏表面651(例如,图3中的平板或触摸板355)的设备(例如,图3中的设备300)上的示例性用户界面。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的实施方案中的许多实施方案,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图6B中所示。在一些实施方案中,触敏表面(例如,图6B中的651)具有与显示器(例如,650)上的主轴(例如,图6B中的653)对应的主轴(例如,图6B中的652)。根据这些实施方案,设备检测与显示器上的相应位置对应的位置处的与触敏表面651的接触(例如,图6B中的660和662)(例如,在图6B中,660对应于668并且662对应于670)。这样,在触敏表面(例如,图6B中的651)与多功能设备的显示器(例如,图6B中的650)分开时,由设备在触敏表面上检测到的用户输入(例如,接触660和662以及它们的移动)被该设备用于操控显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、手指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代;或者由触笔接触,之后是触笔沿着轻扫的路径的移动替代。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,而不是对接触的检测及之后停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个触笔任选地被同时使用,或手指和触笔接触或者鼠标和手指接触任选地被同时使用。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触或触笔接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均或者加和),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变化以及/或者接触附近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已经超过强度阈值(例如,强度阈值以对应于替代物测量的单位来描述)。在一些具体实施中,接触力或压力的替代物测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件诸如旋钮或按钮)的实地面积有限的尺寸更小的设备上本来不能容易地访问的附加设备功能。
在一些实施方案中,接触/运动模块130和/或430使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备100的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设定成预定义的阈值的大范围中的任一个阈值。另外,在一些实施方案中,向设备的用户提供用于调节这组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的***级点击来一次调节多个强度阈值)的软件设置。
如说明书和权利要求中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特征强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬离之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后,和/或在检测到接触的强度减小之前或之后)而言在预定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。接触的特性强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的中值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值可包括第一强度阈值和第二强度阈值。在本示例中,特征强度未超过第一阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,并且特征强度超过第二阈值的接触导致第三操作。在一些实施方案中,使用特征强度和一个或多个强度阈值之间的比较来确定是否要执行一个或多个操作(例如,是否执行相应选项或放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。
在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触敏表面可接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结束位置(例如拖动手势),在该结束位置处,接触的强度增加。在该示例中,接触在结束位置处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,仅结束位置处的轻扫接触部分)。在一些实施方案中,可在确定接触的特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法、和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以用于确定特征强度。
下文描述的用户界面附图(例如,图7A至图7OO)任选地包括各种强度图,这些强度图示出触敏表面上的接触相对于一个或多个强度阈值(例如,接触检测强度阈值IT0、轻按压强度阈值ITL、深按压强度阈值ITD和/或一个或多个其他强度阈值)的当前强度。该强度图通常不是所显示的用户界面的一部分,但是被提供以帮助解释所述图。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标的按钮或触控板相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备将执行与通常与点击物理鼠标的按钮或触控板相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值IT0,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器(例如光标),而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有陈述,否则这些强度阈值在不同组的用户界面附图之间是一致的。
在一些实施方案中,设备对设备所检测到的输入的响应取决于基于输入期间的接触强度的标准。例如,对于一些“轻按压”输入,在输入期间超过第一强度阈值的接触的强度触发第一响应。在一些实施方案中,设备对由设备所检测到的输入的响应取决于包括输入期间的接触强度和基于时间的标准两者的标准。例如,对于一些“深按压”输入,只有在满足第一强度阈值与满足第二强度阈值之间经过了延迟时间的情况下,在输入期间超过大于轻按压的第一强度阈值的第二强度阈值的接触的强度才触发第二响应。该延迟时间的持续时间通常小于200ms(例如,40ms、100ms、或120ms,这取决于第二强度阈值的量值,其中该延迟时间随着第二强度阈值增大而增大)。这个延迟时间帮助避免意外的深按压输入。又如,对于一些“深按压”输入,在达到第一强度阈值之后将出现敏感度降低的时间段。在这个敏感度降低的时间段期间,提高第二强度阈值。第二强度阈值的这种暂时增大也有助于避免意外的深按压输入。对于其他深按压输入,对检测到深按压输入的响应不取决于基于时间的标准。
在一些实施方案中,输入强度阈值和/或对应输出中的一者或多者基于一个或多个因素(诸如,用户设置、接触运动、输入定时、应用程序运行、施加强度的速率、同时输入的数量、用户历史、环境因素(例如,环境噪声)、焦点选择器位置等)而变化。示例性因素在美国专利申请序列号No.14/399,606和14/624,296中有所描述,这些美国专利申请全文以引用方式并入本文。
接触特征强度从低于轻按压强度阈值ITL的强度增大到介于轻按压强度阈值ITL与深按压强度阈值ITD之间的强度有时被称为“轻按压”输入。接触的特征强度从低于深按压强度阈值ITD的强度增大到高于深按压强度阈值ITD的强度有时称为“深按压”输入。接触特征强度从低于接触检测强度阈值IT0的强度增大到介于接触检测强度阈值IT0与轻按压强度阈值ITL之间的强度有时被称为检测到触摸表面上的接触。接触特征强度从高于接触检测强度阈值IT0的强度减小到低于接触检测强度阈值IT0的强度有时被称为检测到接触从触摸表面抬起。在一些实施方案中,IT0为零。在一些实施方案中,IT0大于零在一些图示中,阴影圆或椭圆用于表示触敏表面上的接触的强度。在一些图示中,没有阴影的圆或椭圆用于表示触敏表面上的相应接触,而不指定相应接触的强度。
在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入强度阈值来执行相应操作(例如,在相应按压输入的“向下冲程”上执行相应操作)。在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。
在一些实施方案中,设备采用强度滞后以避免有时称为“抖动”的意外输入,其中设备限定或选择与按压输入强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入强度阈值低X个强度单位,或滞后强度阈值是按压输入强度阈值的75%、90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。
为了容易解释,任选地响应于检测到以下情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触的强度增大到高于按压输入强度阈值、接触的强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触的强度减小到低于按压输入强度阈值、或接触的强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。如上所述,在一些实施方案中,对这些操作的触发还取决于满足基于时间的标准(例如,在满足第一强度阈值与满足第二强度阈值之间已经过延迟时间)。
用户界面和相关联的过程
现在将注意力转到用户界面(“UI”)和可在具有显示器、触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备诸如便携式多功能设备100或设备300上实现的相关联的过程的实施方案。
图7A至图7OO示出了根据一些实施方案的用于基于合并的和/或所预测的触摸位置更新用户界面的示例性用户界面。这些附图中的用户界面用于例示下文描述的过程,包括图8A至图8B、图9A至图9D、图10A至图10C、和图11中的过程。尽管将参考触摸屏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器650分开的触敏表面651上的输入,如图6B中所示。
在一些实施方案中,显示器650被配置为以特定显示速率(也被称为显示刷新率)显示用户界面。例如,特定监视器以60Hz(例如以每秒60个更新的速率)显示用户界面。在一些实施方案中,显示速率是固定的显示速率。如本文所用,显示帧是指在单个显示周期期间显示的用户界面(例如当显示速率为60Hz时,被显示持续~0.1667秒、然后被下一用户界面替代的用户界面)。
在一些实施方案中,触敏表面651被配置为以特定检测速率检测触摸输入。在一些实施方案中,检测速率是固定的检测速率(例如60Hz)。
在一些情况下,在检测到触摸输入与响应于触摸输入更新用户界面之间存在延迟,诸如处理触摸输入的延迟和/或(在渲染用户界面之前)准备用户界面的延迟。此类延迟可导致触摸屏112上触摸输入的物理位置与触摸屏112上显示的用户界面的更新之间不相符。其一个示例在图7A至图7E中示出。
图7A示出触摸屏112上绘图应用程序的用户界面。在图7A中,在触摸屏112上在位置705-A处检测到触摸输入705。图7A还示出了,响应于检测到触摸输入705,在触摸屏112上显示702点。
图7B示出了触摸输入705已经在触摸屏112上移动到触摸屏112上的位置705-B。在图7B中,根据触摸输入705从位置705-A向位置705-B的移动来显示线704-1。然而,由于处理触摸输入的延迟,线704-1的端点在触摸输入705正在触摸屏112上移动时并不精确地匹配触摸输入705的位置(例如位置705-B)。
图7B还包括用于描绘这个效应的图示。在图7B的图示中,触摸输入705的移动由随着时间增大行程距离740-1、740-2、和740-3来表示。在一些实施方案中,由于延迟,当行程距离在740-2处时,基于740-1处行程距离准备的用户界面被显示(750-1)。类似地,当行程距离在740-3处时,行程距离740-2被用作线704-1的长度750-2,在实际行程距离(例如740-3)与根据触摸输入绘制的线704-1的显示长度(例如750-2)之间存在差异d1。在一些实施方案中,这些行程距离对应于恒定时间间隔(例如单个显示更新帧、或者在触敏表面上检测到触摸时到响应于触摸生成考虑对用户界面的改变的显示更新时之间的时间量)期间的行程距离,使得不同距离对应于不同速度(例如,相应时间间隔上越大的距离变化对应于触敏表面上接触越快的移动,而相应时间间隔上越短的距离变化对应于触敏表面上接触越慢的移动)。
图7C示出了触摸屏112上触摸输入705向位置705-C的继续移动。在图示中,当行程距离在740-4时,行程距离740-3被用作线704-2的长度750-3。
图7D示出了触摸屏112上触摸输入705向位置705-D的更快移动。当行程距离在740-6处时,行程距离740-5被用作线704-3的长度750-5,在实际行程距离(例如740-6)与线704-3的显示长度(例如750-5)之间存在差异d2
如图7B至图7D所示,当触摸输入在触摸屏112上低速移动时,差异相对较小,并且差异较不明显。然而,差异随着触摸输入在触摸屏112上更快的移动而增大,并且差异变得更明显。
图7E示出了触摸输入705在触摸屏112上保持在位置705-D处持续一个时间段(例如显示速率的一个或多个帧),该时间段对应于在接收触摸输入与显示基于触摸输入更新的用户界面之间的延迟。在触摸输入705在触摸屏112上保持在位置705-D处时,基于行程距离740-6准备的用户界面被显示,其中线704-4的长度750-7匹配触摸输入705的行程距离740-8。
如上所述,接收触摸输入与显示基于触摸输入更新的用户界面之间的延迟导致触摸输入的物理位置与所显示用户界面中反映的触摸输入位置之间不一致。
虽然在图7B至图7E中,接收触摸输入与显示反映触摸输入的状态(例如位置)的用户界面之间的延迟对应于单个显示帧,但是在一些实施方案中,所述延迟对应于不止一个显示帧。
图7F至图7O是根据一些实施方案显示接收触摸输入(或触摸输入改变)的定时以及显示(或更新)用户界面的定时的时序图。在图7F至图7O中,向上箭头(例如720和722)代表触摸输入(或触摸输入改变)的定时,向下箭头730代表显示(或更新)用户界面的定时。
图7F示出了在不同时间720-1、720-2、720-3、和720-4接收触摸输入以及在时间730-1、730-2、730-3、和730-4更新用户界面。在图7F中,检测速率和显示速率相同(例如,检测速率和显示速率二者均为60Hz)。在图7F中,检测速率和显示速率同步(例如没有相位差)。例如,在720-1接收的触摸输入与在730-1处对用户界面的更新同时发生。类似地,在720-2接收的触摸输入与在730-2处对用户界面的更新同时发生。
图7F还示出了在720-1处接收的触摸输入在一个显示帧之后(例如730-2)、在两个显示帧之后(例如730-3)、或在三个显示帧之后(例如730-4)被反映。在一些实施方案中,所接收的触摸输入在多于三个显示帧之后被反映。在一些实施方案中,接收到触摸输入与显示反映触摸输入的用户界面之间的显示帧数量是基于处理所接收到的触摸输入与准备用于显示的用户界面的延迟来确定。在一些实施方案中,接收到触摸输入与显示基于触摸输入更新的用户界面之间的延迟包括以下中一者或多者所花费的时间:触摸传感器硬件扫描以检测触摸、接触运动模块标识触摸并确定将触摸(或与触摸相关联的触摸事件)递送给的应用程序;应用程序处理触摸以确定响应于触摸如何更新显示器、及生成显示更新信息;操作***图形部件(例如显示器驱动器)基于来自应用程序的显示更新信息渲染显示帧;图形处理单元(GPU)将操作***图形部件生成的显示帧转换成显示更新指令(例如,要在显示器上显示的像素映射);和显示器刷新操作(例如,实际更新显示器的像素以反映显示更新指令并显示应用程序响应于接收到触摸而生成的对用户界面的更新所花费的时间)。
图7G与图7F类似,不同的是,检测速率和显示速率不同步。在图7G中,检测速率和显示速率相同(例如,检测速率和显示速率二者均为60Hz)。然而,在检测定时和显示定时之间存在相位差。例如,接收触摸输入的定时偏离更新用户界面的定时。
图7G还示出了在720-1处接收的触摸输入在下一显示帧(例如730-2)中、在下一显示帧之后的显示帧(例如730-3)中、或在下一显示帧之后两个显示帧(例如730-4)中被反映。在一些实施方案中,所接收的触摸输入被反映在730-4之后的显示帧中。
图7F至图7G示出了根据一些实施方案在常规设备中的触摸输入和显示更新的定时。此类常规设备受到上文参考图7A至图7E所述的延迟。
图7H至图7O是根据一些实施方案显示比显示速率(例如对应于显示器上像素被刷新的频率的显示刷新率)高的检测速率(例如对应于对于被解释为触摸和触摸事件的触摸数据改变扫描触敏表面的速率的触摸检测速率)的时序图。
图7H示出了触摸输入722以四倍于显示速率的检测速率被接收。在图7H中,在显示器被更新一次时,触摸输入被接收四次(例如,检测速率为240Hz,显示速率为60Hz)。
在一些实施方案中,触摸输入以比触敏表面(或一个或多个触摸传感器)能够接收触摸输入的速率小的速率被接收。例如,图7I示出了,在触敏表面能够以四倍于显示速率的检测速率接收触摸输入(例如,触敏表面能够在每个显示帧内接收(或检测)触摸输入四次)时,触摸输入在每个显示帧内只被接收两次(例如,触摸输入在722-3和722-5处被接收,设备不在722-2和722-4处接收触摸输入)。在一些实施方案中,在每个显示帧内是接收较多还是较少的触摸输入是由设备基于预定义标准诸如精确性要求、可用计算资源等等来确定的。在一些实施方案中,在每个显示帧内接收的触摸输入的数量由设备基于预定义标准来动态调节(例如,在当前检测的触摸位置与触摸实际位置之间的差异可能大于预定量时诸如在触摸快速移动或者在最近显示帧中已经检测到较大差异时接收较多触摸,而在当前检测的触摸位置与触摸实际位置之间的差异比预定量小时诸如在触摸缓慢移动或者在最近显示帧中已经检测到较小差异时接收较少触摸)。
图7J至图7K示出了根据一些实施方案的触摸检测帧、触摸处理帧、和触摸显示帧。
图7J示出了触摸检测帧724-1包括722-2、722-3、722-4和722-5处的触摸输入,触摸检测帧724-2包括722-6、722-7、722-8和722-9处的触摸输入。
图7J还示出了触摸处理帧732-1、732-2、732-3、732-4和732-5。在一些实施方案中,触摸处理帧完全与触摸检测帧重叠(例如,触摸处理帧732-2完全与触摸检测帧724-1重叠)。在一些实施方案中,触摸检测帧724-1中的触摸输入(或相应位置)在(与触摸检测帧724-1重叠的)触摸处理帧732-2期间被处理,并且在显示帧734-2期间被显示。在一些实施方案中,触摸检测帧724-1中的触摸输入(或相应位置)在(不与触摸检测帧724-1重叠的)触摸处理帧732-3期间被处理,并且在显示帧734-3期间被显示。
图7K示出了触摸检测帧724-3包括722-1、722-2、722-3和722-4处的触摸输入,触摸检测帧724-4包括722-5、722-6、722-7和722-8处的触摸输入。在图7K中,触摸检测帧不与显示帧对准(例如,触摸检测帧724-4包括在显示帧734-1期间接收的触摸722-5和在显示帧734-2期间接收的触摸722-6)。在一些实施方案中,触摸检测帧724-3中的触摸输入在与触摸检测帧724-3部分重叠的触摸处理帧732-2期间被处理,并且在显示帧734-2期间被显示。
图7L和图7M示出了根据一些实施方案基于定时标准的触摸输入选择。
图7L示出了基于第一预定义定时标准选择一组触摸输入。例如,触摸输入组724-5被选择成使得组724-5中的触摸输入比下一个对用户界面进行更新的定时提前至少特定定时裕量(例如Δt)。在图7L中,组724-5中的最后一个触摸输入比用于对用户界面进行更新的定时730-3提前特定定时裕量(例如Δt)。图7L还示出了相同定时裕量被用于每个选择。例如,触摸输入组724-6被选择成使得组724-6中的触摸输入也比下一个对用户界面进行更新的定时730-4提前至少相同的特定定时裕量(例如Δt)。
图7M示出了使用不同定时裕量。在图7M中,触摸输入组724-7是在比用于对用户界面进行更新的定时730-2提前定时裕量Δt1的第一时间点与比用于对用户界面进行更新的定时730-3提前定时裕量Δt2的第二时间点之间选择。组724-8中的触摸输入在前一组(即组7247-7)中的触摸输入之后,并且比用于对用户界面进行更新的定时730-4提前定时裕量Δt3。在一些实施方案中,不同定时裕量被用于定义相应触摸处理帧,如图7M所示。
图7N示出了根据一些实施方案的代表性触摸的选择。在图7N中,触摸输入集724-5包括触摸输入722-3、722-4、722-5和722-6,并且触摸输入722-6被选为触摸输入集724-5的代表性触摸(并且相应触摸位置被选为代表性触摸位置)。类似地,触摸输入集724-6包括触摸输入722-7、722-8、722-9和722-10,并且触摸输入722-10被选为触摸输入集724-6的代表性触摸(并且相应触摸位置被选为代表性触摸位置)。在图7N中,触摸输入集724-5中的最后一个触摸输入(例如触摸输入722-6)被选为触摸输入集724-5的代表性触摸。另选地,触摸输入集724-5中的第一个触摸输入(例如触摸输入722-3)或触摸输入集724-5中的任何其它触摸输入被选为触摸输入集724-5的代表性触摸。位于代表性触摸之间的触摸输入(例如,代表性触摸722-6和722-10之间的触摸输入722-7、722-8和722-9)在本文中被称为间隙触摸(并且其相应位置在本文中被称为间隙触摸位置)。
代表性触摸的选择具有对触摸处理帧移位的效应。例如,对于更新时间730-3将触摸722-6选为代表性触摸相对于将触摸722-5选为代表性触摸具有将触摸处理时间移位四分之一个显示更新帧(例如,~16.667ms)的效应。通过(将触摸722-6选为代表性触摸来)对触摸处理时间移位,所检测到的触摸与所显示的用户界面之间的差异被减小(例如,因为与在不对触摸处理时间移位的情况下的触摸信息相比,来自经移位的触摸处理时间的更新近的触摸信息被用于更新用户界面)。如果在触摸722-7与更新时间730-3之间有足够的处理裕量时间,则对于更新时间730-3将触摸722-7选为代表性触摸会具有将触摸处理时间移位半个显示更新帧(例如~33.333ms)的效应,并且进一步减小所检测到的触摸与所显示的用户界面之间的差异。然而,触摸722-7并非比更新时间730-3提前处理裕量时间Δt,因此,对于更新时间730-3,触摸722-7不被选为代表性触摸。
图7O示出了触摸输入集724-7包括所检测到的触摸诸如代表性触摸722-6和间隙触摸722-3、722-4和722-5。此外,集724-7包括一个或多个所预测的触摸。在图7O中,集724-7包括所预测的间隙触摸722-7、722-8和722-9。在一些实施方案中,集724-7包括一个或多个所预测的代表性触摸(例如触摸722-10)。
图7P示出了根据一些实施方案在对用户界面更新时使用间隙触摸位置。图7P与图7D类似,不同的是间隙位置742-1、742-2、742-3、742-4和742-5用于更新用户界面。当行程距离在740-6处时,行程距离742-5(而不是图7D中所示的行程距离740-5)被用作线704-5的长度750-5,在实际行程距离(例如740-6)与线704-5的所显示长度(例如750-5)之间的差异d3减小(例如比图7D中所示的差异d2小)。
图7Q至图7OO示出了根据一些实施方案的所预测的触摸位置及相关联操作的使用。
图7Q至图7V示出了对所预测触摸位置的使用显著地减小或者消除了所检测到的触摸位置与所显示的触摸位置之间的差异。
当触摸输入707从位置707-A(如图7Q所示)移动到位置707-B(如图7R所示)时,用户界面可能由于各种延迟而未被立即更新以反映触摸输入707的实际位置(例如707-B)。不是等待触摸输入707的实际位置可用,相反,设备对触摸输入707的位置进行预测。在图7R中,所预测的位置710-1匹配触摸输入707的实际位置707-B,并且触摸输入707的实际位置与触摸输入707的所显示位置(例如线704-6的端点)之间的任何差异被减小或消除。
类似地,图7S至图7V示出了对所预测位置的使用减小或者消除了所检测到的触摸位置与所显示的触摸位置之间的差异。
图7W至图7BB与图7Q至图7V类似,不同的是,对应于一个或多个所预测触摸位置的一个或多个用户界面对象与独立于一个或多个所预测触摸位置的一个或多个用户界面在视觉上区分开(以不同颜色、线宽度、形状、阴影、高亮、线样式等显示)。
在图7W中,从触摸输入707的初始位置(例如图7Q中的位置707-A)延伸到触摸输入707的所预测位置710-1的线706-1被描绘成细虚线。在图7X中,在触摸输入707在位置707-B的实际位置被接收到之后,代表触摸输入707的所预测移动的线706-1被在视觉上与706-1区分开的线708-1(例如粗实线)代替。用线708-1代替线706-1(图7W中)表明所预测的位置710-1(图7W中)匹配触摸输入707的实际位置707-B。
图7X还示出了从位置707-B延伸到触摸输入707的所预测位置710-2的线706-2被视觉不同地显示,以表明线706-2是基于触摸输入707的所预测位置(例如位置710-2)。
类似地,图7Y至图7BB示出了用户界面对象或其部分的视觉不同,以表明此类用户界面对象(或部分)是基于一个或多个所预测的触摸位置。
虽然图7Q至图7BB示出了所预测位置与触摸输入的实际位置匹配的实施方案,但是预测不必完全准确。例如,位于触摸输入前一位置与触摸输入当前位置之间(而不是准确地位于触摸输入当前位置处)的所预测位置减小了触摸输入的当前位置与所显示的用户界面之间的差异,由此改善了所显示的用户界面的准确性。
图7CC至图7FF示出了根据一些实施方案的与所预测的触摸位置相关联的用户界面。
在图7CC中,线706-3延伸到与触摸输入707的触摸位置707-D对应的所预测位置710-3。然后,如图7DD所示,线706-4延伸到所预测的位置710-4,并且触摸输入707移动到不对应于所预测位置710-4的位置707-G。
图7EE示出了线706-4被移除(例如,因为所预测位置710-4不对应于触摸输入707的实际位置707-G,任选地,所预测位置710-4与实际位置707-G之间的距离大于预定义阈值)。相反,对应于触摸输入707的实际位置707-G的线708-6被显示。
图7EE还示出了在触摸屏112上显示延伸到所预测位置710-6的线706-6。触摸输入707移动到不对应于所预测位置710-6的位置707-H。在一些实施方案中,根据确定所预测位置710-6与实际位置707-H之间的距离小于预定义阈值,线706-6被包括在线708-7中以指示所预测位置710-6不偏离实际位置707-H超过预定义阈值,如图7FF所示。
图7GG和图7HH类似于图7DD和图7EE,不同的是,图7GG和图7HH中的用户界面不包括为了指示用户界面对象(或其部分)对应于一个或多个所预测触摸位置而在视觉上区分开的用户界面对象(或其部分)。
图7II示出了在触摸屏112上多个位置处检测触摸输入(例如触摸屏112上接触的移动)。这些位置包括所检测到的触摸位置(例如所检测到的代表性触摸位置712-1、712-2和712-3,以及所检测到的间隙触摸位置714-1至714-6)和所预测的触摸位置(例如所预测的代表性触摸位置716-1和716-2以及所预测的间隙触摸位置718-1至718-6)。
在一些实施方案中,设备100包括用于检测触摸屏112上的接触所施加的强度的一个或多个传感器。图7II还示出了在多个位置检测接触的强度(例如760),以及任选地,确定所预测的强度(例如762)。
在一些实施方案中,设备100包括用于检测与设备100相关联的触笔的倾斜和/或取向的一个或多个传感器。图7II示出了获取触笔的倾斜和/或取向(例如770),以及任选地,确定所预测的倾斜和/或取向(例如772)。
在一些实施方案中,与检测触摸输入的位置相比,检测触摸屏112上的接触所施加的强度、检测触笔的倾斜、和/或检测触笔的取向花费的时间量不同。在一些实施方案中,与用于检测触摸输入的位置的一个或多个传感器相比,用于检测触摸屏112上的接触所施加的强度、检测触笔的倾斜、和/或检测触笔的取向的一个或多个传感器具有更长的延迟。因此在一些实施方案中,即使对于“已知”(例如所检测到和被处理)的触摸位置,也使用所预测的强度、所预测的倾斜、和/或所预测的取向。
图7JJ示出了至少部分地基于与所预测的触摸相关联的置信度水平来确定所预测位置的数量。例如,所预测的位置与所检测到的位置之间的差异(例如所预测位置718-1与所检测到的位置714-7之间的差异和/或所预测位置718-2与所检测到的位置714-8之间的差异)被用于确定所预测位置的数量。当差异增大时,所预测位置的数量减少(例如,因为预测较不可靠),当差异减小时,所预测位置的数量增大(例如因为预测更可靠)。
图7KK示出了至少部分地基于与所检测到的触摸相关联的置信度水平来确定所预测位置的数量。例如,所检测到的触摸的变化(例如相对于图7KK所示的参考线的偏离)增大就减少所预测触摸的数量,并且所检测到的触摸的变化减小就增大所预测触摸的数量。
图7LL示出了至少部分地基于触摸输入的速度来确定所预测位置的数量。例如,当触摸输入的速度减小时,所预测触摸的数量减少(例如因为速度越低,可能有越多的抖动),当触摸输入的速度增大时,所预测触摸的数量增多(例如因为触摸输入诸如手指或触笔更不可能突然改变方向)。通常,快速移动的触摸输入与缓慢移动的触摸输入相比,具有在所预测触摸与实际触摸之间更小的差异或误差。此外,如上文参考图7B至图7E所述,在不使用合并的触摸或所预测的触摸时,快速移动的触摸输入与缓慢移动的触摸输入相比更加遭受实际触摸与所显示用户界面之间大的差异。可利用所预测的触摸来减小或消除此类大差异,所预测的触摸通常对于快速移动的触摸输入比对于缓慢移动的触摸输入更准确。因此,尤其有利的是,为快速移动的触摸输入使用所预测的触摸,由此显著地减小或消除所检测到的触摸与所显示的用户界面之间的差异。
虽然图7II至图7LL示出了以直线布置的所预测位置,但是所预测位置并不限于直线。图7MM示出了所检测到的位置712-12和712-13和714-19至714-22限定曲线,并且该曲线上的所预测位置(例如718-11至718-13和716-5)被确定。
图7NN至图7OO示出了一些实施方案中以触摸输入绘制线。在图7NN至图7OO中,线的相应部分的宽度是基于触摸输入在与线的相应部分对应的位置处所施加的强度。例如,以高强度移动触摸输入就引发绘制宽线,以低强度移动触摸输入就引发绘制细线。
图7NN示出了触摸输入709在触摸屏112上移动并且相应的线被显示在触摸屏112上。触摸输入709的移动包括第一部分780和第二部分782。在图7NN中,触摸屏112显示线的与触摸输入709的移动的第一部分780对应的部分784以及线的与触摸输入709的所预测移动对应的部分786(例如,部分786是基于所预测的位置和所预测的强度)。例如,虽然触摸输入709已沿循路径780和路径782,但触摸输入709沿路径780的移动被检测和处理使得与触摸输入709的实际移动的第一部分780对应的部分784被显示。触摸输入709沿路径782的移动未在用户界面中反映,相反,线的基于所预测的触摸信息(例如所预测的位置和强度)的部分786被显示。
图7OO示出了在显示图7NN所示的用户界面之后,用户界面被更新使得线的部分786被线的基于触摸输入709的所检测到的移动的部分788代替(例如,部分788是基于触摸输入709的所检测到的移动782,包括触摸输入709的所检测到的位置和所检测到的强度)。线的部分788中宽度的改变指示在触摸输入709沿循路径782时触摸输入709的强度的实际改变。在一些实施方案中,线的部分786以平滑过渡被线的部分788替代(例如,部分786的子部分顺序地被部分788的子部分替代),而不是突然用部分788一下子替代部分786。
虽然图7A至图7OO示出了处理手指输入,但是本领域的普通技术人员会理解,图7A至图7OO中所示的方法和用户界面可适用于以类似的方式处理触笔输入和/或鼠标输入。为了简明起见,此类细节在这里不再重复。
图8A至图8B示出了根据一些实施方案的基于合并的触摸位置更新用户界面的方法800的流程图。方法800是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法800中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法800提供了一种方式来基于合并的触摸位置更新用户界面。该方法减少了所检测到的触摸输入与所显示的用户界面之间的差异,由此减少在与触摸屏交互时用户的认知负担。此外,这生成更有效的人机界面。对于电池驱动的电子设备,使用户能够更准确地与用户界面进行交互就减少了误差和不必要的校正,由此节省电力并且增长电池充电之间的时间。
设备以第一显示速率显示(802)用户界面(参见图7P)。
在显示用户界面时,设备以比第一显示速率高的第一检测速率检测(804)触摸输入在触敏表面上一系列位置处的移动。例如,在图7H中,检测速率四倍于显示(更新)速率。在一些实施方案中,第一检测速率是第一显示速率的整数倍(例如,第一显示速率为60Hz,第一检测速率为240Hz,这是60Hz的四倍)。可以比触敏表面的最大扫描速率(例如500Hz)低的速率(例如240Hz或250Hz)监视触摸输入。例如在图7I中,不是四倍于显示速率地监视触摸输入,而是两倍于显示速率地监视触摸输入。
在一系列更新时间中的每个更新时间,设备根据触摸输入的所述一系列位置的所选子集将用户界面从相应当前状态更新(806)为相应下一状态,这一系列位置的每个所选子集包括触摸输入的多个位置。例如,如图7J所示,用户界面在一系列更新时间中的每个更新时间(例如在730-1、730-2、730-3和730-4)被更新。在一些实施方案中,用户界面的相应下一状态与用户界面的相应当前状态不同(例如,用户界面随时间而改变,使得用户界面的相应下一状态看起来与用户界面的相应当前状态不同)。在一些实施方案中,根据处理时间,用户界面可更新在紧跟在检测到第一组顺序位置中最后一个位置后面的帧之后的一个或多个帧。在一些实施方案中,这一系列更新时间是根据第一显示速率来确定。例如,对于以60Hz显示的用户界面,用户界面大约每16.67ms(≈1/(60Hz))被更新。
在一些实施方案中,设备向第一软件应用程序发送(808)具有包括所述一系列位置的所选子集的信息的消息,并且第一软件应用程序根据消息中的信息来更新用户界面。例如,在图7J中,触摸输入集724-1在730-2被发送给第一软件应用程序(例如绘图应用程序),第一软件应用程序在730-3根据集724-1中的信息更新用户界面。
在一些实施方案中,消息还包括(810)标识以下中一者或多者的信息:所述一系列位置的所选子集处触摸输入的强度(例如图1D中的强度252);和在所述一系列位置的所选子集处检测到的触摸输入的类型(例如触摸输入是由手指还是触笔进行的,诸如图1D中的触摸类型258)。在一些实施方案中,消息还包括标识所述一系列位置的所选子集处触摸输入的定时的信息(例如图1D中的时间戳256)。
在一些实施方案中,每个所选子集中的最后一个被检测位置是在下一更新时间(例如图7L)之前至少预定义时间间隔(例如处理裕量时间)被检测(812)。在此类实施方案中,每个所选子集中的最后一个被检测位置被处理并用于在下一更新时间更新用户界面。
在一些实施方案中,设备根据触摸输入的所述一系列位置的第一子集将用户界面从第一状态更新(814)为第二状态。在一些实施方案中,用户界面的第二状态与用户界面的第一状态不同。在将用户界面从第一状态更新为第二状态之后,设备根据触摸输入的这一系列位置的第二子集将用户界面从第二状态更新为第三状态。在一些实施方案中,用户界面的第三状态与用户界面的第二状态不同。例如,图7P示出了用户界面的一系列改变(这是由所显示的线根据触摸输入随着时间增大的长度来表示)。在一些实施方案中,触摸输入的这一系列位置的第二子集与触摸输入的这一系列位置的第一子集不同。在一些实施方案中,触摸输入的这一系列位置的第二子集不与触摸输入的这一系列位置的第一子集重叠。例如,触摸输入的这一系列位置的第一子集和触摸输入的这一系列位置的第二子集不包括触摸输入的公共位置。在一些实施方案中,触摸输入的这一系列位置的第一子集和触摸输入的这一系列位置的第二子集包括不同数量的位置。
在一些实施方案中,设备将触摸输入的这一系列位置的所选子集中的相应触摸位置选择(816,图8B)作为代表性触摸位置(例如,图7N中的代表性触摸722-6)。
在一些实施方案中,根据指示第一应用程序更新用户界面所需要的时间量(例如如下文参考图9A至图9D更详细所述)的第一应用程序的触摸处理标准将相应触摸位置选择(818)作为代表性触摸位置。在一些实施方案中,在启动第一应用程序时检查第一应用程序所需的时间量。在一些实施方案中,对第一应用程序所需的时间量的检查(例如以预定义间隔)被重复。在一些实施方案中,第一应用程序所需的时间量随着时间而改变。在一些实施方案中,使用对第一应用程序所选时间量的重复检查中第一应用程序所需的最长时间量。
在一些实施方案中,第一应用程序更新用户界面包括(820)将触摸输入的这一系列位置的所选子集与关于哪个位置是代表性触摸位置的指示(例如图1D中代表性触摸的标识符214)一起传输给第一应用程序。例如,通过在所述多个位置中标识代表性触摸位置,并未预期接收多个触摸位置的应用程序可简单地使用代表性触摸位置,而知道预期多个触摸位置的应用程序可使用代表性触摸位置和其他(间隙)触摸位置来提供更准确和响应性的用户界面。
在一些实施方案中,这一系列位置的所选子集包括(822)与先前代表性触摸位置和所述代表性触摸位置之间的触摸位置对应的一个或多个间隙位置(例如,图7N中的间隙触摸722-3、722-4和722-5)。
在一些实施方案中,对于所述一系列更新时间中的每个更新时间,设备选择(824)触摸输入的多个位置来用于更新用户界面。所选位置是在上一次选择位置用于更新用户界面之后检测到的触摸输入的位置(例如,在图7M中,集724-8中的触摸是在选择集724-7中的触摸之后被检测到的)。
在一些实施方案中,触摸输入的所选多个位置包括(826)一个或多个所预测的间隙位置(例如,图7O中的所预测的间隙触摸722-7、722-8和722-9,如下文参考图10A-10C更详细所述)。
在一些实施方案中,对于所述一系列更新时间中的每个更新时间,设备选择(828)触摸输入的多个位置来用于更新用户界面。所选位置是在检测到上一次被选择用于更新用户界面的触摸输入的位置之后检测到的触摸输入的位置(例如,在图7M中,集724-8中的触摸是在集724-7中的触摸被检测到之后被检测到的)。另选地,所选位置是所述一系列位置中在上一次被选择用于更新用户界面的触摸输入的位置之后的触摸输入的位置。
在一些实施方案中,所选位置包括(830)在检测到上一次被选择用于更新用户界面的触摸输入的位置之后的触摸输入的所有位置。另选地,所选位置包括不晚于更新时间检测到的触摸输入的所有位置,其包括所述一系列位置中在上一次被选择用于更新用户界面的触摸输入的位置之后的触摸输入的位置。
在一些实施方案中,所选位置包括(832)在检测到上一次被选择用于更新用户界面的触摸输入的位置之后检测到的触摸输入的位置中的仅一个位置(例如只使用单个代表性触摸位置)。在一些实施方案中,所选位置包括两个或更多个顺序位置。在一些实施方案中,只有一个位置是最新近检测到的位置。在一些实施方案中,所选位置包括最新近检测到的位置和前一位置。
在一些实施方案中,还未被选择的触摸输入的位置被丢弃。在一些实施方案中,还未被选择的触摸输入的位置被包括在后续所选择子集中。
应当理解,对图8A至图8B中的操作进行描述的特定顺序仅是示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法900、1000和1100)所述的其他过程的细节同样以类似的方式适用于上文结合图8A至图8B所述的方法800。例如,上文参考方法800所述的触摸信息、所预测的触摸位置、代表性触摸位置、间隙触摸位置和信息发送操作任选地具有本文参考本文所述其他方法(例如方法900、1000和1100)所述的触摸信息、所预测的触摸位置、代表性触摸位置、间隙触摸位置和信息发送操作的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图9A至图9D示出了根据一些实施方案的以触摸处理模块处理触摸输入的方法900的流程图。方法900是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法900中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法900提供了一种方式来利用触摸处理模块处理触摸输入。该方法提供了被配置为处理触摸输入并将经处理的触摸信息发送给应用程序的独立于应用程序的触摸处理模块。因此,应用程序不需要其自己的用于处理原始触摸输入的指令,并且利用代表性触摸位置的软件应用程序可更快更有效地开发。
设备显示(902)第一软件应用程序的用户界面(例如图7P所示的绘图应用程序的用户界面),其以第一显示速率(例如显示更新速率)更新。在显示根据第一显示速率的用户界面的第一帧时,设备检测(904)触摸输入在触敏表面上的相应移动(例如,随着触摸在触敏表面上移动,检测在触敏表面上第一组多个顺序位置处接触的移动)。
设备在独立于应用程序的触摸处理模块处(例如利用独立于应用程序的触摸处理模块,诸如图1C中的触摸处理模块220)执行以下操作(例如操作906-912、916-920和922-934)。在一些实施方案中,触摸处理模块与第一软件应用程序所特有的第一软件应用程序部分(例如图1C中的应用程序内核1(230-1))不同。例如,触摸处理模块是作为与第一应用程序集成且使第一应用程序能够与第一应用程序所运行于的操作***提供的触摸输入信息交互的混入模块被提供给应用程序开发方的应用程序开发框架的一部分,或者触摸处理模块是根据指定触摸输入信息的相容格式的应用编程接口(API)将触摸输入信息提供给第一应用程序的操作***的一部分。在一些实施方案中,在设备上运行的多个不同的第三方应用程序包括触摸输入模块的独立实例。在一些实施方案中,设备上的多个不同应用程序包括用于与触摸处理模块交互的代码,触摸处理模块与所有第三方应用程序通信。在一些实施方案中,触摸处理模块与第一软件应用程序是分开的。
设备基于第一软件应用程序的触摸处理标准选择(906)在相应移动期间检测到的触摸输入的相应触摸位置来标识为相应移动的代表性触摸位置(例如在图7N中,触摸722-6被选择作为代表性触摸)。在一些实施方案中,第一软件应用程序的触摸处理标准对应于第一软件应用程序的处理能力(例如基于第一软件应用程序能够多快地处理触摸输入和生成经更新的用户界面用于在显示器上显示来选择第一组多个顺序位置中的一个或多个位置发送给第一软件应用程序)。
在一些实施方案中,选择相应触摸位置作为代表性触摸位置包括(916,图9B)在触摸检测帧期间检测触摸输入的第一触摸位置,以及响应于检测到第一位置:根据确定第一触摸位置满足第一应用程序的触摸处理标准(例如,在第一应用程序需要处理触摸输入以实时地基于接触的移动生成经更新的用户界面用于在相应显示帧期间显示之前少于最小时间量将检测到触摸输入的下一触摸位置的标准),选择第一触摸位置作为触摸输入的相应移动的代表性触摸位置(以及任选地,将第一触摸位置发送给第一应用程序);和根据确定第一触摸位置不满足第一应用程序的触摸处理标准,不选择第一触摸位置作为触摸输入的相应移动的代表性触摸位置(例如,不将第一触摸位置发送给第一应用程序,或者等待将第一触摸位置发送给第一应用程序)。例如,在图7N中,触摸722-7不被选择用于730-3处的更新,因为触摸722-7与更新时间730-3之间的时间量小于最小时间量Δt。
在一些实施方案中,选择相应触摸位置作为代表性触摸位置包括(918)在触摸检测帧期间检测触摸输入的第二触摸位置,以及响应于检测到第二位置,根据确定第二触摸位置满足第一应用程序的触摸处理标准(例如,在第一应用程序需要处理触摸输入以实时地基于接触的移动生成经更新的用户界面用于在相应显示帧期间显示之前少于最小时间量将检测到触摸输入的下一触摸位置的标准),选择第二触摸位置作为触摸输入的相应移动的代表性触摸位置(以及任选地,将第二触摸位置发送给第一应用程序)。例如,在图7N中,触摸722-6被选择用于730-3处的更新,因为触摸722-6与更新时间730-3之间的时间量大于最小时间量Δt。
在一些实施方案中,该方法包括(920):根据确定第二触摸位置不满足第一应用程序的触摸处理标准,不选择第二触摸位置作为触摸输入的相应移动的代表性触摸位置(例如,不将第一触摸位置发送给第一应用程序,或者等待将第一触摸位置发送给第一应用程序)。在一些实施方案中,设备在触摸检测帧期间检测到3、4或更多个触摸位置,并基于第一应用程序的触摸处理标准确定是否将这些触摸位置中的任何触摸位置标识为代表性触摸位置。在一些实施方案中,不同应用程序具有不同的触摸处理标准(例如,一些应用程序更快地生成经更新的用户界面,因此可接收较晚的触摸并且仍然实时地生成经更新的用户界面,而其他应用程序更慢地生成用户界面,因此需要接收较早的触摸来实时地生成经更新的用户界面)。在一些实施方案中,相同应用程序在不同时间可以具有不同的触摸处理标准(例如取决于可供第一应用程序使用的CPU或GPU处理带宽量、第一应用程序的用户界面的复杂性、和/或第一应用程序分配给其他任务的资源)。
设备向第一软件应用程序的与触摸处理模块不同的特定于应用程序的部分(例如,第一软件应用程序的与触摸处理模块不同的所述部分不包括触摸处理模块)发送(908,图9A)将相应触摸位置标识为相应移动的代表性触摸位置的触摸输入的触摸位置信息。例如,在图1C中,触摸位置信息从触摸处理模块220发送给应用程序内核1(230-1)。
在一些实施方案中,设备在独立于应用程序的触摸处理模块处(例如利用独立于应用程序的触摸处理模块)确定(910)将所述一个或多个所选位置发送给第一软件应用程序的定时;以及根据所确定的定时将所述一个或多个所选位置发送给第一软件应用程序(例如,如图7M所示,定时要求随时间而改变,并且设备基于改变的定时要求确定发送所述一个或多个所选位置的定时)。
在一些实施方案中,设备(例如利用独立于应用程序的触摸处理模块)监视(912)第一软件应用程序的状态(例如通过监视运行循环)。定时是根据第一软件应用程序的状态来确定(例如如果第一软件应用程序忙则早发送(因为第一软件应用程序不能快速地响应),如果第一软件应用程序不忙则晚发送(因为第一软件应用程序能快速地响应)。
在一些实施方案中,设备确定(922,图9C)处理裕量时间。在一些实施方案中,设备选择用于设备所执行的所有应用程序的默认处理裕量时间。在一些实施方案中,相应应用程序与相应处理裕量时间相关联(例如,计算强度大的应用程序具有长的处理裕量时间,计算强度小的应用程序具有短的处理裕量时间)。在其中每一个都比一系列显示更新时间中的显示更新时间提前至少所确定的处理裕量时间的一系列通信时间中的每个通信时间,设备从触摸处理模块向第一软件应用程序发送包括前一时间段期间触摸输入的一个或多个所选位置的一组位置;以及在第一软件应用程序处(例如利用第一软件应用程序)根据触摸处理模块在这一系列通信时间发送的这一组位置而实时地更新第一用户界面以用于在这一系列显示更新时间进行显示。例如,比更新时间730-3提前处理裕量时间的触摸的集724-5(图7L)被用于在更新时间730-3更新用户界面,比更新时间730-4提前处理裕量时间的触摸的集724-6被用于在更新时间730-4更新用户界面。
在一些实施方案中,确定处理裕量时间包括(924)将处理裕量时间设置为初始值,然后根据第一软件应用程序的性能的一个或多个测量来确定经更新的处理裕量时间(例如,处理裕量时间随时间而改变,如图7M中所示)。在一些实施方案中,初始值是通过在启动第一软件应用程序时确定第一软件应用程序的性能来确定的。在一些实施方案中,经更新的处理裕量时间是以预定义的时间间隔来确定。在一些实施方案中,经更新的处理裕量时间是响应于检测到触敏表面上的每个单独触摸输入的。
在一些实施方案中,处理裕量时间是根据第一软件应用程序在处理多组触摸输入位置中每一组时的最长处理时间来确定(926)(例如,如果处理时间波动或变化,则取最坏情况或保守裕量时间)。在一些实施方案中,从多个候选裕量时间中根据与相应候选裕量时间相关联的置信度值来选择处理裕量时间。
在一些实施方案中,在每个通信时间发送的这一组位置中所包括的触摸输入的位置对应于(928)这一系列通信时间中连续通信时间之间触摸输入的多个所检测到的位置。
在一些实施方案中,设备向第一软件应用程序发送(930)标识相应移动的一个或多个所预测触摸位置的触摸输入的所预测触摸位置信息(例如图1D中的所预测的触摸244)。在一些实施方案中,所预测的触摸位置信息与触摸位置信息同时发送(例如,图1D中的事件对象194包括所预测的触摸位置信息和所检测到的触摸位置信息二者)。在一些实施方案中,第一软件应用程序的独立于应用程序的子模块(例如图1C中的触摸处理模块220)根据预定义的预测模型标识相应移动的一个或多个所预测的触摸位置。
在一些实施方案中,设备将触摸输入的触摸位置信息发送(922)给多个软件应用程序,包括第一软件应用程序。例如,在图1C中,触摸位置信息被发送给应用程序1(136-1)和应用程序2(136-2)二者。
在一些实施方案中,设备根据确定第一软件应用程序被配置为接收触摸位置信息而向第一软件应用程序发送(934)触摸输入的触摸位置信息;以及根据确定与第一软件应用程序不同的第二软件应用程序被配置为接收后续触摸位置信息而向第二软件应用程序发送触摸输入的后续触摸位置信息。例如,在图1C中,触摸位置信息被发送给应用程序1(136-1)和应用程序2(136-2)二者。在一些具体实施中,当所显示的用户界面同时包括应用程序1(136-1)的用户界面和应用程序2(136-2)的用户界面时,与应用程序1(136-1)的用户界面对应的触摸的触摸位置信息被发送给应用程序1(136-1),与应用程序2(136-2)的用户界面对应的触摸的触摸位置信息被发送给应用程序2(136-2)。
设备在第一软件应用程序处(例如利用第一软件应用程序)根据触摸位置信息(例如触摸处理模块选择的所述一个或多个位置)更新(914,图9A)用户界面。例如,在图7Q至图7V中,用户界面根据触摸输入的改变(和相应触摸信息)而更新。在一些实施方案中,触摸处理模块(例如图1C中的触摸处理模块220)向第一软件应用程序所特有的第一软件应用程序部分(例如图1C中的应用程序内核1(230-1))在下一代表性触摸被检测到之前发送先前代表性触摸的位置信息,以便为第一软件应用程序提供处理先前代表性触摸的时间。
在一些实施方案中,设备以第一软件应用程序的第一部分(包括独立于应用程序的子模块(例如独立于应用程序的触摸处理模块,诸如图1C中的触摸处理模块220))发送(936,图9D)触摸位置信息,以包括特定于应用程序的子模块(例如图1C中的应用程序内核1(230-1))的软件应用程序的第二部分更新用户界面。在一些实施方案中,触摸处理模块是与独立于应用程序的子模块通信的独立于应用程序的模块。在一些实施方案中,电子设备执行的第二应用程序也包括独立于应用程序的子模块,并且在执行时,利用独立于应用程序的子模块从触摸处理模块接收触摸位置信息以及以包括与第一软件应用程序的特定于应用程序的子模块不同的特定于应用程序的子模块的第二软件应用程序的第二部分更新第二应用程序的相应用户界面。
在一些实施方案中,触摸输入的移动在相应触摸检测帧(例如图7J中的触摸检测帧724-1)期间被检测(938)。基于触摸输入的移动的第一应用程序的经更新的用户界面在相应触摸处理帧(例如图7J中的触摸处理帧732-2)期间被生成。在一些实施方案中,相应触摸检测帧部分地重叠相应触摸处理帧。在一些实施方案中,相应触摸检测帧与相应触摸处理帧同时。经更新的用户界面被显示在显示器上持续在相应触摸处理帧之后出现的相应显示帧(例如图7J中的显示帧734-2)的持续时间。
在一些实施方案中,在相应触摸处理帧期间(例如对于相应触摸处理帧的整个持续时间),设备显示(940)在前一触摸处理帧期间生成的第一应用程序的用户界面(例如在与相应触摸处理帧同时出现的前一显示帧期间)。例如,在图7J中,在触摸处理帧732-3期间,在触摸处理帧732-2期间生成的用户界面被显示。
在一些实施方案中,在相应显示帧期间(例如对于相应显示帧的整个持续时间),设备检测(942)触摸输入在触敏表面上的后续移动,并向第一软件应用程序(的特定于应用程序的部分)发送触摸输入的后续移动的触摸位置信息(例如在与相应显示帧同时出现的下一触摸检测帧期间)。例如,在显示帧734-2期间,设备在触摸检测帧724-2中检测触摸。
应当理解,对图9A-图9D中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法800、1000和1100)所述的其他过程的细节同样以类似的方式适用于上文结合图9A至图9D所述的方法900。例如,上文参考方法900所述的触摸信息、代表性触摸位置、定时和信息发送操作任选地具有本文参考本文所述其他方法(例如方法800、1000和1100)所述的触摸信息、代表性触摸位置、定时和信息发送操作的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图10A至图10C示出了根据一些实施方案的基于所预测的触摸位置更新用户界面的方法1000的流程图。方法1000是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1000中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1000提供了一种方式来基于所预测的触摸位置更新用户界面。该方法减少了所检测到的触摸输入与所显示的用户界面之间的差异,由此减少在与触摸屏交互时用户的认知负担。此外,这生成更有效的人机界面。对于电池驱动的电子设备,使用户能够更准确地与用户界面进行交互就减少了误差和不必要的校正,由此节省电力并且增长电池充电之间的时间。
设备以第一显示速率显示(1002)用户界面(例如图7Q中绘图应用程序的用户界面)。
在显示根据第一显示速率的用户界面时,设备检测(1004)触摸输入的移动,包括检测触敏表面上第一组顺序位置处的触摸输入。第一组顺序位置包括触敏表面上的多个位置。例如,在图7H中,在显示更新时间730-1和730-2之间检测到多个触摸(例如触摸722-2至722-5)。
在一些实施方案中,以比第一显示速率高的第一检测速率(例如在图7H中,检测速率四倍于显示速率)检测(1006)触摸输入的移动。
设备基于第一组顺序位置中的多个位置为触摸输入预测(1008)触敏表面上的第一组一个或多个所预测位置。例如,在图7O中,触摸722-3至722-6被用于预测触摸位置722-7至722-13。在一些实施方案中,第一组一个或多个所预测位置是基于第一组顺序位置中所述多个位置的导数(例如一阶导数和/或二阶导数)来预测。在一些实施方案中,第一组一个或多个所预测位置是基于线性拟合来预测(例如如图7KK所示)。
在一些实施方案中,这一个或多个所预测位置中的每一者是(1010)所预测的代表性触摸位置(例如,图7O中的所预测的代表性触摸位置722-10)。
在一些实施方案中,这一个或多个所预测位置包括(1012)触敏表面上触摸输入的一个或多个所预测的间隙触摸位置(例如,图7O中的所预测的间隙触摸位置722-7至722-9)。
在一些实施方案中,触敏表面上触摸输入的这一个或多个所预测位置是至少部分地基于触敏表面上触摸输入的多个代表性触摸位置来预测(1014,图10B)(参见上文参考图8A至图8B对代表性触摸位置的讨论)。例如,所预测位置是基于图7O中的代表性触摸位置722-2和722-6。在一些实施方案中,每个显示帧具有单个代表性触摸位置。
在一些实施方案中,触敏表面上触摸输入的这一个或多个所预测位置是基于触敏表面上触摸输入的多个代表性触摸位置和触敏表面上触摸输入的一个或多个间隙位置来预测(1016)(参见上文参考图8A至图8B对间隙触摸位置的讨论)。例如,所预测位置是基于图7O中的代表性触摸位置722-2和722-6以及间隙触摸位置722-3至722-5。在一些实施方案中,每个显示帧具有一个或多个间隙触摸位置与代表性触摸位置不同。
在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量是根据与这一个或多个所预测位置相关联的一个或多个置信度值来确定(1018)。例如,如图7JJ所示,置信度值是基于所预测的触摸位置后续是否匹配所检测到的(实际)触摸位置来确定。因此,当所预测的触摸位置匹配所检测到的触摸位置时,置信度值增大(进而,所预测位置的数量增大)。当所预测的触摸位置不匹配所检测到的触摸位置(或所预测的触摸位置相对于所检测到的触摸位置偏离大于预定义的误差容限)时,置信度值减小(进而,所预测位置的数量减少)。在一些实施方案中,触摸处理模块(例如图1C中的触摸处理模块220)预测触摸位置。在一些实施方案中,触摸处理模块确定与每个触摸位置相关联的置信度值。在一些实施方案中,只有相关联的置信度值满足置信度值标准(例如高于预定义的置信度值阈值)的触摸位置被包括在第一组一个或多个所预测位置中。
在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量是根据与第一组顺序位置中所述多个位置相关联的一个或多个置信度值来确定(1020)。例如,如图7KK所示,置信度值是基于所检测到的触摸位置是否匹配预测模型来确定。例如,当预测是基于线性拟合时,设备确定所检测到的触摸位置是否拟合到拟合线上。所检测到的触摸位置偏离所述线就减小置信度值(进而,所预测位置的数量减少)。当所检测到的触摸位置很好地拟合到所述线时,置信度值增大(进而,所预测位置的数量增大)。在一些实施方案中,触摸处理模块为第一组顺序位置中的所述多个位置确定置信度值。所预测位置的数量是基于第一组顺序位置中所述多个位置的置信度值来确定(例如,置信度值越高,则所预测位置越多,而置信度值越低,则所预测位置越少)。
在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量等于第一组顺序位置中位置的数量。在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量大于第一组顺序位置中位置的数量。在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量是第一组顺序位置中位置的整数倍。
在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于(1022)将第一组顺序位置中所述多个位置拟合到预定义约束的误差(例如将所检测到的触摸位置拟合到图7KK所示参考线的误差)。在一些实施方案中,预定义约束是线性拟合到第一组顺序位置中的所述多个位置。在一些实施方案中,预定义约束是多项式拟合到第一组顺序位置中的所述多个位置。在一些实施方案中,预定义约束是圆形拟合到第一组顺序位置中的所述多个位置。在一些实施方案中,与第一组顺序位置相关联的所述一个或多个置信度值至少部分地基于历史误差(例如拟合先前顺序位置集合的误差)。在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于历史置信度值(例如先前顺序位置集合的置信度值)。在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于触摸输入的取向。
在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于(1024)触摸输入的移动速度。例如,高速触摸输入具有较高置信度值(因为触摸输入较不可能突然改变方向),低速触摸输入具有较低置信度值。例如,在图7LL中,触摸输入的速度低,置信度值也低。因此,所预测位置的数量减少到2个。
在一些实施方案中,设备包括(1026)用于检测触敏表面上触摸输入的强度的一个或多个传感器。设备预测触敏表面的多个位置处触摸输入的强度。例如,图7II示出了在多个位置预测触摸输入的强度。图7NN示出了基于触摸输入的所预测强度绘制的线。在一些实施方案中,触敏表面上所述多个位置对应于触敏表面上第一组一个或多个所预测位置的子集。在一些实施方案中,触敏表面上所述多个位置对应于触敏表面上第一组一个或多个所预测位置。设备根据触摸输入的所预测强度更新用户界面。在一些实施方案中,强度预测是以与位置预测不同的速率进行(例如,因为强度预测包括来自触笔上强度传感器的额外输入或者花费额外处理时间的对接触尺寸的测量),对于一个或多个触摸输入的位置估计是在对那些触摸输入的强度估计被更新之前被更新。这样,触摸的所预测位置可在一个帧中被更新,而触摸的所预测强度在下一帧中被更新。另外,在一些实施方案中,触摸的所预测强度在多个后续帧中被更新,因为触摸的强度的预测值变得越来越准确。
在一些实施方案中,设备预测(1028)触敏表面上多个位置处触摸输入的倾斜和/或取向。例如,图7II示出了在多个位置预测触摸输入(例如触笔)的倾斜和/或取向。在一些实施方案中,触敏表面上所述多个位置对应于触敏表面上第一组一个或多个所预测位置的子集。在一些实施方案中,触敏表面上所述多个位置对应于触敏表面上第一组一个或多个所预测位置。设备根据所预测的触摸输入的倾斜和/或取向更新用户界面。在一些实施方案中,倾斜和/或取向预测是以与位置预测不同的速率进行(例如,因为倾斜和/或取向预测包括来自触笔上力传感器的额外输入或者花费额外处理时间的对接触形状的测量),对于一个或多个触摸输入的位置估计是在对那些触摸输入的倾斜和/或取向估计被更新之前被更新。另外,在一些实施方案中,触摸的所预测的倾斜和/或取向在多个后续帧中被更新,因为触摸的倾斜和/或取向的预测值变得越来越准确。
设备根据触敏表面上触摸输入的第一组一个或多个所预测位置更新(1030,图10C)用户界面。例如,如图7Q至图7V所示,用户界面被更新为基于所预测的触摸位置显示线的延长。
在一些实施方案中,触摸输入的移动在相应触摸检测帧(例如图7J中的触摸检测帧724-1)期间被检测(1032)。基于触摸输入的移动的经更新的用户界面在相应触摸处理帧(例如触摸处理帧732-2)期间被生成。在一些实施方案中,相应触摸检测帧部分地重叠相应触摸处理帧(例如,触摸处理帧732重叠触摸检测帧724-1)。在一些实施方案中,相应触摸检测帧与相应触摸处理帧同时(例如,触摸检测帧724-1与触摸处理帧732同时)。经更新的用户界面被显示在显示器上持续在相应触摸处理帧之后出现的相应显示帧(例如显示帧734-2)的持续时间。
在一些实施方案中,所述多个位置不必在同一显示帧期间被检测。更新用户界面可以是在第一组中触摸输入的代表性位置被检测之后的下一帧时间时,或者其可以在较晚的时间帧时,具体取决于所需要的处理时间(例如,基于触摸处理帧732-2期间检测的触摸而更新的用户界面在显示帧734-3或734-4期间被显示)。
在一些实施方案中,设备在独立于应用程序的触摸处理模块处(例如利用独立于应用程序的触摸处理模块)为触摸输入预测(1034)触敏表面上的第一组一个或多个所预测位置;并向第一软件应用程序的特定于应用程序的部分发送触敏表面上触摸输入的第一组一个或多个所预测位置。例如,在图1C中,所预测的触摸位置从触摸处理模块220发送给应用程序内核1(230-1)。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置被发送给多个软件应用程序。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置被发布,并且触摸输入的所发布的第一组一个或多个所预测位置被一个或多个软件应用程序检索。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置响应于来自第一软件应用程序的对触敏表面上触摸输入的第一组一个或多个所预测位置的请求而从触摸处理模块发送给第一软件应用程序。设备在第一软件应用程序处(例如利用第一软件应用程序)根据触敏表面上触摸输入的第一组一个或多个所预测位置更新用户界面。
在一些实施方案中,设备在检测到触敏表面上第一组顺序位置处的触摸输入之后检测(1036)触敏表面上第二组顺序位置处的触摸输入;并将触敏表面上触摸输入的第二组顺序位置与触敏表面上触摸输入的第一组一个或多个所预测位置进行比较。例如如图7CC至图7EE所示,如果第一组一个或多个所预测位置与所检测到的位置之间的差异超过预定义标准,则用户界面被更新以移除基于错误预测显示的用户界面对象。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置中的每个触摸位置对应于触敏表面上触摸输入的第二组顺序位置中的相应触摸位置。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置中的每个触摸位置与相应时间戳相关联,并且与触敏表面上触摸输入的第二组顺序位置中与相应时间戳相关联的对应触摸位置进行比较。例如,所预测位置对应于特定时间,诸如显示更新时间,这提供了立即处理触摸输入的错觉。在一些实施方案中,触敏表面上触摸输入的第一组一个或多个所预测位置中的每个触摸位置与相应标识符相关联,并且与触敏表面上触摸输入的第二组顺序位置中与相应标识符相关联的对应触摸位置进行比较。在一些实施方案中,第一软件应用程序将触敏表面上触摸输入的第二组顺序位置与触敏表面上触摸输入的第一组一个或多个所预测位置进行比较。根据确定触敏表面上触摸输入的第一组一个或多个所预测位置与触敏表面上触摸输入的第二组顺序位置之间的差异满足预定义标准,设备根据触敏表面上触摸输入的第二组顺序位置更新用户界面。
在一些实施方案中,设备为触摸输入预测(1038)触敏表面上的第二组一个或多个位置(例如基于第二组顺序位置和/或第一组顺序位置中的多个位置),并根据触敏表面上的第二组顺序位置和触敏表面上触摸输入的第二组一个或多个所预测位置更新用户界面。例如,在图7Z至图7AA中,所检测到的触摸位置和所预测的触摸位置二者被用于更新用户界面。
在一些实施方案中,根据一个或多个所预测位置更新(1040)的用户界面部分与根据一个或多个所检测到的位置更新的用户界面部分在视觉上区分开(例如,基于所预测位置的路径以虚线绘制,基于所测量位置的路径以实线绘制,如图7W至图7BB所示)。
应当理解,对图10A至图10C中的操作进行描述的特定顺序仅是示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法800、900和1100)所述的其他过程的细节同样以类似的方式适用于上文结合图10A至图10C所述的方法1000。例如,上文参考方法1000所述的应用编程接口、所预测的触摸位置、代表性触摸位置、和间隙触摸位置任选地具有本文参考本文所述其他方法(例如方法800、900和1100)所述的应用编程接口、所预测的触摸位置、代表性触摸位置、和间隙触摸位置的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图11示出了根据一些实施方案的传送所预测的触摸信息的方法1100的流程图。方法1100是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1100中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1100提供了一种方式来传送所预测的触摸信息。对所预测的触摸信息的使用减少了所检测到的触摸输入与所显示的用户界面之间的差异,由此减少在与触摸屏交互时用户的认知负担。此外,这生成更有效的人机界面。对于电池驱动的电子设备,使用户能够更准确地与用户界面进行交互就减少了误差和不必要的校正,由此节省电力并且增长电池充电之间的时间。
设备显示(1102)以第一显示速率进行更新的第一软件应用程序的用户界面(例如图7Q中绘图应用程序的用户界面)。
设备以比第一显示速率高的第一检测速率(例如在图7H中,检测速率比显示速率高)检测(1004)触敏表面上触摸输入的相应移动。
设备在独立于应用程序的触摸处理模块处(例如利用独立于应用程序的触摸处理模块,诸如图1C中的触摸处理模块220)向第一软件应用程序的特定于应用程序的部分发送(1106)触摸输入的触摸位置信息,触摸位置信息标识:触敏表面上触摸输入的一个或多个所预测位置(例如所预测触摸244中的位置250,图1D);和触敏表面上触摸输入的一个或多个强度位置处触摸输入的一个或多个所预测强度值(例如所预测触摸244中的强度,图1D),所述一个或多个强度位置至少包括所述一个或多个所预测位置的子集。在一些实施方案中,图1D中所预测触摸244的位置250包括触摸输入的一个或多个所预测位置和/或一个或多个所预测强度位置(例如,为其预测强度的一个或多个位置)。在一些实施方案中,相应强度值对应于触摸输入在触敏表面上施加的力或压力。在一些实施方案中,所述一个或多个强度位置是触敏表面上的所述一个或多个所预测位置。在一些实施方案中,所述一个或多个强度位置与触敏表面上的所述一个或多个所预测位置不同。
设备在第一软件应用程序处(例如利用第一软件应用程序)处理(1122)触摸位置信息(例如,图1C中的应用程序1(136-1)被用于处理触摸位置信息)。在一些实施方案中,处理触摸位置信息包括根据触摸位置信息更新用户界面。
在一些实施方案中,触摸位置信息包括(1108)触敏表面上触摸输入的所述一个或多个所预测位置中每个所预测位置的相应触摸标识符(例如,标识与每个所预测位置相关联的触摸的数字或字符串)(例如,图1D中所预测触摸244中的触摸标识符246)。
在一些实施方案中,触摸位置信息还标识(1110):触敏表面上触摸输入的多个所检测位置(例如,图1D中所检测触摸242中的位置250);和触敏表面上多个强度位置处触摸输入的多个强度值(例如,图1D中所检测触摸242中的强度252)。
在一些实施方案中,触敏表面上的所述多个强度位置是(1112)所述多个所检测位置(例如,一个或多个强度传感器在与触敏表面所检测的位置对应的相同位置处检测强度)。在一些实施方案中,所述多个强度位置与所述多个所检测位置不同。在一些实施方案中,所述多个强度位置是所述多个所检测位置的子集。在一些实施方案中,所述多个所检测位置是所述多个强度位置的子集。
在一些实施方案中,触摸位置信息包括(1114)所述多个所检测位置的一个或多个触摸标识符(例如,图1D中所检测触摸242中的触摸标识符246)。在一些实施方案中,所述多个所检测位置的所述一个或多个标识符不包括触摸位置信息中所述一个或多个所预测位置的相应标识符。
在一些实施方案中,触摸位置信息还标识(1116)触摸输入的所预测倾斜和/或取向(例如,图1D中所预测触摸244中的倾斜/取向254)。
在一些实施方案中,触摸位置信息还标识(1118)触摸输入的类型(例如,触摸输入是由手指还是触笔进行的,如图1D中触摸类型258所示)。
在一些实施方案中,向第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息包括(1120)发布触摸输入的触摸位置信息。例如,图1D所示的事件对象194被发布在图1C中的队列218-1中。
应当理解,图11中的操作被描述的特定次序仅仅是示例性的,并非旨在指示所述次序是这些操作可以被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法800、900和1000)所述的其他过程的细节同样以类似的方式适用于上文结合图11所述的方法1100。例如,上文参考方法1100所述的触摸信息、所预测触摸位置、所预测强度、信息发送操作任选地具有本文参考本文所述其他方法(例如方法800、900和1000)所述的触摸信息、所预测触摸位置、所预测强度、信息发送操作的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
根据一些实施方案,图12示出根据各种所述实施方案的原理进行配置的电子设备1200的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图12中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图12中所示,电子设备1200包括被配置为显示用户界面的显示单元1202;被配置为接收接触的触敏表面单元1204;以及与显示单元1202和触敏表面单元1204耦接的处理单元1208。在一些实施方案中,电子设备包括被配置为检测输入的一个或多个传感器单元1206,并且处理单元1208也与所述一个或多个传感器单元1206耦接。在一些实施方案中,所述一个或多个传感器单元1206包括被配置为检测与触敏表面单元1204的接触的强度的一个或多个传感器。在一些实施方案中,所述一个或多个传感器单元1206包括被配置为检测来自与电子设备1200相关联的触笔的信号的一个或多个传感器。在一些实施方案中,处理单元1208包括显示使能单元1210、检测单元1212、更新单元1214、发送单元1216和/或选择单元1218。
处理单元1208被配置为(例如以显示使能单元1210)以第一显示速率启用对用户界面的显示。
处理单元1208还被配置为在用户界面被显示时(例如以检测单元1212)以比第一显示速率高的第一检测速率检测触敏表面单元1204上一系列位置处触摸输入的移动。
处理单元1208还被配置为在一系列更新时间中的每个更新时间,(例如以更新单元1214)根据触摸输入的所述一系列位置的所选子集将用户界面从相应当前状态更新为相应下一状态,这一系列位置的每个所选子集包括触摸输入的多个位置。
在一些实施方案中,处理单元1208被配置为(例如以发送单元1216)向第一软件应用程序发送具有包括所述一系列位置的所选子集的信息的消息,并且第一软件应用程序根据消息中的信息来更新用户界面。
在一些实施方案中,消息还包括标识以下中一者或多者的信息:所述一系列位置的所选子集处触摸输入的强度;和在所述一系列位置的所选子集处检测到的触摸输入的类型。
在一些实施方案中,每个所选子集中的最后一个被检测位置是在下一更新时间之前至少预定义时间间隔被检测。
在一些实施方案中,处理单元1208被配置为(例如以选择单元1218)将触摸输入的这一系列位置的所选子集中的相应触摸位置选择作为代表性触摸位置。
在一些实施方案中,根据指示第一应用程序更新用户界面所需要的时间量的第一应用程序的触摸处理标准将相应触摸位置选择作为代表性触摸位置。
在一些实施方案中,第一应用程序更新用户界面包括将触摸输入的这一系列位置的所选子集与关于哪个位置是代表性触摸位置的指示一起传输给第一应用程序。
在一些实施方案中,这一系列位置的所选子集包括对应于先前代表性触摸位置与所述代表性触摸位置之间触摸位置的一个或多个间隙位置。
在一些实施方案中,处理单元1208被配置为(例如以选择单元1218)对于这一系列更新时间中的每个更新时间,选择触摸输入的多个位置用于更新用户界面,其中所选位置是在上一次选择位置用于更新用户界面之后检测到的触摸输入的位置。
在一些实施方案中,触摸输入的所选的多个位置包括一个或多个所预测的间隙位置。
在一些实施方案中,处理单元1208被配置为(例如以选择单元1218)对于这一系列更新时间中的每个更新时间,选择触摸输入的多个位置用于更新用户界面,其中所选位置是在检测到上一次被选择用于更新用户界面的触摸输入的位置之后检测到的触摸输入的位置。
在一些实施方案中,所选位置包括在检测到上一次被选择用于更新用户界面的触摸输入的位置之后触摸输入的所有位置。
在一些实施方案中,所选位置包括在检测到上一次被选择用于更新用户界面的触摸输入的位置之后触摸输入的位置中仅一个位置。
在一些实施方案中,处理单元1208被配置为(例如以更新单元1214)根据触摸输入的这一系列位置的第一子集将用户界面从第一状态更新到第二状态;以及在将用户界面从第一状态更新到第二状态之后,根据触摸输入的这一系列位置的第二子集将用户界面从第二状态更新到第三状态。
根据一些实施方案,图13示出根据各种所述实施方案的原理进行配置的电子设备1300的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图13中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图13中所示,电子设备1300包括被配置为显示用户界面的显示单元1302;被配置为接收接触的触敏表面单元1304;以及与显示单元1302和触敏表面单元1304耦接的处理单元1308。在一些实施方案中,电子设备包括被配置为检测输入的一个或多个传感器单元1306,并且处理单元1308也与所述一个或多个传感器单元1306耦接。在一些实施方案中,所述一个或多个传感器单元1306包括被配置为检测与触敏表面单元1304的接触的强度的一个或多个传感器。在一些实施方案中,所述一个或多个传感器单元1306包括被配置为检测来自与电子设备1300相关联的触笔的信号的一个或多个传感器。在一些实施方案中,处理单元1308包括:显示使能单元1310、检测单元1312、选择单元1314、发送单元1316、更新单元1318、放弃单元1320、确定单元1322、监视单元1324和/或设置单元1326。
处理单元1308被配置为(例如以显示使能单元1310)启用对以第一显示速率更新的第一软件应用程序的用户界面的显示。
处理单元1308也被配置为在根据第一显示速率的用户界面的第一帧被显示时:(例如以检测单元1312)检测触摸输入在触敏表面单元1304上的相应移动;以及在独立于应用程序的触摸处理模块处:(例如以选择单元1314)基于第一软件应用程序的触摸处理标准,选择在相应移动期间检测到的触摸输入的相应触摸位置来标识为相应移动的代表性触摸位置;以及(例如以发送单元1316)向与触摸处理模块不同的第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息,触摸位置信息将相应触摸位置标识为相应移动的代表性触摸位置。
处理单元1308还被配置为(例如以更新单元1318)在第一软件应用程序处根据触摸位置信息更新用户界面。
在一些实施方案中,处理单元1308被配置为(例如以发送单元1316)以第一软件应用程序的第一部分(包括独立于应用程序的子模块)发送触摸位置信息,并(例如以更新单元1318)以软件应用程序的包括特定于应用程序的子模块的第二部分更新用户界面。
在一些实施方案中,触摸输入的移动是在相应触摸检测帧期间被检测;基于触摸输入的移动的第一应用程序的经更新的用户界面是在相应触摸处理帧期间被生成;并且经更新的用户界面被显示在显示器上持续在相应触摸处理帧之后出现的相应显示帧的持续时间。
在一些实施方案中,处理单元1308被配置为(例如以显示使能单元1310)在相应触摸处理帧期间使能显示在前一触摸处理帧期间生成的第一应用程序的用户界面。
在一些实施方案中,处理单元1308被配置为(例如以检测单元1312)在相应显示帧期间检测触敏表面单元1304上触摸输入的后续移动并向第一软件应用程序发送触摸输入的后续移动的触摸位置信息。
在一些实施方案中,将相应触摸位置选择作为代表性触摸位置包括:在触摸检测帧期间检测触摸输入的第一触摸位置,以及响应于检测到第一位置:根据确定第一触摸位置满足第一应用程序的触摸处理标准,将第一触摸位置选择作为触摸输入的相应移动的代表性触摸位置;和根据确定第一触摸位置不满足第一应用程序的触摸处理标准,不将第一触摸位置选择作为触摸输入的相应移动的代表性触摸位置。
在一些实施方案中,将相应触摸位置选择作为代表性触摸位置包括:在触摸检测帧期间检测触摸输入的第二触摸位置,以及响应于检测到第二位置,根据确定第二触摸位置满足第一应用程序的触摸处理标准,将第二触摸位置选择作为触摸输入的相应移动的代表性触摸位置。
在一些实施方案中,处理单元1308被配置为根据确定第二触摸位置不满足第一应用程序的触摸处理标准,(例如以放弃单元1320)放弃将第二触摸位置选择作为触摸输入的相应移动的代表性触摸位置。
在一些实施方案中,处理单元1308被配置为在独立于应用程序的触摸处理模块处:(例如以确定单元1322)确定将所述一个或多个所选位置发送给第一软件应用程序的定时;和(例如以发送单元1316)根据所确定的定时将所述一个或多个所选位置发送给第一软件应用程序。
在一些实施方案中,处理单元1308被配置为(例如以监视单元1324)监视第一软件应用程序的状态,其中所述定时是根据第一软件应用程序的状态来确定。
在一些实施方案中,处理单元1308被配置为:(例如以确定单元1322)确定处理裕量时间;在其中每一个都比一系列显示更新时间中的显示更新时间提前至少所确定的处理裕量时间的一系列通信时间中的每个通信时间,(例如以发送单元1316)从触摸处理模块向第一软件应用程序发送包括前一时间段期间触摸输入的一个或多个所选位置的一组位置;以及在第一软件应用程序处,(例如以更新单元1318)根据触摸处理模块在这一系列通信时间发送的这一组位置实时地更新第一用户界面以用于在这一系列显示更新时间进行显示。
在一些实施方案中,确定处理裕量时间包括(例如以设置单元1326)将处理裕量时间设置为初始值,然后根据第一软件应用程序的性能的一个或多个测量来确定经更新的处理裕量时间。
在一些实施方案中,处理裕量时间是根据第一软件应用程序在处理多组触摸输入位置中每一组时的最长处理时间来确定。
在一些实施方案中,在每个通信时间发送的这一组位置中所包括的触摸输入的位置对应于这一系列通信时间中连续通信时间之间触摸输入的多个所检测到的位置。
在一些实施方案中,处理单元1308被配置为(例如以发送单元1316)向第一软件应用程序发送标识相应移动的一个或多个所预测触摸位置的触摸输入的所预测触摸位置信息。
在一些实施方案中,处理单元1308被配置为(例如以发送单元1316)将触摸输入的触摸位置信息发送给多个软件应用程序,包括第一软件应用程序。
在一些实施方案中,处理单元1308被配置为:(例如以发送单元1316)根据确定第一软件应用程序被配置为接收触摸位置信息而向第一软件应用程序发送触摸输入的触摸位置信息;以及(例如以发送单元1316)根据确定与第一软件应用程序不同的第二软件应用程序被配置为接收后续触摸位置信息而向第二软件应用程序发送触摸输入的后续触摸位置信息。
根据一些实施方案,图14示出根据各种所述实施方案的原理进行配置的电子设备1400的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图14中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图14中所示,电子设备1400包括被配置为显示用户界面的显示单元1402;被配置为接收接触的触敏表面单元1404;以及与显示单元1402和触敏表面单元1404耦接的处理单元1408。在一些实施方案中,电子设备包括被配置为检测输入的一个或多个传感器单元1406,并且处理单元1408也与所述一个或多个传感器单元1406耦接。在一些实施方案中,所述一个或多个传感器单元1406包括被配置为检测与触敏表面单元1404的接触的强度的一个或多个传感器。在一些实施方案中,所述一个或多个传感器单元1406包括被配置为检测来自与电子设备1400相关联的触笔的信号的一个或多个传感器。在一些实施方案中,处理单元1408包括显示使能单元1410、检测单元1412、预测单元1414、更新单元1416、发送单元1418和/或比较单元1420。
处理单元1408被配置为(例如以显示使能单元1410)以第一显示速率启用对用户界面的显示。
处理单元1408还被配置为,在显示根据第一显示速率的用户界面时:(例如以检测单元1412)检测触摸输入的移动,包括在触敏表面单元上第一组顺序位置处检测触摸输入,其中第一组顺序位置包括触敏表面单元上的多个位置;以及(例如以预测单元1412)基于第一组顺序位置中的多个位置为触摸输入预测触敏表面单元上的第一组一个或多个所预测位置。
处理单元1408还被配置为(例如以更新单元1416)根据触敏表面单元上触摸输入的第一组一个或多个所预测位置更新用户界面。
在一些实施方案中,以比第一显示速率高的第一检测速率检测触摸输入的移动。
在一些实施方案中,处理单元1408被配置为,在独立于应用程序的触摸处理模块处:(例如以预测单元1414)为触摸输入预测触敏表面单元1404上的第一组一个或多个所预测位置;以及(例如以发送单元1418)向第一软件应用程序的特定于应用程序的部分发送触敏表面单元1404上触摸输入的第一组一个或多个所预测位置。处理单元1408还被配置为在第一软件应用程序处(例如以更新单元1416)根据触敏表面单元1404上触摸输入的第一组一个或多个所预测位置更新用户界面。
在一些实施方案中,处理单元1408被配置为在触敏表面单元1404上第一组顺序位置处检测到触摸输入之后:(例如以检测单元1412)在触敏表面单元1404上第二组顺序位置处检测触摸输入;(例如以比较单元1420)将触敏表面单元1404上触摸输入的第二组顺序位置与触敏表面单元1404上触摸输入的第一组一个或多个所预测位置进行比较;以及根据确定触敏表面单元1404上触摸输入的第一组一个或多个所预测位置与触敏表面单元1404上触摸输入的第二组顺序位置之间的差异满足预定义标准,(例如以更新单元1416)根据触敏表面单元1404上触摸输入的第二组顺序位置更新用户界面。
在一些实施方案中,处理单元1408被配置为:(例如以预测单元1414)为触摸输入预测触敏表面单元1404上的第二组一个或多个位置;以及(例如以更新单元1416)根据触敏表面单元1404上的第二组顺序位置和触敏表面单元1404上触摸输入的第二组一个或多个所预测位置更新用户界面。
在一些实施方案中,用户界面的根据一个或多个所预测位置更新的部分与用户界面的根据一个或多个所检测位置更新的部分在视觉上区分开。
在一些实施方案中,触摸输入的移动是在相应触摸检测帧期间被检测;基于触摸输入的移动的经更新的用户界面是在相应触摸处理帧期间被生成;并且经更新的用户界面被显示在显示器上持续在相应触摸处理帧之后出现的相应显示帧的持续时间。
在一些实施方案中,触敏表面单元1404上触摸输入的这一个或多个所预测位置是至少部分地基于触敏表面单元1404上触摸输入的多个代表性触摸位置来预测。
在一些实施方案中,触敏表面单元1404上触摸输入的这一个或多个所预测位置是基于触敏表面单元1404上触摸输入的多个代表性触摸位置和触敏表面单元1404上触摸输入的一个或多个间隙位置来预测。
在一些实施方案中,所述一个或多个所预测位置中每一者是所预测的代表性触摸位置。
在一些实施方案中,所述一个或多个所预测位置包括触敏表面单元1404上触摸输入的一个或多个所预测的间隙触摸位置。
在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量是根据与所述一个或多个所预测位置相关联的一个或多个置信度值来确定。
在一些实施方案中,触摸输入的第一组一个或多个所预测位置中所预测位置的数量是根据与第一组顺序位置中所述多个位置相关联的一个或多个置信度值来确定。
在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于将第一组顺序位置中所述多个位置拟合到预定义约束的误差。
在一些实施方案中,与第一组顺序位置中所述多个位置相关联的所述一个或多个置信度值至少部分地基于触摸输入的移动速度。
在一些实施方案中,电子设备包括用于检测触敏表面单元1404上触摸输入的强度的一个或多个传感器。处理单元1408被配置为:(例如以预测单元1414)预测触敏表面单元1404上多个位置处触摸输入的强度;和(例如以更新单元1416)根据触摸输入的所预测强度更新用户界面。
在一些实施方案中,处理单元1408被配置为:(例如以预测单元1414)预测触敏表面单元1404上多个位置处触摸输入的倾斜和/或取向;和(例如以更新单元1416)根据触摸输入的所预测倾斜和/或取向更新用户界面。
根据一些实施方案,图15示出根据各种所述实施方案的原理进行配置的电子设备1500的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图15中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图15中所示,电子设备1500包括被配置为显示用户界面的显示单元1502;被配置为接收接触的触敏表面单元1504;以及与显示单元1502和触敏表面单元1504耦接的处理单元1510。在一些实施方案中,电子设备包括被配置为检测输入的一个或多个传感器单元1506,并且处理单元1510也与所述一个或多个传感器单元1506耦接。在一些实施方案中,所述一个或多个传感器单元1506包括被配置为检测与触敏表面单元1504的接触的强度的一个或多个传感器。在一些实施方案中,所述一个或多个传感器单元1506包括被配置为检测来自与电子设备1500相关联的触笔的信号的一个或多个传感器。在一些实施方案中,处理单元1508包括显示使能单元1510、检测单元1512、发送单元1514、处理单元1516和/或发布单元1518。
处理单元1508被配置为(例如以显示使能单元1510)启用对以第一显示速率更新的第一软件应用程序的用户界面的显示;以及(例如以检测单元1512)以比第一显示速率高的第一检测速率检测触敏表面单元1504上触摸输入的相应移动。
处理单元1508还被配置为,在独立于应用程序的触摸处理模块处,(例如以发送单元1514)向第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息,触摸位置信息标识:触敏表面单元1504上触摸输入的一个或多个所预测位置;和触敏表面单元1504上触摸输入的一个或多个强度位置处触摸输入的一个或多个所预测强度值,所述一个或多个强度位置至少包括所述一个或多个所预测位置的子集。
处理单元1508还被配置为在第一软件应用程序处(例如以处理单元1516)处理触摸位置信息。
在一些实施方案中,触摸位置信息包括触敏表面单元1504上触摸输入的所述一个或多个所预测位置中每个所预测位置的相应触摸标识符。
在一些实施方案中,触摸位置信息还标识:触敏表面单元1504上触摸输入的多个所检测位置;和触敏表面单元1504上多个强度位置处触摸输入的多个强度值。
在一些实施方案中,触敏表面单元1504上的所述多个强度位置是所述多个所检测位置。
在一些实施方案中,触摸位置信息包括所述多个所检测位置的一个或多个触摸标识符。
在一些实施方案中,触摸位置信息还标识触摸输入的所预测倾斜和/或取向。
在一些实施方案中,触摸位置信息还标识触摸输入的类型。
在一些实施方案中,向第一软件应用程序的特定于应用程序的部分发送触摸输入的触摸位置信息包括(例如以发布单元1518)发布触摸输入的触摸位置信息。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
以上参考图8A至图8B、图9A至图9D、图10A至图10C和图11所述的操作任选地由图1A至图1B或图12至图15中所描绘的部件来实现。例如,检测操作804、消息发送操作808和更新操作814任选地由事件分类器170、事件识别器180和事件处理程序190来实施。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用程序146-1。应用程序146-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施例中,事件处理程序190访问相应GUI更新器178来更新应用程序所显示的内容。类似地,本领域的普通技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
出于解释的目的,前面的描述是参考具体的实施方案来描述的。然而,上面的示例性讨论并非旨在是穷尽的,也并非旨在将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够以适合于所构想的特定用途的各种修改最佳地使用本发明以及各种所描述的实施方案。

Claims (40)

1.一种处理触摸输入的方法,包括:
在具有显示器和触敏表面的电子设备处:
以第一显示速率显示用户界面;
在显示所述用户界面时,以比所述第一显示速率大的第一检测速率检测所述触敏表面上一系列位置处触摸输入的移动;
在一系列通信时间中的每个通信时间,其中每个通信时间比一系列显示更新时间中的显示更新时间至少提前处理裕量时间,向第一软件应用程序发送具有包括所述一系列位置的所选子集的信息的相应消息,所述一系列位置的每个所选子集包括前一时间段期间所述触摸输入的多个位置;以及,
在所述一系列显示更新时间中的每个显示更新时间,通过所述第一软件应用程序,根据在所述一系列通信时间中的在所述显示更新时间之前的相应通信时间向所述第一软件应用程序发送的所述相应消息中的所述信息,将所述用户界面从相应当前状态更新为相应下一状态;所述相应消息中的所述信息包括所述一系列位置的相应的所选子集中的所述触摸输入的所述多个位置。
2.根据权利要求1所述的方法,其中在所述一系列通信时间中的每个通信时间向所述第一软件应用程序发送的所述相应消息还包括标识以下中的一者或多者的信息:
所述一系列位置的所选子集处所述触摸输入的强度;和
所述一系列位置的所选子集处所检测到的所述触摸输入的类型。
3.根据权利要求1所述的方法,其中:
每个所选子集中的上个检测位置是在下一显示更新时间之前至少预定义时间间隔被检测的。
4.根据权利要求1所述的方法,包括将所述触摸输入的所述一系列位置的所选子集中的相应触摸位置选择作为代表性触摸位置。
5.根据权利要求4所述的方法,其中根据指示所述第一软件应用程序更新所述用户界面所需要的时间量的所述第一软件应用程序的触摸处理标准将所述相应触摸位置选择作为所述代表性触摸位置。
6.根据权利要求4所述的方法,其中所述第一软件应用程序更新所述用户界面包括将所述触摸输入的所述一系列位置的所选子集连同哪个位置是所述代表性触摸位置的指示一起传输给所述第一软件应用程序。
7.根据权利要求4所述的方法,其中所述一系列位置的所选子集包括对应于先前代表性触摸位置与所述代表性触摸位置之间触摸位置的一个或多个间隙位置。
8.根据权利要求1所述的方法,包括:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在上一次选择位置用于更新所述用户界面之后检测到的所述触摸输入的位置。
9.根据权利要求8所述的方法,其中所述触摸输入的所选的多个位置包括一个或多个所预测的间隙位置。
10.根据权利要求1所述的方法,包括:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置。
11.根据权利要求10所述的方法,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的所有位置。
12.根据权利要求10所述的方法,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置中的仅一个位置。
13.根据权利要求1所述的方法,包括:
根据所述触摸输入的所述一系列位置的第一子集将所述用户界面从第一状态更新为第二状态;以及,
在将所述用户界面从所述第一状态更新为所述第二状态之后,根据所述触摸输入的所述一系列位置的第二子集将所述用户界面从所述第二状态更新为第三状态。
14.一种电子设备,包括:
显示器;
触敏表面;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下操作的指令:
以第一显示速率显示用户界面;
在显示所述用户界面时,以比所述第一显示速率大的第一检测速率检测所述触敏表面上一系列位置处触摸输入的移动;
在一系列通信时间中的每个通信时间,其中每个通信时间比一系列显示更新时间中的显示更新时间至少提前处理裕量时间,向第一软件应用程序发送具有包括所述一系列位置的所选子集的信息的相应消息,所述一系列位置的每个所选子集包括前一时间段期间所述触摸输入的多个位置;和,
在所述一系列显示更新时间中的每个显示更新时间,通过所述第一软件应用程序,根据在所述一系列通信时间中的在所述显示更新时间之前的相应通信时间向所述第一软件应用程序发送的所述相应消息中的所述信息,将所述用户界面从相应当前状态更新为相应下一状态;所述相应消息中的所述信息包括所述一系列位置的相应的所选子集中的所述触摸输入的所述多个位置。
15.根据权利要求14所述的设备,其中在所述一系列通信时间中的每个通信时间向所述第一软件应用程序发送的所述相应消息还包括标识以下中的一者或多者的信息:
所述一系列位置的所选子集处所述触摸输入的强度;和
所述一系列位置的所选子集处所检测到的所述触摸输入的类型。
16.根据权利要求14所述的设备,其中:
每个所选子集中的上个检测位置是在下一显示更新时间之前至少预定义时间间隔被检测的。
17.根据权利要求14所述的设备,其中所述一个或多个程序包括用于将所述触摸输入的所述一系列位置的所选子集中的相应触摸位置选择作为代表性触摸位置的指令。
18.根据权利要求17所述的设备,其中根据指示所述第一软件应用程序更新所述用户界面所需要的时间量的所述第一软件应用程序的触摸处理标准将所述相应触摸位置选择作为所述代表性触摸位置。
19.根据权利要求17所述的设备,其中所述第一软件应用程序更新所述用户界面包括将所述触摸输入的所述一系列位置的所选子集连同哪个位置是所述代表性触摸位置的指示一起传输给所述第一软件应用程序。
20.根据权利要求17所述的设备,其中所述一系列位置的所选子集包括对应于先前代表性触摸位置与所述代表性触摸位置之间触摸位置的一个或多个间隙位置。
21.根据权利要求14所述的设备,其中所述一个或多个程序包括用于以下操作的指令:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在上一次选择位置用于更新所述用户界面之后检测到的所述触摸输入的位置。
22.根据权利要求21所述的设备,其中所述触摸输入的所选的多个位置包括一个或多个所预测的间隙位置。
23.根据权利要求14所述的设备,其中所述一个或多个程序包括用于以下操作的指令:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置。
24.根据权利要求23所述的设备,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的所有位置。
25.根据权利要求23所述的设备,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置中的仅一个位置。
26.根据权利要求14所述的设备,其中所述一个或多个程序包括用于以下操作的指令:
根据所述触摸输入的所述一系列位置的第一子集将所述用户界面从第一状态更新为第二状态;以及,
在将所述用户界面从所述第一状态更新为所述第二状态之后,根据所述触摸输入的所述一系列位置的第二子集将所述用户界面从所述第二状态更新为第三状态。
27.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有显示器和触敏表面的电子设备执行时,使得所述电子设备:
以第一显示速率显示用户界面;
在显示所述用户界面时,以比所述第一显示速率大的第一检测速率检测所述触敏表面上一系列位置处触摸输入的移动;
在一系列通信时间中的每个通信时间,其中每个通信时间比一系列显示更新时间中的显示更新时间至少提前处理裕量时间,向第一软件应用程序发送具有包括所述一系列位置的所选子集的信息的相应消息,所述一系列位置的每个所选子集包括前一时间段期间所述触摸输入的多个位置;并且,
在所述一系列显示更新时间中的每个显示更新时间,通过所述第一软件应用程序,根据在所述一系列通信时间中的在所述显示更新时间之前的相应通信时间向所述第一软件应用程序发送的所述相应消息中的所述信息,将所述用户界面从相应当前状态更新为相应下一状态;所述相应消息中的所述信息包括所述一系列位置的相应的所选子集中的所述触摸输入的所述多个位置。
28.根据权利要求27所述的计算机可读存储介质,其中在所述一系列通信时间中的每个通信时间向所述第一软件应用程序发送的所述相应消息还包括标识以下中的一者或多者的信息:
所述一系列位置的所选子集处所述触摸输入的强度;和
所述一系列位置的所选子集处所检测到的所述触摸输入的类型。
29.根据权利要求27所述的计算机可读存储介质,其中:
每个所选子集中的上个检测位置是在下一显示更新时间之前至少预定义时间间隔被检测的。
30.根据权利要求27所述的计算机可读存储介质,其中所述一个或多个程序包括用于将所述触摸输入的所述一系列位置的所选子集中的相应触摸位置选择作为代表性触摸位置的指令。
31.根据权利要求30所述的计算机可读存储介质,其中根据指示所述第一软件应用程序更新所述用户界面所需要的时间量的所述第一软件应用程序的触摸处理标准将所述相应触摸位置选择作为所述代表性触摸位置。
32.根据权利要求30所述的计算机可读存储介质,其中所述第一软件应用程序更新所述用户界面包括将所述触摸输入的所述一系列位置的所选子集连同哪个位置是所述代表性触摸位置的指示一起传输给所述第一软件应用程序。
33.根据权利要求30所述的计算机可读存储介质,其中所述一系列位置的所选子集包括对应于先前代表性触摸位置与所述代表性触摸位置之间触摸位置的一个或多个间隙位置。
34.根据权利要求27所述的计算机可读存储介质,其中所述一个或多个程序包括用于以下操作的指令:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在上一次选择位置用于更新所述用户界面之后检测到的所述触摸输入的位置。
35.根据权利要求34所述的计算机可读存储介质,其中所述触摸输入的所选的多个位置包括一个或多个所预测的间隙位置。
36.根据权利要求27所述的计算机可读存储介质,其中所述一个或多个程序包括用于以下操作的指令:
对于所述一系列显示更新时间中的每个显示更新时间,选择所述触摸输入的多个位置用于更新所述用户界面,其中所选位置是在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置。
37.根据权利要求36所述的计算机可读存储介质,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的所有位置。
38.根据权利要求36所述的计算机可读存储介质,其中:
所选位置包括在检测到上一次被选择用于更新所述用户界面的所述触摸输入的位置之后检测到的所述触摸输入的位置中的仅一个位置。
39.根据权利要求27所述的计算机可读存储介质,其中所述一个或多个程序包括用于以下操作的指令:
根据所述触摸输入的所述一系列位置的第一子集将所述用户界面从第一状态更新为第二状态;以及,
在将所述用户界面从所述第一状态更新为所述第二状态之后,根据所述触摸输入的所述一系列位置的第二子集将所述用户界面从所述第二状态更新为第三状态。
40.一种电子设备,包括:
显示器;
触敏表面;和
用于执行根据权利要求1-13所述的方法中的任一方法的装置。
CN201680028280.4A 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法 Active CN107636594B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110190515.2A CN112732161A (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法
CN202110190405.6A CN112783416B (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562172222P 2015-06-07 2015-06-07
US62/172,222 2015-06-07
US14/870,879 2015-09-30
US14/870,879 US10126847B2 (en) 2015-06-07 2015-09-30 Devices and methods for processing touch inputs
PCT/US2016/033536 WO2016200585A1 (en) 2015-06-07 2016-05-20 Devices and methods for processing touch inputs

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202110190515.2A Division CN112732161A (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法
CN202110190405.6A Division CN112783416B (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法

Publications (2)

Publication Number Publication Date
CN107636594A CN107636594A (zh) 2018-01-26
CN107636594B true CN107636594B (zh) 2021-01-22

Family

ID=57450972

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202110190515.2A Pending CN112732161A (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法
CN202110190405.6A Active CN112783416B (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法
CN201680028280.4A Active CN107636594B (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202110190515.2A Pending CN112732161A (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法
CN202110190405.6A Active CN112783416B (zh) 2015-06-07 2016-05-20 用于处理触摸输入的设备和方法

Country Status (5)

Country Link
US (4) US10241599B2 (zh)
EP (2) EP3304260B1 (zh)
CN (3) CN112732161A (zh)
AU (2) AU2016276029B2 (zh)
WO (1) WO2016200585A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058251A1 (en) * 2008-08-27 2010-03-04 Apple Inc. Omnidirectional gesture detection
US10444980B1 (en) * 2014-10-13 2019-10-15 The Cognitive Healthcare Company Biomechanical motion measurement and analysis for self-administered tests
US10748439B1 (en) 2014-10-13 2020-08-18 The Cognitive Healthcare Company Automated delivery of unique, equivalent task versions for computer delivered testing environments
US10383553B1 (en) 2014-10-14 2019-08-20 The Cognitive Healthcare Company Data collection and analysis for self-administered cognitive tests characterizing fine motor functions
US10241599B2 (en) 2015-06-07 2019-03-26 Apple Inc. Devices and methods for processing touch inputs
WO2017039125A1 (en) * 2015-08-28 2017-03-09 Samsung Electronics Co., Ltd. Electronic device and operating method of the same
US10739911B2 (en) * 2015-09-30 2020-08-11 Apple Inc. Unified drawing framework
JP5971608B1 (ja) * 2016-04-25 2016-08-17 パナソニックIpマネジメント株式会社 電子機器および座標検出方法
US10623460B2 (en) * 2016-11-18 2020-04-14 Google Llc Streaming application environment with remote device input synchronization
US11366586B2 (en) 2016-11-18 2022-06-21 Google Llc Streaming application environment with recovery of lost or delayed input events
KR102444286B1 (ko) * 2017-06-19 2022-09-16 삼성전자주식회사 지압 인식 장치 및 이를 포함하는 전자 기기
US10121036B1 (en) 2017-06-30 2018-11-06 Danny Klein System and method for collecting environmental test data
US10475405B2 (en) * 2017-12-07 2019-11-12 Qualcomm Incorporated Dynamic control of display refresh rate based on user interface activity
JP6847885B2 (ja) * 2018-03-20 2021-03-24 株式会社東芝 情報処理装置、情報処理方法及びプログラム
US11301128B2 (en) * 2019-05-01 2022-04-12 Google Llc Intended input to a user interface from detected gesture positions
US11416362B2 (en) 2019-05-17 2022-08-16 Citrix Systems, Inc. Dependency API controlled experiment dashboard
US20200366573A1 (en) * 2019-05-17 2020-11-19 Citrix Systems, Inc. Systems and methods for visualizing dependency experiments
CN110377141B (zh) * 2019-07-19 2021-04-13 Oppo广东移动通信有限公司 应用处理方法、装置、电子设备以及存储介质
CN112835455A (zh) * 2019-11-22 2021-05-25 华为技术有限公司 一种预测手写笔绘制点的方法和设备
JP2022030262A (ja) * 2020-08-06 2022-02-18 キヤノン株式会社 表示制御装置およびその制御方法およびプログラムおよびその記録媒体
CN112506413B (zh) * 2020-12-16 2022-06-07 Oppo广东移动通信有限公司 触控点预测方法、装置、终端设备及计算机可读存储介质
US11960644B2 (en) * 2021-08-05 2024-04-16 Rockwell Collins, Inc. System and method for gaze and pose detection to anticipate operator intent
US20240019964A1 (en) * 2022-07-13 2024-01-18 Sigmasense, Llc. Touch Icon Offset Based on Touch Data Samples

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101893777A (zh) * 2009-05-19 2010-11-24 索尼公司 显示设备和触摸检测设备
CN101937659A (zh) * 2009-06-30 2011-01-05 索尼公司 显示设备和驱动方法
EP2629182A1 (en) * 2012-02-17 2013-08-21 QNX Software Systems Limited System and method for sample rate adaption
CN104487930A (zh) * 2012-05-09 2015-04-01 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214490A1 (en) * 2002-05-20 2003-11-20 Gateway, Inc. Stylus providing variable line width as a function of pressure
US7556204B2 (en) * 2006-04-19 2009-07-07 Nokia Corproation Electronic apparatus and method for symbol input
KR20100122383A (ko) 2009-05-12 2010-11-22 삼성전자주식회사 좌표 예측을 통한 이미지의 출력 속도 향상 방법 및 장치
US8436806B2 (en) * 2009-10-02 2013-05-07 Research In Motion Limited Method of synchronizing data acquisition and a portable electronic device configured to perform the same
US20110163967A1 (en) * 2010-01-06 2011-07-07 Imran Chaudhri Device, Method, and Graphical User Interface for Changing Pages in an Electronic Document
DE112011101422T5 (de) * 2010-04-21 2013-02-07 Research In Motion Limited Verfahren zum Interagieren mit einem scrollbaren Bereich auf einer tragbaren elektronischen Vorrichtung
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US9019230B2 (en) * 2010-10-31 2015-04-28 Pixart Imaging Inc. Capacitive touchscreen system with reduced power consumption using modal focused scanning
CN102479190A (zh) * 2010-11-22 2012-05-30 阿里巴巴集团控股有限公司 一种搜索关键词的估计值预测方法和装置
US10452188B2 (en) * 2012-01-13 2019-10-22 Microsoft Technology Licensing, Llc Predictive compensation for a latency of an input device
EP2620857A1 (en) * 2012-01-27 2013-07-31 Research In Motion Limited Touch-sensitive display and method of controlling a touch-sensitive display
US8487896B1 (en) * 2012-06-27 2013-07-16 Google Inc. Systems and methods for improving image tracking based on touch events
US9207800B1 (en) * 2014-09-23 2015-12-08 Neonode Inc. Integrated light guide and touch screen frame and multi-touch determination method
US9430067B2 (en) 2013-01-11 2016-08-30 Sony Corporation Device and method for touch detection on a display panel
KR102043148B1 (ko) * 2013-02-19 2019-11-11 엘지전자 주식회사 이동 단말기 및 그의 터치 좌표 예측 방법
US9811213B2 (en) * 2013-03-15 2017-11-07 Synaptics Incorporated Systems and methods for input device noise mitigation via a touch buffer
US9158411B2 (en) 2013-07-12 2015-10-13 Tactual Labs Co. Fast multi-touch post processing
US9652060B2 (en) * 2013-06-28 2017-05-16 Synaptics Incorporated Low-latency touch feedback
US9372577B2 (en) * 2014-02-21 2016-06-21 Google Technology Holdings LLC Method and device to reduce swipe latency
US9354744B2 (en) * 2014-06-09 2016-05-31 Sony Corporation Adaptive touch panel synchronization
US10241599B2 (en) 2015-06-07 2019-03-26 Apple Inc. Devices and methods for processing touch inputs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101893777A (zh) * 2009-05-19 2010-11-24 索尼公司 显示设备和触摸检测设备
CN101937659A (zh) * 2009-06-30 2011-01-05 索尼公司 显示设备和驱动方法
EP2629182A1 (en) * 2012-02-17 2013-08-21 QNX Software Systems Limited System and method for sample rate adaption
CN104487930A (zh) * 2012-05-09 2015-04-01 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面

Also Published As

Publication number Publication date
CN107636594A (zh) 2018-01-26
EP3304260B1 (en) 2022-10-19
EP4123434A1 (en) 2023-01-25
US10126847B2 (en) 2018-11-13
AU2018271226B2 (en) 2020-05-07
AU2018271226A1 (en) 2018-12-13
AU2016276029B2 (en) 2018-11-01
CN112732161A (zh) 2021-04-30
EP3304260A1 (en) 2018-04-11
US10613656B2 (en) 2020-04-07
US20200218376A1 (en) 2020-07-09
US10241599B2 (en) 2019-03-26
US20160357391A1 (en) 2016-12-08
US20190073051A1 (en) 2019-03-07
CN112783416B (zh) 2024-06-25
US11126295B2 (en) 2021-09-21
US20160357429A1 (en) 2016-12-08
WO2016200585A1 (en) 2016-12-15
CN112783416A (zh) 2021-05-11
AU2016276029A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
AU2018271226B2 (en) Devices and methods for processing touch inputs
US20210081102A1 (en) Devices, Methods, and Graphical User Interfaces for a Unified Annotation Layer for Annotating Content Displayed on a Device
CN107850976B (zh) 用于基于触摸输入的强度来处理触摸输入的设备和方法
CN107430488B (zh) 基于活动的阈值和反馈
CN110568965B (zh) 用于处理触敏表面多个区域上触摸输入的设备和方法
CN113093970B (zh) 使用可旋转输入机构来控制***缩放放大率
US10152208B2 (en) Devices and methods for processing touch inputs based on their intensities
US10007418B2 (en) Device, method, and graphical user interface for enabling generation of contact-intensity-dependent interface responses
CN109416599B (zh) 用于处理触摸输入的设备和方法
CN112219182B (zh) 用于移动绘图对象的设备、方法和图形用户界面

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant