CN108351750B - 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面 - Google Patents

用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面 Download PDF

Info

Publication number
CN108351750B
CN108351750B CN201780003730.9A CN201780003730A CN108351750B CN 108351750 B CN108351750 B CN 108351750B CN 201780003730 A CN201780003730 A CN 201780003730A CN 108351750 B CN108351750 B CN 108351750B
Authority
CN
China
Prior art keywords
user interface
input
interface element
behavior
user
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
CN201780003730.9A
Other languages
English (en)
Other versions
CN108351750A (zh
Inventor
S·特施勒
S·R·布林
K·L·科森达
M·T·特尼尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DKPA201670598A external-priority patent/DK179297B1/en
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN108351750A publication Critical patent/CN108351750A/zh
Application granted granted Critical
Publication of CN108351750B publication Critical patent/CN108351750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04105Pressure sensors for measuring the pressure or force exerted on the touch surface without providing the touch position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

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

Abstract

电子设备检测对应于与用户交互行为模型相关联的第一用户界面元素的位置处的输入强度的变化;利用应用程序独立软件模块,生成与所述第一用户界面元素相关联的输出,第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,用户交互行为模型包括第一用户交互组件行为和第二用户交互组件行为;检测在对应于与所述用户交互组件行为的子集相关联的第二用户界面元素的位置处的输入强度的变化;从所述应用程序独立软件模块获得对所述输入的强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示;以及基于所述指示,基于所述第一用户交互组件行为更新所述第二用户界面元素的外观。

Description

用于处理与触摸输入相关联的强度信息的设备、方法、以及图 形用户界面
技术领域
本文整体涉及具有触敏表面的电子设备,包括但不限于具有检测触敏表面上的接触强度的传感器的电子设备。
背景技术
触敏表面作为计算机和其他电子计算设备的输入设备的使用在近年来显著增长。示例性触敏表面包括触摸板和触摸屏显示器。此类表面广泛地用于操纵显示器上的用户界面对象。
示例性用户界面对象包括数字图像、视频、文本、图标、控制元件(诸如按钮)、以及其他图形。示例性操纵包括调整一个或多个用户界面对象的位置和/或尺寸或激活按钮或打开由用户界面对象表示的文件/应用程序,以及将元数据与一个或多个用户界面对象相关联或以其他方式操纵用户界面。用户界面对象的某些操作与某些类型的触摸输入相关联,所述触摸输入被称为手势。
此类表面与能够检测接触强度的传感器结合可用于检测高级手势(例如,取决于强度的手势)。然而,不熟悉此类手势的用户可能花费很长时间来了解设备如何响应此类手势。此外,响应同一高级手势的应用将不同地呈现给此类用户额外挑战。当设备由于用户错误使用高级手势而执行非预期操作时,用户需要取消此类操作并再次提供输入。这些操作繁琐而乏味。此外,必须消除非预期操作并再次提供投入花费比必要更长的时间,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。这样,希望有一种用于处理高级手势的框架。
发明内容
因此,电子设备需要具有更快、更有效率并且更一致的方法和界面,以用于处理输入(例如,取决于强度的手势)。此类方法和界面任选地补充或替换用于处理输入的常规方法。此类方法和界面减少了来自用户的输入的数量、程度、和/或性质,并且产生更有效的人机界面。此外,此类方法和界面为多个软件应用提供更一致的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
借助所公开的设备可减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,该设备是个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,该设备具有触控板。在一些实施方案中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,该设备具有图形用户界面(GUI)、一个或多个处理器、存储器和一个或多个模块、被存储在存储器中以用于执行多个功能的程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能包括图像编辑、绘图、展示、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、记笔记和/或数字视频播放。用于执行这些功能的可执行指令被包括在被配置为由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。另选地或除此之外,用于执行这些功能的可执行指令任选地被包括在被配置为由一个或多个处理器执行的暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备上执行方法。该方法包括在显示器上显示应用软件的第一用户界面。根据来自应用软件的指令生成第一用户界面。该方法还包括通过对应于第一用户界面的位置处对触敏表面上的接触来检测输入。该方法还包括,利用可供多个软件应用在电子设备上使用的应用程序独立软件:获得与触敏表面上的接触对应的第一触摸信息;以及,响应于获得第一触摸信息,向应用软件提供不同于第一触摸信息的第二触摸信息。所述第二触摸信息包括指示所述输入相对于一个或多个强度阈值的变化的强度信息。该方法还包括,在向所述应用软件提供所述第二触摸信息之后,从所述应用软件获得识别基于所述第二触摸信息由所述应用软件所选择的第一操作的信息;以及,响应于从所述应用软件获得识别所述第一操作的信息,执行所述第一操作。
根据一些实施方案,在具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备上执行方法。该方法包括,在显示器上显示第一用户界面元素的同时,检测一个或多个输入的第一序列,包括在对应于第一用户界面元素的位置处检测触敏表面上的输入的强度变化。第一用户界面元素与用户交互行为模型相关联用于响应输入强度变化。用户交互行为模型由多个用户交互组件行为组成。所述方法还包括响应于检测到第一输入序列,利用应用程序独立软件模块,在设备处生成与第一用户界面元素相关联的输出,该第一用户界面元素根据输入强度变化和用户交互行为模型确定,该用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;在生成与所述第一用户界面元素相关联的输出之后,在所述显示器上显示与所述用户交互行为模型中的所述用户交互组件行为的第一子集相关联的第二用户界面元素;在显示器上显示第二用户界面元素的同时,检测第二输入序列,包括在对应于第二用户界面元素的位置处检测触敏表面上的输入强度变化。以及,响应于检测到所述第二输入序列:从所述应用程序独立软件模块获得对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示;以及基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为在所述显示器上更新所述第二用户界面元素的外观。
根据一些实施方案,在具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备上执行方法。该方法包括在显示器上显示用户界面。用户界面包括一个或多个用户界面对象(在本文也称为用户界面元素)。该方法还包括在对应于显示器上的一个或多个用户界面对象的第一用户界面对象的位置处检测触敏表面上的第一输入。检测所述第一输入包括检测所述第一输入在所述触敏表面上的强度从第一强度到第二强度的变化。所述方法还包括响应于检测到所述第一输入:获得所述触敏表面上的所述第一输入强度变化驱动的第一物理模型的相应模拟物理参数的值的变化;以及基于所述第一物理模型的相应模拟物理参数的变化通过在第一状态和第二状态之间演变第一动画来更新所述用户界面的外观。
根据一些实施方案,该电子设备包括:被配置为显示用户界面的显示单元;接收接触的触敏表面单元;检测与触敏表面单元的接触的强度的一个或多个传感器单元;以及与显示单元、触敏表面单元和所述一个或多个传感器单元耦接的处理单元。处理单元被配置为启用显示应用软件的第一用户界面。根据来自应用软件的指令生成第一用户界面。处理单元还被配置为在对应于第一用户界面的位置处通过触敏表面单元上的接触来检测输入。该处理单元被进一步配置为:利用可供多个软件应用在电子设备上使用的应用程序独立软件:获得与触敏表面单元上的接触对应的第一触摸信息;以及,响应于获得第一触摸信息,向应用软件提供不同于第一触摸信息的第二触摸信息。所述第二触摸信息包括指示所述输入相对于一个或多个强度阈值的变化的强度信息。该处理单元被进一步配置为:在向所述应用软件提供所述第二触摸信息之后,从所述应用软件获得识别基于所述第二触摸信息由所述应用软件所选择的第一操作的信息;以及,响应于从所述应用软件获得识别所述第一操作的信息,执行所述第一操作。
根据一些实施方案,该电子设备包括:被配置为显示用户界面的显示单元;接收接触的触敏表面单元;检测与触敏表面单元的接触的强度的一个或多个传感器单元;以及与显示单元、触敏表面单元和所述一个或多个传感器单元耦接的处理单元。该处理单元被配置为,在显示单元正在显示第一用户界面元素的同时,检测一个或多个输入的第一序列,包括在对应于第一用户界面元素的位置处检测触敏表面单元上的输入强度的变化。第一用户界面元素与用户交互行为模型相关联用于响应输入强度变化。用户交互行为模型由多个用户交互组件行为组成。所述处理单元被配置为响应于检测到第一输入序列,利用应用程序独立软件模块,在设备处生成与第一用户界面元素相关联的输出,该第一用户界面元素根据输入强度变化和用户交互行为模型确定,该用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;在生成与所述第一用户界面元素相关联的输出之后,启用显示与所述用户交互行为模型中的所述用户交互组件行为的第一子集相关联的第二用户界面元素;在显示单元在显示单元上显示第二用户界面元素的同时,检测第二输入序列,包括在对应于第二用户界面元素的位置处检测触敏表面单元上的输入强度变化;以及,响应于检测到所述第二输入序列:从所述应用程序独立软件模块获得对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示;以及基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为在所述显示单元上更新所述第二用户界面元素的外观。
根据一些实施方案,该电子设备包括:被配置为显示用户界面的显示单元;接收接触的触敏表面单元;检测与触敏表面单元的接触的强度的一个或多个传感器单元;以及与显示单元、触敏表面单元和所述一个或多个传感器单元耦接的处理单元。处理单元被配置为启用在所述显示单元上显示用户界面。用户界面包括一个或多个用户界面对象。处理单元还被配置为在对应于显示器单元上的一个或多个用户界面对象的第一用户界面对象的位置处检测触敏表面单元上的第一输入。检测所述第一输入包括检测所述第一输入在所述触敏表面单元上的强度从第一强度到第二强度的变化。所述处理单元被进一步配置为响应于检测到所述第一输入:获得由所述触敏表面单元上的所述第一输入强度的变化所驱动的第一物理模型的相应模拟物理参数的值的变化;以及基于所述第一物理模型的相应模拟物理参数的变化通过在第一状态和第二状态之间演变第一动画来更新所述用户界面的外观。
根据一些实施方案,电子设备包括显示器、触敏表面、一个或多个处理器、存储器、一个或多个程序以及用于检测与触敏表面的接触强度的一个或多个传感器;所述一个或多个程序被存储在存储器中并且被配置为由所述一个或多个处理器执行,并且所述一个或多个程序包括用于执行或导致执行任何本文所述的方法的操作的指令。根据一些实施方案,计算机可读存储介质在其中存储有指令,所述指令当由具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备执行时,使得该设备执行本文所述的任何方法的操作或使得本文所述任何方法的操作被执行。根据一些实施方案,具有显示器、触敏表面、用于检测与触敏表面的接触强度的一个或多个传感器、存储器以及执行存储于存储器中的一个或多个程序的一个或多个处理器的电子设备上的一种图形用户界面包括在本文所述的任何方法中所显示的一个或多个元件,该一个或多个元件响应于输入进行更新,如本文所述的任何方法中所描述的。根据一些实施方案,一种电子设备包括:显示器、触敏表面、和用于检测与触敏表面的接触强度的一个或多个传感器;以及用于执行或导致执行本文所述方法中任一种方法的操作的装置。根据一些实施方案,用于具有显示器和触敏表面以及用于检测与触敏表面的接触强度的一个或多个传感器的电子设备中的信息处理设备包括用于执行本文所述的任何方法的操作或使得本文所述的任何方法的操作被执行的装置。
因此,具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备具有更快、更高效的方法和界面以用于处理输入,从而利用此类设备提高有效性、效率和用户满意度。此类方法和界面可补充或替代用于输入的常规方法。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施例的具有触敏显示器的便携式多功能设备的框图。
图1B是根据一些实施方案示出用于事件处理的示例性部件的框图。
图1C-图1L是示出了根据一些实施方案的处理触摸信息的框图。
图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图3是根据一些实施方案具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出根据一些实施例的便携式多功能设备上的应用程序菜单的示例性用户界面。
图4B示出根据一些实施方案的具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图4C-图4E示出了根据一些实施方案的示例性动态强度阈值。
图5A-图5DD示出了根据一些实施方案的用于处理输入的示例性用户界面。
图5EE-图5GG示出了根据一些实施方案的模拟物理模型。
图6A-6D是示出根据一些实施方案的处理输入的方法的流程图。
图7A-图7C是示出根据一些实施方案的处理输入的方法的流程图。
图8A-图8C是示出根据一些实施方案的处理输入的方法的流程图。
图9-图11是根据一些实施方案的相应电子设备的功能框图。
具体实施方式
许多电子设备具有允许响应于某些触摸输入来对所显示的用户界面对象进行某些操控的图形用户界面。然而,各种软件应用可被配置为以不一致的方式对相同输入(例如基于压力或基于强度的输入)作出响应,这使得用户学习如何与不同的软件应用进行交互变得更具挑战。本发明所公开的实施方案通过提供用于处理基于压力(或基于强度)输入的通用框架来解决这些限制和缺点。由于用于处理此类输入的指令在电子设备(例如在操作***中)提供,所以软件应用可更快地开发并且变得更小,从而提高在电子设备上存储和执行此类软件应用的效率。此外,各种软件应用使用公用框架以一致的方式来响应相同输入,从而改善使用此类电子设备的用户体验。对于电池驱动的设备,公开的方法和设备节省电池电力并且增长两次电池充电之间的时间。此外,软件应用可以订阅公用框架的不同功能,从而允许软件应用定制对输入的响应而不会失去公用框架的一致性和高级功能。
下面,图1A至图1B、图2和图3提供对示例性设备的描述。图4A-图4B和图5A-图5DD示出了用于处理输入的示例性用户界面。图4C-图4E示出了示例性动态强度阈值。图5EE-图5GG示出了根据一些实施方案的模拟物理模型。图6A-图6D示出了处理输入的方法的流程图。图7A-图7C示出了处理输入的方法的流程图。图8A-图8C示出了处理输入的方法的流程图。图5A-图5DD中的用户界面用于示出图6A-图6D、图7A-图7C和图8A-图8C中的过程。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用来将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当......时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定......”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定......时”或“响应于确定......”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备是还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自AppleInc.(Cupertino,Califomia)的设备、iPod设备、和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
该设备通常支持各种应用程序,诸如以下应用程序中的一个或多个应用程序:记笔记应用程序、绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字摄像机应用程序、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上生成触觉输出的一个或多个触觉输出发生器167(例如,在触敏表面诸如设备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)的、iPod中发现的技术。
触敏显示器***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任选地还包括一个或多个触觉输出发生器167。图1A示出了与I/O子***106中的触觉反馈控制器161耦接的触觉输出发生器。一个或多个触觉输出发生器167任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。在一些实施方案中,触觉输出发生器167从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器***112)并置排列或邻近,并且任选地通过垂直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示***112相背对的后部上。
设备100任选地还包括一个或多个加速度计168。图1A示出与***设备接口118耦接的加速度计168。另选地,加速度计168任选地与I/O子***106中的输入控制器160耦接。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图来显示信息。除了加速度计168之外,设备100任选地还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航***)接收器(未示出),以用于获取关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施方案中,存储于存储器102中的软件部件包括操作***126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位***(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图在1A和图3中所示的。设备/全局内部状态157包括以下中的一个或多个:活动应用程序状态,该活动应用程序状态指示哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其它信息占据触敏显示器***112的各个区域;传感器状态,包括从设备的各个传感器和其他输入或控制设备116获取的信息;以及关于设备的位置和/或姿态的位置和/或方位信息。
操作***126(例如,iOS、Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS、或嵌入式操作***诸如VxWorks)包括用于控制和管理一般***任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128有利于通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件组件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器***112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如手指或触笔)接触检测相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。因此,任选地通过检测特定的接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,在触敏表面上检测手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
图形模块132包括用于在触敏显示器***112或其他显示器上渲染和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,然后生成屏幕图像数据以输出至显示控制器156。
触觉反馈模块133包括用于生成指令(例如,由触觉反馈控制器161使用的指令)的各种软件部件,以响应于用户与设备100的交互而使用触觉输出发生器167在设备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或即时消息141的通信;等等。
结合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的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
事件监视器171从***设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器***112上的用户触摸)的信息。***设备接口118传输其从I/O子***106或传感器(例如,接近传感器166、一个或多个加速度计168和/或麦克风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,或具有对该数据更新器、该对象更新器和该GUI更新器的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触摸板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。
图1C-图1L是示出了根据一些实施方案的处理触摸信息的框图。
如上参考图1A所述,接触/运动模块130确定状态和/或触摸输入的状态的变化。在一些实施方案中,设备生成信号或数据(例如,以数据对象的形式)以将所确定的状态和/或所确定的触摸输入的状态的变化传输到一个或多个软件组件。在一些实施方案中,数据对象称为事件对象。事件对象包括表示对应触摸输入的状态的数据。在一些实施方案中,事件对象是鼠标事件对象(因为触摸输入等同于鼠标输入)。例如,在此类实施方案中,在触敏表面上移动的触摸输入对应于鼠标移动(例如,鼠标移动的事件)。在一些其他实施方案中,事件对象是与鼠标事件对象不同的触摸事件对象。在一些实施方案中,触摸事件对象包括表示对应触摸输入(例如,多个并发触摸,手指接触或触笔的取向等)的触摸特定属性的数据(例如,触摸信息)。在一些实施方案中,事件对象是与鼠标事件对象(或触摸事件对象)不同的力事件对象。在一些实施方案中,力事件对象包括表示对应触摸输入的力事件特定属性的数据(例如,通过触摸输入施加的强度、触摸输入的阶段或相位等等)。在一些实施方案中,事件对象包括此类属性(例如,鼠标事件特定属性,触摸事件特定属性,以及力事件特定属性)的任意组合。
在一些实施方案中,接触/运动模块130生成(或更新)事件对象并将事件对象发送到一个或更多应用程序(例如,应用程序136-1,诸如图1A中的电子邮件客户端模块140、应用程序136-2,诸如浏览器模块147、应用程序136-3和/或应用程序136-4)。另选地,接触/信息模块130将有关接触的信息(例如,接触的原始坐标)发送到一个或多个应用程序(例如,应用程序1(136-1)和/或应用程序2(136-2)),以及接收该信息的应用程序生成(或更新)一个或多个事件对象。在一些实施方案中,应用程序包括应用程序独立软件模块220,其生成(或更新)一个或多个事件对象并将一个或多个事件对象发送到除应用程序独立软件模块220之外的应用程序的一部分。另选地,应用程序独立软件模块220准备与从接触/运动模块130接收的触摸信息不同的触摸信息,并且将所准备的触摸信息发送到除应用程序独立软件模块220之外的应用程序的一部分。
在一些实施方案中,软件模块220独立于应用程序(例如,相同的软件模块、或相同软件模块的实例,其包括在多个不同的应用的每一个中,诸如电子邮件客户端应用,浏览器应用,等等)。如本文所用,软件模块220独立于应用程序意味着软件模块220不是专门针对特定软件应用设计。软件模块220独立于应用程序并不必意味着软件模块220与其相关联的应用程序分开定位。尽管应用程序独立软件模块220在一些实施方案中与其相关联的应用不同并且分开,如图1D中所示,应用程序独立软件模块220在一些实施方案中被包括在其相关联的应用中,如图1C中所示。在一些实施方案中,应用还包括特定于应用程序的应用核心(例如,在图1C中,应用程序1(136-1)包括应用核心1(230-1)以及应用程序2(136-2)包括应用核心2(230-2))。
需注意,在一些实施方案中,接触/运动模块130也是独立于应用的,意味着接触/运动模块130不是专门针对特定软件应用而设计。
在图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)的操作的指令(例如,将web页面加入书签)。
在一些实施方案中,应用程序独立软件模块220-1处理来自接触/运动模块130的触摸信息272并且将处理的触摸信息直接发送到目标(例如,软件组件,诸如应用核心1(230-1))。可选地,通过应用编程接口222发送触摸信息。在一些实施方案中,应用程序独立软件模块220-1公告触摸信息(例如,在队列218-1中)以供应用核心1(230-1)检索。
在一些实施方案中,由应用程序独立软件模块220-1发送的触摸信息包括力信息(例如,由触摸输入施加的原始或归一化力,或触摸输入施加的力是否满足一个或多个阈值)。在一些实施方案中,鼠标事件对象包括力信息。在一些实施方案中,触摸事件对象包括力信息。在一些实施方案中,力事件对象包括力信息。
图1D类似于图1C,只不过应用程序独立软件模块220是不同的并且与应用(例如,应用程序1(136-1),应用程序2(136-2),应用程序3(136-3),和应用程序4(136-4))分开。为简洁起见,应用的内部组件(如图1C所示,诸如应用核心230,应用编程接口222,和/或队列218)在图1D中省略。然而,本领域普通技术人员将会理解到在图1D中的应用可具有图1中所示的应用的一个或多个内部组件。
在图1D,应用程序独立软件模块220处理来自接触/运动模块130的触摸信息272并且将处理的触摸信息274发送到一个或多个应用程序(例如,应用程序1(136-1),应用程序2(136-2),应用程序3(136-3),和/或应用程序4(136-4))。处理的触摸信息274与触摸信息272不同并且包括接触强度信息。
在一些实施方案中,应用程序独立软件模块220与接触/运动模块130集成(例如,应用程序独立软件模块220包括在接触/运动模块130中)。在一些实施方案中,应用程序独立软件模块220与接触/运动模块130分开。
图1E-图1J示出了根据一些实施方案的处理触摸信息的序列。
图1E示出了,当应用程序1(136-1)启动时,应用程序1(136-1)包括应用核心1(230-1)但不包括应用程序独立软件模块。例如,虽然该设备可在存储器102(图1A)中存储用于应用程序独立软件模块的指令,但是在图1E中,应用程序独立软件模块的指令未就绪用于执行(例如,指令不是绑定到应用程序1(136-1)或加载到存储器102的可执行部分用于由处理器120执行)。
图1F示出了应用程序1(136-1)具有实例化的应用程序独立软件模块220-1。例如,应用程序1(136-1)从应用程序独立软件模块的预定义类别中创建应用程序独立软件模块220-1的实例。在一些实施方案中,应用程序独立软件模块的类具有,和/或被包括在操作***126(图1A)中。在图1F中,应用程序独立软件模块220-1的实例被包括在应用程序1(136-1)中。另选地,应用程序独立软件模块220-1的实例与应用程序1(136-1)不同并且分开。在一些实施方案中,应用程序独立软件模块220-1的实例作为主要软件组件在应用程序1(136-1)内操作以响应触摸输入。
图1G示出了接触/运动模块130向应用程序1(136-1)提供触摸信息272。在一些实施方案中,应用程序1(136-1)中的应用程序独立软件模块220-1获得触摸信息272并将处理的触摸信息274提供给应用程序1(136-1)的不同于应用程序独立软件模块220-1的一部分(例如,应用核心1(230-1))。在一些实施方案中,触摸信息274不同于触摸信息272。在一些实施方案中,触摸信息274包括不包括在触摸信息272中的信息。在一些实施方案中,触摸信息272包括不包括在触摸信息274中的信息。例如,触摸信息272包括表示由触摸输入施加的原始力的信息(例如,触摸输入的“特征强度”),并且触摸信息274包括阶段信息262(例如,指示触摸输入的特征强度是否满足手势识别标准诸如一个或多个强度阈值)和/或进度指示符264(例如,对应于触摸输入施加的力的归一化强度)。然而,在一些实施方案中,触摸信息274不包括表示触摸输入所施加的原始力的信息(例如,并且,相反,包括关于触摸输入是否满足各种激活标准和/或触摸输入满足激活标准的接近程度)。
图1G还示出了应用程序独立软件模块220-1还向应用核心1(230-1)发送位置信息276(例如,表示在触敏表面上的触摸输入中的接触位置的信息,诸如接触的坐标和/或识别对应于接触的位置处的用户界面元素的信息)。在一些实施方案中,应用核心1(230-1)直接从接触/运动模块130接收位置信息。
在图1G中,应用核心1(230-1)响应于接收到触摸信息274向应用程序独立软件模块220-1提供操作信息278。在一些实施方案中,发送至应用核心1(230-1)的信息(例如,触摸信息274和/或位置信息276)用作应用核心1(230-1)作为对应用程序独立软件模块220-1应如何响应触摸输入(例如,在该位置处以特定量的强度针对触摸输入执行哪些操作)的查询。应用核心1(230-1)选择要响应于触摸输入来执行的一个或多个操作并且将识别一个或多个操作的操作信息278提供到应用程序独立软件模块220-1。
在(或响应于)接收操作信息278之后,应用程序独立软件模块220-1执行应用核心1(230-1)选择的一个或多个操作,诸如更新用户界面(例如,模糊用户界面的一个或多个部分,放大或缩小一个或多个用户界面元素,改变一个或多个用户界面元素的颜色,等等)。
在一些实施方案中,应用程序独立软件模块220-1借助应用程序独立软件模块220-1中包括的指令执行一个或多个操作。
在一些实施方案中,应用程序独立软件模块220-1借助与应用程序独立软件模块220-1分开定位的预配置指令集执行一个或多个操作中的至少一个操作(例如,该预配置指令集不包括在应用程序独立软件模块220-1中)。例如,预配置指令集(例如,独立于应用程序1(136-1)的操作***中提供的指令)包括多个动画制作软件(例如,动画制作软件1(224-1),动画制作软件2(224-2),动画制作软件3(224-3),和动画制作软件4(224-4))。在一些实施方案中,应用程序独立软件模块220-1基于操作信息278借助动画制作软件(例如,动作制作软件1(224-1))执行一个或多个操作中的至少一个。例如,应用程序独立软件模块220-1执行“提示”操作以视觉指示触摸输入的强度增大到强度阈值(在此将执行预定义操作,诸如呈现预览窗口)。
在一些实施方案中,应用程序独立软件模块220-1包括物理引擎250。在一些实施方案中,应用程序独立软件模块220-1具有对与应用程序独立软件模块220-1分开定位的物理引擎250的访问权限。在一些实施方案中,物理引擎250被配置为模拟物理***(例如,质量块和弹簧***)。例如,物理引擎250被配置为响应于施加到质量的模拟外力来模拟与一个或多个弹簧(以及任选地一个或多个阻尼器)耦接的质量块的移动。在一些实施方案中,应用程序独立软件模块220-1从物理引擎250获得模拟物理参数并且基于模拟物理参数(例如,使用动画制作软件,诸如动画制作软件1(224-1))和操作信息278执行一个或多个操作中的至少一个。在一些实施方案中,操作信息278包括请求(或指示)在执行一个或多个操作时使用来自物理引擎250的模拟物理参数。
图1H示出了图1G所示的触摸信息272之后向应用程序1(136-1)发送附加的触摸信息282。图1H类似于图1G,不同的是响应于触摸信息282,应用程序独立软件模块220-1向应用核心1(230-1)提供触摸信息284(基于触摸信息282)和/或位置信息286(其指示接触已移动或保持其在触敏表面上的位置);以及应用核心1(230-1)提供操作信息288。在一些实施方案中,操作信息288识别包括显示预览窗口(也被称为“预阅”操作)的一个或多个操作。
图1I示出了在图1H中示出的触摸信息282之后将后续触摸信息292发送应用程序1(136-1)。图1I类似于图1H,不同的是响应于触摸信息292,应用程序独立软件模块220-1向应用核心1(230-1)提供触摸信息294(基于触摸信息292)和/或位置信息296(其指示接触已移动或保持其在触敏表面上的位置);以及应用核心1(230-1)提供操作信息298。在一些实施方案中,操作信息298标识包括用预览窗口中的用户界面替换用户界面的一个或多个操作(本文也称为“弹出”操作)。
图1J-图1K示出了根据一些实施方案的示例性触摸取消操作。
图1J示出了其中指示触摸取消(触摸取消226)的信息从应用程序独立软件模块220-1提供至应用核心1(230-1)的实施方案。在图1J中,应用程序独立软件模块220-1接收对应于触摸输入的触摸信息。在一些实施方案中,应用程序独立软件模块220-1确定触摸输入已被取消,并且向应用核心1(230-1)提供触摸取消226。在一些实施方案中,由应用程序独立软件模块220-1接收的触摸信息指示触摸输入已被取消,并且应用程序独立软件模块220-1向应用核心1(230-1)提供触摸取消226。响应于触摸取消226,应用核心1(230-1)提供操作信息228。操作信息228识别要响应于取消触摸输入(例如,“取消”操作,诸如在检测到触摸输入时执行的撤销操作)来执行的一个或多个操作。应用程序独立软件模块220-1基于操作信息228执行一个或多个操作。
图1K示出了实施方案,其中指示触摸取消(触摸取消232)的信息从应用核心1(230-1)提供至应用程序独立软件模块220-1。在接收触摸取消232之前,应用程序独立软件模块220-1监视来自接触/运动模块130的触摸信息(并且处理触摸信息以用于提供经处理的触摸信息(例如,在图1G中的触摸信息274)。在一些实施方案中,在接收触摸取消232之后,应用程序独立软件模块220-1停止监视来自接触/运动模块130的触摸信息(例如,应用程序独立软件模块220-1忽略来自接触/运动模块130的触摸信息)。在一些实施方案中,在接收触摸取消232之后,应用程序独立软件模块220-1停止向应用核心1(230-1)提供触摸信息。
图1L示出了用于应用程序独立软件模块的订阅方法。在图lL中,应用程序独立软件模块(或其实例,例如220-1,220-2和220-3)由多个软件应用(例如,应用程序1(136-1),应用程序2(136-2)和应用程序3(136-3))来使用。所述多个软件应用使用所述应用程序独立软件模块的预定义特征。因此,应用程序独立模块有利于为多个软件应用,尤其是在处理取决于强度的手势时处理触摸输入的一致方式。
然而,在一些情况下,对于多个软件应用中的每一个并非都需要应用程序独立软件模块的所有特征。例如,在一些实施方案中,多个软件应用的第一软件应用使用应用程序独立软件模块的特征的第一子集,并且多个软件应用的第二软件应用使用不同于应用程序独立软件模块的特征的第一子集的应用程序独立软件模块的特征的第二子集。
在一些实施方案中,多个软件应用中的一个或多个软件应用仅订阅应用程序独立软件模块的特征的子集,小于全部。这消除了将应用程序独立软件模块的所有特征提供给所有多个软件应用的需要,从而减少了计算资源和电能的使用。此外,这允许相应软件应用选择在使用相应的软件应用的同时,使用应用程序独立软件模块将如何处理触摸输入。这种定制有利于提供针对相应软件应用的特定需要而定制的用户界面而不会失去应用程序独立软件模块提供的一致性。
图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的用户生成触觉输出的一个或多个触觉输出发生器167。
图3是根据一些实施方案具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(例如,儿童学习玩具)、游戏***或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互联的一个或多个通信总线320。通信总线320任选地包括使***部件互连并且控制***部件之间的通信的电路(有时被叫做芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器167)、传感器359(例如,光学传感器、加速度传感器、接近传感器、触敏传感器、和/或类似于以上参考图1A所述的一个或多个接触强度传感器165的接触强度传感器)。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其它非易失性固态存储设备。存储器370任选地包括远离CPU310定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件中的每个元件任选地存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子组。此外,存储器370任选地存储上面未描述的另外的模块和数据结构。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图4A示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元件或者其子集或超集:
●无线通信(诸如蜂窝信号和Wi-Fi信号)的信号强度指示器402;
●时间404;
●蓝牙指示器;
●电池状态指示器406;
●具有常用应用程序图标的托盘408,图标诸如:
○电话模块138的标记“电话”的图标416,该图标任选地包括未接来电或语音留言的数量的指示符414;
○电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;
○浏览器模块147的标记“浏览器”的图标420;以及
○视频和音乐播放器模块152(也称为iPod(Apple Inc.的商标)模块152)的被标记为“iPod”的图标422;以及
●其它应用程序的图标,诸如:
○IM模块141的标记“消息”的图标424;;
○日历模块148的标记“日历”的图标426;;
○图像管理模块144的被标记为“照片”的图标428;;
○相机模块143的标记“相机”的图标430;;
○在线视频模块155的标记“在线视频”的图标432;;
○股市桌面小程序149-2的被标记为“股市”的图标434;;
○地图模块154的标记“地图”的图标436;;
○天气桌面小程序149-1的标记“天气”的图标438;;
○闹钟桌面小程序149-4的标记“时钟”的图标440;;
○健身支持模块142的被标记为“健身支持”的图标442;;
○记事本模块153的被标记为“记事本”的图标444以及
○用于设置应用程序或模块的图标446,该图标446提供对设备
100及其各种应用程序136的设置的访问。
应当指出的是,图4A中示出的图标标签仅仅是示例性的。例如,在一些实施方案中,视频和音乐播放器模块152的图标422被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个传感器)和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器357。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的许多示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施方案中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(例如,图4B中的450)是分开的时侯,由设备在触敏表面上所检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)代替。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元素。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3中的触控板355或图4B中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括使得能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1A中的触敏显示器***112或图4A中的触摸屏)的一些具体实施中,在触摸屏上检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,通过接触的按压输入)时,根据所检测到的输入来调整特定用户界面元素。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区域之间的移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制以便传送与用户界面的用户期望的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触控板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触或触笔接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的代替物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均或者加和),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触面积的尺寸和/或其变化、邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代测量直接用于确定是否已超过强度阈值(例如,强度阈值以与替代物测量对应的单位来描述)。在一些具体实施中,将接触力或压力的替代测量值转换为预估力或压力,并且使用预估力或压力确定是否已超过强度阈值(例如,强度阈值是以压力单位测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件诸如旋钮或按钮)的实地面积有限的尺寸更小的设备上本来不能容易地访问的附加设备功能。
在一些实施方案中,接触/运动模块130使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备100的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设置为预定义阈值的大范围中的任一个阈值。另外,在一些具体实施中,设备的用户提供有用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的***级点击来一次调节多个强度阈值)的软件设置。
如说明书和权利要求书中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特征强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬起之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后,和/或在检测到接触的强度减小之前或之后)而言在预定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值可包括第一强度阈值和第二强度阈值。在本实施例中,特征强度未超过第一强度阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,并且特征强度超过第二强度阈值的接触导致第三操作。在一些实施方案中,使用特征强度和一个或多个强度阈值之间的比较来确定是否要执行一个或多个操作(例如,是否执行相应选项或放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。
在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触敏表面可接收连续轻扫接触,该连续轻扫接触从起始位置过渡并到达结束位置(例如拖动手势),在该结束位置处,接触的强度增大。在该实施例中,接触在结束位置处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,仅结束位置处的轻扫接触的一部分)。在一些实施方案中,可在确定接触的特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以用于确定特征强度。
本文所述的用户界面图(例如,图5A-图5DD)任选地包括各种强度图(本文又称为强度曲线图),这些强度图示出了触敏表面上的接触相对于一个或多个强度阈值(例如,接触检测强度阈值IT0、轻按压强度阈值ITL、深按压强度阈值ITD(例如,其至少部分地高于ITL)和/或一个或多个其他强度阈值(例如,比ITL更低的强度阈值ITH))的当前强度。该强度图通常不是所显示的用户界面的一部分,但是被提供以帮助解释所述图。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标的按钮或触控板相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下,设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值IT0,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有说明,否则这些强度阈值在不同组的用户界面附图之间是一致的。
在一些实施方案中,设备对设备所检测到的输入的响应取决于基于输入期间的接触强度的标准。例如,对于一些“轻按压”输入,在输入期间超过第一强度阈值的接触的强度触发第一响应。在一些实施方案中,设备对由设备所检测到的输入的响应取决于包括输入期间的接触强度和基于时间的标准两者的标准。例如,对于一些“深按压”输入,只要在满足第一强度阈值与满足第二强度阈值之间经过延迟时间,在输入期间超过大于轻按压的第一强度阈值的第二强度阈值的接触的强度便触发第二响应。该延迟时间的持续时间通常小于200ms(例如,40ms、100ms、或120ms,这取决于第二强度阈值的量值,其中该延迟时间随着第二强度阈值增大而增大)。该延迟时间帮助避免意外的深按压输入。又如,对于一些“深按压”输入,在达到第一强度阈值之后将出现敏感度降低的时间段。在该敏感度降低的时间段期间,第二强度阈值增大。第二强度阈值的这种暂时增大还有助于避免意外深按压输入。对于其他深按压输入,对检测到深按压输入的响应不取决于基于时间的标准。
在一些实施方案中,输入强度阈值和/或对应输出中的一者或多者基于一个或多个因素(诸如,用户设置、接触运动、输入定时、应用程序运行、施加强度时的速率、同时输入的数量、用户历史、环境因素(例如,环境噪声)、焦点选择器位置等而变化。示例性因素在美国专利申请序列14/399,606和14/624,296中有所描述,这些美国专利申请全文以引用方式并入本文。
例如,图4C示出了部分地基于触摸输入476随时间的强度而随时间改变的动态强度阈值480。动态强度阈值480是两个分量的总和:在从触摸输入476初始被检测到开始的预定义的延迟时间p1之后随时间衰减的第一分量474、和随时间而跟踪触摸输入476的强度的第二分量478。第一分量474的初始高强度阈值减少意外触发“深按压”响应,同时仍然允许在触摸输入476提供足够强度的情况下进行即时“深按压”响应。第二分量478减少通过触摸输入的逐渐的强度波动而无意触发“深按压”响应。在一些实施方案中,在触摸输入476满足动态强度阈值480时(例如,在图4C中的点481处),触发“深按压”响应。
图4D示出了另一个动态强度阈值486(例如,强度阈值ID)。图4D还示出了两个其他强度阈值:第一强度阈值IH和第二强度阈值IL。在图4D中,尽管触摸输入484在时间p2之前满足第一强度阈值IH和第二强度阈值IL,但是直到在时间482处经过延迟时间p2才提供响应。同样在图4D中,动态强度阈值486随时间衰减,其中衰减在从时间482(触发了与第二强度阈值IL相关联的响应的时候)已经过预定义的延迟时间p1之后的时间488开始。这种类型的动态强度阈值减少紧接在触发与较低阈值强度(诸如第一强度阈值IH或第二强度阈值IL)相关联的响应之后或与其同时意外触发与动态强度阈值ID相关联的响应。
图4E示出了又一个动态强度阈值492(例如,强度阈值ID)。在图4E中,在从触摸输入490被初始检测到的时候已经过延迟时间p2之后,触发与强度阈值IL相关联的响应。同时,动态强度阈值492在从触摸输入490被初始检测到的时候已经过预定义的延迟时间p1之后衰减。因此,在触发与强度阈值IL相关联的响应之后降低触摸输入490的强度,接着在不释放触摸输入490的情况下增大触摸输入490的强度可触发与强度阈值ID相关联的响应(例如,在时间494处),即使当触摸输入490的强度低于另一强度阈值(例如,强度阈值IL)时也是如此。
接触特征强度从低于轻按压强度阈值ITL的强度增大到介于轻按压强度阈值ITL与深按压强度阈值ITD之间的强度有时被称为“轻按压”输入。接触的特征强度从低于深按压强度阈值ITD的强度增大到高于深按压强度阈值ITD的强度有时称为“深按压”输入。接触特征强度从低于接触检测强度阈值IT0的强度增大到介于接触检测强度阈值IT0与轻按压强度阈值ITL之间的强度有时被称为检测到触摸表面上的接触。接触的特征强度从高于接触检测强度阈值IT0的强度减小到低于接触检测强度阈值IT0的强度有时被称为检测到接触从触摸表面抬离。在一些实施方案中,IT0为零。在一些实施方案中,IT0大于零在一些图示中,阴影圆或椭圆用于表示触敏表面上的接触的强度。在一些图示中,没有阴影的圆或椭圆用于表示触敏表面上的相应接触而不指定相应接触的强度。
在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)所执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到该相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入强度阈值来执行相应操作(例如,在相应按压输入的“向下冲程”上执行相应操作)。在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。
在一些实施方案中,设备采用强度滞后以避免有时称为“抖动”的意外输入,其中该设备限定或选择与按压输入强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入强度阈值小X个强度单位,或滞后强度阈值是按压输入强度阈值的75%、90%或某些合理的比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。
为了容易解释,任选地响应于检测到以下情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触的强度增大到高于按压输入强度阈值、接触的强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触的强度减小到低于按压输入强度阈值、或接触的强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。如上所述,在一些实施方案中,对这些操作的触发还取决于满足基于时间的标准(例如,在满足第一强度阈值和满足第二强度阈值之间已经过延迟时间)。
用户界面和相关联的过程
现在将注意力转向可在具有显示器、触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备诸如便携式多功能设备100或设备300上实现的用户界面(“UI”)及相关联过程的实施方案。
图5A-图5DD示出了根据一些实施方案的用于处理输入的示例性用户界面。这些附图中的用户界面被用于阐示下面介绍的过程,包括图6A-图6D、图7A-图7C和图8A-图8C中的过程。为了便于解释,将参考在具有触敏显示器***112的设备上执行的操作来讨论实施方案中的一些实施方案。在此类实施方案中,焦点选择器为任选地:相应手指或触笔接触、对应于手指或触笔接触的代表点(例如,相应接触的重心或与相应接触相关联的点)、或在触敏显示***112上所检测到的两个或更多个接触的重心。然而,响应于当在显示器450上显示附图中示出的用户界面连同焦点选择器时检测到触敏表面451上的接触,任选地在具有显示器450和独立的触敏表面451的设备上执行类似的操作。
图5A-图5DD包括强度曲线图506,示出了作为时间的函数的接触强度。具体地说,在图5A-图5DD中,强度曲线图506示出了触敏表面上的接触相对于一个或多个强度阈值(例如,强度ITH,ITL和ITD)的当前强度。尽管这些强度阈值在图5A-图5DD中被示出为恒定强度阈值(例如,强度阈值随时间不变),但在一些实施方案中,一个或多个强度阈值是动态强度阈值(例如,强度阈值随时间变化),如在图4C-图4E中所示。
图5A示出了类似于图4A中示出的用户界面400的用户界面400(例如,图5中的用户界面400包括在图4A中示出的用户界面元素的子集)。图5A还示出了强度曲线图506(上述)和曲线图508、510和520。曲线图508、510和520示出了用户界面(或用于更新用户界面的特定参数)在动画(例如,显示从第一用户界面过渡到第二用户界面的动画)中的变化状态。
在图5A中,曲线图508示出了动画曲线(例如,512-1、512-2、512-3,等等),各自定义动画如何响应于接触强度的变化而演变。在图5A中,动画曲线将阶段进度值(例如,归一化强度值)映射为动画进度值(代表如何将动画从第一用户界面演变到第二用户界面)。在图5A-图5DD中,动画进度值0对应于显示第一用户界面时的状态,以及动画进度值1对应于显示第二用户界面时的状态。当所显示的用户界面在第一用户界面和第二用户界面之间过渡时,动画进度值介于0和1之间。动画曲线512-1表示基于接触增加的强度从第一用户界面到第二用户界面的线性过渡。动画曲线512-2表示从所述第一用户界面过渡到所述第二用户界面,其中所述动画响应于所述接触强度的初始增大而快速演变并且所述动画响应于接近强度阈值(例如,ITH)的所述接触强度而缓慢演变。动画曲线512-3表示从所述第一用户界面过渡到所述第二用户界面,其中所述动画响应于所述接触强度的初始增大而缓慢演变并且所述动画响应于接近强度阈值(例如,ITH)的所述接触强度而迅速演变。在一些实施方案中,使用未在图5中未示出的其他动画曲线。
在图5A中,曲线图510和520示出了用于更新用户界面的参数变化。例如,曲线图520示出了作为动画进度值的函数的模糊参数(例如,模糊半径,表示用户界面的一个或多个部分上的模糊效应的量值)的变化,以及曲线图510示出了作为动画进度值的函数的缩放参数的变化(表示一个或多个用户界面对象的尺寸的增大或减小)。在图5A中,曲线图510表示一个或多个用户界面对象随动画进度值的增大而缩小。在图5A中,曲线图520表示当动画进度值是1时,将模糊效果应用到用于界面的一个或更多个部分。尽管图5A借助曲线图510和520示出了两个参数(缩放和模糊)的变化,但在一些实施方案中,附加参数(例如,颜色、背景缩放、模糊半径,等等)也作为动画进度值的函数而变化,其可以图形方式表示。为简洁起见,本文省略了这些额外的曲线图。
虽然曲线图510和520被表示为动画进度值的函数,但在一些实施方案中,曲线图510和520被表示为阶段进度值(或用户输入的原始强度)的函数。在此类实施方案中,动画曲线定义响应于接触强度变化如何在动画演变中使用各种视觉参数。
如上文相对于图1G-图1H所述,应用程序独立软件模块(例如,在图1G中的应用程序独立软件模块220-1)从接触/运动模块130接收触摸信息(例如,图1G中的触摸信息272,包括表示触摸输入的“特征强度”的信息),并且确定与触摸输入的特征强度相对应的阶段进度值。应用程序独立软件模块继而确定动画进度值(例如,使用动画曲线,诸如动画曲线512-1)。在一些实施方案中,应用核心(例如,应用核心1(230-1)针对动画的初始状态(例如,当动画进度值为0时)和动画的结束状态(例如,当动画进度值为1时)限定(或提供)用户界面更新参数(例如,用于更新用户界面的参数,诸如模糊半径、用户界面对象的缩放系数、背景的缩放系数,等等)。在一些实施方案中,动画的初始状态和动画的结束状态的用户界面更新参数在动画进度值确定之前(或甚至在触摸信息被应用程序独立软件模块接收之前)由应用核心定义。在定义动画的初始状态和动画的结束状态的用户界面更新参数之后,应用程序独立软件模块基于动画进度值确定用户界面更新参数,与应用核心无关(例如,无需来自应用核心的进一步输入)。例如,应用程序独立软件模块基于动画进度值对动画的初始状态和动画的结束状态的用户界面更新参数(例如,模糊半径)进行内插以获得用于渲染当前显示的用户界面的用户界面更新参数(例如,当动画进度值为0.5时,应用程序独立软件模块使用动画进度值为0时所使用的模糊半径以及动画进度值为1时使用的模糊半径的平均值)。
图5B-图5F示出了根据一些实施方案的响应于接触强度的增大包括用户界面对象阵列的用户界面400的过渡。
图5B示出了在对应于用户界面对象424的触敏表面(例如,触敏表面451或触摸屏显示器的触敏表面)上的位置检测到用户输入505。响应于检测到用户输入505的强度(如在图5B的强度曲线图506中所示),使用曲线图508中所示的用户输入505的归一化强度和动画曲线(如图514所示)确定动画进度值(例如,表示用户输入505在强度阈值ITH以下的归一化强度的阶段进度),继而,从曲线图520和510(如指示符522和516所表示)确定模糊值(例如,模糊半径)和缩放值。在图5B中,曲线图520指示没有模糊(由指示符522的模糊值0表示)和曲线图510指示缩放系数减小(由低于指示符516的初始缩放系数1的缩放系数表示)。
图5B还示出了根据缩放系数的变化来更新用户界面400。在图5B中,基于缩放系数的减少,用户界面对象424的尺寸减小(相对于图5A中所示的用户界面对象424的尺寸)。图5B还示出了如何基于另一个视觉更新参数(例如,阴影尺寸)在用户界面对象424周围显示另外的用户界面对象(例如,阴影)。
图5C在强度曲线图506中示出了用户输入505的强度进一步增大以满足强度阈值ITH。图5C中的曲线图508表示动画进度值已增大到1。图5C中的曲线图510表示缩放系数从图5B中示出的缩放系数已进一步减小,并且图5C中的曲线图520表示模糊值已增大,从而导致用户界面400的一个或多个部分模糊。图5C还示出了用户界面400基于这些参数的变化(模糊值和缩放系数)来更新。例如,基于缩放因数的进一步减小,界面对象424的尺寸进一步减少(相对于图5B中示出的用户界面对象424的尺寸),并且用户界面对象424之外的用户界面400是模糊的。此外,背景(例如,背景中所示的其他图标)被缩小以使得背景中的图标被显示更小。
图5D在强度曲线图506中示出用户输入505的强度增大到强度阈值ITH以上。图5D中的曲线图508示出了基于阶段进度确定的动画进度值(例如,强度阈值ITH和强度阈值ITL之间的触摸输入的归一化强度)。图5D中的曲线图510表示缩放系数随着动画进度值的增大而减小,而图5D中的曲线图520表示模糊值随着动画进度值的增大而增大。图5D还示出了基于这些参数的变化来更新用户界面400。基于缩放系数的进一步减小,用户界面对象424的尺寸进一步减小(与在图5C中所示的用户界面对象424的尺寸相比),并且应用于用户界面对象424之外的用户界面400的模糊效果的量值增大(例如,模糊半径增大)。背景(和/或背景中的图标)进一步缩小。
图5E在强度曲线图506中示出了用户输入505的强度满足强度阈值ITL(在强度曲线图506中由指示符524表示)。图5E中的曲线图508表示动画进度值已增大到1。图5E中的曲线图510表示缩放系数已增大回到初始缩放系数1,并且图5E中的曲线图520表示模糊值增大。图5E还示出了基于这些参数的变化(模糊值和缩放系数)来更新用户界面400。用户界面对象424已根据缩放系数返回到其初始尺寸(如在图5A中所示),以及用户界面对象424之外的用户界面400更模糊(例如,应用更大模糊半径)。停止显示另外的用户界面对象(例如,阴影)。背景(例如,背景中所示的其他图标)已返回其原始规模。此外,用户界面400包括用户界面元素526(例如,用户界面元素526,其中一个或多个菜单选项设置在先前显示的用户界面上方)。在一些实施方案中,用户界面元素526被称为快速动作菜单。
图5E还示出了响应于满足强度阈值ITL的用户输入505的强度生成触觉输出528。
在一些实施方案中,用户输入505的强度的进一步增大不会导致用户界面400的进一步变化。例如,即使用户输入505的强度增大至高于强度阈值ITL(未示出),图5E中示出的用户界面400还保持在显示器上。
图5F示出了用户输入505停止在触敏表面上被检测(例如,接触已从触敏表面抬离以及用户输入505的强度已经减少到0或低于检测阈值)。在图5F中,用户界面元素526保持在显示器上(即使用户输入505停止在触敏表面上被检测)。在一些实施方案中,用户界面元素526响应于确定用户输入505已在触敏表面上停止被检测而停止显示(例如,响应于接触从触敏表面抬离,用户界面元素526和/或其他视觉效果,诸如模糊,从显示器移除)。
图5G-图5J示出了根据一些实施方案响应于接触强度的增大包括用户界面对象的阵列的用户界面400的过渡。
图5G示出用户输入507在对应于用户界面对象438的触敏表面上的位置处检测到。响应于检测到用户输入507的强度(如在图5G的强度曲线图506中所示),使用曲线图508中所示的用户输入507的归一化强度和动画曲线(如指示符514表示)确定动画进度值(例如,表示用户输入507在强度阈值ITH以下的归一化强度的阶段进度),继而,从曲线图520和510(如指示符522和516所表示)确定模糊值和缩放值。在图5G中,曲线图520指示没有模糊(由指示符522的模糊值0表示)和曲线图510指示缩放系数减小(由低于指示符516的初始缩放系数1的缩放系数表示)。
图5H类似于图5C,不同在于用户界面对象438的尺寸减小(并且另外的用户界面对象,诸如阴影,围绕用户界面对象438,而不是用户界面对象424显示)。
图5I也类似于图5D,不同在于用户界面对象438的尺寸减小(并且另外的用户界面元素,诸如阴影,围绕用户界面对象438,而不是用户界面对象424显示)。此外,曲线图510表示当动画进度值为1时缩放系数增大至1并且曲线图520表示当动画进度值为1时模糊值减小至0。在一些实施方案中,曲线图510和520中的曲线通过对应于用户界面对象424的应用来选择(例如,曲线由应用主动选择,诸如天气桌面小程序149-1,或者根据确定应用程序尚未预订预览操作,诸如显示图5E中所示的用户界面对象526来选择曲线)。
图5J在强度曲线506中示出了用户输入505的强度满足强度阈值ITL(在强度曲线506中由指示符524表示)。图5E中的曲线图508表示动画进度值已增大到1。图5J中的曲线图510表示缩放系数已增大回到初始缩放系数1,并且图5J中的曲线图520表示模糊值增大到0。图5J还示出了基于这些参数的变化(模糊值和缩放系数)来更新用户界面400。用户界面对象438已根据缩放系数返回到其初始尺寸(如在图5A中所示),并且用户界面400停止模糊(例如,去除界面400的模糊)。停止显示另外的用户界面(例如,阴影)。
图5K-图5O示出了根据一些实施方案的响应于接触强度的增大而包含项目列表的用户界面400的过渡。
图5K示出了包括电子邮件列表的邮件应用程序的用户界面501。
图5L示出了在对应于用户界面对象530的触敏表面(例如,触敏表面451或触摸屏显示器的触敏表面)上的位置检测到用户输入509(例如,列表中的条目,诸如电子邮件列表中的电子邮件)。响应于检测到用户输入509的强度(如在图5L的强度曲线图506中所示),使用曲线图508中所示的用户输入509的归一化强度和动画曲线(如指示符514所表示)确定动画进度值(例如,表示用户输入509在强度阈值ITH以下的归一化强度的阶段进度),继而,从曲线图520和510(如指示符522和516所表示)确定模糊值和缩放值。在图5L中,曲线图520指示没有模糊(由指示符522的模糊值0表示)和曲线图510指示缩放系数减小(由低于指示符516的初始缩放系数1的缩放系数表示)。
图5L还示出了根据缩放系数的变化来更新用户界面501。在图5L中,基于缩放系数的减少,用户界面对象530中文本的大小减小(相对于图5K中所示的用户界面对象530中文本的大小)。图5L还示出了用户界面对象530的颜色已改变。
图5M在强度曲线图506中示出了用户输入509的强度进一步增大以满足强度阈值ITH。图5C中的曲线图508表示动画进度值已增大到1。图5C中的曲线图510表示缩放系数已返回到初始缩放系数,并且图5M中的曲线图520表示模糊值已增大,从而导致用户界面501的一个或多个部分模糊。图5M还示出了基于这些参数的变化(模糊值和缩放系数)来更新用户界面501。例如,用户界面对象530中的文本的大小基于缩放系数的变化返回到其初始尺寸(并且从图5L中示出的用户界面对象530中的文本的大小增大),以及除了用户界面对象530之外的用户界面501变得模糊。用户界面对象530的颜色进一步改变。
图5N在强度曲线图506中示出用户输入509的强度增大到强度阈值ITH以上。图5N中的曲线图508示出了基于阶段进度(例如,强度阈值ITH和强度阈值ITL之间的触摸输入的归一化强度)确定的动画进度值。图5N中的曲线图510表示缩放系数随着动画进度值的增大而增大,而图5N中的曲线图520表示模糊值随着动画进度值的增大而增大。图5N还示出了基于这些参数的变化来更新用户界面501。基于增大的缩放系数,用户界面对象530中文本的大小增大(与在图5M中所示的用户界面对象530中文本的大小相比),并且应用于用户界面对象530之外的用户界面501的模糊效果的量值增大(例如,模糊半径增大)。
图5O在强度曲线图506中示出了用户输入509的强度满足强度阈值ITL(在强度曲线图506中由指示符524表示)。图5O中的曲线图508表示动画进度值已增大到1。图5O中的曲线图520表示模糊值进一步增大。图5O还示出了基于模糊值的变化来更新用户界面501。例如,用户界面501的先前模糊部分更模糊。此外,用户界面501包括用户界面元素532(例如,预览窗口被布置在先前显示的用户界面上方)。
图5O还示出了响应于满足强度阈值ITL的用户输入509的强度生成触觉输出528。
图5P在强度曲线图506中示出用户输入509的强度增大到强度阈值ITL以上。图5Q中的曲线图508示出了基于阶段进度确定的动画进度值(例如,强度阈值ITL和强度阈值ITD之间的触摸输入的归一化强度)。图5P中的曲线图510表示缩放系数随着动画进度值的增加而增大。图5P还示出了根据缩放系数的变化来更新用户界面501。基于增大的缩放系数,用户界面对象532的尺寸增大(相对于图5O中所示的用户界面对象532的尺寸)。
图5Q在强度曲线图506中示出了用户输入509的强度进一步增大。图5Q中的曲线图508示出了基于阶段进度确定的动画进度值进一步增加。图5Q中的曲线图510表示缩放系数随着动画进度值的增大而也进一步增大。图5Q还示出了根据缩放系数的变化来更新用户界面501。基于增大的缩放系数,用户界面对象532的尺寸进一步增大(相对于图5P中所示的用户界面对象532的尺寸)。
图5R在强度曲线图506中示出了用户输入509的强度满足强度阈值ITD(在强度曲线图506中由指示符534表示)。图5R中的曲线图508表示动画进度值已增大到1。图5R中的曲线图510表示缩放系数已进一步增大。图5R还示出了根据缩放系数的变化来更新用户界面501。例如,先前所显示的用户界面被用户界面对象532中所示的用户界面替换(例如,用户界面对象532展开以占据整个用户界面501)。
图5R还示出了响应于满足强度阈值ITD的用户输入509的强度生成触觉输出。
在一些实施方案中,用户输入509的强度的进一步增大不会导致用户界面501的进一步变化。例如,即使用户输入509的强度增大至高于强度阈值ITD,图5R中示出的用户界面501还保持在显示器上。
图5S-图5AA示出了根据一些实施方案的显示用于指示特定用户界面对象被配置为响应用户输入的强度的变化的视觉效果。
图5S类似于图5L,以及图5S中具有与图5S中的对应元素相同参考编号的元素具有如针对图5L中的相应元素上述的相同属性和功能。
图5T在强度曲线图506中示出了用户输入509的强度从图5S中所示的用户输入的强度减小。图5T中的曲线图508表示动画进度值已减小,曲线图510和520中的指示符516和522基于动画进度值的变化得以更新。图5T还示出了根据缩放系数的变化来更新用户界面501。例如,用户界面对象530中文本的大小根据缩放系数的变化而增大。此外,用户界面对象530的颜色也发生变化。
图5U在强度曲线图506中示出了用户输入509的强度在低于强度阈值ITH的下方随时间波动(例如,增加和减小多次)。曲线图542表示缩放系数还基于用户输入509的强度的变化(和/或阶段进度值相关联的变化)随时间变化。因此,用户界面对象530中的文本的大小基于用户输入509的强度的变化而增大和减小。在一些情况下,这可视觉指示用户界面对象530被配置为响应用户输入509的强度的进一步变化(例如,用户界面对象530被配置为响应于满足强度阈值ITH的用户输入509的强度而引起用户界面501的一个或多个部分的模糊)。
图5V示出了用户输入509的强度超过强度阈值ITH,并且用户界面501的一个或多个部分模糊。图5V对应于以上所述的图5N。为了简明起见,本文不重复该用户界面的详细描述。
图5W在强度曲线图506中示出了用户输入509的强度从图5V中所示的用户输入的强度增大。图5W中的曲线图508表示动画进度值已增大,曲线图510和520中的指示符516和522基于动画进度值的变化得以更新。图5W还示出了根据缩放系数和模糊值的变化来更新用户界面501。例如,用户界面对象530中的文本的大小基于缩放系数的变化而增大,并且用户界面501的先前模糊部分更模糊。
图5X在强度曲线图506中示出了用户输入509的强度在强度阈值ITH与阈值强度ITL之间随时间波动(例如,增加和减小多次)。曲线图544表示模糊值还基于用户输入509的强度的变化(和/或阶段进度值相关联的变化)随时间变化。因此,模糊效应的量值(或严重性)根据用户输入509的强度的变化而增大和减小。在一些情况下,这可视觉指示用户界面对象530被配置为响应用户输入509的强度的进一步变化(例如,用户界面对象530被配置为响应于满足强度阈值ITL的用户输入509的强度而引起预览窗口的显示)。
图5Y示出了用户输入509的强度超过强度阈值ITL,并且显示用户界面对象532(例如,预览窗口)(例如,用户界面对象532被放置在先前显示的用户界面的一部分上方)。图5Y类似于上文所述的图5Q。为了简明起见,本文不重复该用户界面的详细描述。
图5Z在强度曲线图506中示出了用户输入509的强度从图5Y中所示的用户输入的强度增大。图5Y中的曲线图508表示动画进度值已增大,以及曲线图510中的指示符516基于动画进度值的变化得以更新。图5Y还示出了根据缩放系数的变化来更新用户界面501。例如,用户界面对象532的尺寸基于缩放系数的变化而增大。
图5AA在强度曲线图506中示出了用户输入509的强度在强度阈值ITL与阈值强度ITD之间随时间波动(例如,增加和减小多次)。曲线图546表示缩放系数还基于用户输入509的强度的变化(和/或阶段进度值相关联的变化)随时间变化。因此,用户界面对象532的尺寸基于用户输入509的强度的变化而增大和减小。在一些情况下,这可视觉指示用户界面对象530被配置为响应用户输入509的强度的进一步变化(例如,用户界面对象530被配置为响应于满足强度阈值ITD的用户输入509的强度而展开和占据整个用户界面501)。
图5BB-图5DD示出了根据一些实施方案的响应于接触强度的增大用户界面503的过渡。
图5BB示出了包括电子邮件列表的消息应用程序的用户界面503。用户界面503包括用户界面对象536,该用户界面对象536在选择(例如,利用轻击手势)时发起显示用于合成消息的用户界面。
图5CC示出了在对应于用户界面对象536的触敏表面(例如,触敏表面451或触摸屏显示器的触敏表面)上的位置检测到用户输入511。响应于检测到用户输入511的强度(如在图5CC的强度曲线图506中所示),使用曲线图508中所示的用户输入511的归一化强度和动画曲线确定动画进度值(例如,表示用户输入511在强度阈值ITH处的归一化强度的阶段进度),以及继而,从曲线图520基于当前动画进度值确定模糊值(例如,模糊半径)。
图5DD在强度曲线图506中示出了用户输入511的强度进一步增大以满足强度阈值ITL。图5DD中的曲线图520表示模糊值增大。图5DD还示出了基于模糊值的变化来更新用户界面503。除了用户界面对象536以外的用户界面503更模糊(例如,应用较大的模糊半径)。此外,用户界面503包括用户界面元素526(例如,快速动作菜单)。
图5EE-图5GG示出了根据一些实施方案的模拟物理模型。
图5EE示出了模拟物理模型,包括质量块590(例如,具有非零重量的对象)、弹簧592和任选的阻尼器594。在图5EE中,弹簧592和阻尼器594并联连接到质量块590。然而,在一些实施方案中,使用了串联连接到质量块590的弹簧592和阻尼器594(未示出)。
在一些实施方案中,使用物理模型来确定质量块590在特定时刻(或在一系列时间点)的位置。在一些情况下,质量块590的位置相对于参考位置被测量(或确定)(例如,质量块590的初始位置或参照对象,诸如(模拟)接地)。距参考位置的质量块590的距离在本文中称为(质量块590的)位移。
在一些实施方案中,触摸输入的强度(例如,用户输入509的强度)作为输入被提供给模拟物理模型。例如,使用触摸输入的强度来确定施加到模拟物理模型中的质量块590的模拟力(F),以及模拟质量块590的移动(或位移)。弹簧592向质量块590提供模拟力以允许质量块590返回到参考位置(或中性位置,其中在质量块590为静态时在质量块590上由弹簧592施加模拟力为零)。阻尼器594提供阻力使得质量块590的移动随时间推移而减慢。
另选地,将触摸输入的强度作为质量块590的条件运动提供给模拟物理模型。例如,触摸输入的强度被视为模拟物理模型中的质量块590在单个方向上的被迫移动(以及因此,触摸输入的强度的减小不会在相反方向上拉动质量块590)。
由于质量块590的惯性、弹簧592的弹性模量、以及阻尼器594提供的阻力,质量块590的位移不随用户输入的强度的变化线性变化,如曲线图548所示。
模拟物理参数(例如,质量块590的位移)用于确定视觉显示参数(例如,模糊值、缩放系数、颜色变化值,等等),其被用于更新用户界面和/或提供从一个用户界面到另一个用户界面的动画过渡。在一些实施方案中,视觉显示参数与模拟物理参数成比例。
例如,模拟物理参数用于在用户输入的强度波动(例如,如图5S-图5AA中所示)时更新用户界面。在一些情况下,当用户输入的强度显著改变时,响应于用户输入的强度的变化线性地更新用户界面呈现对用户界面的突然的急剧变化。对用户界面的此类剧烈变化可分散用户注意力。通过低通滤波器过滤对用户输入的强度的变化会减少对用户界面的急剧变化,但引入了更新用户界面时的滞后。因此,用户界面在用户输入的强度变化之后随着用户可观察的延迟进行更新,降低了用户体验(因为当用户期望其改变时用户界面不发生变化)。通过利用模拟物理参数(例如,质量块和弹簧***中的质量块位移),在呈现物理直观的行为,诸如惯性、阻尼、摩擦和振荡时,在用户界面对用户输入的强度变化保持响应的同时逐步(例如,对用户界面的不突然、急剧变化)更新用户界面(例如,减小或消除用户界面的变化与用户界面的更新之间的延迟)。
如上文所述,图5EE示出了一维质量块和弹簧***。在一些其他实施方案中,使用较高维度的质量块和弹簧***。例如,图5FF示出了二维质量块和弹簧***。此类***可用于模拟两个或更多个参数(例如,使用一个模拟物理参数来确定视觉显示参数以及使用第二模拟物理参数确定用户界面对象在整个显示器上的移动)。另选地,使用两个独立的一维质量块和弹簧***来模拟两个参数。虽然上面的实施例参考一个弹簧***和两个弹簧***给出,但是设想到质量块和弹簧的其它布置方式。例如,在质量块的相对侧布置弹簧的三个或四个弹簧***(例如,图5GG中示出的四个弹簧***)可提供有利的阻尼和稳定特征结构,产生响应于窄范围的可预测值的更直观的物理***。原则上,可使用任何数量的弹簧和质量块,然而物理模拟中包括的另外的弹簧和/或质量块增加计算成本(例如,计算***更新的时间和能量)并且可降低依赖于物理模拟的用户界面的响应能力。因此,在稳定***和有效***之间的平衡中,少量弹簧(例如,3-5个弹簧)经常用于物理模拟中。
图6A-图6D是示出根据一些实施方案的处理输入的方法600的流程图。方法600是在具有显示器、触敏表面和用于检测与触敏表面接触的强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行的。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法600中的一些操作任选地被组合,并且/或者一些操作的顺序任选地被改变。
如下所述,方法600提供了使用应用程序独立软件模块处理输入的改进方法。使用基于来自应用软件的信息的应用程序独立软件处理输入提供了在使用各种软件应用时提供一致用户体验的通用用户界面框架。为用户提供通用用户界面框架增强此类软件应用和执行此类软件应用的设备的可用性。继而,这增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户在操作/与设备进行交互时提供适当的输入和减少用户错误和/或意外操作)。此外,该方法降低软件应用的大小并使得此类软件应用的运行更快。针对电池驱动的电子设备,使得用户能够更快且更有效地使用软件应用节省了功率并增大了两次电池充电之间的间隔。
该设备将应用软件(例如,第一软件应用,诸如图1C中的应用程序1(136-1))和可用于多个软件应用(例如,第一软件应用,诸如图1C中的应用程序1(136-1)和一个或多个其他软件应用,注入应用程序2(136-2))的应用程序独立软件(例如,图1C中的应用程序独立软件模块220-1)存储(例如,在存储器中)在电子设备中(例如,电子设备存储多个软件应用)。
该设备在显示器上显示(602)应用软件的第一用户界面。根据来自应用软件的指令生成第一用户界面。例如,图5K中示出的邮件应用程序的用户界面501显示在触敏显示器***112上。用户界面501由邮件应用程序配置(例如,邮件应用程序中的指令限定用户界面501是如何配置)。
设备检测(604)到在对应于第一用户界面的位置处由触敏表面上的接触的输入(例如,在用户界面501上检测到图5L中的用户输入509)。
在一些实施方案中,在获得第一触摸信息之前(例如,在运行期间)由应用软件实例化(606)应用程序独立软件。例如,如图1E-图1G中所示,应用程序独立软件的实例220-1在从接触/运动模块130获得触摸信息之前被创建。
设备利用应用程序独立软件获得(608)与触敏表面上的接触对应的第一触摸信息(例如,如图1G所示,应用程序独立软件模块220-1从接触/运动模块130接收触摸信息272)。
设备利用应用程序独立软件响应于获得第一触摸信息向应用软件提供(610)与不同于第一触摸信息(例如,触摸信息274)的第二触摸信息。在一些实施方案中,触摸信息272包括未包括在触摸信息274中的触摸输入的原始强度。所述第二触摸信息包括指示所述输入相对于一个或多个强度阈值的变化的强度信息。在一些实施方案中,在图1G中,第二触摸信息(例如,触摸信息274)包括阶段信息262和/或进度指示符264。在一些实施方案中,阶段信息262指示触摸输入的强度所落在的强度范围。例如,在一些情况下,阶段信息262指示触摸输入的强度是否在强度阈值ITH以下(本文称为“阶段0”),在强度阈值ITH和强度阈值ITL之间(本文称为“阶段1”),在强度阈值ITL和强度阈值ITD之间(在本文中称为“阶段2”),或在强度阈值ITP以上(在本文称为“阶段3”)。进度指示符264代表触摸输入的归一化强度。在一些实施方案中,进度指示符264表示在当前强度阶段内的触摸输入的归一化强度。例如,当触摸输入的强度落在阶段1内时,进度指示符264代表触摸输入在强度阈值ITH和强度阈值ITL之间的归一化强度(例如,当触摸输入在强度阶段1时,对应于强度阈值ITH的触摸输入的强度具有归一化强度值0,而对应于强度阈值ITL的触摸输入的强度具有归一化强度值1)。当触摸输入的强度落在阶段2内时,进度指示符264代表触摸输入在强度阈值ITL和强度阈值ITD之间的归一化强度(例如,当触摸输入在强度阶段2时,对应于强度阈值ITL的触摸输入的强度具有归一化强度值0,而对应于强度阈值ITD的触摸输入的强度具有归一化强度值1)。
在一些实施方案中,在将第二触摸信息从应用程序独立软件提供到应用软件之后,设备在应用软件处从应用程序独立软件获得(612)识别与第二触摸信息分开的触敏表面上的接触位置的信息(例如,在图1G中的位置信息276)。位置信息用于选择将由应用程序独立软件执行的操作。例如,当接触的位置对应于被配置为响应接触的用户界面对象时,应用程序独立软件选择与用户界面对象相关联的操作。在一些实施方案中,当接触的位置对应于未被配置为响应接触的用户界面对象时,应用程序独立软件不选择任何操作,或选择无效操作。在一些实施方案中,在向应用软件提供来自应用程序独立软件的第二触摸信息之后,应用软件向应用程序独立软件提供识别接触在触敏表面上的位置的信息的请求,并且响应于识别接触在触敏表面上的位置的信息的请求,应用程序独立软件向应用软件提供识别接触在触敏表面上的位置的信息。
在一些实施方案中,由应用程序独立软件提供给应用软件的第二触摸信息识别(或包括)触敏表面上的接触的位置。在一些实施方案中,在触敏表面上的接触的位置被提供给独立于应用程序独立软件的应用软件(例如,在触敏表面上的接触的位置直接从接触/运动模块130提供给应用软件)。
在一些实施方案中,所述第二触摸信息包括(614)指示所述输入满足包括所述输入满足第一强度阈值(例如,ITH)(以及任选地参考图4C-图4E所述的持续时间阈值)的提示标准的信息。例如,图1G中的触摸信息274包括指示用户输入处于阶段1的阶段信息,该阶段信息满足提示标准(基于用户输入的强度和/或持续时间)。
借助应用程序独立软件,在将第二触摸信息提供至应用软件之后,基于第二触摸信息设备从应用软件获得(616,图6B)识别由应用软件选择的第一操作的信息(例如,图1G中的操作信息278包括对提示操作的选择,如模糊的背景)。
在一些实施方案中,基于由应用软件提供的参数,第一操作不同于***定义的提示操作。例如,应用软件提供一个或多个参数来定制提示操作(例如,应用软件选择在***默认提示操作不包括改变用户界面对象的颜色时改变用户界面对象的颜色,和/或应用软件选择动画曲线512-2或512-3而非***默认动画曲线512-1)。在一些实施方案中,应用软件使用***默认行为(例如,提示行为)的***默认动画曲线但是为动画挑选定制开始和结束状态,并且应用程序独立模块使用***默认动画曲线在定制开始和结束状态之间驱动动画,使得动画具有与***默认行为(例如,提示行为)相同的感觉,并且如果更新***默认行为(例如,经由改变***默认动画曲线的操作***更新),则定制动画也被更新以具有与更新的***默认行为相同的感觉。
在一些实施方案中,应用软件是(618)应用程序独立软件的代表。如本文所用,特定软件组件的代表是指被配置为控制特定软件组件的操作的指令集。例如,特定软件组件的代表基于提供给该代表的信息确定(或选择)一种或多种操作,并且特定软件组件基于该代表的确定(或选择)执行一个或多个操作。作为应用程序独立软件的代表,应用软件基于第二触摸信息选择用于由应用程序独立软件执行的第一操作。
利用应用程序独立软件,响应于从应用软件获得识别第一操作的信息,设备执行(620)第一操作(例如,提示操作,如图5M-图5O所示)。在一些实施方案中,执行所述第一操作包括显示与由所述应用软件独立软件从所述应用程序接收的图像数据对应的图像。因此,尽管第一操作显示应用程序特定信息的事实(例如,应用软件的用户界面),应用程序独立软件独立于应用程序。在一些实施方案中,应用程序独立软件向多个应用程序提供相同的服务(例如,参见图1C)。
在一些实施方案中,第一操作包括(622,图6C)将第一用户界面的至少一部分与第一用户界面的另一部分在视觉上分开(例如,模糊第一用户界面的部分,如图5N所示)。
在一些实施方案中,第一操作包括(624)将第一用户界面的至少一部分从由应用软件定义的第一状态过渡到由应用软件定义的第二状态(例如,施加到用户界面501的部分的模糊半径在施加到图5M中的用户界面的第一模糊半径与施加到图5O的用户界面的第二模糊半径之间变化)。这使得应用程序能够定义具有与***行为相同感觉的定制动画,从而保持一致的用户体验从而减少用户混淆并创建更有效的人机界面。
在一些实施方案中,第一操作包括(626)利用由应用程序独立软件定义的动画曲线将第一用户界面的部分从应用软件定义定义的第一状态过渡到由应用程序定义的第二状态(例如,强度的变化到从动画开始到结束的演变的映射,诸如图5K中的动画曲线512-1)。由于应用程序独立软件执行该过渡,所以应用程序软件上的工作负载降低。此外,简化了应用软件的大小并简化了应用软件的结构。
在一些实施方案中,在执行第一操作期间或之后:根据确定已取消输入,该设备从应用程序独立软件向应用程序软件提供(628)指示该触摸已被取消的信息(例如,图1J中的触摸取消226);在向应用软件提供指示所述触摸已被取消的信息之后,在应用程序独立软件处,基于指示触摸已被取消的信息(例如,将模糊逆转的撤销操作)从所述应用软件获得识别由应用软件选择的第四操作的信息(例如,图1J中的操作信息228);并且,响应于从应用软件获得识别第四操作的信息,利用应用程序独立软件执行第四操作(例如,设备去除用户界面上的模糊)。
在一些实施方案中,在执行第一操作期间或之后:设备利用应用程序独立软件继续(630)监视所述输入;并且,在应用程序独立软件正在监视输入时,根据确定已取消输入(例如,在图1K中的应用核心1(230-1)),从应用软件(或其应用核心)向应用程序独立软件提供用于指示触摸已被取消的信息(例如,触摸取消232)。在从应用软件向应用程序独立软件提供指示所述触摸已被取消的信息之后,设备在所述应用程序独立软件处停止监视所述输入。
在一些实施方案中,在向应用软件提供第二触摸信息之后,设备检测(632,图6)接触在触敏表面上强度的增大。借助应用程序独立软件,设备获得与在触敏表面上的增大强度的接触对应的第三触摸信息(例如,在图1H中的触摸信息282);以及,根据确定所述输入的增大强度满足包括所述输入满足高于所述第一强度阈值(例如,ITH)的第二强度阈值(例如,ITL)的预览标准,向应用软件提供不同于所述第三触摸信息的第四触摸信息(例如,图1H中的触摸信息284)。第四触摸信息包括指示输入满足预览标准的信息。例如,图1H中的触摸信息284包括指示用户输入处于阶段2的阶段信息,该阶段信息满足提示标准(基于用户输入的强度和/或持续时间)。利用应用程序独立软件,在向所述应用软件提供第四触摸信息之后,该设备从所述应用软件获得识别基于所述第四触摸信息由应用软件选择的第二操作的信息(例如,图1H中的操作信息288);以及,响应于从应用软件获得识别第二操作的信息,执行第二操作(例如,预览操作,诸如显示如在图5O中示出的预览窗口)。
在一些实施方案中,基于由应用软件提供的参数,第二操作不同于***定义的预览操作。例如,应用软件提供一个或多个参数来定制预览操作(例如,应用软件从***默认预览窗口(从***默认矩形到正方形或圆形,或者具有不同拐角半径的矩形)选择来改变预览窗口的形状,和/或应用软件选择动画曲线512-2或512-3而不是***默认动画曲线512-1)。因此,应用软件可基于***定义的框架来指定定制操作。定制操作可以更适合应用软件的方式提供信息。但是,由于定制基于***默认框架,用户界面与***默认行为类似。因此,用户将能够更容易地和更有效地与软件应用进行交互。
在一些实施方案中,第二操作包括(634)在第一用户界面的一部分上覆盖预览区域(例如,在图5O中的用户界面对象532)。
在一些实施方案中,在向应用软件提供第四触摸信息之后,设备检测(636)接触在触敏表面上的强度的进一步增大。借助应用程序独立软件,设备获得与在触敏表面上的增大强度的接触对应的第五触摸信息(例如,在图1I中的触摸信息292);以及,根据确定所述输入的进一步增大的强度满足包括所述输入满足不同于所述第一强度阈值(ITH)和所述第二强度阈值(例如,ITL)的第三强度阈值(例如,ITD)的提交标准,向所述应用软件提供不同于所述第五触摸信息的第六触摸信息(例如,图1I中的触摸信息294)。第六触摸信息包括指示输入满足提交标准的信息。利用应用程序独立软件,在向所述应用软件提供第六触摸信息之后,该设备从所述应用软件获得识别基于所述第五触摸信息由应用软件选择的第三操作的信息(例如,图1I中的操作信息298);以及,响应于从应用软件获得识别第三操作的信息,执行第三操作(例如,提交操作,诸如将第一用户界面替换为如在图5R中所示的预览区域中示出的用户界面)。
在一些实施方案中,基于由应用软件提供的参数,第三操作不同于***定义的提交操作。例如,应用软件提供一个或多个参数来定制提交操作(例如,应用软件选择与在启动提交操作时生成的***默认触觉输出不同的触觉输出)。
在一些实施方案中,第三操作包括(638)将第一用户界面的显示替换为与第一用户界面不同的第二用户界面(例如,参见图5R)。在一些实施方案中,第二用户界面包括在预览区域中显示的内容(例如,参看图5Q和图5R)。在一些实施方案中,第三操作包括停止显示预览区域(例如,用户界面对象532不被单独地显示为设置在背景上方的用户界面对象)。
在一些实施方案中,电子设备与一个或多个触觉输出设备耦接(640)。利用应用程序独立软件,响应于确定输入的强度在不满足所述一个或多个强度阈值的强度阈值的第一状态和满足所述一个或多个强度阈值的强度阈值的第二状态之间变化,设备启动一个或多个触觉输出设备来输出(或生成)触觉输出(例如,在图5O中,响应于确定所述输入的强度已从低于强度阈值ITL变化为强度阈值ITL,设备生成触觉输出528)。这使得应用程序能够在不使用相同***动画的情况下生成用于***动画的触觉输出的相同条件下生成触觉输出,从而保持一致的用户体验以减少用户混淆并创建更有效的人机界面。
在一些实施方案中,从应用程序独立软件发送到应用软件的触摸信息包括(642,图6B)表示输入强度的变化的进度指示符(例如,图1G中的进度指示符264)。
应当理解,图6A-图6D中的操作被描述的特定次序仅仅是示例性的,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法700和方法800)所述的其他过程的细节同样以类似的方式适用于上文结合图6A-图6D所述的方法600。例如,上文参考方法600所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件(例如,应用软件和应用程序独立软件)和操作任选地具有本文中参考本文所述的其他方法(例如,方法700和800)所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件和操作的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图7A-图7C是示出根据一些实施方案的处理输入的方法700的流程图。方法700是在具有显示器、触敏表面和用于检测与触敏表面接触的强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行的。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法700中的一些操作任选地被组合,并且/或者一些操作的顺序任选地被改变。
如下文所述,方法700提供了用于处理输入的改进方式。方法700提供软件应用和应用程序独立软件模块的基于订阅的操作,这减少了软件应用的大小并且使得此类软件应用的执行更快。另外,方法700提供了用于处理输入的直观的公共构架,从而为用户创建更有效的人机界面以了解和使用。针对电池驱动的电子设备,使得用户能够更快且更有效地学习和使用软件应用节省了功率并增大了两次电池充电之间的间隔。
在显示器上显示第一用户界面元素的同时,设备检测到(702)一个或多个输入的第一序列,包括在对应于第一用户界面元素的位置检测触敏表面上的输入强度的变化(例如,在图5L中,在显示邮件应用程序的用户界面501的同时,设备在对应于用户界面对象530的位置处检测用户输入509)。第一用户界面元素(例如,在设备上的第一方应用程序中的表格视图中的图标或行)与用户交互行为模型(例如,预阅和弹出)相关联以响应于输入强度的变化(例如,用户界面对象530被配置用于预阅和弹出操作,包括预览操作,如图5L-图5R中所示)。用户交互行为模型由多个用户交互组件行为(例如,提示行为、预阅(或预览)行为、弹出(或提交)行为等)组成。
响应于检测到第一输入序列,设备利用应用程序独立软件模块(例如,图1G中的应用程序独立软件模块220-1),在设备处生成(704)与第一用户界面元素相关联的输出,该第一用户界面元素根据输入强度变化和用户交互行为模型确定,用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为(例如,显示提示随后显示如图5L-图5O中示出的预阅拼盘(或预览窗口))。
在一些实施方案中,第一用户交互组件行为定义(706)将由一个或多个触觉输出设备输出的一个或多个触觉输出(例如,当用户输入509的强度满足强度阈值ITL时使用一个或多个触觉输出发生器167生成的触觉输出,如图5E所示)。在一些实施方案中,该方法包括使用一个或多个触觉输出设备输出一个或多个触觉输出(例如,根据确定输入强度的变化满足与第一用户交互组件行为相关联的条件)。
在生成与所述第一用户界面元素相关联的输出后,设备在所述显示器上显示(708)与所述用户交互行为模型中的所述用户交互组件行为的第一子集相关联的第二用户界面元素(例如,第一用户交互组件行为而不是第二用户交互组件行为)。例如,图5BB中的用户界面对象536与第一用户交互组件行为(例如,提示操作),而不是第二用户交互组件行为(例如,如图5O中示出的预览操作)相关联。图5BB中的用户界面对象536还与第三用户交互组件行为(例如,如图5DD中示出的快速动作菜单操作)相关联,而图5L中的用户界面对象530未配置有第三用户交互组件行为。因此,第二用户界面元素与第一用户界面元素的行为方式不同,从而提供更适合第二用户界面元素的定制操作。然而,因为在***定义的框架内执行定制,这使得应用程序能够定义具有与***行为相同感觉的定制动画,从而保持一致的用户体验从而减少用户混淆并创建更有效的人机界面。
在一些实施方案中,第一用户界面元素是第一应用程序的用户界面的一部分(例如,第一用户界面元素由第一应用程序呈现)和第二用户界面元素是不同于第一应用程序的第二应用程序的用户界面的一部分(例如,第二用户界面元素由第二应用程序呈现)。例如,图5K中的用户界面对象530是由邮件应用程序呈现的用户界面501的一部分以及图5BB中的用户界面对象536为消息应用程序呈现的用户界面503的一部分。
在一些实施方案中,显示第二用户界面元素包括停止显示第一用户界面元素(例如,启动消息应用程序发起使用用户界面503的显示来替换用户界面501)。在一些实施方案中,显示第二用户界面元素包括与第一用户界面元素的至少一部分同时显示第二用户界面元素。
在一些实施方案中,第一用户界面元素和第二用户界面元素被包括在单个用户界面中。
在显示器上显示第二用户界面元素的同时,设备检测到(710)第二输入序列,包括在对应于第二用户界面元素的位置处检测触敏表面上的输入强度的变化(例如,在图5CC中,在显示用户界面503的同时,设备在对应于用户界面对象536的位置处检测用户输入511)。
响应于检测到第二输入序列,设备从应用程序独立软件模块获得(712,图7B)输入强度的变化是否满足与第一用户交互组件行为相关联的条件的指示(例如,在图5CC中,用户输入511满足提示行为的强度阈值ITH)。
在一些实施方案中,与第一用户交互组件行为相关联的条件包括(714)强度标准和/或定时标准。例如,如图4C-图4E中所示,与提示行为(例如,提示标准)相关联的条件基于用户输入的强度和定时。
基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示,设备基于所述第一用户交互组件行为在所述显示器上更新(716)所述第二用户界面元素的外观(例如,在图5CC中,用户界面503的一个或多个部分模糊)。
在一些实施方案中,响应于检测到第二输入序列,根据确定所述输入强度的变化未满足与所述第一用户交互组件行为相关联的条件,设备放弃(718,图7C)基于所述第一用户交互组件行为在所述显示器上更新所述第二用户界面元素的外观。例如,当用户输入的强度不满足第一用户交互组件行为的强度阈值或者用户输入的持续时间不满足第一用户交互组件行为的持续时间阈值时,不基于第一用户交互组件行为更新第二用户界面元素的外观(例如,当用户输入511的强度低于强度阈值ITH时,不向用户界面503应用模糊效应)。
在一些实施方案中,第一用户交互组件行为包括(720)一个或多个动画曲线,基于动画曲线更新第二用户界面元素在显示器上的外观(例如,图5K中的动画曲线512-1、512-2、和512-3,选择其中之一用于更新用户界面对象530)。在一些实施方案中,一个或多个动画曲线将用户界面元素的外观的更新定义作为(原始或归一化)输入强度(或输入的强度的变化)的函数。例如,一个或多个动画曲线定义在显示器上显示的动画将如何随着输入强度的变化而演变。在一些实施方案中,一个或多个动画曲线由应用程序独立软件模块限定。因此,即使在多个应用程序定义不同定制动画时,此类定制动画具有与***行为相同的感觉,从而保持一致的用户体验从而减少用户混淆并创建更有效的人机界面。
在一些实施方案中,更新第二用户界面元素的外观包括(722)显示不同于第二用户界面元素的第三用户界面元素(例如,快速动作菜单,诸如图5DD中的用户界面对象526),并且第一用户交互组件行为定义第三用户界面元素响应于第二序列输入序列中的输入停止被检测时是否保持在显示器上。例如,第一用户交互组件指示快速动作菜单是否仅应在输入终止之前保持在显示器上(例如,接触从触敏表面抬离)或即使在输入结束之后也应在显示器上保持快速动作菜单。在另一实施例中,第二用户交互组件指示预览区域(或窗口)是否仅应在输入终止之前保持在显示器上(例如,接触从触敏表面抬离)或即使在输入结束之后也应在显示器上保持预览区域。
在一些实施方案中,第一用户交互组件行为包括(724)预定义的动画(例如,在应用程序独立软件模块中定义的动画,诸如以增大的模糊半径模糊用户界面503的一个或多个部分,如图5CC-图5DD中所示)。
在一些实施方案中,基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的所述外观包括(726)使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态。第一显示状态和第二显示状态由与第二用户界面元素相关联的软件应用来定义(例如,当用户输入的强度处于强度阈值ITH时的模糊半径以及当用户输入的强度处于强度阈值ITL时的模糊半径由与第二用户界面相关联的软件应用来定义)。在一些实施方案中,与第二用户界面元素相关联的软件应用是不同于第一软件应用(例如,邮件应用程序)的第二软件应用(例如,消息应用程序)。在一些实施方案中,第一显示状态和第二显示状态由与独立于应用程序独立软件模块的第二用户界面元素相关联的软件应用来定义(例如,当用户输入的强度处于强度阈值ITH时的模糊半径以及当用户输入的强度处于强度阈值ITL时的模糊半径由与独立于应用程序独立软件模块的第二用户界面相关联的软件应用来定义)。在一些实施方案中,在第一显示状态和第二显示状态由与第二用户界面元素相关联的软件应用定义之后,应用程序独立软件模块更新第二用户界面元素的外观而无需来自与第二用户界面元素相关联的软件应用的进一步输入(例如,一旦软件应用规定当用户输入的强度处于强度阈值ITH时的模糊半径和当用户输入的强度处于强度阈值ITL时的模糊半径由与独立于应用程序独立软件模块的第二用户界面相关联的软件应用来定义,应用程序独立软件模块基于用户输入的强度执行改变模糊半径,而无需来自软件应用的进一步输入,从而减小或消除软件应用在更新第一显示状态和第二显示状态之间的第二用户界面的外观时执行的进一步操作。
在一些实施方案中,响应于检测到所述第二输入序列,设备放弃(728,图7B)基于第二用户交互组件行为更新第二用户界面元素在显示器上的外观(例如,在图5E中,即使用户输入强度满足阈值强度ITL也不显示预览窗口)。允许软件应用选择用户交互组件行为的子集有助于定制。因为在***定义的框架内执行定制,这使得应用程序能够定义具有与***行为相同感觉的定制动画,从而保持一致的用户体验从而减少用户混淆并创建更有效的人机界面。
在一些实施方案中,设备接收(730)对用户交互行为模型的更新(例如,经由***软件更新,诸如对操作***的更新)。更新修改了第一用户交互组件行为,并且修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同(例如,使用不同的动画曲线,诸如动画曲线512-3)。在接收到对用户交互行为模型的所述更新之后,响应于检测到输入序列,基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述修改的第一用户交互组件行为相关联的条件的指示,基于所述修改的第一用户交互组件行为设备在所述显示器上更新所述第二用户界面元素的外观。因为多个软件应用依赖于用于定制的***定义行为,所以更新用户交互行为模型提供了一种简单、快速而高效的方法来修改所述多个软件应用的行为同时保持所述多个软件应用中的一致用户体验。这减少了用户混乱并创建了更有效的人机界面。
在一些实施方案中,设备在显示器上显示(732)与用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素(例如,与提示行为而不是预阅(或预览)行为或弹出(或提交)行为相关联的用户界面对象438)。
在一些实施方案中,用户交互行为模型中的用户交互组件行为的第二子集(734)不同于用户交互组件行为的第一子集(例如,用户界面对象424与提示行为和快速动作菜单行为相关联,以及用户界面对象438仅与提示行为相关联)。在一些实施方案中,用户交互组件行为的第二子集包括未包括在用户交互组件行为的第一子集中的用户交互组件行为(例如,一些用户界面对象与提示行为和预阅(或预览)行为相关联,该提示行为和预阅(或预览)行为不包括在与用户界面对象424相关联的用户交互组件行为的第一子集中)。在一些实施方案中,用户交互组件行为的第一子集包括未包括在用户交互组件行为的第二子集中的用户交互组件行为(例如,与用户界面对象424相关联的用户交互组件行为的第一子集包括未包括与用户界面对象438相关联的用户交互组件行为的第二子集中的快速动作菜单行为)。然而,在一些实施方案中,用户交互组件行为的第一子集和用户交互组件行为的第二子集包括一个或多个常见用户交互组件行为(例如,提示行为)。在一些实施方案中,组件行为之一包括根据提供动态强度驱动动画的一组标准来调节用户界面对象的应用程序特定参数(例如,用户界面对象的尺寸或颜色)的活力转换。例如,动态强度驱动动画使用物理模型来将触敏表面上的输入的特征强度转换为位移值,然后使用位移值来驱动动态强度驱动动画(例如,如下文参考方法800更详细地描述)。
应当理解,已经对图7A-图7C中的操作进行描述的特定次序仅仅是示例性的,并非旨在指示所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法600和方法800)所述的其他过程的细节同样以类似的方式适用于上文结合图7A至图7C所述的方法700。例如,上文参考方法700所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件和操作任选地具有本文中参考本文所述的其他方法(例如,方法600和800)所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件和操作的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图8A-图8C是示出根据一些实施方案的处理输入的方法800的流程图。方法800是在具有显示器、触敏表面和用于检测与触敏表面接触的强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行的。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法800中的一些操作任选地被组合,并且/或者一些操作的顺序任选地被改变。
如下文所述,方法800提供了用于处理输入的直观方式。基于强度的视觉指示向用户提供关于特定用户界面对象是否能够响应于输入强度的变化(或增大)的视觉反馈。向用户提供改进的视觉反馈增强了设备的可操作性并且使得用户设备更有效(例如,通过帮助用户在操作/与设备进行交互时提供适当的输入和减少用户错误和/或意外操作)。对于电池驱动的电子设备,使得用户能够更快且更有效地与用户界面对象进行交互节省了功率并且增加了电池充电之间的时间。
该设备在显示器上显示(802)用户界面(例如,在图5S中的用户界面501)。用户界面包括一个或多个用户界面对象(例如,用户界面对象530)。
设备在对应于显示器上的一个或多个用户界面对象的第一用户界面对象的位置上检测(804)触敏表面上的第一输入(例如,在与用户界面对象530对应的位置处的图5S中的用户输入509)。检测所述第一输入包括检测所述第一输入在所述触敏表面上的强度从第一强度到第二强度的变化。
响应于检测到第一输入,设备获得(806)触敏表面上第一输入的强度变化所驱动的第一物理模型的相应模拟物理参数的值的变化(例如,在图5EE中由用户输入509的强度变化驱动的质量块590的模拟位移)。
在一些实施方案中,第一物理模型是(808,图8B)质量块和弹簧模型。
在一些实施方案中,相应的模拟物理参数是(810)模拟质量块的位移(例如,在图5EE中的位移x)。虽然前述实施例相对于具有质量块和弹簧的物理模型中模拟质量块给出,但其他物理模型可与类似的平滑效果一起使用(例如,基于具有重力场或电磁场的质量块作用的物理模型)。
响应于检测到所述第一输入,基于第一物理模型的相应模拟物理参数的变化,通过在第一状态和第二状态之间演变第一动画,设备更新(812,图8A)用户界面的外观(例如,基于所述模拟物理参数,而不是直接响应于用户输入的强度,用户界面在提示操作期间过渡)。通过使用模拟物理参数而非检测到的第一输入的强度,该设备可提供平滑效果(例如,基于质量块的惯性运动),平滑效果表现得对用户更自然,从而提供改善的用户体验。
在一些实施方案中,获得相应模拟物理参数的值的变化包括(814,图8C)使用触敏表面上的第一输入的强度从第一强度到第二强度的变化更新第一物理模型。更新所述第一物理模型包括根据所述第一输入的强度变化来改变所述第一物理模型的一个或多个模拟物理参数(例如,将所述第一输入的强度变化作为模拟力(或模拟力的变化)施加到模拟物理模型中的质量块590,如图5EE所示)。获得相应模拟物理参数的值的变化还包括测量第一物理模型的一个或多个模拟物理参数的相应模拟物理参数的变化(例如,在基于第一输入的强度变化提供模拟力之后确定质量块590的位移)。
在一些实施方案中,第一物理模型随着第一输入强度的变化反复更新(816)。相应模拟物理参数的变化动态地响应于第一输入的强度变化(例如,如在图5EE中所示,在第一输入的强度随时间推移反复变化时,模拟物理参数也随着时间反复变化)。更新用户界面的外观包括在相应的模拟物理参数动态地响应于第一输入强度的变化时多次更新用户界面的外观。
在一些实施方案中,演变动画包括(818)更新显示在用户界面中的对象的相应显示参数的值(例如,模糊值、缩放因子、色值等)。该对象的相应模拟物理参数与第一物理模型的相应模拟物理参数不同(例如,物理模型的参数为质量块的位移,并且显示参数为用户界面元素的尺寸或模糊半径)。
在一些实施方案中,演变动画包括(820)改变第一用户界面对象的尺寸(例如,在图5Y-图5AA中的用户界面对象532的尺寸)。
在一些实施方案中,演变动画包括(822)改变用户界面的背景的模糊半径(例如,图5V-图5X中所示的模糊半径的变化)。
在一些实施方案中,演变动画包括(824)改变用户界面的背景的尺寸(例如,图5B-图5D中所示的背景的尺寸变化)。
在一些实施方案中,用户界面是(826)包括特定于应用程序(例如,应用程序1(136-1),诸如图1G中的邮件应用程序)的应用软件的应用程序的用户界面。物理模型由应用程序独立软件定义(例如,图1G中的应用程序独立软件模块220-1)。动画的第一状态和第二状态由应用软件定义(例如,邮件应用程序定义在预览操作期间如何显示预览窗口,并且应用程序独立软件执行从第一状态到第二状态的过渡而无需来自应用程序软件的进一步输入)。
在一些实施方案中,在该动画演变到第二状态之后,该设备在对应于显示器上的第一用户界面对象的位置处检测(828,图8A)触敏表面上的第二输入(例如,第一输入的延续,诸如图5O中的用户输入509的延续)。检测所述第二输入包括检测所述触敏表面上的所述第二输入的强度从所述第二强度到第三强度的变化。响应于检测到第二输入,设备获得所述触敏表面上的所述第二输入的延续的强度变化所驱动的第二物理模型的相应模拟物理参数的值的变化。在一些实施方案中,第一物理模型与第二物理模型相同。在一些实施方案中,第一物理模型和第二物理模型共享相同的结构但具有一个或多个不同的常数(例如,弹簧的不同弹簧常数或质量块的不同摩擦系数)。这允许第一动画和第二动画具有类似的感觉,尽管它们可能演变不完全相同。这保持了减少用户混乱并创建更有效的人机界面的一致用户体验。响应于检测到所述第二输入,基于第二物理模型的相应模拟物理参数的变化,通过在第一状态和第二状态之间演变第二动画,设备更新用户界面的外观(例如,基于模拟物理参数,而不是直接响应于用户输入的强度,用户界面在预览操作期间过渡)。在一些实施方案中,在第一物理模型和第二物理模型之间过渡包括改变物理模型的属性并允许物理模型对变化做出反应。例如,当两个物理模型之间的差值为弹簧系数时,弹簧系数在物理模型处于何种状态同时改变(例如,其中质量块从静止位置稍微移位),并且物理模型通过继续基于物理模型的当前状态和新弹簧系数移动质量块来平滑地对变化做出响应。质量块和弹簧物理模型之间的其他差异包括改变质量块的尺寸、弹簧的长度、弹簧的连接点相对于质量块的静止位置的位置。
应当理解,对图8A-图8C中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是所述操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文结合本文所述的其他方法(例如,方法600和方法700)所述的其他过程的细节同样以类似的方式适用于上文结合图8A至图8C所述的方法800。例如,上文参考方法900所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件和操作任选地具有本文中参考本文所述的其他方法(例如,方法600和700)所描述的接触、手势、用户界面对象、触觉输出、强度阈值、动画、软件组件和操作的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
根据一些实施方案,图9示出根据各种所述实施方案的原理进行配置的电子设备900的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图9中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图9中所示,电子设备900包括被配置为显示用户界面的显示单元902;被配置为接收接触的触敏表面单元904;被配置为检测与触敏表面单元904的接触的强度的一个或多个传感器单元906;以及处理单元910,该处理单元与显示单元902、触敏表面单元904和一个或多个传感器单元906耦接。在一些实施方案中,电子设备900还包括一个或多个触觉输出单元908,并且处理单元910与一个或多个触觉输出单元908耦接。在一些实施方案中,处理单元910包括:显示启用单元912、检测单元914、获得单元916、提供单元918、执行单元920和/或触觉输出启动单元922。
在一些实施方案中,处理单元910被配置为:启用对应用软件的第一用户界面的显示(例如,借助显示启用单元912(或显示启用单元912的特定应用部分)和/或显示单元902),其中基于来自应用软件的指令生成第一用户界面;以及在对应于第一用户界面的位置处检测(例如,利用检测单元914和/或触敏表面单元904)通过触敏表面单元上的接触的输入。处理单元910还被配置为:利用可供多个软件应用在电子设备900上使用的应用程序独立软件:获得(例如,借助获得单元916)与触敏表面单元上的接触对应的第一触摸信息;响应于获得所述第一触摸信息,向应用软件提供(例如,利用提供单元918)不同于所述第一触摸信息的第二触摸信息,其中所述第二触摸信息包括指示相对于一个或多个强度阈值的所述输入的变化的强度信息;在向应用软件提供第二触摸信息之后,从应用软件获得(例如,借助获得单元916)识别基于所述第二触摸信息由所述应用软件选择的第一操作的信息;以及,响应于从应用程序软件获得识别第一操作的信息,执行(例如,利用执行单元920)第一操作。
在一些实施方案中,第一操作包括将第一用户界面的至少一部分与第一用户界面的另一部分视觉上区分(例如,利用显示启用单元912和/或显示单元902)。
在一些实施方案中,第一操作包括将所述第一用户界面的至少一部分从由所述应用软件定义的第一状态过渡到(例如,借助显示启用单元912和/或显示单元902)由所述应用软件定义的第二状态。
在一些实施方案中,所述第一操作包括使用由所述应用程序独立软件定义的动画曲线将所述第一用户界面的所述部分从由所述应用软件定义的所述第一状态过渡到(例如,借助显示启用单元912和/或显示单元902)由所述应用软件定义的所述第二状态。
在一些实施方案中,应用软件在获得第一触摸信息之前实例化应用程序独立软件。
在一些实施方案中,应用软件是应用程序独立软件的代表;并且,作为应用程序独立软件的代表,应用软件基于第二触摸信息选择用于由应用程序独立软件执行的第一操作。
在一些实施方案中,处理单元910进一步被配置为在向应用软件提供来自应用程序独立软件的第二触摸信息之后,在应用软件处从应用程序独立软件接收(例如,借助获得单元916)识别与第二触摸信息分离的触敏表面单元904上的接触位置的信息。
在一些实施方案中,所述第二触摸信息包括指示所述输入满足包括所述输入满足第一强度阈值的提示标准的信息。
在一些实施方案中,处理单元910被配置为,在向应用软件提供第二触摸信息之后,检测(例如,利用检测单元914和/或触敏表面单元904)在触敏表面单元904上的接触强度的增加。处理单元910还被配置为借助应用程序独立软件:接收(例如,利用获得单元916)与触敏表面单元上的增大强度的接触相对应的第三触摸信息;根据确定所述输入的增大强度满足包括所述输入满足高于所述第一强度阈值的第二强度阈值的预览标准,向应用软件发送(例如,借助提供单元918)不同于所述第三触摸信息的第四触摸信息,其中第四触摸信息包括指示输入满足预览标准的信息;在向应用软件提供第四触摸信息之后,从应用软件接收(例如,借助获得单元916)识别基于所述第四触摸信息由所述应用软件选择的第二操作的信息;以及,响应于从应用程序软件获得识别第二操作的信息,执行(例如,利用执行单元920)第二操作。
在一些实施方案中,第二操作包括将预览区域叠加(例如,利用显示启用单元912和/或显示单元902)在第一用户界面的一部分上。
在一些实施方案中,处理单元910被配置为,在向应用软件提供第四触摸信息之后,检测(例如,利用检测单元914、触敏表面单元904和/或一个或多个传感器单元906)在触敏表面单元904上的接触强度的进一步增加。处理单元910还被配置为借助应用程序独立软件:接收(例如,利用获得单元916)与触敏表面单元904上的增大强度的接触相对应的第五触摸信息;根据确定所述输入的进一步增大的强度满足包括所述输入满足不同于所述第一强度阈值和第二强度阈值的第三强度阈值的提交标准,向应用软件发送(例如,借助提供单元918)不同于所述第五触摸信息的第六触摸信息,其中第六触摸信息包括指示输入满足提交标准的信息;在向应用软件提供第六触摸信息之后,从应用软件接收(例如,借助获得单元916)识别基于所述第五触摸信息由所述应用软件选择的第三操作的信息;以及,响应于从应用程序软件获得识别第三操作的信息,执行(例如,利用执行单元920)第三操作。
在一些实施方案中,第三操作包括将第一用户界面的显示(例如,借助显示启用单元912和/或显示单元902)替换为不同于第一用户界面的第二用户界面。
在一些实施方案中,电子设备900与一个或多个触觉输出设备(例如,一个或多个触觉输出单元908)耦接。处理单元910还被配置为,利用应用程序独立软件,发起(例如,借助触觉输出发起单元922)一个或多个触觉输出设备(例如,一个或多个触觉输出单元908)响应于确定输入的强度在不满足所述一个或多个强度阈值的强度阈值的第一状态和满足所述一个或多个强度阈值的强度阈值的第二状态之间改变来输出触觉输出。
在一些实施方案中,处理单元910还被配置为,在执行所述第一操作期间或之后:根据确定已取消所述输入,从所述应用程序独立软件向所述应用软件发送(例如,借助提供单元918)指示所述触摸已被取消的信息;在向应用软件提供指示所述触摸已被取消的信息之后,在所述应用程序独立软件处从所述应用软件接收(例如,借助获得单元916)识别基于指示所述触摸已被取消的所述信息由所述应用软件所选择的第四操作的信息;并且,响应于从应用软件获得识别第四操作的信息,使用应用程序独立软件,执行(例如,借助执行单元920)第四操作。
在一些实施方案中,处理单元910被进一步配置为,在执行第一操作期间或之后:使用应用程序独立软件继续监视(例如,利用检测单元914)输入;在应用程序独立软件正在监视输入的同时,根据确定已取消输入,从应用软件向应用程序独立软件发送(例如,借助提供单元918)指示该触摸已被取消的信息;以及,在从应用软件向应用程序独立软件提供指示所述触摸已被取消的信息之后,在所述应用程序独立软件处停止(例如,借助检测单元914)监视所述输入。
在一些实施方案中,从应用程序独立软件发送到应用软件的触摸信息包括表示输入强度变化的进度指示符。
根据一些实施方案,图10示出根据各种所述实施方案的原理进行配置的电子设备1000的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图10中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图10中所示,电子设备1000包括被配置为显示用户界面的显示单元1002;被配置为接收接触的触敏表面单元1004;被配置为检测与触敏表面单元1004的接触的强度的一个或多个传感器单元1006;以及处理单元1010,该处理单元与显示单元1002、触敏表面单元1004和一个或多个传感器单元1006耦接。在一些实施方案中,电子设备1000还包括一个或多个触觉输出单元1008,并且处理单元1010与一个或多个触觉输出单元1008耦接。在一些实施方案中,处理单元1010包括:检测单元1012、输出单元1014、显示启用单元1016、获得单元1018和/或接收单元1020。
处理单元1010被配置为,当显示单元1002显示第一用户界面元素时,检测(例如,利用检测单元1012和/或触敏表面单元1004)一个或的输入的第一序列,包括在对应于第一用户界面元素的位置处检测(例如,利用检测单元1012和/或和一个或多个传感器单元1006)触敏表面单元上的输入强度的变化,其中第一用户界面元素与用户交互行为模型相关联用于响应输入强度的变化,以及用户交互行为模型由多个用户交互组件行为构成。处理单元1010还被配置为响应于检测到第一输入序列,借助应用程序独立软件模块生成(例如,利用输出单元1014(或输出单元1014的应用程序独立部分,显示启用单元1016(或显示单元1016的应用程序独立部分,和/或显示单元1002),在设备1000处生成与第一用户界面元素相关联的输出,该第一用户界面元素根据输入的强度变化和用户交互行为模型确定,用户交互行为模型包括第一用户交互组件行为和不同于第一用户交互组件行为的第二用户交互组件行为。处理单元1010还被配置为,在生成与所述第一用户界面元素相关联的输出之后,启用(例如,借助显示启用单元1016和/或显示单元1002)与所述用户交互行为模型中的所述用户交互组件行为的第一子集相关联的第二用户界面元素的显示;在显示单元1002正在显示第二用户界面元素的同时,检测(例如,利用检测单元1012和/或触敏表面单元1004)第二输入序列,包括检测(例如,利用检测单元1012和/或一个或多个传感器单元1006)在对应于第二用户界面元素的位置处触敏表面单元1004上的输入强度的变化;以及,响应于检测到所述第二输入序列:从所述应用程序独立软件模块获得(例如,借助获得单元1018)所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示;以及基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为在所述显示单元上更新(例如,利用显示启用单元1016(或显示启用单元1016的应用程序特定部分)和/或显示单元1002)所述第二用户界面元素的外观。
在一些实施方案中,处理单元1010被配置为响应于检测到第二输入序列,放弃基于第二用户交互组件行为在显示单元1002上更新(例如,利用显示启用单元1016和/或显示单元1002)第二用户界面元素的外观。
在一些实施方案中,与第一用户交互组件行为相关联的条件包括强度标准和/或定时标准。
在一些实施方案中,处理单元1010被配置为响应于检测到第二输入序列,根据确定所述输入强度的变化未满足与所述第一用户交互组件行为相关联的条件,放弃基于所述第一用户交互组件行为在所述显示单元1002上更新(例如,利用显示启用单元1016和/或显示单元1002)所述第二用户界面元素的外观。
在一些实施方案中,第一用户交互组件行为定义将由一个或多个触觉输出设备(例如,一个或多个触觉输出单元1008)输出的一个或多个触觉输出。
在一些实施方案中,第一用户交互组件行为包括一个或多个动画曲线,基于一个或多个动画曲线更新显示单元1002上的第二用户界面元素的外观。
在一些实施方案中,更新第二用户界面元素的外观包括启用显示(例如,利用显示启用单元1016和/或显示单元1002)不同于第二用户界面元素的第三用户界面元素,并且第一用户交互组件行为定义第三用户界面元素是否响应于第二输入序列中的输入停止被检测而保持在显示器上。
在一些实施方案中,第一用户交互组件行为包括预定义的动画。
在一些实施方案中,处理单元1010被配置为:接收(例如,利用接收单元1020)对用户交互行为模型的更新,其中更新修改了第一用户交互组件行为以及修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,在接收对用户交互行为模型的更新之后,响应于检测到(例如,利用检测单元1012,触敏表面单元1004和/或一个或多个传感器单元1006)输入序列,基于来自所述应用程序独立软件模块的对所述输入强度变化是否满足与所述修改的第一用户交互组件行为相关联的条件的指示,基于所述修改的第一用户交互组件行为在所述显示单元1002上更新(例如,利用显示启用单元1016(或显示启用单元1016的应用程序特定部分)和/或显示单元1002)所述第二用户界面元素的外观。
在一些实施方案中,基于所述第一用户交互组件行为更新所述显示单元1002上的所述第二用户界面元素的所述外观包括使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到(例如,利用显示启用单元1016(或显示启用单元1016的应用程序独立部分)和/或显示单元1002)不同于所述第一显示状态的第二显示状态。第一显示状态和第二显示状态由与第二用户界面元素相关联的软件应用定义。
在一些实施方案中,处理单元1010被配置为,启用显示(例如,借助显示启用单元1016和/或显示单元1002)与所述用户交互行为模型中的所述用户交互组件行为的第二子集相关联的第四用户界面元素。
在一些实施方案中,用户交互行为模型中的用户交互组件行为的第二子集不同于用户交互组件行为的第一子集。
根据一些实施方案,图11示出根据各种所述实施方案的原理进行配置的电子设备1100的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图11中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图11中所示,电子设备1100包括被配置为显示用户界面的显示单元1102;被配置为接收接触的触敏表面单元1104;被配置为检测与触敏表面单元1104的接触的强度的一个或多个传感器单元1106;以及处理单元1110,该处理单元与显示单元1102、触敏表面单元1104和一个或多个传感器单元1106耦接。在一些实施方案中,处理单元1110包括:显示启用单元1112、检测单元1114和/或物理模型单元1116。
处理单元1110被配置为在显示单元1102上启用对用户界面的显示(例如,利用显示启用单元1112),其中用户界面包括一个或多个用户界面对象。处理单元1110还被配置为在与显示单元1102上的一个或多个用户界面对象的第一用户界面对象相对应的位置处检测到(例如,利用检测单元1114)触敏表面单元1104上的第一输入,其中检测第一输入包括检测触敏表面单元上的第一输入的强度从第一强度到第二强度的变化。处理单元1110被进一步配置为响应于检测到所述第一输入:获得(例如,利用物理模型单元1116)由所述触敏表面单元上的所述第一输入的强度变化所驱动的第一物理模型的相应模拟物理参数的值的变化;以及基于所述第一物理模型的相应模拟物理参数的变化通过在第一状态和第二状态之间演变第一动画来更新(例如,利用显示启用单元1112和/或显示单元1102)用户界面的外观。
在一些实施方案中,演变动画包括更新(例如,利用物理模型单元1116)在用户界面中显示的对象的相应显示参数的值,其中该对象的相应模拟物理参数不同于第一物理模型的相应模拟物理参数。
在一些实施方案中,第一物理模型是质量块和弹簧模型。
在一些实施方案中,相应的模拟物理参数是模拟质量块的位移。
在一些实施方案中,获得相应模拟物理参数的值的变化包括:使用触敏表面单元上的第一输入的强度从第一强度到第二强度的变化更新(例如,利用物理模型单元1116)第一物理模型,其中更新第一物理模型包括根据第一输入强度的变化来改变第一物理模型的一个或多个模拟物理参数;以及测量(例如,利用物理模型单元1116)第一物理模型的一个或多个模拟物理参数的相应模拟物理参数的变化。
在一些实施方案中,第一物理模型随着第一输入强度的变化反复更新。相应模拟物理参数的变化动态响应于第一输入强度的变化。更新用户界面的外观包括在相应的模拟物理参数动态地响应于第一输入强度的变化时多次更新用户界面的外观。
在一些实施方案中,演变动画包括改变第一用户界面对象的尺寸。
在一些实施方案中,演变动画包括改变用户界面背景的模糊半径。
在一些实施方案中,演变动画包括改变用户界面背景的尺寸。
在一些实施方案中,处理单元1110还被配置为,在动画演变到第二状态之后,在与显示单元上的第一用户界面对象相对应的位置处检测到(例如,利用检测单元1114)触敏表面单元上的第二输入,其中检测第二输入包括检测触敏表面单元上的第二输入的强度从第二强度到第三强度的变化。处理单元1110还被配置为,响应于检测到第二输入:获得(例如,利用物理模型单元1116)所述触敏表面单元上的所述第二输入的延续的强度变化驱动的第二物理模型的相应模拟物理参数的值的变化;以及基于所述第二物理模型的相应模拟物理参数的变化通过在第三状态和第四状态之间演变第二动画来更新(例如,利用显示启用单元1112和/或显示单元1102)所述用户界面的外观。
在一些实施方案中,用户界面是包括特定于应用程序的应用程序软件的应用程序的用户界面。物理模型由应用程序独立软件定义。动画的第一状态和第二状态由应用软件定义。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
以上参考图6A至图6D、图7A至图7C和图8A至图8C上述的操作任选地由图1A至图1B或图9至图11中所描绘的部件来实施。例如,检测操作604、获得操作608、提供操作610和执行操作620任选地由事件分类器170、事件识别器180和事件处理程序190来实施。事件分类器170中的事件监视器171检测在触敏显示器112上的接触,并且事件分配器模块174将事件信息传送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施例中,事件处理程序190访问相应GUI更新器178来更新应用程序所显示的内容。类似地,本领域的技术人员会清楚地知道基于在图1A至图1B中所描绘的部件可如何实现其他过程。
处于解释的目的,已经参考具体实施方案对上述描述进行了描述。然而,以上的例示性讨论并非旨在穷尽或将本发明限制于所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。
例如,根据一些实施方案,电子设备包括显示器、触敏表面、检测与触敏表面的接触强度的一个或多个传感器,以及用于存储应用软件和可供多个软件应用在电子设备上使用并定义多个用户交互组件行为的应用程序独立软件的存储器。每个用户交互组件行为对应于相应的一组输入标准。该设备在显示器上显示应用软件的第一用户界面。根据来自应用软件的指令生成第一用户界面。设备通过对应于第一用户界面的位置处的触敏表面上的接触来检测输入。借助应用程序独立软件,针对输入相对于一个或多个强度阈值的变化,设备从所述应用软件接收执行对应于多个用户交互组件行为的第一用户交互组件行为的第一操作的请求(例如,在输入相对于一个或多个阈值变化,诸如输入强度从低于强度阈值变成高于强度阈值的情况下,应用软件发送请求来执行对应于所述第一用户交互组件行为的第一操作)。在接收到请求之后,设备检测所述输入相对于一个或多个强度阈值的变化;以及,响应于检测到输入相对于所述一个或多个强度阈值的变化,执行对应于所述多个用户交互组件行为的所述第一用户交互组件行为的所述第一操作。在一些实施方案中,应用软件发送请求以基于输入相对于一个或多个阈值的变化执行对应于第一用户交互组件行为的第一操作而不执行对应于所有多个用户交互组件行为的所有操作(例如,未执行多个用户交互组件行为的一个或多个操作)。在一些实施方案中,应用程序独立软件从应用软件接收请求来放弃执行对应于多个用户交互组件行为的第二用户交互组件行为的第二操作或不从应用软件接收请求来执行对应于多个用户交互组件行为的第二用户交互组件行为的第二操作。设备放弃执行与第二用户交互组件行为对应的第二操作(即使输入变化满足用于执行第二操作的输入标准)。
选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

Claims (60)

1.一种方法(700),包括:
在具有显示器、触敏表面和用于检测与所述触敏表面的接触的强度的一个或多个传感器的电子设备处:
当在所述显示器(702)上显示第一用户界面元素时,检测一个或多个输入的第一序列,检测一个或多个输入的第一序列包括检测所述触敏表面上的输入在对应于所述第一用户界面元素的位置处的强度变化,其中所述第一用户界面元素与用于对输入的强度变化做出响应的用户交互行为模型相关联,其中所述用户交互行为模型由多个用户交互组件行为构成;
其特征在于
响应于检测到一个或多个输入的第一序列,利用应用程序独立软件模块,在所述设备处生成(704)与所述第一用户界面元素相关联的输出,所述第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,所述用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;
在生成与所述第一用户界面元素相关联的输出之后,在所述显示器上显示(708)与所述用户交互行为模型中的用户交互组件行为的第一子集相关联的第二用户界面元素,其中所述第一子集包括第一用户交互组件行为而不包括第二用户交互组件行为;
当在显示器上显示第二用户界面元素时,检测(710)输入的第二序列,检测(710)输入的第二序列包括检测所述触敏表面上的输入在对应于第二用户界面元素的位置处的强度变化;以及
响应于检测到所述输入的第二序列:
从所述应用程序独立软件模块获得(712)对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示;以及
基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为更新(716)所述显示器上的所述第二用户界面元素的外观。
2.根据权利要求1所述的方法,包括:
响应于检测到所述输入的第二序列:
放弃(728)基于所述第二用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
3.根据权利要求1所述的方法,其中与所述第一用户交互组件行为相关联的所述条件包括强度标准和/或定时标准(714)。
4.根据权利要求1至3中任一项所述的方法,包括(718):
响应于检测到所述输入的第二序列:
根据确定所述输入的强度变化未满足与所述第一用户交互组件行为相关联的条件,放弃基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
5.根据权利要求1至3中任一项所述的方法,其中所述第一用户交互组件行为定义将由一个或多个触觉输出设备输出的一个或多个触觉输出(706)。
6.根据权利要求1至3中任一项所述的方法,其中所述第一用户交互组件行为包括一个或多个动画曲线,基于所述一个或多个动画曲线更新所述显示器上的第二用户界面元素的外观(720)。
7.根据权利要求1至3中任一项所述的方法,其中更新所述第二用户界面元素的外观包括显示(722)不同于所述第二用户界面元素的第三用户界面元素,并且所述第一用户交互组件行为定义响应于所述输入的第二序列中的输入停止被检测到,所述第三用户界面元素是否将保持显示。
8.根据权利要求1至3中任一项所述的方法,其中所述第一用户交互组件行为包括预定义的动画(724)。
9.根据权利要求1至3中任一项所述的方法,包括(730):
接收对所述用户交互行为模型的更新,其中所述更新修改所述第一用户交互组件行为,并且,经修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,
在接收到对所述用户交互行为模型的所述更新之后,响应于检测到输入序列,基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述经修改的第一用户交互组件行为相关联的条件的指示,基于所述经修改的第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
10.根据权利要求1至3中任一项所述的方法,其中:
基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观包括使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态;以及
所述第一显示状态和所述第二显示状态由与所述第二用户界面元素相关联的软件应用定义(726)。
11.根据权利要求1至3中任一项所述的方法,包括:
在所述显示器上显示(732)与所述用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素。
12.根据权利要求11所述的方法,其中所述用户交互行为模型中的用户交互组件行为的所述第二子集不同于用户交互组件行为的所述第一子集(734)。
13.一种电子设备(100),包括:
显示器(112);
触敏表面(112);
用于检测与所述触敏表面的接触的强度的一个或多个传感器(165);
一个或多个处理器(120);
存储器(102),所述存储器存储应用软件、能够由所述电子设备上的多个软件应用使用的应用程序独立软件、以及被配置为由所述一个或多个处理器执行的指令,所述指令用于:
当在所述显示器(702)上显示第一用户界面元素时,检测一个或多个输入的第一序列,检测一个或多个输入的第一序列包括检测所述触敏表面上的输入在对应于所述第一用户界面元素的位置处的强度变化,其中所述第一用户界面元素与用于对输入的强度变化做出响应的用户交互行为模型相关联,其中所述用户交互行为模型由多个用户交互组件行为构成;
响应于检测到一个或多个输入的所述第一序列,利用应用程序独立软件模块,在所述设备处生成(704)与所述第一用户界面元素相关联的输出,所述第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,所述用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;
在生成与所述第一用户界面元素相关联的输出之后,在所述显示器上显示(708)与所述用户交互行为模型中的用户交互组件行为的第一子集相关联的第二用户界面元素,其中所述第一子集包括第一用户交互组件行为而不包括第二用户交互组件行为;
当在显示器上显示第二用户界面元素时,检测(710)输入的第二序列,检测(710)输入的第二序列包括检测所述触敏表面上的输入在对应于第二用户界面元素的位置处的强度变化;以及
响应于检测到输入的所述第二序列:
从所述应用程序独立软件模块获得(712)对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示;以及
基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为更新(716)所述显示器上的所述第二用户界面元素的外观。
14.根据权利要求13所述的电子设备(100),所述存储器(102)存储被配置为由所述一个或多个处理器执行的指令,所述指令用于:
响应于检测到所述输入的第二序列:
放弃(728)基于所述第二用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
15.根据权利要求13所述的电子设备(100),其中与所述第一用户交互组件行为相关联的所述条件包括强度标准和/或定时标准(714)。
16.根据权利要求13至15中任一项所述的电子设备(100),所述存储器(102)存储被配置为由所述一个或多个处理器执行的指令,所述指令用于:
响应于检测到所述输入的第二序列:
根据确定所述输入的强度变化未满足与所述第一用户交互组件行为相关联的条件,放弃基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
17.根据权利要求13至15中任一项所述的电子设备(100),其中所述第一用户交互组件行为定义将由一个或多个触觉输出设备输出的一个或多个触觉输出(706)。
18.根据权利要求13至15中任一项所述的电子设备(100),其中所述第一用户交互组件行为包括一个或多个动画曲线,基于所述一个或多个动画曲线更新所述显示器上的第二用户界面元素的外观(720)。
19.根据权利要求13至15中任一项所述的电子设备(100),其中更新所述第二用户界面元素的外观包括显示(722)不同于所述第二用户界面元素的第三用户界面元素,并且所述第一用户交互组件行为定义响应于所述输入的第二序列中的输入停止被检测到,所述第三用户界面元素是否将保持显示。
20.根据权利要求13至15中任一项所述的电子设备(100),其中所述第一用户交互组件行为包括预定义的动画(724)。
21.根据权利要求13至15中任一项所述的电子设备(100),所述存储器(102)存储被配置为由所述一个或多个处理器执行的指令,所述指令用于:
接收对所述用户交互行为模型的更新,其中所述更新修改所述第一用户交互组件行为,并且,经修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,
在接收到对所述用户交互行为模型的所述更新之后,响应于检测到输入序列,基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述经修改的第一用户交互组件行为相关联的条件的指示,基于所述经修改的第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
22.根据权利要求13至15中任一项所述的电子设备(100),其中:
基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观包括使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态;以及
所述第一显示状态和所述第二显示状态由与所述第二用户界面元素相关联的软件应用定义(726)。
23.根据权利要求13至15中任一项所述的电子设备(100),所述存储器(102)存储被配置为由所述一个或多个处理器执行的指令,所述指令用于:
在所述显示器上显示(732)与所述用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素。
24.根据权利要求23所述的电子设备(100),其中所述用户交互行为模型中的用户交互组件行为的第二子集不同于用户交互组件行为的第一子集(734)。
25.一种存储以下各项的计算机可读存储介质:应用软件;应用程序独立软件,能够由电子设备上的多个软件应用使用,所述电子设备具有显示器、触敏表面、以及用于检测与所述触敏表面的接触的强度的一个或多个传感器;以及指令,所述指令在由所述电子设备执行时使得所述电子设备:
当在所述显示器(702)上显示第一用户界面元素时,检测一个或多个输入的第一序列,检测一个或多个输入的第一序列包括检测所述触敏表面上的输入在对应于所述第一用户界面元素的位置处的强度变化,其中所述第一用户界面元素与用于对输入的强度变化做出响应的用户交互行为模型相关联,其中所述用户交互行为模型由多个用户交互组件行为构成;
响应于检测到一个或多个输入的第一序列,利用应用程序独立软件模块,在所述设备处生成(704)与所述第一用户界面元素相关联的输出,所述第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,所述用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;
在生成与所述第一用户界面元素相关联的输出之后,在所述显示器上显示(708)与所述用户交互行为模型中的用户交互组件行为的第一子集相关联的第二用户界面元素,其中所述第一子集包括第一用户交互组件行为而不包括第二用户交互组件行为;
当在所述显示器上显示所述第二用户界面元素时,检测(710)输入的第二序列,检测(710)输入的第二序列包括检测所述触敏表面上的输入在对应于第二用户界面元素的位置处的强度变化;以及
响应于检测到所述输入的第二序列:
从所述应用程序独立软件模块获得(712)对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示;以及
基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为更新(716)所述显示器上的所述第二用户界面元素的外观。
26.根据权利要求25所述的计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由所述电子设备执行时使得所述电子设备:
响应于检测到所述输入的第二序列:
放弃(728)基于所述第二用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
27.根据权利要求25所述的计算机可读存储介质,其中与所述第一用户交互组件行为相关联的所述条件包括强度标准和/或定时标准(714)。
28.根据权利要求25至27中任一项所述的计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由所述电子设备执行时使得所述电子设备:
响应于检测到所述输入的第二序列:
根据确定所述输入的强度变化未满足与所述第一用户交互组件行为相关联的条件,放弃基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
29.根据权利要求25至27中任一项所述的计算机可读存储介质,其中所述第一用户交互组件行为定义将由一个或多个触觉输出设备输出的一个或多个触觉输出(706)。
30.根据权利要求25至27中任一项所述的计算机可读存储介质,其中所述第一用户交互组件行为包括一个或多个动画曲线,基于所述一个或多个动画曲线更新所述显示器上的第二用户界面元素的外观(720)。
31.根据权利要求25至27中任一项所述的计算机可读存储介质,其中更新所述第二用户界面元素的外观包括显示(722)不同于所述第二用户界面元素的第三用户界面元素,并且所述第一用户交互组件行为定义响应于所述输入的第二序列中的输入停止被检测到,所述第三用户界面元素是否将保持显示。
32.根据权利要求25至27中任一项所述的计算机可读存储介质,其中所述第一用户交互组件行为包括预定义的动画(724)。
33.根据权利要求25至27中任一项所述的计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由所述电子设备执行时使得所述电子设备:
接收对所述用户交互行为模型的更新,其中所述更新修改所述第一用户交互组件行为,并且,经修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,
在接收到对所述用户交互行为模型的所述更新之后,响应于检测到输入序列,基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述经修改的第一用户交互组件行为相关联的条件的指示,基于所述经修改的第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
34.根据权利要求25至27中任一项所述的计算机可读存储介质,其中:
基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观包括使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态;以及
所述第一显示状态和所述第二显示状态由与所述第二用户界面元素相关联的软件应用定义(726)。
35.根据权利要求25至27中任一项所述的计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由所述电子设备执行时使得所述电子设备:
在所述显示器上显示(732)与所述用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素。
36.根据权利要求35所述的计算机可读存储介质,其中所述用户交互行为模型中的用户交互组件行为的第二子集不同于用户交互组件行为的第一子集(734)。
37.一种电子设备,包括:
显示器;
触敏表面;
用于检测与所述触敏表面的接触的强度的一个或多个传感器;和
当在所述显示器上显示第一用户界面元素时启用的、用于检测一个或多个输入的第一序列的部件,检测一个或多个输入的第一序列包括检测所述触敏表面上的输入在对应于所述第一用户界面元素的位置处的强度变化,其中所述第一用户界面元素与用于对输入的强度变化做出响应的用户交互行为模型相关联,其中所述用户交互行为模型由多个用户交互组件行为构成;
响应于检测到一个或多个输入的所述第一序列而启用的、用于利用应用程序独立软件模块在所述设备处生成与所述第一用户界面元素相关联的输出的部件,所述第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,所述用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;
在生成与所述第一用户界面元素相关联的输出之后启用的、用于在所述显示器上显示与所述用户交互行为模型中的用户交互组件行为的第一子集相关联的第二用户界面元素的部件,其中所述第一子集包括第一用户交互组件行为而不包括第二用户交互组件行为;
当在所述显示器上显示所述第二用户界面元素时启用的、用于检测输入的第二序列的部件,检测输入的第二序列包括检测所述触敏表面上的输入在对应于第二用户界面元素的位置处的强度变化;和
响应于检测到所述输入的第二序列而启用的部件,包括:
用于从所述应用程序独立软件模块获得对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示的部件;和
用于基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观的部件。
38.根据权利要求37所述的电子设备,包括:
响应于检测到所述输入的第二序列而启用的、用于以下操作的部件:
放弃(728)基于所述第二用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观。
39.根据权利要求37所述的电子设备,其中与所述第一用户交互组件行为相关联的所述条件包括强度标准和/或定时标准(714)。
40.根据权利要求37至39中任一项所述的电子设备,包括:
响应于检测到所述输入的第二序列而启用的部件,包括:
根据确定所述输入的强度变化未满足与所述第一用户交互组件行为相关联的条件而启用的、用于放弃基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观的部件。
41.根据权利要求37至39中任一项所述的电子设备,其中所述第一用户交互组件行为定义将由一个或多个触觉输出设备输出的一个或多个触觉输出(706)。
42.根据权利要求37至39中任一项所述的电子设备,其中所述第一用户交互组件行为包括一个或多个动画曲线,基于所述一个或多个动画曲线更新所述显示器上的第二用户界面元素的外观(720)。
43.根据权利要求37至39中任一项所述的电子设备,其中用于更新所述第二用户界面元素的外观的部件包括用于显示(722)不同于所述第二用户界面元素的第三用户界面元素的部件,并且所述第一用户交互组件行为定义响应于所述输入的第二序列中的输入停止被检测到,所述第三用户界面元素是否将保持显示。
44.根据权利要求37至39中任一项所述的电子设备,其中所述第一用户交互组件行为包括预定义的动画(724)。
45.根据权利要求37至39中任一项所述的电子设备,包括:
用于接收对所述用户交互行为模型的更新的部件,其中所述更新修改所述第一用户交互组件行为,并且,经修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,
在接收到对所述用户交互行为模型的所述更新之后启用的、以及响应于检测到输入序列而启用的、用于基于来自所述应用程序独立软件模块的对所述输入的强度变化是否已满足与所述经修改的第一用户交互组件行为相关联的条件的指示来基于所述经修改的第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观的部件。
46.根据权利要求37至39中任一项所述的电子设备,其中:
用于基于所述第一用户交互组件行为更新所述显示器上的所述第二用户界面元素的外观的部件包括用于使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态的部件;以及
所述第一显示状态和所述第二显示状态由与所述第二用户界面元素相关联的软件应用定义(726)。
47.根据权利要求37至39中任一项所述的电子设备,包括:
用于在所述显示器上显示(732)与所述用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素的部件。
48.根据权利要求47所述的电子设备,其中所述用户交互行为模型中的用户交互组件行为的第二子集不同于用户交互组件行为的第一子集(734)。
49.一种电子设备,包括:
显示单元,所述显示单元被配置为显示用户界面;
被配置为接收接触的触敏表面单元;
一个或多个传感器单元,所述一个或多个传感器单元被配置为检测与所述触敏表面单元的接触的强度;和
处理单元,所述处理单元与所述显示单元、所述触敏表面单元和所述一个或多个传感器单元耦接,所述处理单元被配置为:
在所述显示单元显示第一用户界面元素的同时,检测一个或多个输入的第一序列,检测一个或多个输入的第一序列包括检测所述触敏表面单元上的输入在对应于所述第一用户界面元素的位置处的强度变化,其中所述第一用户界面元素与用于对输入的强度变化做出响应的用户交互行为模型相关联,其中所述用户交互行为模型由多个用户交互组件行为构成;
响应于检测到一个或多个输入的所述第一序列,利用应用程序独立软件模块,在所述设备处生成与所述第一用户界面元素相关联的输出,所述第一用户界面元素根据所述输入的强度变化和所述用户交互行为模型确定,所述用户交互行为模型包括第一用户交互组件行为和不同于所述第一用户交互组件行为的第二用户交互组件行为;
在生成与所述第一用户界面元素相关联的输出之后,启用对与所述用户交互行为模型中的用户交互组件行为的第一子集相关联的第二用户界面元素的显示,其中所述第一子集包括第一用户交互组件行为而不包括第二用户交互组件行为;
在所述显示单元显示所述显示单元上的第二用户界面元素的同时,检测输入的第二序列,检测输入的第二序列包括检测触敏表面单元上的输入在对应于第二用户界面元素的位置处的强度变化;以及,
响应于检测到所述输入的第二序列:
从所述应用程序独立软件模块获得对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示;以及
基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述第一用户交互组件行为相关联的条件的指示,基于所述第一用户交互组件行为更新所述显示单元上的所述第二用户界面元素的外观。
50.根据权利要求49所述的电子设备,其中所述处理单元被配置为:
响应于检测到所述输入的第二序列:
放弃基于所述第二用户交互组件行为更新所述显示单元上的所述第二用户界面元素的外观。
51.根据权利要求49所述的电子设备,其中与所述第一用户交互组件行为相关联的所述条件包括强度标准和/或定时标准。
52.根据权利要求49至51任一项所述的电子设备,其中所述处理单元被配置为:
响应于检测到所述输入的第二序列:
根据确定所述输入的强度变化未满足与所述第一用户交互组件行为相关联的条件,放弃基于所述第一用户交互组件行为更新所述显示单元上的所述第二用户界面元素的外观。
53.根据权利要求49至51中任一项所述的电子设备,其中所述第一用户交互组件行为定义将由一个或多个触觉输出设备输出的一个或多个触觉输出。
54.根据权利要求49至51中任一项所述的电子设备,其中所述第一用户交互组件行为包括一个或多个动画曲线,基于所述一个或多个动画曲线更新所述显示单元上的第二用户界面元素的外观。
55.根据权利要求49至51中任一项所述的电子设备,其中更新所述第二用户界面元素的外观包括启用对不同于所述第二用户界面元素的第三用户界面元素的显示,并且所述第一用户交互组件行为定义响应于所述输入的第二序列中的输入停止被检测到,所述第三用户界面元素是否将保持显示。
56.根据权利要求49至51中任一项所述的电子设备,其中所述第一用户交互组件行为包括预定义的动画。
57.根据权利要求49至51中任一项所述的电子设备,其中所述处理单元被配置为:
接收对所述用户交互行为模型的更新,其中所述更新修改所述第一用户交互组件行为,并且,经修改的第一用户交互组件行为与修改之前的第一用户交互组件行为不同;以及,
在接收到对所述用户交互行为模型的所述更新之后,响应于检测到输入序列,基于来自所述应用程序独立软件模块的、对所述输入的强度变化是否已满足与所述经修改的第一用户交互组件行为相关联的条件的指示,基于所述经修改的第一用户交互组件行为更新所述显示单元上的所述第二用户界面元素的外观。
58.根据权利要求49至51中任一项所述的电子设备,其中:
基于所述第一用户交互组件行为更新所述显示单元上的所述第二用户界面元素的外观包括使用所述应用程序独立软件模块将所述第二用户界面元素的外观从第一显示状态改变到不同于所述第一显示状态的第二显示状态;
所述第一显示状态和所述第二显示状态由与所述第二用户界面元素相关联的软件应用定义。
59.根据权利要求49至51中任一项所述的电子设备,其中所述处理单元被配置为:
启用对与所述用户交互行为模型中的用户交互组件行为的第二子集相关联的第四用户界面元素的显示。
60.根据权利要求59所述的电子设备,其中所述用户交互行为模型中的用户交互组件行为的第二子集不同于用户交互组件行为的第一子集。
CN201780003730.9A 2016-06-12 2017-04-13 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面 Active CN108351750B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662349069P 2016-06-12 2016-06-12
US62/349,069 2016-06-12
DKPA201670598 2016-08-09
DKPA201670598A DK179297B1 (en) 2016-06-12 2016-08-09 Devices, methods, and graphical user interfaces for processing intensity information associated with touch inputs
PCT/US2017/027364 WO2017218069A1 (en) 2016-06-12 2017-04-13 Devices, methods, and graphical user interfaces for processing intensity information associated with touch inputs

Publications (2)

Publication Number Publication Date
CN108351750A CN108351750A (zh) 2018-07-31
CN108351750B true CN108351750B (zh) 2019-08-13

Family

ID=59215870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780003730.9A Active CN108351750B (zh) 2016-06-12 2017-04-13 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面

Country Status (4)

Country Link
US (2) US10095343B2 (zh)
EP (1) EP3255538A1 (zh)
CN (1) CN108351750B (zh)
WO (1) WO2017218069A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102156223B1 (ko) 2014-08-02 2020-09-15 애플 인크. 상황 특정 사용자 인터페이스
US10452253B2 (en) 2014-08-15 2019-10-22 Apple Inc. Weather user interface
US9542037B2 (en) * 2015-03-08 2017-01-10 Apple Inc. Device, method, and user interface for processing intensity of touch contacts
WO2016144385A1 (en) 2015-03-08 2016-09-15 Apple Inc. Sharing user-configurable graphical constructs
EP3337583B1 (en) 2015-08-20 2024-01-17 Apple Inc. Exercise-based watch face
US10725627B2 (en) * 2016-07-15 2020-07-28 International Business Machines Corporation Managing inputs to a user interface with system latency
KR20230038303A (ko) 2016-09-23 2023-03-17 애플 인크. 워치 극장 모드
DK179412B1 (en) 2017-05-12 2018-06-06 Apple Inc Context-Specific User Interfaces
DK179555B1 (en) 2017-05-16 2019-02-13 Apple Inc. USER INTERFACE FOR A FLASHLIGHT MODE ON AN ELECTRONIC DEVICE
US11327650B2 (en) 2018-05-07 2022-05-10 Apple Inc. User interfaces having a collection of complications
US10955956B2 (en) * 2018-05-07 2021-03-23 Apple Inc. Devices, methods, and graphical user interfaces for interaction with an intensity-sensitive input region
US11157047B2 (en) * 2018-11-15 2021-10-26 Dell Products, L.P. Multi-form factor information handling system (IHS) with touch continuity across displays
US11221674B2 (en) * 2019-01-07 2022-01-11 Google Llc Haptic output for trackpad controlled using force signal and sense signal
US11093715B2 (en) * 2019-03-29 2021-08-17 Samsung Electronics Co., Ltd. Method and system for learning and enabling commands via user demonstration
US11131967B2 (en) 2019-05-06 2021-09-28 Apple Inc. Clock faces for an electronic device
US11960701B2 (en) 2019-05-06 2024-04-16 Apple Inc. Using an illustration to show the passing of time
US11340778B2 (en) 2019-05-06 2022-05-24 Apple Inc. Restricted operation of an electronic device
US11797113B2 (en) 2019-06-01 2023-10-24 Apple Inc. Devices, methods, and graphical user interfaces for interaction with a control
US11803628B2 (en) * 2019-06-21 2023-10-31 Magic Leap, Inc. Secure authorization via modal window
US10852905B1 (en) 2019-09-09 2020-12-01 Apple Inc. Techniques for managing display usage
DE102020107752A1 (de) * 2020-03-20 2021-09-23 Daimler Ag Verfahren und Vorrichtung zur Auswahl von auf einem Bildschirm angezeigten Eingabefeldern und/oder zur Aktivierung von auf dem Bildschirm in einem ausgewählten Eingabefeld angezeigten Eingabeinhalten durch manuelle Eingaben
CN111462284B (zh) * 2020-03-31 2023-09-05 北京小米移动软件有限公司 动画生成方法、动画生成装置和电子设备
US20210326018A1 (en) * 2020-04-16 2021-10-21 Honeywell International Inc. Systems and methods providing visual affordances for human-machine interfaces
DK202070624A1 (en) 2020-05-11 2022-01-04 Apple Inc User interfaces related to time
US11372659B2 (en) 2020-05-11 2022-06-28 Apple Inc. User interfaces for managing user interface sharing
EP4133371A1 (en) 2020-05-11 2023-02-15 Apple Inc. User interfaces for managing user interface sharing
US11694590B2 (en) 2020-12-21 2023-07-04 Apple Inc. Dynamic user interface with time indicator
US11720239B2 (en) 2021-01-07 2023-08-08 Apple Inc. Techniques for user interfaces related to an event
CN114880053A (zh) * 2021-02-05 2022-08-09 华为技术有限公司 一种界面中对象的动画生成方法、电子设备及存储介质
US11921992B2 (en) 2021-05-14 2024-03-05 Apple Inc. User interfaces related to time
CN114911387B (zh) * 2022-01-13 2023-07-28 北京网界科技有限公司 数据处理***及其方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7614008B2 (en) * 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
JP2008033739A (ja) * 2006-07-31 2008-02-14 Sony Corp 力覚フィードバックおよび圧力測定に基づくタッチスクリーンインターラクション方法および装置
US9569086B2 (en) * 2007-12-12 2017-02-14 Nokia Technologies Oy User interface having realistic physical effects
JP4801228B2 (ja) * 2009-04-24 2011-10-26 京セラ株式会社 入力装置
US9977472B2 (en) * 2010-03-19 2018-05-22 Nokia Technologies Oy Method and apparatus for displaying relative motion of objects on graphical user interface
US10248262B2 (en) 2011-11-18 2019-04-02 Sentons Inc. User interface interaction using touch input force
US20130155018A1 (en) 2011-12-20 2013-06-20 Synaptics Incorporated Device and method for emulating a touch screen using force information
US9600169B2 (en) * 2012-02-27 2017-03-21 Yahoo! Inc. Customizable gestures for mobile devices
CN109298789B (zh) * 2012-05-09 2021-12-31 苹果公司 用于针对激活状态提供反馈的设备、方法和图形用户界面
CN104487928B (zh) * 2012-05-09 2018-07-06 苹果公司 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面
WO2013169845A1 (en) * 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
AU2013368443B2 (en) * 2012-12-29 2016-03-24 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9355472B2 (en) * 2013-03-15 2016-05-31 Apple Inc. Device, method, and graphical user interface for adjusting the appearance of a control
US20140282283A1 (en) * 2013-03-15 2014-09-18 Caesar Ian Glebocki Semantic Gesture Processing Device and Method Providing Novel User Interface Experience
US9389718B1 (en) * 2013-04-04 2016-07-12 Amazon Technologies, Inc. Thumb touch interface
EP3120223A1 (en) 2014-03-21 2017-01-25 Immersion Corporation System, method and computer-readable medium for force-based object manipulation and haptic sensations
US9542037B2 (en) 2015-03-08 2017-01-10 Apple Inc. Device, method, and user interface for processing intensity of touch contacts
KR20170024846A (ko) * 2015-08-26 2017-03-08 엘지전자 주식회사 이동단말기 및 그 제어방법
KR20170036424A (ko) * 2015-09-24 2017-04-03 삼성전자주식회사 터치 속성에 대응하는 이벤트를 제공하기 위한 방법 및 그 전자 장치
US10163245B2 (en) * 2016-03-25 2018-12-25 Microsoft Technology Licensing, Llc Multi-mode animation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adopting 3D Touch:Peek and Pop;Anonymous;《https://iosguy.com/2015/09/17/adopting-3d-peek-pop》;20150917;1-12
Understanding 3D Touch from a development.;Sarat Pediredla;《https://blog.hedgehoglab.com/understanding-3d-touch-development》;20160208;1-8

Also Published As

Publication number Publication date
CN108351750A (zh) 2018-07-31
US20170357358A1 (en) 2017-12-14
EP3255538A1 (en) 2017-12-13
US10095343B2 (en) 2018-10-09
WO2017218069A1 (en) 2017-12-21
US20190012036A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
CN108351750B (zh) 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面
CN107797658B (zh) 用于触觉混合的设备、方法和图形用户界面
CN104903834B (zh) 用于在触摸输入到显示输出关系之间过渡的设备、方法和图形用户界面
CN108762605B (zh) 设备配置用户界面
CN106416210B (zh) 设备之间电话呼叫路由的方法、电子设备和计算机可读存储介质
CN106605196B (zh) 远程相机用户界面
CN104471521B (zh) 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
CN105264479B (zh) 用于对用户界面分级结构进行导航的设备、方法和图形用户界面
CN106462340B (zh) 尺寸减小的用户界面
CN104903835B (zh) 用于针对多接触手势而放弃生成触觉输出的设备、方法和图形用户界面
CN105144057B (zh) 用于根据具有模拟三维特征的控制图标的外观变化来移动光标的设备、方法和图形用户界面
CN105144067B (zh) 用于调节控件的外观的设备、方法和图形用户界面
CN107924264A (zh) 用于调节用户界面对象的设备、方法、和图形用户界面
CN107924277A (zh) 用于通过物理手势操纵用户界面的设备、方法和图形用户界面
CN108369574A (zh) 智能设备识别
CN109690445A (zh) 特殊锁定模式用户界面
CN107430488A (zh) 基于活动的阈值和反馈
CN109196455A (zh) 用于carplay的应用程序快捷方式
CN107710135A (zh) 使用可旋转输入机构的用户界面
CN107257951A (zh) 用于与控制对象交互同时拖动另一对象的设备、方法和图形用户界面
CN109844711A (zh) 用于向设备上显示的内容加注释的统一注释层的设备、方法和图形用户界面
CN107491186A (zh) 用于屏幕的手写键盘
CN107924249A (zh) 用于内容导航和操纵的设备、方法以及图形用户界面
CN107408012A (zh) 使用可旋转输入机构来控制***缩放放大率
CN108196761A (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