CN110764617A - 用于生成触觉输出的设备、方法和图形用户界面 - Google Patents

用于生成触觉输出的设备、方法和图形用户界面 Download PDF

Info

Publication number
CN110764617A
CN110764617A CN201911023034.1A CN201911023034A CN110764617A CN 110764617 A CN110764617 A CN 110764617A CN 201911023034 A CN201911023034 A CN 201911023034A CN 110764617 A CN110764617 A CN 110764617A
Authority
CN
China
Prior art keywords
application
tactile output
user interface
event
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911023034.1A
Other languages
English (en)
Other versions
CN110764617B (zh
Inventor
J·Y·罗伯特
T·M·福克斯
C·茂塞特
V·米拉蒂诺维
J-P·M·茂伊勒塞奥克斯
M·S·科蒂尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN110764617A publication Critical patent/CN110764617A/zh
Application granted granted Critical
Publication of CN110764617B publication Critical patent/CN110764617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • 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
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • 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/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • 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
    • 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
    • G06F3/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明题为“用于生成触觉输出的设备、方法和图形用户界面”。本发明公开了一种电子设备,当触觉输出发生器处于低功率状态时,所述电子设备接收用户交互已开始的指示。如果所述指示符合触觉输出发生器准备标准,则所述设备在第一时间将所述触觉输出发生器设置为低延迟状态。此后,如果所述用户交互已经到达所述用户交互的相应部分,所述相应部分与从所述第一时间起预定义的时间量已过之前的触觉输出相关联,并且所述触觉输出发生器仍处于所述低延迟状态,则所述设备使用所述触觉输出发生器以降低的延迟生成所述触觉输出。如果在从所述第一时间起至少所述预定义的时间量内没有生成触觉输出,则所述设备将所述触觉输出发生器从所述低延迟状态转变到所述低功率状态。

Description

用于生成触觉输出的设备、方法和图形用户界面
本申请为发明名称为“用于生成触觉输出的设备、方法和图形用户界面”的原中国发明专利申请的分案申请。原申请的申请号为201710728497.2,原申请的申请日为2017年08月23日,原申请的优先权日为2016年09月06日。
相关申请
本专利申请要求于2016年9月6日提交的美国临时专利申请序列号62/384,159的优先权,该美国临时专利申请全文以引用方式并入本文。
技术领域
本文整体涉及具有触敏表面的电子设备,包括但不限于生成触觉输出以向用户提供触觉反馈的具有触敏表面的电子设备。
背景技术
触敏表面作为计算机和其他电子计算设备的输入设备的使用在近年来显著增长。示例性触敏表面包括触控板和触摸屏显示器。此类表面广泛地用于操纵显示器上的用户界面及其中的对象。示例性用户界面对象包括数字图像、视频、文本、图标和控制元件(诸如按钮)以及其他图形。
触觉反馈(通常与视觉和/或音频反馈相结合)常用于尝试使用户界面和用户界面对象的操纵对于用户更有效且更直观,从而改善电子设备的可操作性。
然而,响应于相同手势而提供不同触觉反馈的应用给用户造成了挑战,从而可引起非预期操作。当设备执行非预期操作时,用户需要取消此类操作并再次提供输入。这些操纵繁琐且冗长。此外,由于不得不撤销非预期操作并再次提供输入,这会花费比所必需的时间更长的时间,从而浪费能量。这后一考虑在电池驱动设备中是特别重要的。因此,希望具有用于提供触觉反馈的框架。
发明内容
因此,需要这样的电子设备,所述电子设备具有用于提供触觉反馈(通常与视觉和/或音频反馈相结合)的更快、更有效且更一致的方法和界面,继而使用户界面的操纵对于用户更有效且更直观。此类方法和界面任选地补充或替换用于提供触觉反馈的常规方法。此类方法和界面通过以下方式降低来自用户的输入的数量、范围和/或性质:帮助用户理解所提供的输入与设备对输入的响应之间的连接,从而创建更有效的人机界面。此外,此类方法和界面为多个软件应用提供更一致的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
借助所公开的设备可减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,所述设备是台式计算机。在一些实施方案中,所述设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,所述设备是个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,所述设备具有触控板。在一些实施方案中,所述设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,所述设备具有图形用户界面(GUI)、一个或多个处理器、存储器、一个或多个模块、以及存储在存储器中以用于执行多个功能的程序或指令集。在一些实施方案中,用户主要通过用触笔和/或手指接触和用手势操控触敏表面来与GUI进行交互。在一些实施方案中,这些功能任选地包括图像编辑、画图、呈现、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频记录、网络浏览、数字音乐播放、记事本制作和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在具有显示器、一个或多个输入设备和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在显示器上显示第一软件应用的用户界面。用户界面包括已为其分配由独立于应用的模块提供的多个用户交互模型中的用户交互模型的多个元素,所述多个元素包括已为其分配第一用户交互模型的第一元素,所述多个元素具有由第一软件应用的特定于应用的模块提供的内容。第一用户交互模型定义用户界面如何对指向用户界面的第一元素的输入作出响应。该方法还包括在显示用户界面时,经由所述一个或多个输入设备检测指向用户界面的第一元素的输入。该方法还包括响应于检测到该输入:基于该输入的特征来更新显示器上的用户界面;根据确定该输入符合第一用户交互模型所指定的触觉输出标准,生成对应于该输入的第一触觉输出;以及根据确定该输入不符合第一用户交互模型所指定的触觉输出标准,放弃第一触觉输出的生成。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在显示器上显示用户界面;以及检测触发与触觉输出相关联的第一用户界面事件的第一条件的发生。生成第一用户界面事件包括显示用户界面的一个或多个变化。该设备将不能够在相应时间量内生成与第一用户界面事件相关联的触觉输出。该方法还包括响应于检测到第一条件的发生,根据确定第一用户界面事件对应于第一用户界面事件类别:使生成第一用户界面事件延迟至少相应时间量;以及在使生成第一用户界面事件延迟至少相应时间量之后,显示用户界面的所述一个或多个变化并且生成与第一用户界面事件相关联的触觉输出。用户界面的所述一个或多个变化的显示和与第一用户界面事件相关联的触觉输出的生成同步。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在所述一个或多个触觉输出发生器处于低功率状态时,接收用户交互已开始的指示。用户交互的相应部分与触觉输出相关联。低功率状态是以第一延迟量生成触觉输出的状态。该方法还包括响应于接收到与触觉输出相关联的用户交互已开始的指示,根据确定该指示符合触觉输出发生器准备标准,在第一时间将所述一个或多个触觉输出发生器设定为低延迟状态。低延迟状态是以低于第一延迟量的第二延迟量生成触觉输出的状态。该方法还包括在将所述一个或多个触觉输出发生器设定为低延迟状态之后:根据确定在经过自第一时间起的预定义时间量之前用户交互已达到与触觉输出相关联的用户交互的相应部分并且所述一个或多个触觉输出发生器仍处于低延迟状态,使用所述一个或多个触觉输出发生器以第二延迟量生成触觉输出;以及根据确定在至少自第一时间起的预定义时间量内尚未生成触觉输出,使所述一个或多个触觉输出发生器从低延迟状态转变为低功率状态。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于第一类型的事件的第二类型的事件与不同于第一触觉输出的第二触觉输出相关联时,从第一应用接收第一信息;以及响应于从第一应用接收到第一信息,生成对第一信息的响应,包括:根据确定第一信息对应于第一类型的应用事件,使用所述一个或多个触觉输出发生器生成第一触觉输出;以及根据确定第一信息对应于不同于第一类型的第二类型的应用事件,使用所述一个或多个触觉输出发生器生成不同于第一触觉输出的第二触觉输出。该方法还包括在生成对第一信息的响应之后,从不同于第一应用的第二应用接收第二信息;以及响应于从第二应用接收到第二信息,生成对第二信息的响应,包括:根据确定第二信息对应于第一类型的应用事件,使用所述一个或多个触觉输出发生器生成第一触觉输出;以及根据确定第二信息对应于第二类型的应用事件,使用所述一个或多个触觉输出发生器生成第二触觉输出。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在独立于应用的模块处,从与第一应用相关联的特定于应用的模块接收有关指向第一应用的用户界面的输入的信息。响应于检测到该输入而在第一应用的用户界面中执行的操作与特定于应用的模块所指定的触觉输出模式相关联。有关该输入的信息包括指示响应于检测到该输入而在用户界面中执行的操作的量值的信息。该方法还包括响应于接收到有关指向第一应用的用户界面的输入的信息,经由所述一个或多个触觉输出发生器生成与在第一应用的用户界面中执行的操作相对应的触觉输出。触觉输出具有特定于应用的模块所指定的触觉输出模式。触觉输出具有根据响应于检测到该输入而在第一应用的用户界面中执行的操作的量值来确定的幅度。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在显示器上显示用户界面;以及在显示器上显示用户界面时且在所述一个或多个触觉输出发生器处于低功率状态时,检测经由触敏表面进行的第一用户交互。该方法还包括响应于检测到第一用户交互,将所述一个或多个触觉输出发生器设定为低延迟状态;以及在将所述一个或多个触觉输出发生器设定为低延迟状态之后,检测作为与第一用户交互相同的用户交互序列的一部分的第二用户交互。该方法还包括响应于检测到第二用户交互,生成对应于第二用户交互的触觉输出。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括接收对第一用户界面操作的第一请求。第一用户界面操作是与第一触觉输出相关联的相应用户界面元素中第一类型的变化。该方法还包括响应于接收到第一请求:执行第一用户界面操作并生成第一触觉输出。该方法还包括在执行第一用户界面操作之后,接收对与第二触觉输出相关联的第二用户界面操作的第二请求;以及响应于接收到第二请求,根据确定对第二用户界面操作的第二请求包括对与第二触觉输出相关联的用户界面中第一类型的变化的实例的请求:确定从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第二请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的时间间隔;根据确定该时间间隔小于预定义时间段,执行第二用户界面操作而不生成第二触觉输出;以及根据确定该时间间隔大于预定义时间段,执行第二用户界面操作并生成第二触觉输出。
根据一些实施方案,在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处执行一种方法。该方法包括在独立于应用的模块处,从应用接收用户界面信息。用户界面信息对应于具有由应用的特定于应用的模块定义的一个或多个维度的一个或多个所显示的用户界面元素。该方法还包括接收指向一个或多个所显示的用户界面元素的输入;及在独立于应用的模块处,基于该输入的量值和由特定于应用的模块定义的所述一个或多个维度来确定要生成的一个或多个触觉输出;以及使用所述一个或多个触觉输出发生器,生成所确定的一个或多个触觉输出。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收输入的一个或多个输入设备单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、所述一个或多个输入设备单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为使能在显示单元上显示第一软件应用的用户界面。用户界面包括已为其分配由独立于应用的模块提供的多个用户交互模型中的用户交互模型的多个元素,所述多个元素包括已为其分配第一用户交互模型的第一元素,所述多个元素具有由第一软件应用的特定于应用的模块提供的内容。第一用户交互模型定义用户界面如何对指向用户界面的第一元素的输入作出响应。处理单元还被配置为在使能显示用户界面时,经由所述一个或多个输入设备单元检测指向用户界面的第一元素的输入;以及响应于检测到该输入:基于该输入的特征来更新显示单元上的用户界面;根据确定该输入符合第一用户交互模型所指定的触觉输出标准,使能生成与该输入相对应的第一触觉输出;以及根据确定该输入不符合第一用户交互模型所指定的触觉输出标准,放弃使能生成第一触觉输出。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为:使能在显示单元上显示用户界面;以及检测触发与触觉输出相关联的第一用户界面事件的第一条件的发生。生成第一用户界面事件包括使能显示用户界面的一个或多个变化。该设备将不能够在相应时间量内生成与第一用户界面事件相关联的触觉输出。处理单元还被配置为响应于检测到第一条件的发生,根据确定第一用户界面事件对应于第一用户界面事件类别,使能生成与第一用户界面事件相关联的触觉输出;将生成第一用户界面事件延迟至少相应时间量;以及在将生成第一用户界面事件延迟至少相应时间量之后,使能显示用户界面的所述一个或多个变化。用户界面的所述一个或多个变化的显示和与第一用户界面事件相关联的触觉输出的生成同步。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为:在所述一个或多个触觉输出发生器单元处于低功率状态时,接收用户交互已开始的指示。用户交互的相应部分与触觉输出相关联。低功率状态是以第一延迟量生成触觉输出的状态。处理单元还被配置为响应于接收到与触觉输出相关联的用户交互已开始的指示,根据确定该指示符合触觉输出发生器准备标准,在第一时间将所述一个或多个触觉输出发生器单元设定为低延迟状态。低延迟状态是以低于第一延迟量的第二延迟量生成触觉输出的状态。处理单元被进一步配置为在将所述一个或多个触觉输出发生器单元设定为低延迟状态之后:根据确定在经过自第一时间起的预定义时间量之前用户交互已达到与触觉输出相关联的用户交互的相应部分并且所述一个或多个触觉输出发生器单元仍处于低延迟状态,使能使用所述一个或多个触觉输出发生器单元以第二延迟量生成触觉输出;以及根据确定在至少自第一时间起的预定义时间量内尚未生成触觉输出,使所述一个或多个触觉输出发生器单元从低延迟状态转变为低功率状态。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、所述一个或多个输入设备单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于第一类型的事件的第二类型的事件与不同于第一触觉输出的第二触觉输出相关联时:从第一应用接收第一信息;以及响应于从第一应用接收到第一信息,使能生成对第一信息的响应,包括:根据确定第一信息对应于第一类型的应用事件,使能使用所述一个或多个触觉输出发生器单元生成第一触觉输出;以及根据确定第一信息对应于不同于第一类型的第二类型的应用事件,使能使用所述一个或多个触觉输出发生器单元生成不同于第一触觉输出的第二触觉输出。处理单元还被配置为在使能生成对第一信息的响应之后,从不同于第一应用的第二应用接收第二信息;以及响应于从第二应用接收到第二信息,使能生成对第二信息的响应,包括:根据确定第二信息对应于第一类型的应用事件,使能使用所述一个或多个触觉输出发生器单元生成第一触觉输出;以及根据确定第二信息对应于第二类型的应用事件,使能使用所述一个或多个触觉输出发生器单元生成第二触觉输出。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为在独立于应用的模块处,从与第一应用相关联的特定于应用的模块接收有关指向第一应用的用户界面的输入的信息。响应于检测到该输入而在第一应用的用户界面中执行的操作与特定于应用的模块所指定的触觉输出模式相关联。有关该输入的信息包括指示响应于检测到该输入而在用户界面中执行的操作的量值的信息。处理单元还被配置为响应于接收到有关指向第一应用的用户界面的输入的信息,使能经由所述一个或多个触觉输出发生器单元生成与在第一应用的用户界面中执行的操作相对应的触觉输出。触觉输出具有特定于应用的模块所指定的触觉输出模式。触觉输出具有根据响应于检测到该输入而在第一应用的用户界面中执行的操作的量值来确定的幅度。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为:使能在显示单元上显示用户界面;在使能在显示单元上显示用户界面时且在所述一个或多个触觉输出发生器单元处于低功率状态时,检测经由触敏表面单元进行的第一用户交互;响应于检测到第一用户交互,将所述一个或多个触觉输出发生器单元设定为低延迟状态;在将所述一个或多个触觉输出发生器单元设定为低延迟状态之后,检测作为与第一用户交互相同的用户交互序列的一部分的第二用户交互;以及响应于检测到第二用户交互,使能生成对应于第二用户交互的触觉输出。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为接收对第一用户界面操作的第一请求。第一用户界面操作是与第一触觉输出相关联的相应用户界面元素中第一类型的变化。处理单元还被配置为响应于接收到第一请求:执行第一用户界面操作并使能生成第一触觉输出;以及在执行第一用户界面操作之后,接收对与第二触觉输出相关联的第二用户界面操作的第二请求。处理单元被进一步配置为响应于接收到第二请求,根据确定对第二用户界面操作的第二请求包括对与第二触觉输出相关联的用户界面中第一类型的变化的实例的请求:确定从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第二请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的时间间隔;根据确定该时间间隔小于预定义时间段,执行第二用户界面操作而不使能生成第二触觉输出;以及根据确定该时间间隔大于预定义时间段,执行第二用户界面操作并使能生成第二触觉输出。
根据一些实施方案,电子设备包括被配置为显示一个或多个用户界面的显示单元;被配置为接收触摸输入的触敏表面单元;被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元;以及与显示单元、触敏表面单元和所述一个或多个触觉输出发生器单元耦接的处理单元。处理单元被配置为在独立于应用的模块处,从应用接收用户界面信息。用户界面信息对应于具有由应用的特定于应用的模块定义的一个或多个维度的一个或多个所显示的用户界面元素。处理单元还被配置为接收指向一个或多个所显示的用户界面元素的输入;在独立于应用的模块处,基于该输入的量值和由特定于应用的模块定义的所述一个或多个维度来确定要生成的一个或多个触觉输出;以及使能使用所述一个或多个触觉输出发生器单元生成所确定的一个或多个触觉输出。
根据一些实施方案,电子设备包括显示器、触敏表面、用于检测与触敏表面的接触强度的任选一个或多个传感器、一个或多个处理器、存储器以及一个或多个程序;所述一个或多个程序存储在存储器中并被配置为由所述一个或多个处理器执行,并且所述一个或多个程序包括用于执行或促使执行上述任何方法的操作的指令。根据一些实施方案,计算机可读存储介质在其中存储有指令,所述指令当由具有显示器、触敏表面以及用于检测与触敏表面的接触强度的任选一个或多个传感器的电子设备执行时,使得该设备执行或促使执行上述任何方法的操作。根据一些实施方案,具有显示器、触敏表面、用于检测与触敏表面的接触强度的任选一个或多个传感器、存储器、以及用于执行存储于存储器中的一个或多个程序的一个或多个处理器的电子设备上的图形用户界面包括上述任何方法中所显示的一个或多个元素,该一个或多个元素响应于输入进行更新,如上述任何方法中所描述的。根据一些实施方案,电子设备包括:显示器、触敏表面、以及用于检测与触敏表面的接触强度的任选一个或多个传感器;以及用于执行或促使执行上述任何方法的操作的装置。根据一些实施方案,用于在具有显示器和触敏表面、用于检测与触敏表面的接触强度的任选一个或多个传感器的电子设备中使用的信息处理装置包括用于执行或促使执行上述任何方法的操作的装置。
因此,具有显示器、触敏表面和用于检测与触敏表面的接触强度的任选一个或多个传感器的电子设备被提供有更快、更有效的方法和界面以用于提供触觉输出,从而增大此类设备的效用、效率和用户满意度。此类方法和界面可补充或替换用于提供触觉输出的常规方法。
附图说明
为了更好地理解本发明的各种所描述的实施方案,应该结合以下附图参考下面的具体实施方式,在附图中,类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。
图1C是示出根据一些实施方案的触觉输出模块的框图。
图1D-1E是示出根据一些实施方案的独立于应用的软件模块的框图。
图2A示出根据一些实施方案的具有触摸屏的便携式多功能设备。
图2B-2C示出根据一些实施方案的强度敏感输入设备的分解图。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出根据一些实施方案的便携式多功能设备上的应用菜单的示例性用户界面。
图4B示出根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图4C-4E示出根据一些实施方案的动态强度阈值的示例。
图4F-4G示出根据一些实施方案的一组样本触觉输出模式。
图5A-5KKK示出根据一些实施方案的示例性用户界面和触觉输出。
图6A-6D是示出根据一些实施方案的基于用户交互模型来生成触觉输出的方法的流程图。
图7是根据一些实施方案的电子设备的功能框图。
图8A-8D是示出根据一些实施方案的使触觉输出和用户界面变化同步的方法的流程图。
图9是根据一些实施方案的电子设备的功能框图。
图10A-10D是示出根据一些实施方案的设置触觉输出发生器的功率/延迟状态的方法的流程图。
图11是根据一些实施方案的电子设备的功能框图。
图12A-12D是示出根据一些实施方案的为多个应用生成一致触觉输出的方法的流程图。
图13是根据一些实施方案的电子设备的功能框图。
图14A-14B是示出根据一些实施方案的基于来自特定于应用的模块的信息来生成触觉输出的方法的流程图。
图15是根据一些实施方案的电子设备的功能框图。
图16A-16D是示出根据一些实施方案的基于用户交互事件来设定触觉输出发生器的功率/延迟状态的方法的流程图。
图17是根据一些实施方案的电子设备的功能框图。
图18A-18C是示出根据一些实施方案的基于与前一触觉输出生成的时间间隔来有条件地生成触觉输出的方法的流程图。
图19是根据一些实施方案的电子设备的功能框图。
图20A-20B是示出根据一些实施方案的基于输入的量值和用户界面元素的维度来生成触觉输出的方法的流程图。
图21是根据一些实施方案的电子设备的功能框图。
图22A是示例性反馈架构的图表。
图22B示出日期选取器的示例。
图22C是示出示例性系统的概览的图表。
具体实施方式
许多电子设备具有图形用户界面,这些图形用户界面允许响应于某些触摸输入而对所显示的用户界面对象进行某些操纵。然而,各种软件应用可被配置为以不一致的方式(例如,提供不同触觉反馈)对相同输入作出响应,这使用户更难获知如何与不同软件应用交互和/或特定触觉反馈指示的是什么。所公开的实施方案通过提供用于提供触觉反馈(和/或触觉输出)的通用框架而解决了这些限制和缺点。由于用于提供触觉输出的指令提供于电子设备中(例如,操作系统中),软件应用可开发得更快且制得更小,从而改善电子设备上存储和执行此类软件应用的效率。此外,各种软件应用使用通用框架以一致方式(例如,通过提供一致触觉反馈)对相同输入作出响应,从而改善此类电子设备的用户体验。对于电池驱动设备,所公开的方法和设备可节省电池电量并且增加两次电池充电之间的时间。此外,软件应用可订阅通用框架的不同特征,从而允许软件应用定制对输入的响应而不丧失一致性及通用框架的高级特征。
下面,图1A-1E、图2A-2C和图3提供对示例性设备的描述。图4A-4B和图5A-5KKK示出示例性用户界面和相关联的触觉输出。图6A-6D示出基于用户交互模型来生成触觉输出的方法的流程图。图8A-8D示出使触觉输出和用户界面变化同步的方法的流程图。图10A-10D示出设定触觉输出发生器的功率/延迟状态的方法的流程图。图12A-12D示出为多个应用生成一致触觉输出的方法的流程图。图14A-14B示出基于来自特定于应用的模块的信息来生成触觉输出的方法的流程图。图16A-16D示出基于用户交互事件来设定触觉输出发生器的功率/延迟状态的方法的流程图。图18A-18C示出基于与前一触觉输出生成的时间间隔来有条件地生成触觉输出的方法的流程图。图20A-20B示出基于输入的量值和用户界面元素的维度来生成触觉输出的方法的流程图。图5A-5KKK中的用户界面用于说明图6A-6D、图8A-8D、图10A-10D、图12A-12D、图14A-14B、图16A-16D、图18A-18C和图20A-20B中的过程。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一触点和第二触点均为触点,但它们不是同一个触点,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”,“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还应当理解,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还应当理解,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备是还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.(Cupertino,California)的iPod
Figure BDA0002247829510000132
Figure BDA0002247829510000133
设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
所述设备通常支持各种应用,诸如以下中的一者或多者:记事本制作应用、绘图应用、呈现应用、文字处理应用、网站创建应用、盘编辑应用、电子表格应用、游戏应用、电话应用、视频会议应用、电子邮件应用、即时消息应用、健身支持应用、照片管理应用、数字相机应用、数字视频摄像机应用、网页浏览应用、数字音乐播放器应用和/或数字视频播放器应用。
在设备上执行的各种应用任选地使用至少一个通用物理用户接口设备诸如触敏表面。触敏表面的一种或多种功能以及显示在设备上的对应信息任选地从一种应用调整和/或变化至下一种应用和/或在相应应用内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用。
现在关注具有触敏显示器的便携式设备的实施方案。图1A是示出根据一些实施方案的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、射频电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入或控制设备116和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100(例如,触敏表面,诸如设备100的触敏显示器系统112)上的接触的强度的一个或多个强度传感器165。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如在触敏表面诸如设备100的触敏显示系统112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一条或多条通信总线或信号线103通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与设备或设备的部件的物理特征的所感知的变化对应。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。使用触觉输出向用户提供触觉反馈增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户提供正确输入并且减少用户在操作设备/与设备交互时出错),另外,由于用户能够更快且更有效地使用设备,这减少了功率用量并且改善了设备的电池寿命。
在一些实施方案中,触觉输出模式指定了触觉输出的特征,诸如触觉输出的幅度、触觉输出的移动波形的形状、触觉输出的频率和/或触觉输出的持续时间。
当具有不同触觉输出模式的触觉输出由设备生成(例如,经由使可移动块移动以生成触觉输出的一个或多个触觉输出发生器)时,触觉输出可在持握或触摸该设备的用户中引发不同触感。虽然用户的感觉基于用户对触觉输出的感知,但大多数用户将能够识别设备所生成的触觉输出的波形、频率和幅度的变化。因此,可调节波形、频率和幅度以向用户指示已执行不同操作。这样,具有被设计、选择和/或建造为模拟给定环境(例如,包括图形特征和对象的用户界面、具有虚拟边界和虚拟对象的模拟物理环境、具有物理边界和物理对象的真实物理环境和/或上述各项的任何组合)中的对象的特征(例如,尺寸、材料、重量、刚度、光滑度等);行为(例如,振荡、位移、加速度、旋转、膨胀等);和/或交互(例如,碰撞、粘附、排斥、吸引、摩擦等)的触觉输出模式的触觉输出,在一些情况下,将向用户提供有用反馈,从而减少输入错误并提高用户对设备的操作的效率。另外,任选地生成触觉输出以对应于与模拟物理特征无关的反馈,诸如输入阈值或对象的选择。此类触觉输出在一些情况下将向用户提供有用反馈,从而减少输入错误并提高用户对设备的操作的效率。
在一些实施方案中,具有合适触觉输出模式的触觉输出用作用户界面中或设备后台发生感兴趣事件的提示。感兴趣事件的示例包括设置在设备上或用户界面中的示能表示(例如,真实或虚拟按钮、或拨动开关)的激活、所请求的操作的成功或失败、达到或跨越用户界面中的边界、进入新状态、对象之间输入焦点的切换、新模式的激活、达到或跨越输入阈值、输入或手势类型的检测或识别等。在一些实施方案中,提供触觉输出以用作除非及时检测到重定向或中断输入否则将发生的迫近事件或结果的警告或警示。触觉输出还用于其他上下文中以充实用户体验,改善具有视觉或运动障碍或其他可访问性需求的用户对设备的可访问性,和/或改善用户界面和/或设备的效率和功能性。触觉输出任选地伴有音频输出和/或可见用户界面变化,这在用户与用户界面和/或设备交互时进一步增强用户的体验,并有利于更好地传达有关用户界面和/或设备的状态的信息,并且减少输入错误并提高用户对设备的操作的效率。
图4F提供了一组样本触觉输出模式,它们可按原样或通过一种或多种变换(例如,调制、放大、截断等)单独地或结合地使用,以便在各种情景中针对各种目的(诸如上文提及的那些以及相对于本文所讨论的用户界面和方法所述的那些)产生合适的触觉反馈。触觉输出选项板的该示例示出了可如何使用一组三个波形和八个频率来产生触觉输出模式的阵列。除了该图中所示的触觉输出模式之外,还任选地通过改变触觉输出模式的增益值来调节这些触觉输出模式各自的幅度,如图所示,例如对于图4G中的全震动(FullTap)80Hz、全震动200Hz、小震动(MiniTap)80Hz、小震动200Hz、微震动(MicroTap)80Hz和微震动200Hz而言,它们各自以1.0、0.75、0.5和0.25增益值的变型示出。如图4G所示,改变触觉输出模式的增益值会改变模式的幅度,而不会改变模式的频率或改变波形的形状。在一些实施方案中,改变触觉输出模式的频率也会得到较低的幅度,因为一些触觉输出发生器受到可向可移动块施加多大力的限制,从而可移动块的较高频率移动受限于较低幅度,以确保产生波形所需的加速度不需要超出触觉输出发生器操作力范围的力(例如,230Hz、270Hz和300Hz下的全震动的峰值幅度低于80Hz、100Hz、125Hz和200Hz下的全震动的幅度)。
在图4F中,每列示出了具有特定波形的触觉输出模式。触觉输出模式的波形表示相对于中立位置(例如,x)的物理位移随可移动块为生成具有该触觉输出模式的触觉输出所经历的时间而变化的模式。例如,图4F左列中所示的第一组触觉输出模式(例如,“全震动”的触觉输出模式)各自具有包括含两个完整周期的振荡(例如,在中立位置中开始和结束并跨越中立位置三次的振荡)的波形。图4F中间列中所示的第二组触觉输出模式(例如,“小震动”的触觉输出模式)各自具有包括含一个完整周期的振荡(例如,在中立位置中开始和结束并跨越中立位置一次的振荡)的波形。图4F右列中所示的第三组触觉输出模式(例如,“微震动”的触觉输出模式)各自具有包括含一半完整周期的振荡(例如,在中立位置中开始和结束且不跨越中立位置的振荡)的波形。触觉输出模式的波形还包括开始缓冲和结束缓冲,它们表示在触觉输出开始和结束时可移动块的逐渐加速和减速。图4F-4G所示的示例性波形包括x最小和x最大值,它们表示可移动块的最大和最小移动范围。对于具有较大可移动块的较大电子设备而言,可存在可移动块的较大或较小的最小和最大移动范围。图4F-4G所示的示例描述了可移动块在1个维度中的移动,但是类似原理也适用于可移动块在两个或三个维度中的移动。
如图4F所示,每个触觉输出模式还具有对应的特征频率,其会影响用户从具有该特征频率的触觉输出所感觉到的触感的“强度(pitch)”。对于连续触觉输出而言,特征频率表示触觉输出发生器的可移动块在给定时间段内完成的周期数(例如,每秒的周期数)。对于离散触觉输出而言,生成离散输出信号(例如,具有0.5、1或2个周期),并且特征频率值指定可移动块需要移动多快才能生成具有该特征频率的触觉输出。如图4F所示,对于每种类型的触觉输出(例如,如由相应波形定义,诸如全震动、小震动或微震动)而言,较高频率值对应于可移动块的一个或多个较快移动,因此一般对应于完成触觉输出的较短时间(例如,包括完成离散触觉输出所需周期数的时间,加上开始和结束缓冲时间)。例如,特征频率为80Hz的全震动需要比特征频率为100Hz的全震动更长的时间完成(例如,图4F中35.4ms对28.3ms)。此外,对于给定频率而言,在相应频率下其波形中有更多周期的触觉输出需要比在相同相应频率下其波形中有更少周期的触觉输出更长的时间完成。例如,150Hz下的全震动需要比150Hz下的小震动更长的时间完成(例如,19.4ms对12.8ms),并且150Hz下的小震动需要比150Hz下的微震动更长的时间完成(例如,12.8ms对9.4ms)。然而,对于具有不同频率的触觉输出模式而言,该法则可能不适用(例如,具有更多周期但更高频率的触觉输出可能需要比具有更少周期但更低频率的触觉输出更短的时间量完成,反之亦然)。例如,在300Hz下,全震动需要与小震动一样长的时间(例如,9.9ms)。
如图4F所示,触觉输出模式还具有特征幅度,其影响触觉信号中所含的能量的量,或用户可通过具有该特征幅度的触觉输出所感觉到的触感的“强度”。在一些实施方案中,触觉输出模式的特征幅度是指表示在生成触觉输出时可移动块离中立位置的最大位移的绝对值或归一化值。在一些实施方案中,触觉输出模式的特征幅度可根据各种条件(例如,基于用户界面上下文和行为而定制)和/或预配置度量(例如,基于输入的度量和/或基于用户界面的度量),例如按固定的或动态确定的增益因数(例如,0与1之间的值)来调节。在一些实施方案中,基于输入的度量(例如,强度变化度量或输入速度度量)在触发触觉输出生成的输入期间测量输入的特征(例如,按压输入中的接触的特征强度的变化速率,或跨越触敏表面的接触的移动速率)。在一些实施方案中,基于用户界面的度量(例如,跨边界速度度量)在触发触觉输出生成的用户界面变化期间测量用户界面元素的特征(例如,跨越用户界面中隐藏或可见边界的元素的移动速度)。在一些实施方案中,触觉输出模式的特征幅度可由“包络”来调制,并且相邻周期的峰值可具有不同幅度,其中上文所示的波形之一进一步通过乘以包络参数来调节,该包络参数随时间推移而变化(例如,从0到1),从而在生成触觉输出时随时间推移而逐渐调节触觉输出的部分的幅度。
虽然出于示例性目的而在图4F的样本触觉输出模式中表示了具体频率、幅度和波形,但可出于类似目的而使用具有其他频率、幅度和波形的触觉输出模式。例如,可使用具有0.5至4个周期的波形。也可使用在60Hz-400Hz范围内的其他频率。表1提供了特定触觉反馈行为、配置的示例及其使用的示例。
表1
Figure BDA0002247829510000191
Figure BDA0002247829510000201
Figure BDA0002247829510000211
上表1所示的示例旨在说明可为不同输入和事件生成触觉输出的一系列情况。表1不应被当作是设备以所指示的触觉输出对每个所列输入或事件作出响应的要求。相反,表1旨在说明触觉输出如何变化和/或对于不同输入和/或事件是类似的(例如,基于触觉输出模式、频率、增益等)。例如,表1示出了“成功事件”触觉输出如何有别于“失败事件”触觉输出,以及重定目标触觉输出如何不同于冲击触觉输出。
应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件或它们的任何组合(包括一个或多个信号处理和/或专用集成电路)中实施。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如一个或多个CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可被用来将设备的输入和输出外围设备耦接到一个或多个CPU120和存储器102。一个或多个处理器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-HSPA)、长期演进(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还包括耳麦插孔(例如,图2A中的212)。耳麦插孔提供音频电路110和可移除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161和用于其他输入或控制设备的一个或多个输入控制器160。所述一个或多个输入控制器160从其他输入或控制设备116接收电信号/发送电信号到其他输入或控制设备116。其他输入或控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等等。在一些另选实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、触笔、和/或指针设备诸如鼠标。所述一个或多个按钮(例如,图2A中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。所述一个或多个按钮任选地包括下压按钮(例如,图2A中的206)。
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至触敏显示器系统112。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频和它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。如本文所用,术语“示能表示”是指用户交互式图形用户界面对象(例如,被配置为对指向图形用户界面对象的输入作出响应的图形用户界面对象)。用户交互式图形用户界面对象的示例包括但不限于按钮、滑块、图标、可选菜单项、开关、超链接或其他用户界面控制。
触敏显示器系统112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一些实施方案中,触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。
触敏显示器系统112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示器系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,所述多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一些实施方案中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的
Figure BDA0002247829510000241
iPod
Figure BDA0002247829510000242
Figure BDA0002247829510000243
发现的技术。
触敏显示器系统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耦接。在一些实施方案中,基于对从一个或多个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备100任选地除了一个或多个加速度计168之外还包括磁力仪(未示出)和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、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。
通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些
Figure BDA0002247829510000261
iPod
Figure BDA0002247829510000262
和iPod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些
Figure BDA0002247829510000271
iPod
Figure BDA0002247829510000272
和iPod设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如手指或触笔)接触检测相关的各种操作的各种软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,在触敏表面上检测手指轻扫手势包括检测手指按下事件、然后检测一个或多个手指拖动事件以及随后检测手指抬起(抬离)事件。类似地,对于触笔而言,任选地通过检测触笔的特定接触模式来检测轻击、轻扫、拖动和其他手势。
在一些实施方案中,检测单指轻击手势(例如,触敏显示器系统112上)取决于检测手指按下事件与手指抬起事件之间的时间长度,但独立于检测手指按下事件与手指抬起事件之间的手指接触的强度。在一些实施方案中,根据确定手指按下事件与手指抬起事件之间的时间长度小于预先确定的值(例如,小于0.1、0.2、0.3、0.4或0.5秒)来检测轻击手势,而独立于在轻击期间手指接触的强度是否符合给定强度阈值(大于标称接触检测强度阈值),诸如轻按压或深按压强度阈值。因此,单指轻击手势可满足被配置为即使在接触的特征强度不满足给定强度阈值时也将符合的输入标准。为清楚起见,轻击手势中的手指接触通常需要满足低于其就无法检测到接触的标称接触检测强度阈值,以便检测手指按下事件。类似的分析适用于检测触笔所作的轻击手势或其他接触。在设备被配置为检测悬停于触敏表面上方的手指或触笔接触的情况下,标称接触检测强度阈值任选地不对应于手指或触笔与触敏表面之间的物理接触。
相同概念以类似的方式适用于其他类型的手势。例如,任选地基于独立于手势中所包括的接触强度的标准的满足,来检测轻扫手势、捏合手势、张开手势和/或长按压手势(例如,触敏显示器系统112上)。例如,基于一个或多个接触的移动量来检测轻扫手势;基于两个或更多个接触朝向彼此的移动来检测捏合手势;基于两个或更多个接触远离彼此的移动来检测张开手势;并且基于在小于移动阈值量的情况下触敏表面上的接触的持续时间来检测长按压手势。这样,手势识别标准被配置为在手势中的接触具有低于相应强度阈值的强度时将符合的陈述,意指即使手势中的一个或多个接触未达到相应强度阈值,手势识别标准也能够满足。然而,应当理解,该陈述并不将手势识别标准排除在能在手势中的一个或多个接触达到或超过相应强度阈值的情况下满足之外。例如,轻击手势被配置为在预定义时间段内检测到手指按下和手指抬起事件的情况下检测,而不考虑接触在预定义时间段期间是高于还是低于相应强度阈值,并且轻扫手势被配置为在接触移动大于预定义量值的情况下检测,即便在接触移动结束时接触高于相应强度阈值。
接触强度阈值、持续时间阈值和移动阈值在一些情况下以多种不同的组合进行组合,以便形成启发法以用于区分指向相同输入元件或区域的两个或更多个不同手势,使得与相同输入元件的多个不同交互能够提供一组更丰富的用户交互和响应。特定组手势识别标准被配置为在手势中的接触具有低于相应强度阈值的强度时将符合的陈述,并不排除其他强度相关手势识别标准的并行评估以识别其他手势,所述其他手势具有在手势包括强度高于相应强度阈值的接触时符合的标准。例如,在一些情况下,第一手势的第一手势识别标准(其被配置为在手势具有低于相应强度阈值的强度时将符合)与第二手势的第二手势识别标准(其取决于达到相应强度阈值的手势)相竞争。在此类竞争中,如果首先符合第二手势的第二手势识别标准,则手势任选地不被识别为符合第一手势的第一手势识别标准。例如,如果在接触移动了预定义移动量之前接触达到相应强度阈值,则检测到深按压手势而非轻扫手势。相反,如果在接触达到相应强度阈值之前接触移动了预定义移动量,则检测到轻扫手势而非深按压手势。即使在此类情况下,第一手势的第一手势识别标准仍被配置为在手势中的接触具有低于相应强度的强度时将符合,因为如果接触保持低于相应强度阈值直至手势结束(例如,具有未增加到高于相应强度阈值的强度的接触的轻扫手势),则手势会被第一手势识别标准识别为轻扫手势。这样,被配置为在接触的强度保持低于相应强度阈值时将符合的特定手势识别标准将(A)在一些情况下忽略相对于强度阈值的接触的强度(例如,对于轻击手势而言)和/或(B)在一些情况下仍然取决于相对于强度阈值的接触的强度,从某种意义上讲,如果在特定手势识别标准识别对应于输入的手势(例如,对于识别时与深按压手势相竞争的长按压手势而言)之前一组竞争性的强度相关手势识别标准(例如,对于深按压手势而言)将输入识别为对应于强度相关手势,则特定手势识别标准(例如,对于长按压手势而言)将未达到。
图形模块132包括用于在触敏显示器系统112或其他显示器上呈现和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用等接收指定待显示的图形的一个或多个代码,在必要的情况下还接收坐标数据和其他图形属性数据,然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件(例如,由触觉反馈控制器161使用的指令),以便使用一个或多个触觉输出发生器167响应于用户与设备100的交互而在设备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、或IM 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显示的信息的用户界面状态信息、用于使得用户能够返回到应用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或者具有对数据更新器176、对象更新器177和GUI更新器178的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用136-1或应用视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述讨论还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地利用鼠标移动和鼠标按钮按压,任选结合单次或多次键盘按压或保持;触控板上的接触移动,例如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛运动;生物特征输入;和/或它们的任意组合作为对应于子事件的输入,定义要识别的事件。
图1C是示出根据一些实施方案的触觉输出模块的框图。在一些实施方案中,I/O子系统106(例如,触觉反馈控制器161(图1A)和/或一个或多个其他输入控制器160(图1A))包括图1C所示的至少一些示例性部件。在一些实施方案中,外围设备接口118包括图1C所示的至少一些示例性部件。
在一些实施方案中,触觉输出模块包括触觉反馈模块133。在一些实施方案中,触觉反馈模块133聚合和组合来自电子设备上的软件应用的用户界面反馈的触觉输出(例如,对用户输入作出响应的反馈,这些用户输入对应于所显示的用户界面和警示及其他指示电子设备用户界面中的操作执行或事件发生的通知)。触觉反馈模块133包括以下的一者或多者:波形模块123(用于提供生成触觉输出所用的波形)、混合器125(用于混合波形,诸如不同信道中的波形)、压缩器127(用于减小或压缩波形的动态范围)、低通滤波器129(用于滤除波形中的高频信号分量)和热控制器131(用于根据热状态来调节波形)。在一些实施方案中,触觉反馈模块133包括在触觉反馈控制器161(图1A)中。在一些实施方案中,触觉反馈模块133的独立单元(或触觉反馈模块133的独立实现)也包括在音频控制器(例如,音频电路110,图1A)中并且用于生成音频信号。在一些实施方案中,单个触觉反馈模块133用于生成音频信号并且生成触觉输出的波形。
在一些实施方案中,触觉反馈模块133还包括触发模块121(例如,确定将要生成触觉输出并且引发用于生成对应触觉输出的过程的软件应用、操作系统或其他软件模块)。在一些实施方案中,触发模块121生成触发信号以用于引发波形的生成(例如,通过波形模块123)。例如,触发模块121基于预设的定时标准来生成触发信号。在一些实施方案中,触发模块121从触觉反馈模块133外部接收触发信号(例如,在一些实施方案中,触觉反馈模块133从位于触觉反馈模块133外部的硬件输入处理模块146接收触发信号)并且将触发信号中继到触觉反馈模块133内的其他部件(例如,波形模块123)或软件应用,从而基于用户界面元素(例如,应用图标或应用内的示能表示)或硬件输入设备(例如,home按钮)的激活来触发操作(例如,使用触发模块121)。在一些实施方案中,触发模块121还接收触觉反馈生成指令(例如,来自触觉反馈模块133,图1A和图3)。在一些实施方案中,触发模块121响应于触觉反馈模块133(或触觉反馈模块133中的触发模块121)接收到触觉反馈指令(例如,来自触觉反馈模块133,图1A和图3)而生成触发信号。
波形模块123接收触发信号(例如,来自触发模块121)作为输入,并且响应于接收到触发信号,提供用于生成一个或多个触觉输出的波形(例如,选自以下的波形:被指定供波形模块123使用的预定义的一组波形,诸如下文参考图4F-4G更详细描述的波形)。
混合器125接收波形(例如,来自波形模块123)作为输入,并将波形混合在一起。例如,当混合器125接收两种或更多种波形(例如,第一信道中的第一波形以及第二信道中的与第一波形至少部分地重叠的第二波形)时,混合器125输出对应于所述两种或更多种波形之和的组合波形。在一些实施方案中,混合器125还修改所述两种或更多种波形的一种或多种波形,以相比于所述两种或更多种波形的其余波形强调一种或多种特定波形(例如,通过增加一种或多种特定波形的比例和/或减小其余波形的比例)。在一些情况下,混合器125选择要从组合波形去除的一种或多种波形(例如,当已请求由触觉输出发生器167同时输出来自超过三种来源的波形时,丢弃来自最旧来源的波形)。
压缩器127接收波形(例如,来自混合器125的组合波形)作为输入,并修改波形。在一些实施方案中,压缩器127减少波形(例如,根据触觉输出发生器167(图1A)或357(图3)的物理规格),使得对应于波形的触觉输出减少。在一些实施方案中,压缩器127限制波形,诸如通过强制执行波形的预定义最大幅度。例如,压缩器127降低超过预定义幅度阈值的波形部分的幅度,同时保持未超过预定义幅度阈值的波形部分的幅度。在一些实施方案中,压缩器127减小波形的动态范围。在一些实施方案中,压缩器127动态地减小波形的动态范围,使得组合波形保持在触觉输出发生器167的性能规格(例如,力和/或可移动块位移限度)内。
低通滤波器129接收波形(例如,来自压缩器127的压缩波形)作为输入,并且对波形进行滤波(例如,平滑处理)(例如,去除或减少波形中的高频信号分量)。例如,在一些情况下,压缩器127包括在压缩波形中干扰触觉输出的生成和/或在根据压缩波形来生成触觉输出时超过触觉输出发生器167的性能规格的外部信号(例如,高频信号分量)。低通滤波器129减少或去除波形中的此类外部信号。
热控制器131接收波形(例如,来自低通滤波器129的滤波后的波形)作为输入,并且根据设备100的热状态(例如,基于设备100内检测到的内部温度诸如触觉反馈控制器161的温度,和/或设备100所检测到的外部温度)来调节波形。例如,在一些情况下,触觉反馈控制器161的输出根据温度而变化(例如,触觉反馈控制器161响应于接收到相同波形,而在触觉反馈控制器161处于第一温度时生成第一触觉输出,并且在触觉反馈控制器161处于与第一温度不同的第二温度时生成第二触觉输出)。例如,触觉输出的量值(或幅度)可根据温度而变化。为了降低温度变化的影响,对波形进行修改(例如,基于温度来增大或减小波形的幅度)。
在一些实施方案中,触觉反馈模块133(例如,触发模块121)耦接到硬件输入处理模块146。在一些实施方案中,图1A中的一个或多个其他输入控制器160包括硬件输入处理模块146。在一些实施方案中,硬件输入处理模块146从硬件输入设备145(例如,图1A中的其他输入或控制设备116,诸如home按钮)接收输入。在一些实施方案中,硬件输入设备145是本文所述的任何输入设备,诸如触敏显示器系统112(图1A)、键盘/鼠标350(图3)、触控板355(图3)、其他输入或控制设备116之一(图1A)或强度敏感home按钮(例如,如图2B所示,或如图2C所示具有机械致动器的home按钮)。在一些实施方案中,硬件输入设备145包括强度敏感home按钮(例如,如图2B所示,或如图2C所示具有机械致动器的home按钮),而不包括触敏显示器系统112(图1A)、键盘/鼠标350(图3)或触控板355(图3)。在一些实施方案中,响应于来自硬件输入设备145的输入,硬件输入处理模块146向触觉反馈模块133提供一个或多个触发信号,以指示已检测到满足预定义输入标准的用户输入,诸如对应于home按钮“点击”(例如,“按下点击”或“松开点击”)的输入。在一些实施方案中,触觉反馈模块133响应于对应于home按钮“点击”的输入,而提供对应于home按钮“点击”的波形,从而模拟按压物理home按钮的触觉反馈。
在一些实施方案中,触觉输出模块包括控制触觉输出生成的触觉反馈控制器161(例如,图1A中的触觉反馈控制器161)。在一些实施方案中,触觉反馈控制器161耦接到多个触觉输出发生器,并且选择所述多个触觉输出发生器的一个或多个触觉输出发生器,并将波形发送到所选择的一个或多个触觉输出发生器以便生成触觉输出。在一些实施方案中,触觉反馈控制器161协调对应于硬件输入设备145的激活的触觉输出请求和对应于软件事件的触觉输出请求(例如,来自触觉反馈模块133的触觉输出请求),并且修改所述两种或更多种波形的一种或多种波形,以相比于所述两种或更多种波形的其余波形强调一种或多种特定波形(例如,通过增加一种或多种特定波形的比例和/或减小其余波形的比例,诸如对应于硬件输入设备145的激活的触觉输出的优先级高于对应于软件事件的触觉输出)。
在一些实施方案中,如图1C所示,触觉反馈控制器161的输出耦接到设备100的音频电路(例如,音频电路110,图1A),并且向设备100的音频电路提供音频信号。在一些实施方案中,触觉反馈控制器161提供用于生成触觉输出的波形以及用于结合触觉输出的生成一起提供音频输出的音频信号。在一些实施方案中,触觉反馈控制器161修改音频信号和/或波形(用于生成触觉输出),使得音频输出和触觉输出同步(例如,通过延迟音频信号和/或波形)。在一些实施方案中,触觉反馈控制器161包括用于将数字波形转换成模拟信号的数模转换器,模拟信号由放大器163和/或触觉输出发生器167接收。
在一些实施方案中,触觉输出模块包括放大器163。在一些实施方案中,放大器163接收波形(例如,来自触觉反馈控制器161)并且放大波形,之后将放大的波形发送到触觉输出发生器167(例如,触觉输出发生器167(图1A)或357(图3)中的任一者)。例如,放大器163将所接收的波形放大到根据触觉输出发生器167的物理规格的信号电平(例如,放大到触觉输出发生器167为生成触觉输出而需要的电压和/或电流,使得发送到触觉输出发生器167的信号产生对应于接收自触觉反馈控制器161的波形的触觉输出),并且将放大的波形发送到触觉输出发生器167。作为响应,触觉输出发生器167生成触觉输出(例如,通过使可移动块在一个或多个维度中相对于可移动块的中立位置来回移动)。
在一些实施方案中,触觉输出模块包括传感器169,该传感器耦接到触觉输出发生器167。传感器169检测触觉输出发生器167或触觉输出发生器167的一个或多个部件(例如,用于生成触觉输出的一个或多个移动部件,诸如膜)的状态或状态变化(例如,机械位置、物理位移和/或移动)。在一些实施方案中,传感器169是磁场传感器(例如,霍尔效应传感器)或其他位移和/或移动传感器。在一些实施方案中,传感器169向触觉反馈控制器161提供信息(例如,触觉输出发生器167中的一个或多个部件的位置、位移和/或移动),并且根据传感器169提供的有关触觉输出发生器167状态的信息,触觉反馈控制器161调节从触觉反馈控制器161输出的波形(例如,任选地经由放大器163发送到触觉输出发生器167的波形)。
图1D-1E是示出根据一些实施方案的独立于应用的软件模块的框图。
图1D示出触觉反馈模块133接收有关与设备100的用户交互的信息。触觉反馈模块133响应于接收到该信息,生成触觉反馈生成指令并提供给触觉反馈控制器161,该触觉反馈控制器继而将指令发送到触觉输出发生器167以便生成触觉输出。在一些实施方案中,触觉反馈模块133对应于附录A中所示的合成器和/或附录B中的AVHapticPlayer。
在一些实施方案中,应用(例如,应用1(136-1))将有关与设备100的用户交互的信息(例如,信息272)发送到独立于应用的软件模块260,该独立于应用的软件模块处理该信息,并且将经处理的信息(例如,与信息272不同的信息274)发送到触觉反馈模块133。在一些实施方案中,应用对应于附录A和B中所示的客户端应用。
在一些实施方案中,独立于应用的软件模块260与应用不同且与之分开,如图1D所示。在一些实施方案中,独立于应用的软件模块260包括UIKit,并且更具体地讲,包括附录A和B中所示的UIKit中的UIFeedbackGenerator。
在一些实施方案中,应用使用附录A和B中所述的各种功能和对象来与独立于应用的软件模块260进行通信。
图1E类似于图1D,不同的是应用1(136-1,诸如电子邮件客户端应用)和应用2(136-2,诸如浏览器应用)各自包括独立于应用的软件模块260的不同实例(例如,不同拷贝)。此外,这些应用(例如,应用1和应用2)各自包括特定于应用的应用核心(例如,应用1(136-1)包括应用核心1(270-1),和/或应用2(136-2)包括应用核心2(270-2))。例如,应用核心1(270-1)包括用于执行特定于应用1(136-1)的操作(例如,从一个或多个电子邮件服务器检索电子邮件)的指令,并且应用核心2(260-2)包括用于执行特定于应用2(136-2)的操作(例如,收藏网页)的指令。
图1E还示出应用核心(例如,应用核心1(270-1)从独立于应用的软件模块260或独立于应用的软件模块260的实例接收用户交互模型。在一些实施方案中,用户交互模型包括识别多种用户界面元素类型272(例如,滑块对象272-1、开关对象272-2等)和相关联的用户界面响应274的信息。在一些实施方案中,用户界面响应包括识别要结合与对应用户界面元素的用户交互一起生成的触觉输出的信息(例如,由滑块对象类型272-1表示的滑块对象与触觉输出274-1相关联,并且由开关对象类型272-2表示的开关对象与触觉输出274-2相关联)。例如,触觉输出274-1定义要在对应滑块移动时和/或在滑块达到滑块的末端时生成哪些触觉输出,并且触觉输出274-2定义要在对应开关对象接通和/或断开时生成哪些触觉输出。
在一些实施方案中,用户交互模型是预定义的类(例如,定义显示器上的区域及用于管理该区域中的内容的界面的UIView类)。在运行时间,准备视图对象(例如,创建UIView类的实例)以处理对应区域中的内容的呈现,并且还处理与该内容的交互。在一些实施方案中,UIView类包括一种或多种子类,诸如被配置用于实现具体动作所用的视觉元素的UIControl类、被配置用于显示和编辑信息分级列表的UITableView类、被配置用于显示时间轮以允许用户选择日期和/或时间的UIDatePicker类、被配置用于从连续值范围选择单个值的UISlider类、以及被配置用于显示大于对应显示区域的内容的UIScrollView类。在一些实施方案中,UITableView类、UIDatePicker类、UISlider类和UIScrollView类是UIControl类的子类。
图2A示出根据一些实施方案的具有触摸屏(例如,触敏显示器系统112,图1A)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在这些实施方案中以及在下文所述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中不按比例绘制)或一个或多个触笔203(在图中不按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对这一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用图标上方扫动的轻扫手势任选地不会选择对应的应用。
设备100任选地还包括一个或多个物理按钮,诸如“home”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用中的任何应用136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器112上的GUI中的软按键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204(有时称为home按钮204)、用于使设备开/关机和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预定义的时间间隔来使设备通电/断电;通过按下按钮并在经过所述预定义的时间间隔之前释放按钮来锁定设备;和/或对设备解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。
在一些实施方案中,应用(例如,应用的应用核心,诸如应用核心1(270-1))通过向用户交互模型中识别的用户界面元素(例如,滑块)填充应用核心提供的内容来生成用户界面(例如,应用核心1(270-1)提供滑块元素的范围及主和副刻度标记的位置和/或值)。
在一些实施方案中,应用将用户界面发送到图形模块132以供显示。
在一些实施方案中,应用从接触/运动模块130接收表示与设备100的用户交互的信息。在一些实施方案中,应用将表示与设备100的用户交互的信息中继到独立于应用的软件模块或其实例(例如,260-1),并且独立于应用的软件模块将该信息或其子集发送到触觉反馈模块133以便生成触觉输出。在一些实施方案中,应用还发送识别所选择的用户界面的一个或多个维度的信息。在一些实施方案中,表示与设备100的用户交互的信息包括用户输入的量值(例如,速率)和/或位置。
在一些实施方案中,触觉反馈模块133直接从接触/运动模块130(例如,不经过应用)接收表示与设备100的用户交互的信息。
图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任选地包括远离一个或多个CPU 310定位的一个或多个存储设备。在一些实施方案中,存储器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,该图标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(例如,平板或触摸板355,图3)的设备(例如,设备300,图3)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器357中的一个或多个传感器)、和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出以下示例中的许多示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施方案中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(图4B中的450)分开时,由设备在触敏表面上检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
此外,虽然主要是参考手指输入(例如,单指接触、单指轻击手势、单指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个由来自另一输入设备的输入(例如,触笔输入)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个手指接触、或手指接触与触笔输入的组合被同时使用。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触或触笔接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量值被合并(例如,加权平均或者加和)以确定估计的接触的力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变化以及/或者接触附近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代测量值直接用于确定是否已超过强度阈值(例如,强度阈值以与替代测量值对应的单位描述)。在一些具体实施中,将接触力或压力的替代测量值转换为预估力或压力,并且使用预估力或压力确定是否已超过强度阈值(例如,强度阈值是以压力单位测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件诸如旋钮或按钮)的实地面积有限的尺寸更小的设备上本来不能容易地访问的附加设备功能。
在一些实施方案中,接触/运动模块130使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备100的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设定为预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点击一次调节多个强度阈值)的软件设置。
如说明书和权利要求书中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特性强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬起之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值、在预定义时间段内或在预定义时间开始对接触强度进行低通滤波而产生的值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将特性强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值可包括第一强度阈值和第二强度阈值。在本示例中,特征强度未超过第一强度阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,并且特征强度超过第二强度阈值的接触导致第三操作。在一些实施方案中,使用特征强度和一个或多个强度阈值之间的比较来确定是否要执行一个或多个操作(例如,是否执行相应选项或放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。
在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触敏表面可接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结束位置(例如拖动手势),在该结束位置处,接触的强度增加。在该示例中,接触在结束位置处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,仅结束位置处的轻扫接触部分)。在一些实施方案中,可在确定接触的特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,目的是确定特征强度。
本文所述的用户界面图任选地包括各种强度图,这些强度图示出触敏表面上的接触相对于一个或多个强度阈值(例如,接触检测强度阈值IT0、轻按压强度阈值ITL、深按压强度阈值ITD(例如,至少初始高于ITL)和/或一个或多个其他强度阈值(例如,低于ITL的强度阈值ITH))的当前强度。该强度图通常不是所显示的用户界面的一部分,但是被提供以帮助解释所述图。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标的按钮或触控板相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值IT0,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有陈述,否则这些强度阈值在不同组的用户界面图之间是一致的。
在一些实施方案中,设备对设备所检测到的输入的响应取决于基于输入期间的接触强度的标准。例如,对于一些“轻按压”输入,在输入期间超过第一强度阈值的接触的强度触发第一响应。在一些实施方案中,设备对设备所检测到的输入的响应取决于这样的标准,所述标准包括输入期间的接触强度和基于时间的标准。例如,对于一些“深按压”输入,在输入期间超过第二强度阈值(大于轻按压的第一强度阈值)的接触的强度只有在符合第一强度阈值与符合第二强度阈值之间经过了延迟时间,才会触发第二响应。该延迟时间通常小于200ms(毫秒)的持续时间(例如,40、100或120ms,具体取决于第二强度阈值的量值,其中延迟时间随第二强度阈值增大而增加)。这个延迟时间有助于避免意外识别深按压输入。又如,对于一些“深按压”输入,在达到第一强度阈值之后会出现敏感度降低的时间段。在这个敏感度降低的时间段期间,提高第二强度阈值。第二强度阈值的该临时增大还有助于避免意外的深按压输入。对于其他深按压输入,对检测到深按压输入的响应不取决于基于时间的标准。
在一些实施方案中,输入强度阈值和/或对应输出中的一者或多者基于一种或多种因素而变化,所述因素诸如为用户设置、接触运动、输入定时、应用运行、施加强度的速率、并行输入的数量、用户历史、环境因素(例如,环境噪声)、焦点选择器位置等。示例性的因素在美国专利申请序列号14/399,606和14/624,296中有所描述,这些美国专利申请全文以引用方式并入本文中。
例如,图4C示出动态强度阈值480,该动态强度阈值部分地基于触摸输入476随时间推移的强度而随时间变化。动态强度阈值480是两个分量之和,即,自初始检测到触摸输入476时起的预定义延迟时间p1之后随时间推移而衰减的第一分量474,以及跟踪触摸输入476随时间推移的强度的第二分量478。第一分量474的初始高强度阈值降低了“深按压”响应的意外触发,同时仍能在触摸输入476提供足够强度时实现立即“深按压”响应。第二分量478降低了触摸输入中的逐渐强度波动所引起的“深按压”响应的无意触发。在一些实施方案中,当触摸输入476满足动态强度阈值480(例如,图4C中的点481处)时,触发“深按压”响应。
图4D示出另一个动态强度阈值486(例如,强度阈值ID)。图4D还示出两个其他强度阈值:第一强度阈值IH和第二强度阈值IL。在图4D中,虽然在时间p2之前触摸输入484满足第一强度阈值IH和第二强度阈值IL,但直到在时间482时经过了延迟时间p2,才提供响应。另外在图4D中,动态强度阈值486随时间推移而衰减,其中该衰减在自时间482起经过了预定义延迟时间p1之后在时间488时开始(当触发了与第二强度阈值IL相关联的响应时)。该类型的动态强度阈值降低了在紧随触发与较低强度阈值诸如第一强度阈值IH或第二强度阈值IL相关联的响应之后或与之同时,与动态强度阈值ID相关联的响应的意外触发。
图4E示出又一个动态强度阈值492(例如,强度阈值ID)。在图4E中,在自初始检测到触摸输入490时起经过了延迟时间p2之后,触发与强度阈值IL相关联的响应。同时,在自初始检测到触摸输入490时起经过了预定义延迟时间p1之后,动态强度阈值492衰减。因此在触发与强度阈值IL相关联的响应之后触摸输入490的强度减小,随后触摸输入490的强度增加而不释放触摸输入490,这可触发与强度阈值ID相关联的响应(例如,在时间494时),即使当触摸输入490的强度低于另一个强度阈值例如强度阈值IL时,也是如此。
接触特征强度从低于轻按压强度阈值ITL的强度增大到介于轻按压强度阈值ITL与深按压强度阈值ITD之间的强度有时被称为“轻按压”输入。接触特征强度从低于深按压强度阈值ITD的强度增大到高于深按压强度阈值ITD的强度有时被称为“深按压”输入。接触特征强度从低于接触检测强度阈值IT0的强度增大到介于接触检测强度阈值IT0与轻按压强度阈值ITL之间的强度有时被称为检测到触摸表面上的接触。接触特征强度从高于接触检测强度阈值IT0的强度减小到低于接触检测强度阈值IT0的强度有时被称为检测到接触从触摸表面抬起。在一些实施方案中,IT0为零。在一些实施方案中,IT0大于零。在一些图示中,阴影圆或椭圆用于表示触敏表面上的接触强度。在一些图示中,没有阴影的圆或椭圆用于表示触敏表面上的相应接触而不指定相应接触的强度。
在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入强度阈值来执行相应操作(例如,在相应按压输入的“向下冲程”上执行相应操作)。在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。
在一些实施方案中,设备采用强度滞后以避免有时称为“抖动”的意外输入,其中设备限定或选择与按压输入强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入强度阈值低X个强度单位,或滞后强度阈值是按压输入强度阈值的75%、90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。
为了容易解释,任选地,响应于检测到以下情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触的强度增大到高于按压输入强度阈值、接触的强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触的强度减小到低于按压输入强度阈值、或接触的强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。如上所述,在一些实施方案中,这些响应的触发还取决于符合基于时间的标准(例如,在符合第一强度阈值与符合第二强度阈值之间经过了延迟时间)。
虽然出于示例性目的而在图4F的样本触觉输出模式中仅表示了具体频率、幅度和波形,但可出于类似目的而使用具有其他频率、幅度和波形的触觉输出模式。例如,可使用具有0.5至4个周期的波形。也可使用在60Hz-400Hz范围内的其他频率。
用户界面和相关联的过程
现在将注意力转到用户界面(“UI”)和相关联的过程的实施方案,它们可在具有显示器、触敏表面和一个或多个传感器的电子设备诸如便携式多功能设备100或设备300上实现,以检测与触敏表面的接触的强度。
图5A-5KKK示出根据一些实施方案的示例性用户界面和相关联的触觉输出。这些附图中的用户界面被用于阐示在下面描述的过程,包括图6A-6D、8A-8D、10A-10D、12A-12D、14A-14B、16A-16D、18A-18C和20A-20B中的过程。为了便于解释,将参考在具有触敏显示器系统112的设备上执行的操作来讨论一些实施方案。然而,响应于在显示器450上显示附图中所示的用户界面以及焦点选择器时在触敏表面451上检测到接触,任选地在具有显示器450和独立触敏表面451的设备上执行类似操作。
图5A-5H示出根据一些实施方案的用于显示触觉输出和音频输出的控制设置的用户界面。为了便于解释,在图5A-5H中所示的示例中,用户界面500在相同用户界面中示出触觉输出设置和两个音频输出设置。在其他实施方案中,可相反在与用于呈现音频设置(例如,用户界面500中所示的音频输出设置)的一个或多个用户界面分开的一个或多个用户界面中呈现触觉输出设置(例如,包括用户界面500中所示的触觉输出设置)。图5A-5H示出用户界面500在便携式多功能设备100的触摸屏112上显示。
图5A示出用户界面500包括由标签501“滑块振动”指示的用于控制滑块振动设置的滑块振动控制区域,以及对应的开关对象502。开关对象502控制滑块振动设置的状态。图5A示出开关对象502初始在左位置(例如,对应于滑块振动设置的“关”状态)。
图5A中的用户界面500还包括由标签“音量”指示的用于控制音频音量水平的音频音量控制区域,以及设定为与音量滑块位置505相对应的音频音量水平的对应音量滑块504。此外,用户界面500包括由标签“平衡”指示的用于控制音频平衡设置的音频平衡控制区域,以及设定为与平衡滑块位置507相对应的音频平衡设置的对应平衡滑块506。在一些实施方案中,设备100包括一个或多个音频扬声器(例如,一个或多个扬声器111,图1A)。在一些实施方案中,设备100使用设备100中包括的所述一个或多个音频扬声器来生成音频输出。在一些实施方案中,设备100将音频控制信号传输到设备100之外的一个或多个外部音频扬声器。在一些实施方案中,音量滑块504所表示的音频音量设置基于来自设备100的音频控制信号,来控制设备100所生成的(例如,包括在设备100中的一个或多个音频扬声器所生成的)和/或所述一个或多个外部音频扬声器所生成的音频输出的音量。在设备100包括多个音频扬声器(例如,多个扬声器111,图1A)的一些实施方案中,平衡滑块506所表示的音频平衡设置控制所述多个音频扬声器之间的音频输出分布。在设备100将音频控制信号传输到多个外部音频扬声器的一些实施方案中,平衡滑块506所表示的音频平衡设置控制所述多个外部音频扬声器之间的音频输出分布。例如,如图5A所示,平衡滑块506所表示的音频平衡设置控制被标记为“L”的扬声器(例如,左音频声道扬声器)与被标记为“R”的扬声器(例如,右音频声道扬声器)之间的音频输出分布。
图5B示出用户界面500从图5A中的用户界面500的转变。具体地讲,图5B示出在显示如图5A中所呈现的用户界面500时检测到的用户输入503(例如,轻击手势)。响应于检测到用户输入503,开关对象502从左位置切换到右位置(例如,根据用户输入503切换开关对象502,滑块振动设置从“关状态”切换到“开”状态)。另外,响应于检测到用户输入503,设备100生成触觉输出508(例如,中频微震动(150Hz),最大增益:0.8,最小增益:0.0)。
图5C-5E示出用户界面500从图5B中的用户界面500的一系列转变。具体地讲,图5C-5E示出响应于音量滑块位置505相对于音量滑块504的变化而生成触觉输出。在一些实施方案中,如图5C-5E中所示,使用与相应音量滑块位置所指示的相应音频音量水平相对应的触觉输出水平(例如,增益)来生成触觉输出。
例如,图5C示出用户输入509朝设备100左边缘的移动(例如,用户输入509是从与如图5B所示音量滑块位置505相对应的位置处的初始接触向左的输入手势,诸如拖动手势)。响应于用户输入509,音量滑块504所指示的音频音量水平改变为对应于音量滑块位置505-b的音频音量水平(例如,从对应于图5B音量滑块位置505的音频音量水平改变)。此外,设备100生成触觉输出510。根据音量滑块位置505-b指示接近最小音频音量水平(例如,零音频音量)的音频音量水平,触觉输出510生成为轻触觉输出(例如,增益为0.1的中频微震动(150Hz))。
图5D示出用户界面500从图5C中的用户界面500的转变。具体地讲,图5D示出用户输入509远离设备100左边缘的移动。响应于用户输入509,音量滑块504所指示的音频音量水平改变为对应于音量滑块位置505-c的音频音量水平(例如,从对应于图5C音量滑块位置505-b的音频音量水平改变)。此外,设备100生成触觉输出511。根据音量滑块位置505-c指示接近中等音频音量水平的音频音量水平,触觉输出511生成为中等触觉输出(例如,增益为0.4的中频微震动(150Hz))。
图5E示出用户界面500从图5D中的用户界面500的转变。具体地讲,图5E示出用户输入509朝设备100右边缘的移动。响应于用户输入509,音量滑块504所指示的音频音量水平改变为对应于音量滑块位置505-d的音频音量水平(例如,从对应于图5D音量滑块位置505-c的音频音量水平改变)。此外,设备100生成触觉输出512。根据音量滑块位置505-d指示接近最大音频音量水平的音频音量水平,触觉输出512生成为强触觉输出(例如,增益为0.7的中频微震动(150Hz))。
图5F示出用户界面500从图5E中的用户界面500的转变。具体地讲,图5F示出用户输入509朝设备100右边缘的继续移动。响应于用户输入509,音量滑块504所指示的音频音量水平改变为对应于音量滑块位置505-e的音频音量水平(例如,从对应于图5E音量滑块位置505-d的音频音量水平改变)。在图5F中所示的示例中,音量滑块位置505-e是音量滑块504的末端位置(例如,对应于最大音频音量水平)。因此,设备100生成触觉输出513(例如,中频微震动(150Hz),最大增益:0.6,最小增益:0.3)以指示已达到音量滑块504的末端。
图5G-5H示出用户界面500从图5F中的用户界面500的一系列转变。具体地讲,图5G-5H示出响应于平衡滑块位置507相对于平衡滑块506的变化而生成触觉输出。如上文针对图5A所讨论,平衡滑块506所表示的音频平衡设置控制被标记为“L”的扬声器(例如,左音频声道扬声器)与被标记为“R”的扬声器(例如,右音频声道扬声器)之间的音频输出分布。在一些实施方案中,如图5G-5H中所示,使用与相应平衡滑块位置所指示的相应音频平衡设置相对应的触觉输出水平(例如,增益)来生成触觉输出。
例如,图5G示出用户输入514朝设备100左边缘的移动(例如,用户输入514是从与如图5F所示平衡滑块位置507相对应的位置处的初始接触向左的输入手势,诸如拖动手势)。响应于用户输入514,平衡滑块506所指示的音频平衡设置(例如,从对应于图5F平衡滑块位置507的音频平衡设置)改变为对应于平衡滑块位置507-b的音频平衡设置。如图5G中所示,平衡滑块位置507-b接近平衡滑块506的边缘(例如,左边缘)。在一些实施方案中,平衡滑块位置507-b指示接近于对“L”扬声器的音频输出的最大分配且接近于对“R”扬声器的音频输出的最小分配的音频平衡设置。响应于用户输入514,设备100生成左侧触觉输出515-a(例如,使用位于设备100左区域中的一个或多个触觉输出发生器167,图1A)和右侧触觉输出515-b(例如,使用位于设备100右区域中的一个或多个触觉输出发生器167,图1A)。此外,根据平衡滑块位置507-b指示接近于对“L”扬声器的音频输出的最大分配的音频平衡设置,左侧触觉输出515-a生成为强触觉输出(例如,增益为0.7的中频微震动(150Hz))。根据平衡滑块位置507-b指示接近于对“R”扬声器的音频输出的最小分配的音频平衡设置,右侧触觉输出515-b生成为轻触觉输出(例如,增益为0.1的中频微震动(150Hz))。
图5H示出用户界面500从图5G中的用户界面500的转变。具体地讲,图5H示出用户输入514远离设备100左边缘且朝右边缘的移动。响应于用户输入514,平衡滑块506所指示的音频平衡设置(例如,从对应于图5G平衡滑块位置507-b的音频平衡设置)改变为对应于平衡滑块位置507-c的音频平衡设置。如图5H中所示,平衡滑块位置507-c接近平衡滑块506的边缘(例如,右边缘)。在一些实施方案中,平衡滑块位置507-c指示接近于对“R”扬声器的音频输出的最大分配且接近于对“L”扬声器的音频输出的最小分配的音频平衡设置。响应于用户输入514,设备100生成左侧触觉输出516-a(例如,使用位于设备100左区域中的一个或多个触觉输出发生器167,图1A)和右侧触觉输出516-b(例如,使用位于设备100右区域中的一个或多个触觉输出发生器167,图1A)。此外,根据平衡滑块位置507-c指示接近于对“R”扬声器的音频输出的最大分配的音频平衡设置,右侧触觉输出516-b生成为强触觉输出(例如,增益为0.7的中频微震动(150Hz))。根据平衡滑块位置507-c指示接近于对“L”扬声器的音频输出的最小分配的音频平衡设置,左侧触觉输出516-a生成为轻触觉输出(例如,增益为0.1的中频微震动(150Hz))。
图5I-5J示出根据一些实施方案用于在用户输入跨越所显示的菜单项时生成触觉输出的示例性用户界面。具体地讲,图5I示出在触摸屏112上的与用户界面520中的键盘界面菜单图标522相对应的位置处检测到的用户输入521(例如,接触)。响应于检测到用户输入521,显示键盘界面菜单523。键盘界面菜单523包括表示键盘界面选项的多个所显示的菜单项示能表示,包括键盘选项示能表示524(用于选择英语键盘界面)、键盘选项示能表示525(用于选择表情符号键盘界面)和键盘选项示能表示526(用于选择法语键盘界面)。在用户界面521移动之前,在键盘选项示能表示524上显示当前选择指示(例如,阴影),以指示对应于键盘选项示能表示524的键盘界面(例如,英语键盘界面)是当前显示的键盘界面。
图5J示出用户界面520随时间推移从图5I中的520的一系列转变。图5J示出用户输入521(例如,用户输入521是从与如图5I中所示键盘选项菜单图标522相对应的位置处的初始接触起的连续输入手势)跨越键盘选项菜单523的所显示的菜单项示能表示。在T=t1时,用户输入521已朝键盘选项示能表示526移动,但尚未到达对应于键盘选项示能表示526(例如,激活对其的选择)的位置。因此,继续在键盘选项示能表示526上显示当前选择指示。
在T=t2时,用户输入521已移动到激活对键盘选项示能表示526的选择的位置。根据用户输入521激活对键盘选项示能表示526的选择,生成触觉输出528(例如,高频微震动(270Hz),增益:0.4)。此外,在键盘选项示能表示526上显示当前选择指示(例如,阴影),以指示键盘选项示能表示526是当前选择的键盘选项示能表示。因此,不再在键盘选项示能表示524上显示当前选择指示。在一些实施方案中,在键盘选项示能表示526上显示当前选择指示时停止检测用户输入521后,对应于键盘选项示能表示526的键盘界面变成当前显示的键盘界面。
在T=t3时,用户输入521已朝键盘选项525移动,但尚未到达对应于键盘选项示能表示525(例如,激活对其的选择)的位置。因此,继续在键盘选项示能表示526上显示当前选择指示。
在T=t4时,用户输入521已移动到激活对键盘选项示能表示525的选择的位置。根据用户输入521激活对键盘选项示能表示525的选择,生成触觉输出529。在一些实施方案中,根据用户输入激活对菜单(例如,键盘界面菜单523)中的相应菜单项示能表示(例如,键盘选项示能表示524,525,526之一)的选择来生成触觉输出。在一些实施方案中,根据用户输入激活对与先前所选的菜单项不同的相应菜单项示能表示的选择来生成触觉输出。在一些实施方案中,根据用户输入激活对键盘界面菜单523中的相应菜单项示能表示的选择而生成的触觉输出为相同类型。例如,在T=t4时根据用户输入521激活对键盘选项示能表示525的选择而生成的触觉输出529,是与在T=t3时根据用户输入521激活对键盘选项示能表示526的选择而生成的触觉输出528相同类型的触觉输出(例如,高频微震动(270Hz),增益:0.4)。
图5K-5O示出根据一些实施方案用于在可移动部件根据一个或多个滚动输入而旋转时生成触觉输出的示例性用户界面。在图5K-5O中所示的示例中,触摸屏112上显示的用户界面530包括时间选取器的用户界面(例如,通过使用附录B中所述的UIDatePicker类所生成)。用户界面530包括可移动部件531,该可移动部件进一步包括可移动元素,例如用于从0-23小时选择小时值的小时轮532,以及用于从0-59分钟选择分钟值的分钟轮533。在一些实施方案中,用户界面530是日期选取器(例如,包括用于分别从多个年、月和日数值选择一个年、月和日数值的可移动部件)。在一些实施方案中,在可移动部件531或可移动部件531的可移动元素(诸如小时轮532或分钟轮533)通过相应标记(例如,由静态指示符(诸如用于小时轮532的“小时”或用于分钟轮533的“分钟”)标记的位置)时生成触觉输出。
图5K-5O示出移动分钟轮533以及与移动分钟轮533相关联地生成的触觉输出。图5K示出可移动部件531的分钟轮533初始显示所选择的“59分钟”分钟值。此外,图5K示出设备100在对应于分钟轮533的触摸屏112上的位置处检测到的用户输入534(例如,滚动输入)。在一些实施方案中,用户输入532包括接触从对应于分钟轮533的初始位置的向下移动以及后续的接触抬起。
图5L-5O示出响应于检测到用户输入534,分钟轮533通过相应标记。在一些实施方案中,如图5L-5O中所示,在设备100停止检测用户输入534(例如,检测到用户输入534的接触的抬起)之后,分钟轮533继续根据惯性矩移动(例如,旋转),并且该继续移动逐渐减速直至分钟轮533停止。
图5L示出了响应于用户输入534,分钟轮533已移动到分钟值“58分钟”。根据分钟轮533移动到分钟值“58分钟”,设备100生成触觉输出535(例如,增益为0.4且最小间隔0.05秒的高频微震动(270Hz))。在一些实施方案中,设备100还生成音频输出(例如,伴随触觉输出的音频输出)。
图5M示出分钟轮533已移动到分钟值“56分钟”(例如,在通过分钟值“57分钟”之后)。在一些实施方案中,当分钟轮533响应于用户输入(例如,响应于轻弹手势)而快速移动时,放弃生成与移动到相应标记的分钟轮533相对应的触觉输出。例如,时间间隔由以下两个时间点确定:与最近生成的触觉输出相对应的时间点,以及与对应于移动到相应标记的分钟轮533的预期触觉输出相对应的时间点。在一些实施方案中,根据确定该时间间隔小于阈值(例如,0.05秒),放弃生成与移动到相应标记的分钟轮533相对应的触觉输出。例如,如图5M中所示,在分钟轮533移动到“56分钟”时不生成触觉输出,因为与最近生成的触觉输出(例如,对应于图5L经过“58分钟”的分钟轮533的触觉输出535)的生成相对应的时间和与对应于经过“56分钟”的分钟轮533的触觉输出的预期生成相对应的时间之间的时间间隔小于阈值。换句话说,在达到触觉输出速率限度,例如所确定的时间间隔小于最小间隔阈值(例如,0.05秒)时,跳过触觉输出。
图5N示出分钟轮533已移动到分钟值“54分钟”(例如,在通过分钟值“55分钟”之后)。如图5N中所示,结合分钟轮533移动到分钟值“54分钟”,设备100生成触觉输出536(例如,增益为0.4且最小间隔0.05秒的高频微震动(270Hz))。在一些实施方案中,在对应于最近生成的触觉输出(例如,对应于图5L经过“58分钟”的分钟轮533的触觉输出535)的时间与对应于触觉输出536的时间之间确定时间间隔。在一些实施方案中,根据所确定的时间间隔至少为(例如,大于或等于)阈值来生成触觉输出536。
图5O示出分钟轮533已移动到分钟值“53分钟”(例如,从图5N分钟值“54分钟”)。如图5O中所示,在分钟轮533移动到“53分钟”时不生成触觉输出,因为与最近生成的触觉输出(例如,对应于图5N经过“54分钟”的分钟轮533的触觉输出536)的生成相对应的时间和与对应于经过“53分钟”的分钟轮533的触觉输出的预期生成相对应的时间之间的时间间隔小于阈值。
图5P-5II示出示例性用户界面,其用于生成触觉输出以指示与用户界面元素相关联的阈值。
图5P-5W示出示例性用户界面,其用于生成触觉输出以指示与电子邮件应用(例如,电子邮件客户端模块140,图1A和3)中的电子邮件概要项列表相关联的阈值,诸如用于刷新电子邮件应用中显示的内容的阈值。在一些实施方案中,使用附录B中所述的UIRefreshControl类来生成示例性用户界面。在图5P-5W中所示的示例中,用户界面540包括电子邮件概要项列表,该列表包括电子邮件概要项541,542和543。虚线(通常不向用户显示)表示电子邮件概要项列表的边缘549(例如,顶部边缘)。电子邮件概要项列表的当前状态(例如,“刚刚更新”)由状态指示符字段547指示。被标记为Dth的第二条虚线指示用于刷新用户界面540的电子邮件概要项列表中显示的内容的移动阈值。
在图5P中,设备100检测对应于电子邮件概要项列表(例如,对应于电子邮件概要项541)的触摸屏112上的位置处的用户输入544(例如,接触)。
图5Q示出用户界面540从图5P中的用户界面540的转变。具体地讲,图5Q示出用户输入544的向下移动(例如,用户输入是拖动手势,其包括如图5P中所示触摸屏112上的初始接触,之后是接触的向下移动。)响应于用户输入544的向下移动,电子邮件概要项列表向下移动(例如,电子邮件概要项541,542和543在用户界面540中向下移动),并且因此电子邮件概要项列表的边缘549向下移动。在一些实施方案中,响应于用户输入544,在通过电子邮件概要项列表向下移动而显现的电子邮件概要项列表上方的区域中显示进度指示符548。进度指示符548指示例如用户输入544的移动是否符合用于刷新电子邮件概要项列表的刷新标准和/或是否正在进行刷新过程以下载和呈现新接收到的电子邮件。如图5Q中所示,在用户输入544跨越移动阈值Dth之前,进度指示符548以进度指示符轮辐的不完整的环显示。
图5R示出用户界面540从图5Q中的用户界面540的转变。具体地讲,图5R示出用户输入544从如图5Q中所示的其位置进一步向下移动(例如,图5Q中所示的拖动手势的延续)。响应于用户输入544的向下移动,电子邮件概要项列表从如图5Q中所示的其位置进一步向下移动(例如,电子邮件概要项541,542和543在用户界面540中进一步向下移动)。如图5R中所示,响应于用户输入544,电子邮件概要项列表的边缘549已跨越移动阈值Dth。因此,在一些实施方案中,进度指示符548以进度指示符轮辐的完整环显示。在一些实施方案中,更新状态指示符字段547中指示的状态,以指示已发起内容刷新过程(例如,“检查邮件…”),诸如用于检查自上次刷新内容时起接收到的电子邮件的内容刷新过程。此外,设备100生成触觉输出545。在一些实施方案中,设备100响应于边缘549跨越移动阈值Dth而生成触觉输出545(例如,高频微震动(270Hz),增益:0.6)。在一些实施方案中,根据用户输入544的继续移动,在生成触觉输出545时边缘549处于超过移动阈值Dth的位置。
图5S示出用户界面540从图5R中的用户界面540的转变。具体地讲,图5S示出响应于停止从对应于跨越移动阈值Dth的边缘549的位置(例如,如上文参考图5R所述)检测用户输入544(例如,响应于由用户输入544引起的接触的抬起)而出现的用户界面540。响应于停止检测用户输入544,电子邮件概要项列表被释放并逐渐返回到其初始位置(例如,向上移动),如图5S-5T中所示。此外,更新状态指示符字段547,以指示正在下载新电子邮件消息(例如,“正在下载第1封,共1封”)。在图5S中所示的示例中,更新进度指示符548,以指示内容刷新过程正在进行。
图5T示出用户界面540从图5S中的用户界面540的转变。具体地讲,图5S示出在设备100停止检测用户输入544之后,电子邮件概要项列表已返回到如图5P中所示的其初始位置。根据上文参考图5R-5S所述的内容刷新过程,在电子邮件概要项列表中示出对应于新下载的电子邮件消息的电子邮件概要项546。在一些实施方案中,如图5T中所示,更新状态指示符字段547,以指示已更新电子邮件概要项列表(例如,“刚刚更新”)。
图5U-5V类似于如上所述的图5P-5Q。具体地讲,图5U示出在对应于用户界面540中的电子邮件概要项列表(例如,对应于电子邮件概要项541)的触摸屏112上的位置处检测到的用户输入544(例如,初始接触),并且图5V示出响应于用户输入544的向下移动(例如,包括初始接触、之后是接触的向下移动的拖动手势)(包括电子邮件概要项列表和边缘549的向下移动)而出现用户界面540的转变。在一些实施方案中,如果在边缘549跨越移动阈值Dth之前设备100停止检测用户输入544(例如,设备100检测接触的抬起),则不响应于边缘549的移动而生成触觉输出。图5W示出用户界面540从图5V中的用户界面540的这种转变的示例。图5W示出响应于停止检测用户输入544,用户界面540返回到其初始位置(例如,向上移动),并且不生成触觉输出。
图5X-5Y示出示例性用户界面,其用于生成触觉输出以指示与电子邮件应用(例如,电子邮件客户端模块140,图1A和3)中的电子邮件概要项列表相关联的阈值,诸如电子邮件概要项列表的边缘处的阈值。在图5X-5Y中所示的示例中,用户界面550包括电子邮件概要项列表,该列表包括电子邮件概要项551,552,553,554,555和556。虚线(通常不向用户显示)表示阈值557,该阈值指示电子邮件概要项列表的显示区域的底部边缘。如图5X中所示,电子邮件概要项列表中的电子邮件概要项556的至少一部分低于阈值557。因此,不显示低于阈值557的电子邮件概要项556的部分。另外,图5X示出在对应于电子邮件概要项列表的触摸屏112上的位置处检测到的用户输入558。例如,如图5X中所示,用户输入558包括对应于电子邮件概要项列表的电子邮件概要项554的初始接触,之后是该接触的向上移动。
图5Y示出响应于用户输入558的向上移动,电子邮件概要项列表向上移动(例如,电子邮件概要项551,552,553,554和556在用户界面550中向上移动),使得电子邮件概要项556在电子邮件概要项列表的显示区域中完整显示。因此,电子邮件概要项551(例如,最顶部的电子邮件概要项)的一部分移动通过电子邮件概要项列表的显示区域的顶部边缘。如图5Y中所示,未显示位于显示区域的顶部边缘上方的电子邮件概要项的部分。根据电子邮件概要项列表的向上移动使得电子邮件概要项556完整显示,由第二条较粗虚线表示的电子邮件概要项556的底部边缘556-b跨越阈值557。在一些实施方案中,根据底部边缘556-b跨越阈值557,设备100生成触觉输出559(例如,高频微震动(270Hz),增益:0.6)。
图5Z-5II示出示例性用户界面,其用于生成触觉输出以指示与缩放操作相关联的阈值。具体地讲,图5Z-5EE示出示例性用户界面,其用于根据在放大操作期间所显示的用户界面元素的缩放比例跨越最大缩放阈值来生成触觉输出。图5FF-5II示出示例性用户界面,其用于根据在缩小操作期间所显示的用户界面元素的缩放比例跨越最小缩放阈值来生成触觉输出。在图5Z-5II中所示的示例中,用户界面560包括Web浏览器应用(例如,浏览器模块147,图1A)的用户界面。
图5Z示出触摸屏112上所显示的用户界面560。在一些实施方案中,如图5Z中所示,用户界面560包括由虚线轮廓(通常不向用户显示)指示的用户界面区域561。例如,在图5Z中,用户界面区域561包括对应于网址“apple.com”的网页的内容,包括多个用户界面元素(例如,包括苹果图标的顶部菜单栏、“MacBook Air”、“MacBook Pro”和“iMac”的图标等)。缩放程度比例563指示用户界面区域561相对于最小缩放阈值Z最小和最大缩放阈值Z最大的缩放比例。在图5Z中,例如,缩放程度比例563指示用户界面区域561的缩放比例对应于最小缩放阈值Z最小。图5Z还示出在对应于用户界面区域561(例如,之内)的位置处的用户界面560上检测到的对应于张开手势的用户输入562(例如,检测到图5Z中所示的初始位置处的两个手指接触及这两个接触如箭头所指示的那样远离彼此的移动)。在一些实施方案中,通过使用附录B中所述的UIZoomEdgeFeedbackGenerator类来生成图5Z中所示的用户界面。
图5AA示出用户界面560从图5Z中的用户界面560的转变。在一些实施方案中,响应于检测到用户输入562(例如,张开手势),用户界面区域561扩展(例如,用户界面区域561的缩放比例增加),使得用户界面区域561延伸超过触摸屏112(例如,用户界面区域561的外边缘延伸超过触摸屏112的一个或多个外边缘)。因此,仅在触摸屏112上显示用户界面区域561的一部分(例如,不在触摸屏112上显示包括苹果图标的顶部菜单栏的部分以及“MacBook Air”和“iMac”的图标的部分)。缩放程度比例563指示用户界面区域561的缩放比例已增加到高于最小缩放阈值Z最小
图5BB示出用户界面560从图5AA中的用户界面560的转变。具体地讲,图5BB示出响应于用户输入562的延续(例如,这两个接触远离彼此继续移动所引起的张开手势的延续),用户界面区域561进一步扩展(例如,用户界面区域561的缩放比例进一步增加),使得用户界面区域561进一步延伸超过触摸屏112。因此,与图5AA中相比,图5BB中在触摸屏112上显示用户界面561的更少部分(例如,在触摸屏112上不显示顶部菜单栏以及“MacBook Air”、“MacBook Pro”和“iMac”的图标)。缩放程度比例563指示用户界面区域561的缩放比例已进一步增加到高于最小缩放阈值Z最小,但仍然低于最大缩放阈值Z最大
图5CC示出用户界面560从图5BB中的用户界面560的转变。具体地讲,图5CC示出响应于用户输入562的进一步延续(例如,这两个接触远离彼此进一步继续移动所引起的张开手势的进一步延续),用户界面区域561进一步扩展(例如,用户界面区域561的缩放比例进一步增加),使得用户界面区域561进一步延伸超过触摸屏112。因此,与图5BB中相比,图5CC中在触摸屏112上显示用户界面561的更少部分。缩放程度比例563指示用户界面区域561的缩放比例已进一步增加到高于最小缩放阈值Z最小,达到最大缩放阈值Z最大。根据用户界面区域561的缩放比例达到最大缩放阈值Z最大,设备100生成触觉输出564(例如,高频微震动(270Hz),增益:0.6)。
图5DD示出用户界面560从图5CC中的用户界面560的转变。具体地讲,图5DD示出响应于用户输入562的延续(例如,在这两个接触远离彼此进一步移动之后继续检测到张开手势的这两个接触),用户界面区域561进一步扩展(例如,用户界面区域561的缩放比例进一步增加),使得用户界面区域561进一步延伸超过触摸屏112。因此,与图5CC中相比,图5DD中在触摸屏112上显示用户界面561的更少部分。缩放程度比例563指示用户界面区域561的缩放比例已增加到高于最大缩放阈值Z最大。在一些实施方案中,响应于用户输入562的延续,用户界面区域561的缩放比例暂时增加到高于最大缩放阈值Z最大
图5EE示出用户界面560从图5DD中的用户界面560的转变。具体地讲,图5EE示出响应于停止检测用户输入562(例如,响应于张开手势的这两个接触的抬起)而出现的用户界面560。虽然图5DD示出响应于用户输入562,用户界面区域561的缩放比例暂时增加到高于最大缩放阈值Z最大,但图5EE示出响应于停止检测用户输入562,用户界面区域561的缩放比例恢复到Z最大,如缩放程度比例563所指示。
图5FF-5II示出用户界面560的另选转变,其对应于根据在缩小操作期间用户界面区域561的缩放比例跨越最小缩放阈值Z最小来生成触觉输出。图5FF类似于图5AA,并且示出用户界面560的用户界面区域561扩展,使得用户界面区域561延伸超过触摸屏112(例如,用户界面区域561延伸超过触摸屏112的一个或多个外边缘)。因此,仅在触摸屏112上显示用户界面区域561的一部分(例如,不在触摸屏112上显示包括苹果图标的顶部菜单栏的部分以及“MacBook Air”和“iMac”的图标的部分)。缩放程度比例563指示用户界面区域561的缩放比例高于最小缩放阈值Z最小,缩放比例类似于图5AA中所示的缩放比例。图5FF还示出在对应于用户界面区域561(例如,之内)的位置处的用户界面560上检测到的对应于捏合手势的用户输入565(例如,检测到图5FF中所示的初始位置处的两个手指接触及这两个接触如箭头所指示的那样朝向彼此的移动)。
图5GG示出用户界面560从图5FF中的用户界面560的转变。在一些实施方案中,响应于检测到用户输入565(例如,捏合手势),设备100缩小用户界面区域561(例如,减小用户界面区域561的缩放比例),使得用户界面区域561不延伸超过触摸屏112(例如,在触摸屏112上完全显示用户界面区域561)。缩放程度比例563指示用户界面区域561的缩放比例处于最小缩放阈值Z最小(例如,用户界面区域561的缩放比例已从图5FF中所示的缩放比例减小到Z最小)。响应于用户界面区域561的缩放比例达到最小缩放阈值Z最小,设备100生成触觉输出566(例如,高频微震动(270Hz),增益:0.6)。
图5HH示出用户界面560从图5GG中的用户界面560的转变。在图5HH中,响应于检测到用户输入565的延续(例如,在这两个接触朝向彼此进一步移动之后继续检测到捏合手势的这两个接触),设备100进一步缩小用户界面(例如,用户界面区域561的缩放比例进一步减小),使得用户界面区域561的外边缘位于触摸屏112内。缩放程度比例563指示用户界面区域561的缩放比例已减小到低于最小缩放阈值Z最小。在一些实施方案中,响应于用户输入565的延续,用户界面区域561的缩放比例暂时减小到低于最小缩放阈值Z最小
图5II示出用户界面560从图5HH中的用户界面560的转变。具体地讲,图5II示出响应于停止检测用户输入565(例如,响应于捏合手势的这两个接触的抬起)而出现的用户界面560。虽然图5HH示出响应于用户输入565,用户界面区域561的缩放比例暂时减小到低于最小缩放阈值Z最小,但图5II示出响应于停止检测用户输入565,用户界面区域561的缩放比例恢复到Z最小,如缩放程度比例563所指示。
图5JJ-5SS示出根据一些实施方案用于相对于拾取、拖动和丢弃用户界面对象的操作而生成触觉输出的示例性用户界面。
图5JJ-5KK示出根据一些实施方案用于相对于重新布置列表中的列表元素而生成触觉输出的示例性列表用户界面。根据用户输入的移动(例如,包括初始接触、之后是该接触的移动的拖动手势)来移动列表元素,由此进行重新布置。在图5JJ中,用户界面570a包括示例性时钟界面,其用于编辑显示与多个城市相关联的当地时间的时钟列表(例如,基于与城市“Cupertino”、“New York”、“Tokyo”和“Melbourne”相关联的时区)。用户界面570a包括多个预先确定的弹跳位置,它们对应于用于显示列表元素的多个位置。如图5JJ中所示,在相应预先确定的弹跳位置中显示列表元素(例如,时钟),包括被标记为“Tokyo”的列表元素572以及被标记为“New York”的列表元素573。图5JJ还示出在对应于列表元素572(例如,对应于位于列表元素572右边缘附近的重新排序示能表示)的触摸屏112上的位置处检测到的用户输入571。
图5KK示出用户界面570a从图5JJ中的用户界面570a的一系列转变。用户界面570a的该系列转变包括分别对应于用户输入571第一部分、第二部分、第三部分和第四部分的用户界面570b,570c,570d和570e。在图5KK中,时间T=t0对应于如图5JJ中所示且上文参考该图所述的用户界面570a。在时间T=t1时,用户界面570b示出响应于用户输入571的第一部分(例如,初始接触或长按压手势)而选择列表元素572。设备100在视觉上指示选择了列表元素572(例如,通过突出显示和/或放大所选择的列表元素572)。任选地,在一些实施方案中,响应于用户输入571的第一部分选择列表元素572,设备100生成触觉输出574b(例如,增益为1.0的高频微震动(270Hz))以指示已选择列表元素572。
在一些实施方案中,在选择了列表元素572时,检测到用户输入571的第二部分。例如,用户输入571的第二部分包括继续接触,之后是该接触的向上移动(例如,在初始接触或长按压手势之后向上移动)。在时间T=t2时,用户界面570c示出根据在用户输入571的第二部分期间用户输入571的向上移动,所选择的列表元素572向上移动。例如,所选择的列表元素572朝向未选择的列表元素573(例如,“New York”)的位置向上移动。因此,所选择的列表元素572显示于未选择的列表元素573的至少一部分上方。
在时间T=t3时,用户界面570d示出在用户输入571的第三部分期间检测到的、用户输入571从如对应于时间T=t2的用户界面570c中所示的用户输入571的位置继续向上移动。根据用户输入571的继续向上移动,所选择的列表元素572移动到对应于未选择的列表元素573的先前位置(例如,如用户界面570c中所示)的预先确定的弹跳位置。在一些实施方案中,对应于所选择的列表元素572的先前位置(例如,如用户界面570a中所示)的预先确定的弹跳位置变为空白。根据所选择的列表元素572移动到对应于未选择的列表元素573的先前位置的预先确定的弹跳位置,未选择的列表元素573向下移动到对应于所选择的列表元素572的先前位置的预先确定的弹跳位置(例如,未选择的列表元素573和所选择的列表元素572显示为具有交换的位置)。在一些实施方案中,结合所选择的列表元素572移动到先前对应于未选择的列表元素573的预先确定的弹跳位置,设备100生成触觉输出574d(例如,增益为1.0的高频微震动(270Hz))。
在时间T=t4时,设备100已停止检测用户输入571(例如,设备100已检测到用户输入571的第四部分,用户输入571的第四部分包括接触的抬起),同时所选择的列表元素572处于预先确定的弹跳位置,如对应于时间T=t3的用户界面570d中所示。因此,列表元素572固定到列表元素573先前占据的位置中并在该位置中显示(例如,作为未选择的列表元素),而列表元素573在列表元素572先前占据的位置(例如,如用户界面570a中所示)中显示。任选地,在一些实施方案中,响应于列表元素572固定到时钟列表中,设备100生成触觉输出574e(例如,增益为0.6的高频微震动(270Hz))以指示已丢弃列表元素572。
图5LL-5QQ示出根据一些实施方案用于相对于移动日历对象而生成触觉输出的示例性日历用户界面。图5LL示出用户界面575包括对应于现有日历条目(例如,“吃午餐”和“去健身房”)的两个现有日历对象。被标记为“去健身房”的日历对象576初始安排于9月3日周三上午11:15。在一些实施方案中,通过使用附录B中所述的UITableView类来生成用户界面575。
图5MM示出用户界面575从图5LL中的用户界面575的转变。具体地讲,图5MM示出在对应于日历对象576的触摸屏112上的位置处检测到的用户输入577的第一部分(例如,长按压手势)。响应于用户输入577的第一部分,选择(例如,拾取)日历对象576。在一些实施方案中,显示视觉指示以指示已选择日历对象,使得日历对象看起来在虚拟z方向上从用户界面的表面提起和/或悬浮于用户界面的表面之上或上方。例如,在图5MM中,显示所选择的日历对象576b,代替日历对象576(如在图5LL中)。所选择的日历对象576b显示具有两个句柄。此外,所选择的日历对象576b的颜色变暗(例如,相对于日历对象576,图5LL),并且显示阴影,使得日历对象576b看起来像是从用户界面575的表面提起(例如,日历对象576b看起来向用户界面575上投影)。在一些实施方案中,结合视觉上指示对日历对象576的选择(例如,通过显示所选择的日历对象576b),设备100生成触觉输出578(例如,增益为1.0的高频微震动(270Hz))。
图5NN示出用户界面575从图5MM中的用户界面575的转变。具体地讲,图5NN示出用户输入577的第二部分,其包括用户输入577(例如,从如图5MM中所示的用户输入577的位置)朝向触摸屏112右边缘的横向移动。响应于用户输入577的第二部分的横向移动,所选择的日历对象576b在用户界面575中朝向触摸屏112的右边缘拖动。在一些实施方案中,在通过用户输入577的移动来拖动所选择的日历对象576b时,显示日历对象576(例如,移动对象的重影图像,其指示移动对象的现有或预先移动的位置,在一些实施方案中具有与未选择的对象诸如未选择的对象“吃午餐”相同的外观)。在一些实施方案中,在拖动所选择的日历对象576b的情况下,当所选择的日历对象576b接近相应弹跳位置时,所选择的日历对象576b弹跳到一个或多个相应弹跳位置(例如,对应于相应天或小时)。
图5OO示出响应于用户输入577的第三部分,用户界面575从图5NN中的用户界面575的转变,该用户输入577的第三部分包括用户输入577朝向触摸屏112右边缘的进一步移动(例如,对应于所选择的日历对象576b的继续接触的移动)。在一些实施方案中,用户输入577移动到所显示的日历界面的边界(例如,边缘)或移动到离所显示的日历界面的边界的预先确定的距离内,这会触发根据用户输入577的移动来更新日历界面。例如,根据用户输入577移动到所显示的日历界面的边界或移动到离所显示的日历界面的边界的预先确定的距离内,显示对应于(例如,邻近)边界的日历界面的附加部分。在一些实施方案中,结合显示日历界面的附加部分,不再显示与边界相背对的日历界面的一部分(例如,日历界面的所显示的日期范围或所显示的时间范围前移或后移至少一个日期或时间间隔)。例如,在图5OO中,根据用户输入577朝向触摸屏112的右边缘的进一步移动,用户输入577在离用户界面575的右边缘的预先确定的距离内移动,该用户界面575的右边缘对应于9月6日周六的日期边界(例如,9月6日周六与9月7日周日(在图5OO的用户界面575中不可见)之间的日期边界)。
响应于如图5OO中所示用户输入577的第三部分的进一步移动,图5PP示出用户界面575从图5OO中的用户界面575的转变。具体地讲,图5PP示出响应于用户输入577,用户界面575中所显示的日期范围前移一天时间(例如,更新用户界面575以包括最右日期列中9月7日周日的显示,并排除最左日期列中8月31日周日的显示)。在一些实施方案中,在日期范围前移时保持所选择的日历对象576b的位置(例如,所选择的日历对象576b看起来悬浮于用户界面575的表面上方,而日期范围看起来在所选择的日历对象576b下方向前滑动)。例如,所选择的日历对象576b的位置保持在最左日期列中,而用户界面575从在最左日期列中显示9月6日周六(图5OO)更新为如图5PP中所示在最左日期列中显示9月7日周日。因此,所选择的日历对象576b弹跳到9月7日周日的相应弹跳位置。在一些实施方案中,根据所选择的日历对象576b弹跳到相应弹跳位置,设备100生成触觉输出578b(例如,增益为0.4的高频微震动(270Hz))。
图5QQ示出用户界面575从图5PP中的用户界面575的转变。具体地讲,图5QQ示出响应于停止检测用户输入577(例如,响应于检测到包括接触抬起的用户输入577的第四部分)而出现的用户界面575。响应于停止检测用户输入577,设备100通过以下方式在视觉上指示所选择的日历对象576b的取消选择(例如,对应于丢弃图5QQ中指示的相应位置中所选择的日历对象576b):停止在其先前位置(例如,如图5PP中所示)中显示日历对象576(例如,重影对象)和/或改变所选择的日历对象576b的外观以便看起来未选择(例如,显示日历对象576代替所选择的日历对象576b,并且停止显示所选择的日历对象576b),使得日历对象576看起来已移动。在一些实施方案中,根据所选择的日历对象576b被丢弃(例如,日历对象576被移动),设备100生成触觉输出578c(例如,增益为0.6的高频微震动(270Hz))。
图5RR-5SS示出根据一些实施方案用于相对于重新布置阵列中的阵列元素而生成触觉输出的示例性用户界面。在图5RR中,用户界面580a包括示例性home屏幕界面,其用于显示元素(例如,应用图标)的阵列,包括被标记为“地图”的应用图标582以及被标记为“股市”的应用图标583。该元素阵列包括多个预先确定的弹跳位置,它们对应于用于显示阵列元素的多个位置。如图5RR中所示,在对应于用户界面580a中的应用图标582的触摸屏112上的位置处检测到用户输入581(例如,接触)。在一些实施方案中,通过使用附录B中所述的UICollectionView类来生成用户界面580a。
图5SS示出用户界面580a从图5RR中的用户界面580a的一系列转变。用户界面580a的该系列转变包括分别对应于用户输入581第一部分、第二部分、第三部分和第四部分的用户界面580b,580c,580d和580e。在图5SS中,时间T=t0对应于如图5RR中所示且上文参考该图所述的用户界面580a。在时间T=t1时,用户界面580b示出响应于用户输入581的第一部分(例如,长按压手势)而选择应用图标582。在一些实施方案中,设备100在视觉上指示选择了应用图标582(例如,通过阴影应用图标582和/或放大应用图标582)。任选地,在一些实施方案中,响应于用户输入581的第一部分选择应用图标582,设备100生成如触觉输出图584中所示的触觉输出584b(例如,增益为1.0的高频微震动(270Hz))以指示已选择应用图标582。在一些实施方案中,在选择了应用图标582时,设备100提供用户界面580b对应于阵列元素重新布置模式的视觉指示(例如,通过以动画方式显示一个或多个应用图标,诸如通过使用如579处指示的摇晃动画)。
在一些实施方案中,在选择了应用图标582时,检测到用户输入581的第二部分。例如,用户输入581的第二部分包括继续接触,之后是该接触向左朝向“股市”应用图标583的移动。在时间T=t2时,用户界面580c示出根据在用户输入581的第二部分期间用户输入581的移动,应用图标582向左移动并越过应用图标583。因此,应用图标582显示于应用图标583的至少一部分上方。
在时间T=t3时,用户界面580d示出用户输入581朝左的继续移动。根据用户输入581的继续移动,应用图标582移动到对应于未选择的应用图标583的先前位置(例如,如用户界面580c中所示)的预先确定的弹跳位置。在一些实施方案中,对应于未选择的应用图标583的先前位置(例如,如用户界面580a中所示)的预先确定的弹跳位置变为空白。因此,在一些实施方案中,未选择的应用图标583向右移动到应用图标583所空出的预先确定的弹跳位置。在一些实施方案中,结合所选择的应用图标582移动到未选择的应用图标583先前占据的预先确定的弹跳位置,设备100生成触觉输出584d(例如,增益为1.0的高频微震动(270Hz))。
在时间T=t4时,设备100已停止检测用户输入581(例如,设备100已检测到用户输入581的第四部分,包括接触的抬起),同时所选择的应用图标582处于预先确定的弹跳位置,如对应于时间T=t3的用户界面580d中所示。因此,应用图标582固定到应用图标583先前占据的位置中并在该位置中显示(例如,作为该阵列中未选择的应用图标),而应用图标583在应用图标582先前占据的位置中显示(例如,应用图标582和应用图标583在交换位置中显示)。任选地,在一些实施方案中,响应于应用图标582固定到该阵列中,设备100生成触觉输出584e(例如,增益为0.6的高频微震动(270Hz))以指示已丢弃应用图标582。
图5TT-5UU示出基于用户输入的特征强度而变化的触觉输出。图5TT示出用户界面590a,其包括电子邮件应用(例如,电子邮件客户端模块140,图1A和3)中的电子邮件概要项列表的示例性用户界面,以及在对应于电子邮件概要项列表中的电子邮件592的触摸屏112上的位置处检测到的用户输入591(例如,接触)的第一部分。接触的特征强度高于检测阈值强度IT0且低于提示阈值强度ITH,如强度计596所指示。响应于检测到用户输入591,设备100显示视觉指示(例如,突出显示)以指示选择了电子邮件592。
图5UU示出用户界面590a从图5TT中的用户界面590a的一系列转变。用户界面590a的该系列转变包括对应于用户输入591的特征强度增加的用户界面590b,590c和590d。在图5UU中,在时间T=t0时显示如图5TT中所示且上文参考该图所述的用户界面590a。在时间T=t1时,用户输入591的特征强度已增加到提示阈值强度ITH。因此,设备100显示电子邮件592的提示状态,如用户界面590b中所示。在一些实施方案中,用户输入591的特征强度在t1与t2之间继续朝向轻按压阈值强度ITL增加。在一些实施方案中,当用户输入591的特征强度接近轻按压阈值强度ITL时,设备100生成触觉输出594a(例如,作为所检测到的用户输入591的特征强度增加的触觉指示)。在一些实施方案中,当用户输入591的特征强度朝向轻按压阈值强度ITL增加时,设备100逐渐增强触觉输出594a的特征(例如,触觉输出594a的幅度从零增加),如触觉输出图594中所示。在一些实施方案中,当用户输入591的特征强度从零增加时,设备100逐渐增强触觉输出594a的特征。在一些实施方案中,当用户输入591的特征强度从提示阈值强度ITH增加时,设备100逐渐增强触觉输出594a的特征(例如,如触觉输出图594中所示)。
在时间T=t2时,用户输入591的特征强度跨越轻按压阈值强度ITL。根据用户输入591的特征强度跨越轻按压阈值强度ITL,用户界面590c示出对应于电子邮件592的信息预览(例如,电子邮件592的内容的简短预览)的显示。在一些实施方案中,当用户输入591的特征强度达到轻按压阈值强度ITL时,设备100生成触觉输出594b(例如,离散轻击,诸如增益为1.0的定制微震动(200Hz))。
在一些实施方案中,用户输入591的特征强度在t2与t3之间继续朝向深按压阈值强度ITD增加。在一些实施方案中,当用户输入591的特征强度接近深按压阈值强度时,设备100生成触觉输出594c(例如,作为所检测到的用户输入591的特征强度增加的触觉指示)。在一些实施方案中,设备100逐渐增强触觉输出594c的特征(例如,触觉输出594c的幅度从零增加),如触觉输出图594中所示。
在时间T=t3时,用户输入591的特征强度跨越深按压阈值强度ITD。根据用户输入591的特征强度跨越深按压阈值强度ITD,用户界面590d示出电子邮件592的显示(例如,电子邮件592的内容预览扩展为电子邮件592的全屏显示)。在一些实施方案中,当用户输入591的特征强度达到深按压阈值ITD时,设备100生成触觉输出594d(例如,离散轻击,诸如增益为1.0的定制全震动(150Hz))。
图5VV-5YY示出用于显示用户界面变化并生成对应于用户界面事件的触觉输出的示例性用户界面和时序图。
图5VV示出用于响应于用户输入(例如,响应于触摸输入对用户界面的直接操纵)而显示一个或多个用户界面变化并生成对应于用户界面事件的触觉输出的示例性用户界面和时序图。在一些实施方案中,响应于用户输入而立即发起所述一个或多个用户界面变化的显示。例如,在图5VV中,用户界面570c是如上文参考图5JJ-5KK所述的时钟列表的用户界面。根据在时间t0时检测到的用户输入571的向上移动,设备100发起用户界面570c变化的显示,包括所选择的列表元素572向上移动到未选择的列表元素573先前占据的位置,以及未选择的列表元素573向下移动到所选择的列表元素572先前占据的位置。此外,根据在时间t0时检测到的用户输入571的向上移动,设备100发起对应于所选择的列表元素572移动到预先确定的弹跳位置(例如,对应于未选择的列表元素573的先前位置)的触觉输出574d的生成,如触觉输出图574-2中所示。在一些实施方案中,在经过了第一时间间隔ΔT1(从t0到t1)之后,用户界面570c的所述一个或多个变化在时间T=t1时显示为用户界面570d。在一些实施方案中,在经过了与触觉输出的生成相关联的第二时间间隔ΔT2(从t0到t2)之后,在时间T=t2时发生触觉输出574d的生成。在一些实施方案中,第二时间间隔ΔT2(例如,50-200ms)长于第一时间间隔ΔT1(例如,5ms)。在一些实施方案中,相比于与显示用户界面的变化相关联的延迟,触觉输出的生成与更长的延迟相关联。
在一些实施方案中,与用户界面事件(例如,与响应于触摸输入而对用户界面的直接操纵无关的用户界面事件)相关联的一个或多个用户界面变化的显示被延迟,使得所述一个或多个用户界面变化的显示与对应于用户界面事件的触觉输出的生成同时进行。
例如,图5WW示出根据不对用户输入作出响应的用户界面事件(例如,作为与响应于触摸输入而对用户界面的直接操纵无关的或者不响应于该直接操纵的警示或其他通知的用户界面事件)进行用户界面变化的显示和触觉输出的生成。在时间T=t0时,用户界面5100a包括用于编写电子邮件消息的用户界面。文本5101表示用户界面5100a中的文本的先前(例如,最近)输入部分。在时间T=t1时,检测到设备100的移动。在一些实施方案中,设备100的移动符合对应于用户界面事件的预定义输入模式标准(例如,来回摇晃设备的模式),该用户界面事件包括撤销先前执行的操作(例如,移除先前输入的文本的一部分)。如图5WW中所示,在时间t1时检测到的设备100的移动对应于用于移除先前输入的文本5101(例如,通过显示撤销提示界面5100b)和用于生成触觉输出5102的用户界面事件。响应于在时间t1时检测到设备100的移动,设备100在时间t1时发起触觉输出5102的生成。与之结合,在一些实施方案中,设备100将发起用户界面5100a的所述一个或多个变化的显示延迟达延迟时间间隔T延迟(例如,在经过了延迟时间间隔T延迟之后,设备100在时间t2时发起显示撤销提示界面5100b)。在一些实施方案中,在经过了与触觉输出的生成相关联的延迟时间间隔ΔT2之后,在时间t3时发生触觉输出5102的生成。因此,在一些实施方案中,用户界面5100a的所述一个或多个变化的显示(例如,撤销提示界面5100b的显示)与触觉输出5102的生成同步(例如,在时间t3时)。
在另一个示例中,图5XX示出根据用户界面事件进行用户界面变化的显示和触觉输出的生成,该用户界面事件包括与响应于触摸输入而对用户界面的直接操纵无关的通知。在时间T=t0时,用户界面5105包括设备100的锁屏的用户界面。在时间T=t1时,接收(例如,从设备100外部的信息源)输入5106(例如,所接收的日历事件邀请的通知)。响应于在时间t1时接收到输入5106,设备100在时间t1时发起触觉输出5107的生成。与之结合,设备100将发起用户界面5105的变化的显示(例如,日历事件邀请示能表示5108在用户界面5105上的显示)延迟达延迟时间间隔T延迟(例如,在经过了延迟时间间隔T延迟之后,设备100在时间t2时发起显示日历事件邀请示能表示5108)。在一些实施方案中,在经过了与触觉输出的生成相关联的延迟时间间隔ΔT2之后,在时间t3时发生触觉输出5107的生成。因此,在一些实施方案中,用户界面5105的所述一个或多个变化的显示(例如,日历事件邀请示能表示5108的显示)与触觉输出5107的生成同步(例如,在时间t3时)。
在又一个示例中,图5YY示出了根据用户界面事件进行用户界面变化的显示和触觉输出的生成,该用户界面事件包括根据用户发起的交易的完成而发起的通知。在时间T=t0时,用户界面5110a包括提示用户提供认证(例如,指纹传感器上的手指接触,被示出为用户输入5111)以完成交易的用户界面。在时间T=t1时,设备100接收输入5112,该输入包括用于完成交易的认证。响应于在时间t1时接收到输入5112,设备100在时间t1时发起触觉输出5113的生成。与之结合,设备100将发起用户界面5110a的变化的显示(例如,显示确认交易完成的用户界面5110b)延迟达延迟时间间隔T延迟(例如,在经过了延迟时间间隔T延迟之后,设备100在时间t2时发起显示用户界面5110b)。在一些实施方案中,在经过了与触觉输出的生成相关联的延迟时间间隔ΔT2之后,在时间t3时发生触觉输出5113的生成。因此,在一些实施方案中,用户界面5110a的所述一个或多个变化的显示(例如,用户界面5110b的显示)与触觉输出5113的生成同步(例如,在时间t3时)。
图5ZZ示出根据一些实施方案用于基于触觉输出发生器的状态来生成触觉输出的时序图。在一些实施方案中,触觉输出控制器5120(例如,触觉反馈控制器161,图1A)接收到一个或多个触觉输出触发信号。在一些实施方案中,响应于触觉输出触发信号,触觉输出控制器5120将控制信号传输到一个或多个触觉输出发生器5121(例如,一个或多个触觉输出发生器167,图1A)。响应于控制信号,触觉输出发生器5121生成触觉输出。
在一些实施方案中,根据与生成触觉输出相关联的延迟,触觉输出发生器5121在接收到触觉输出触发信号后的一段时间之后生成触觉输出。触觉输出触发信号的接收与对应触觉输出的生成之间的时间段根据触觉输出发生器5121的状态而变化。例如,如图5ZZ中所示,如果在触觉输出发生器5121处于不活动状态时接收到触觉输出触发信号,则在接收到触觉输出触发信号后的时间段ΔTA(例如,200ms)之后生成触觉输出。在一些实施方案中,如果在触觉输出发生器5121处于低延迟状态(例如,预热状态或活动状态)时接收到触觉输出触发信号,则在小于ΔTA的时间段之后生成触觉输出。例如,图5ZZ示出如果在触觉输出发生器5121处于预热状态时接收到触觉输出触发信号,则在接收到触觉输出触发信号后的时间段ΔTB(例如,100-150ms)之后生成触觉输出。在一些实施方案中,如果在触觉输出发生器5121处于活动状态时接收到触觉输出触发信号,则在接收到触觉输出触发信号后的时间段ΔTC(例如,50ms)之后生成触觉输出。在一些实施方案中,与活动状态相关联的时间段小于与预热状态相关联的时间段。
图5AAA-5CCC示出用于根据不同类型用户界面事件(例如,成功、失败和警告事件)的用户界面事件来生成触觉输出的示例性用户界面和时序。
图5AAA示出针对成功事件生成的一个或多个触觉输出的示例。图5AAA包括在时间T=t0时显示的用于输入连接到无线网络(例如,“HomeWireless”)的认证凭据的用户界面5130。在时间T=t1时,根据确定用户界面5130中输入的口令的认证成功,显示用户界面5131(例如,指示成功连接到所请求的无线网络“HomeWireless”)并且生成对应于成功事件的触觉输出5132(例如,增益为0.7的中频全震动(200Hz),之后是增益为1.0的高频小震动(270Hz))。
图5BBB示出针对失败事件生成的一个或多个触觉输出的示例。图5BBB包括在时间T=t0时显示的用于输入连接到无线网络(例如,“HomeWireless”)的认证凭据的用户界面5130。在时间T=t1时,根据确定用户界面5130中输入的口令的认证失败,显示用户界面5133(例如,指示对所请求的无线网络“HomeWireless”输入了不正确的口令)并且生成对应于失败事件的触觉输出5134(例如,增益为0.75-0.85的高频小震动(270Hz),之后是增益为0.65的中频全震动(200Hz),之后是增益为0.75的低频全震动(150Hz))。
图5CCC示出针对警告事件生成的一个或多个触觉输出的示例。图5CCC包括如上文参考图5WW所述的用于编写电子邮件消息的用户界面5135。在时间T=t0时,检测到设备100的移动(例如,与撤销先前操作的请求相对应的来回摇晃设备的模式)。在时间T=t1时,根据撤销先前操作的请求,显示撤销提示界面5100b(如上文参考图5WW所述),并且生成对应于警告事件的触觉输出5135(例如,增益为0.9的高频全震动(300Hz),之后是增益为0.9的定制全震动(270Hz))。
图5DDD-5GGG示出根据一些实施方案的示例性用户界面,其用于根据响应于用户输入而在用户界面中执行的操作的量值来生成触觉输出。具体地讲,图5DDD-5GGG示出根据用户输入跨越边界的移动,在可变速率滑擦期间生成的触觉输出。
图5DDD示出媒体内容播放器的用户界面5140,该用户界面包括滑块控件5141,包括指示在设备上正播放的内容的当前位置的可调节进度指示符5142。在一些实施方案中,用户界面5140包括用于控制媒体内容播放器中的内容的回放的多个其他媒体内容播放器控件。图5DDD示出在触摸屏112上的与滑块控件5141中的进度指示符5142的初始位置相对应的位置处初始检测到的用户输入5143。图5DDD还示出与滑块控件5141相对应的用户输入5143远离其初始位置的移动(例如,用户输入5143包括拖动手势,该拖动手势包括初始接触,之后是该接触的移动)。在一些实施方案中,边界5144,5145和5146将用户界面5140分成对应于不同滑擦速率的区域,以便调节进度指示符5142在滑块控件5141中的位置。在一些实施方案中,通常不向用户显示边界5144,5145和5146。在一些实施方案中,在用户输入5143高于边界5144时,进度指示符5142在滑块控件5141中的位置移动的量与用户输入5143在触摸屏112上的移动(包括与滑块控件平行的移动)的水平分量相同(有时称为“全速滑擦”)。在一些实施方案中,在用户输入5143介于边界5144与边界5145之间时,进度指示符5142在滑块控件5141中的位置移动的量是与滑块控件5141平行的、用户输入5143在触摸屏112上的移动的水平分量的分数(例如,二分之一或相当于50%)(有时称为“半速度滑擦”)。在一些实施方案中,在用户输入5143介于边界5145与边界5146之间时,进度指示符5142在滑块控件5141中的位置移动的量是与滑块控件5141平行的、用户输入5143在触摸屏112上的移动的水平分量的较小分数(例如,四分之一或相当于25%)(有时称为“四分之一速度滑擦”)。在一些实施方案中,在用户输入5143低于边界5146时,进度指示符5142在滑块控件5141中的位置移动的量是与滑块控件5141平行的、用户输入5143在触摸屏112上的移动的水平分量的甚至更小分数(例如,八分之一或相当于12.5%)(有时称为“精细速度滑擦”)。应当指出,此处所用的分数滑擦速率(50%、25%和12.5%)仅仅为示例,并且还可使用随着用户输入与滑块控件5141之间的竖直距离增加而渐进下降的不同滑擦速率。
在一些实施方案中,设备100根据用户输入5143跨越相应边界来生成触觉输出。在一些实施方案中,根据与用户界面5140中的操作相对应的用户输入5143的特征来生成触觉输出。例如,根据用户输入5143在跨越与滑擦速率变化相对应的相应边界时的速度来生成触觉输出。在一些实施方案中,在用户输入5143高速跨越相应边界时生成较强的触觉输出。在一些实施方案中,在用户输入5143低速跨越相应边界时生成较轻的触觉输出。
图5EEE示出用户输入5143相对于其初始位置(例如,如图5DDD中所示)向下、朝右远离滑块控件5141并跨越边界5144的移动。根据用户输入5143跨越边界5144,设备100生成触觉输出5148。根据用户输入5143的移动速度高于中等速度阈值VM且低于高速度阈值VH(如接触速度计5147所指示),触觉输出5148生成为中等触觉输出(例如,增益为0.4的中频微震动(150Hz))。
图5FFF示出用户输入5143相对于如图5EEE中所示的其位置向下、朝右进一步远离滑块控件5141并跨越边界5145的进一步移动。根据用户输入5143跨越边界5145,设备100生成触觉输出5149。根据用户输入5143的移动速度高于高速度阈值VF(如接触速度计5147所指示),触觉输出5149生成为强触觉输出(例如,增益为0.7的中频微震动(150Hz))。
图5GGG示出用户输入5143相对于如图5FFF中所示的其位置向下、朝右进一步远离滑块控件5141并跨越边界5146的甚至进一步移动。根据用户输入5143跨越边界5146,设备100生成触觉输出5150。根据用户输入5143的移动速度低于中等速度阈值VM且高于移动检测阈值V0(例如,零速度)(如接触速度计5147所指示),触觉输出5150生成为轻触觉输出(例如,增益为0.1的中频微震动(150Hz))。
图5HHH-5III示出根据检测到连续用户交互及根据用于生成触觉输出的一个或多个触觉输出发生器的状态来生成触觉输出的时序图。具体地讲,图5HHH示出具有在时间T=t0时处于初始位置的位置指示符5161的滑块5160。用于根据滑块5160的位置指示符5161跨越滑块5160上的相应标记来生成一个或多个触觉输出的触觉输出发生器初始处于低功率状态,如发生器状态图5164中所示。根据使位置指示符5161移动到时间T=t1时所示的位置的用户交互的第一部分,位置指示符5161接近但未跨越标记5162。触觉输出发生器保持处于低功率状态(例如,触觉输出发生器的状态保持或不改变)。在时间T=t2时,根据用户交互的第二部分,位置指示符5161跨越标记5162。因此,在时间t2时发起触觉输出的生成,如触觉输出图5165中所示。在一些实施方案中,根据与低功率状态相关联的延迟,在时间t2时接收到触觉输出触发信号后的时间段ΔTA(例如,200ms)之后,在时间t=t4时生成触觉输出5163。如图5HHH中所示,到时间t4时(此时生成触觉输出5163),位置指示符5161已根据用户输入的继续移动来移动通过标记5162。
在一些实施方案中,在期待生成触觉输出时,诸如根据接近阈值的用户输入的移动,改变触觉输出发生器的状态。例如,图5III示出具有在时间T=t0时处于初始位置的位置指示符5161的滑块5160。用于根据滑块5160的位置指示符5161跨越滑块5160上的相应标记来生成一个或多个触觉输出的触觉输出发生器初始处于低功率状态,如发生器状态图5166中所示。根据使位置指示符5161移动到时间T=t1时所示的位置的用户交互的第一部分,位置指示符5161接近但未跨越标记5162。在一些实施方案中,响应于位置指示符5161接近标记5162(例如,在期待位置指示符5161跨越标记5162、因此将生成触觉输出时),触觉输出发生器的状态从低功率状态改变为低延迟状态(或另选地,在一些实施方案中,活动状态)。在时间T=t2时,根据用户交互的第二部分,位置指示符5161跨越标记5162。因此,在时间t2时发起触觉输出的生成,如触觉输出图5167中所示。在一些实施方案中,根据与低延迟状态相关联的延迟,在时间t2时接收到触觉输出触发信号后的时间段ΔTB(例如,100-150ms)之后,在时间t=t3时生成触觉输出5168。在一些实施方案中,与低延迟状态相关联的时间段ΔTB小于与低功率状态相关联的时间段ΔTA。如图5III中所示,生成触觉输出5168时的时间t3在如图5HHH中所示生成触觉输出5163时的时间t4之前发生。在一些实施方案中,根据改变触觉输出发生器的状态,以较低延迟来生成触觉输出。此外,在图5III中,位置指示符5161已根据用户输入以比图5HHH中更小的范围继续移动来移动通过标记5162。
图5JJJ示出根据一些实施方案在强制执行重复触觉输出之间的最小时间时电子设备(例如,便携式多功能设备100,图1A)生成触觉输出序列。触觉输出图5170a示出触觉输出的触发信号以及所生成的与第一类型触觉输出相关联的触觉输出。触觉输出图5170b示出触觉输出的触发信号以及所生成的与第二类型触觉输出相关联的触觉输出。在时间t1时,触发第一类型触觉输出的生成(例如,设备生成触发信号,或设备从外部源接收触发信号),如触觉输出图5170a中所示。作为响应,设备在t1时的触发信号之后且在t2时的后续触发信号之前的时间点处生成触觉输出5171。在时间t2时,触发第一类型触觉输出的第二实例。在一些实施方案中,设备确定响应于t2时的触发信号进行的触觉输出的预期生成在自触觉输出5171的生成(例如,所生成的第一类型触觉输出的最近实例)起预先确定的时间内。因此,设备放弃响应于t2时的触发信号来生成触觉输出。
类似地,在时间t3时,触发第一类型触觉输出的第三实例,如触觉输出图5170a中所示。作为响应,设备在t3时的触发信号之后且在t4时的后续触发信号之前的时间点生成触觉输出5172(例如,根据确定第一类型触觉输出的最近生成的触觉输出5171在自触觉输出5172的预期生成起至少预先确定的时间)。在时间t4时,触发第一类型触觉输出的第四实例,如触觉输出图5170a中所示。此外,在时间t4时,触发第二类型触觉输出的第一实例,如触觉输出图5170b中所示。在一些实施方案中,设备确定响应于t4时的触发信号进行的第一类型触觉输出的预期生成在自触觉输出5172的生成(例如,所生成的第一类型触觉输出的最近实例,相对于t4时的第一类型触觉输出的触发信号而确定)起预先确定的时间内。因此,设备放弃响应于t4时的第一类型触觉输出的触发信号来生成触觉输出。在一些实施方案中,设备响应于t4时的第二类型触觉输出的触发信号来生成触觉输出5176(例如,不考虑第一类型触觉输出的时序)。在一些实施方案中,根据确定触觉输出5176的生成将在自第二类型触觉输出的最近实例的生成起至少预先确定的时间,设备生成触觉输出5176。
在时间t5时,触发第一类型触觉输出的第五实例,如触觉输出图5170a中所示。作为响应,设备在t5时的触发信号之后且在t6时的后续触发信号之前的时间点生成触觉输出5173(例如,根据确定第一类型触觉输出的最近生成的触觉输出5172在自触觉输出5173的预期生成起至少预先确定的时间)。在时间t6时,触发第一类型触觉输出的第六实例,如触觉输出图5170a中所示。在一些实施方案中,设备确定响应于t6时的触发信号进行的触觉输出的预期生成将在自触觉输出5173的生成(例如,所生成的第一类型触觉输出的最近实例)起至少预先确定的时间。因此,设备响应于t6时的触发信号来生成触觉输出5174。随后,在时间t7时,触发第一类型触觉输出的第七实例。在一些实施方案中,设备确定响应于t7时的触发信号进行的触觉输出的预期生成在自触觉输出5174的生成(例如,所生成的第一类型触觉输出的最近实例)起预先确定的时间内。因此,设备放弃响应于t7时的触发信号来生成触觉输出。
在时间t8时,触发第一类型触觉输出的第八实例,如触觉输出图5170a中所示。此外,在时间t8时,触发第二类型触觉输出的第二实例,如触觉输出图5170b中所示。在一些实施方案中,设备确定响应于t8时的触发信号进行的第一类型触觉输出的预期生成在自触觉输出5174的生成(例如,所生成的第一类型触觉输出的最近实例,相对于t8时的第一类型触觉输出的触发信号而确定)起至少预先确定的时间。因此,设备响应于t8时第一类型触觉输出的触发信号来生成触觉输出5175。此外,设备响应于t8时的第二类型触觉输出的触发信号来生成触觉输出5177(例如,不考虑第一类型触觉输出的时序)。在一些实施方案中,根据确定触觉输出5177的预期生成在自第二类型触觉输出的最近实例(例如,触觉输出5176)的生成起至少预先确定的时间,设备生成触觉输出5177。
图5KKK示出用于控制一个或多个触觉输出发生器(例如,一个或多个触觉输出发生器167,图1A)的状态的方法5180的概念流程图。在一些实施方案中,方法5180通过电子设备(例如,便携式多功能设备100,图1A)的独立于应用的模块执行。
在一些实施方案中,独立于应用的模块等待(5182)来自特定于应用的模块的输入(例如,用于生成触觉输出的触发信号,诸如与触觉输出相关联的用户输入)。在一些实施方案中,在独立于应用的模块等待输入时,触觉输出发生器处于不活动状态。
在一些实施方案中,独立于应用的模块接收(5184)来自特定于应用的模块的输入。响应于接收到来自特定于应用的模块的输入,独立于应用的模块确定(5186)是否准备一个或多个触觉输出发生器以便生成触觉输出(例如,该输入是否符合触觉输出生成标准)。
根据确定不应准备一个或多个触觉输出发生器(5186-否),独立于应用的模块返回到等待状态(5182)以等待附加输入,并且触觉输出发生器保持不活动状态。
根据确定应准备所述一个或多个触觉输出发生器(5186-是)(例如,在期待生成触觉输出时),独立于应用的模块确定(5188)是否通过将触觉输出发生器设定为预热状态(例如,与相比于不活动状态更低的延迟相关联)或活动状态(例如,与相比于不活动状态和预热状态两者更低的延迟相关联)来准备触觉输出发生器。
根据确定触觉输出应设定为预热状态(5188-预热),独立于应用的模块通过将触觉输出发生器设定(5190)为预热状态来准备触觉输出发生器。根据确定触觉输出应设定为活动状态(5188-活动),独立于应用的模块通过将触觉输出发生器设定(5192)为活动状态来准备触觉输出发生器。
接下来,在一些实施方案中,独立于应用的模块确定(5194)是否将触觉输出发生器从预热或活动状态返回到不活动状态(例如,是否离开相应准备状态)。根据确定离开准备状态(5194-是)(例如,电子设备处于操作的电池节电模式,或经过了期间未生成触觉输出的预先确定的超时时间段),独立于应用的模块返回到等待状态(5182)。根据确定未离开准备状态(5194-否)(例如,在请求准备触觉输出发生器起尚未经过预先确定的超时时间段,或自最近在先触觉输出的生成起尚未经过预先确定的时间段),独立于应用的模块保持触觉输出发生器的相应准备状态(例如,预热状态或活动状态)。
图6A-6D是示出根据一些实施方案的基于用户交互模型来生成触觉输出的方法600的流程图。在具有显示器、一个或多个输入设备(例如,触敏表面和/或用于检测与触敏表面的接触强度的一个或多个传感器)和一个或多个触觉输出发生器的电子设备(例如,图3的设备300或图1A的便携式多功能设备100)处执行方法600。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法600中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法600提供使用独立于应用的软件模块来提供触觉输出的增强方式。使用独立于应用的软件基于来自应用软件的信息来提供触觉输出,这提供了在使用各种软件应用时提供一致用户体验的通用用户界面框架。向用户提供通用用户界面框架,这增强了此类软件应用及执行此类软件应用的设备的可用性。继而,这增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户提供正确输入并且减少在操作设备/与设备交互时的用户错误和/或非预期操作)。此外,该方法减小软件应用的大小并且使得此类软件应用的执行更快。对于电池驱动的电子设备,确保用户更快且更有效地使用软件应用,可节省功率并延长电池充电之间的时间。
在一些实施方案中,设备存储(例如,在存储器中)可供电子设备上的多个软件应用(例如,第一软件应用,诸如应用1(136-1),以及一个或多个其他软件应用,诸如图1D中的应用2(136-2))使用的应用软件(例如,第一软件应用,诸如图1D中的应用1(136-1))和独立于应用的软件(例如,图1D中的独立于应用的软件模块260)(例如,电子设备存储所述多个软件应用)。
设备在显示器上显示(602)第一软件应用的用户界面(例如,图5A中所示的设置应用的用户界面)。用户界面包括(604)已为其分配由独立于应用的模块提供的多个用户交互模型中的用户交互模型的多个元素(例如,开关对象502、滑块对象504和滑块对象506)。所述多个元素包括已为其分配第一用户交互模型的第一元素(例如,滑块对象502)。所述多个元素具有由第一软件应用的特定于应用的模块提供的内容(例如,滑块对象502包括由设置应用提供的扬声器图标)。
在一些实施方案中,设备使用预定义的应用编程接口(API)将第一用户交互模型分配(606)给第一元素。例如,设备使用独立于应用的软件模块的API将特定用户交互模型分配给第一元素。
第一用户交互模型定义(608)用户界面如何对指向用户界面的第一元素的输入作出响应。例如,第一用户交互模型定义是否生成触觉输出和/或用于生成触觉输出的条件。在一些实施方案中,第一用户交互模型还定义第一元素如何响应于用户输入而在视觉上更新(例如,移动滑块、打开或关闭开关等)。
在显示用户界面时,设备检测(610)经由所述一个或多个输入设备进行的指向用户界面的第一元素的输入(例如,图5C中指向滑块505的输入509)。
响应于检测到输入(612),设备基于输入的特征(例如,移动量值、移动方向、开始位置、结束位置、强度量值、强度变化率)来更新(614)显示器上的用户界面。例如,滑块505的位置响应于输入509的变化而改变,如图5D中所示。
在一些实施方案中,设备基于输入的特征和第一用户交互模型来更新(616)显示器上的用户界面。
另外响应于检测到输入(612),并根据确定输入符合第一用户交互模型所指定的触觉输出标准,设备生成(618)对应于输入的第一触觉输出。
在一些实施方案中,第一元素包括(620)至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的滑块对象(例如,UISlider),并且第一用户交互模型指定根据用户利用触摸输入对滑块对象的操纵来生成触觉输出(例如,第一触觉输出)。
在一些实施方案中,响应于选择滑块对象的调制类型的触摸输入,设备生成(622)预定义的调制选择触觉输出。例如,在图5B中,响应于输入503而生成预定义触觉输出。在另一个示例中,开关对象或选项列表被配置为用于选择滑块对象的调制类型(例如,滑块对象是音量滑块还是平衡滑块),并且响应于在对应于开关对象或选项列表的位置处的触摸输入,设备生成预定义的调制选择触觉输出。
在一些实施方案中,第一用户交互模型指定(624)根据滑块对象的调制类型以及根据用户利用触摸输入对滑块对象的操纵而调制的第一软件应用的参数来生成第一触觉输出。例如,如图5C-5E中所示,根据确定滑块对象的调制类型是音量滑块,触觉输出的量值随着滑块对象所表示的音量增加而增加。根据确定滑块对象的调制类型是平衡滑块,基于滑块的位置来调节触觉输出的平衡,如图5G-5H中所示。
在一些实施方案中,第一用户交互模型指定(626)根据滑块对象的可移动部分到达末端位置来生成不同的触觉输出(例如,在图5F中,根据滑块到达滑块的末端位置来生成不同的触觉输出513)。
在一些实施方案中,第一元素包括(628)至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的开关对象(例如,UISwitch),并且第一用户交互模型指定在输入对应于改变开关对象状态的动作时生成第一触觉输出(例如,第一输入使得开关从先前状态切换到与先前状态不同的新状态,诸如从关到开或反之亦然,如图5A-5B中所示)。
在一些实施方案中,第一元素包括(630)至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的值选择对象(例如,使用附录B中所述的UIPickerView类或UIDatePicker类或它们的实例),并且第一用户交互模型指定在输入对应于改变使用值选择对象选择的值的动作时生成第一触觉输出。例如,如果值选择对象对应于具有不同值的序列的可滚动轮或列表,则当第一输入使得值选择对象滚动通过不同值的序列(例如,图5K-5O中所示的时间转盘)时设备生成触觉输出的序列。在一个示例中,该序列中的不同值是日期值,例如,指定日期或时间的年、月、日、小时或分钟的值。
在一些实施方案中,第一元素包括响应于达到刷新阈值的下拉手势而刷新(632)的内容(例如,使用附录B中所述的UIRefreshControl类或其实例)。第一用户交互模型指定根据确定输入对应于达到刷新阈值的下拉手势来生成预定义的冲击触觉输出(例如,响应于达到刷新阈值的下拉手势而刷新内容,如图5P-5T中所示)。
在一些实施方案中,第一元素包括(634)其尺寸响应于包括缩放手势的输入而改变的区域或对象(例如,使用附录B中所述的UIZoomEdgeFeedbackGenerator类或UIScrollView类或它们的实例)。第一用户交互模型指定根据确定区域或对象的尺寸已达到预定义限度(例如,根据确定区域或对象的尺寸(或相当于缩放比例因子)已达到预定义限度)来生成预定义尺寸限度的触觉输出。例如,根据确定所显示的网页的尺寸响应于张开手势而达到预定义限度来生成预定义尺寸限度的触觉输出,如图5Z-5CC中所示。
在一些实施方案中,第一元素包括(636)至少部分地基于由第一软件应用的特定于应用的模块提供的信息(例如,日历应用提供感兴趣的日期和时间和/或图5LL-5QQ中所示的日历视图的日历条目)而生成的、具有按行和列组织的单元格的表格(例如,使用附录B中所述的UITableView类或其实例)。第一用户交互模型指定在输入从表格中的任何单元格移动到表格中的任何其他单元格、或者从表格外部移动到表格内部的单元格(例如,输入从表格外部移动到表格内部的单元格576b以选择单元格576b,如图5LL-5MM中所示)时生成第一触觉输出。在一些实施方案中,在第一输入对应于拖动内容项的拖动手势的情况下,当第一输入将对象移动到表格的单元格中并且对象“自动地”在单元格中弹跳就位时,设备生成弹跳反馈触觉输出,其中该表格由应用显示并且该应用控制或指定弹跳动作。
在一些实施方案中,第一元素包括(638)至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的、具有按行和列组织的单元格的表格(例如,使用附录B中所述的UITableView类或其实例)。第一用户交互模型指定在两行或更多行单元格响应于输入而重新排序时生成第一触觉输出。例如,在列表中的两个或更多个条目重新排序时生成触觉输出,如图5KK中所示。类似地,在一些实施方案中,在不同列中的两个或更多个条目在表格中重新排序(例如,通过将日历视图中的日历条目移动到相邻列中的另一个日历条目,使得这两个日历条目重新排序)时生成触觉输出。
在一些实施方案中,输入使得(640)第一软件应用在不同项目的集合(例如,使用附录B中所述的UICollectionView类或其实例)中选择项目,使之移动到第一元素内的预定义位置,并且第一用户交互模型指定结合移动到第一元素内的预定义位置的所选择的项目而生成第一触觉输出(例如,在应用图标582移动到预定义位置,即相邻应用图标583的位置时生成触觉输出,如图5SS中所示)。在一些实施方案中,第一用户交互模型指定结合根据预定义弹跳行为移动到预定义位置的所选择的项目而生成一个或多个触觉输出。例如,当拖动手势将所选择的项目带到预定义弹跳就位位置(例如,预定义网格中的网格位置)的预定义距离内时,所选择的项目弹跳就位。
在一些实施方案中,第一用户交互模型指定(642)在输入或根据输入操纵的对象接近下一预定义状态(例如,用力按压手势)时生成第一触觉输出,以及在输入或根据输入操纵的对象达到下一预定义状态时生成与第一触觉输出不同的第二触觉输出(例如,在图5UU中,设备在输入强度接近强度阈值ITL时生成触觉输出594a,并且在输入强度达到强度阈值ITL时生成触觉输出594b)。在一些实施方案中,第一行为模型指定在第一触摸输入的强度达到强度阈值序列的每一者时生成不同的触觉输出的序列。
根据确定输入不符合第一用户交互模型所指定的触觉输出标准,设备放弃(644)第一触觉输出的生成(例如,如图5AA中所示,当区域或对象的尺寸(或相当于缩放比例因子)尚未达到预定义限度时,不生成第一触觉输出,诸如图5CC中所示的触觉输出564)。
在一些实施方案中,所述多个元素包括(646)已为其分配由独立于应用的模块提供的所述多个用户交互模型中的第二用户交互模型的第二元素。在显示用户界面时,设备经由所述一个或多个输入设备检测指向用户界面的第二元素的第二输入;以及响应于检测到指向用户界面的第二元素的第二输入:基于所检测到的第二输入的特征来更新显示器上的用户界面;根据确定第二输入符合第二用户交互模型所指定的触觉输出标准,生成对应于第二输入的第二触觉输出(例如,开关对象502上的轻击手势或水平轻扫手势切换开关对象502的状态并且发起第二触觉输出的生成,从而指示开关对象502的状态已切换);以及根据确定第二输入不符合第二用户交互模型所指定的触觉输出标准,放弃第二触觉输出的生成(例如,开关对象502上的竖直轻扫手势未切换开关对象502的状态并且未生成第二触觉输出)。
应当理解,图6A-6D中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法800,1000,1200,1400,1600,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图6A-6D描述的方法600。例如,上文参考方法600所述的触觉输出、滑块对象、开关对象、值选择对象、内容刷新操作、缩放操作、滚动操作、表格操纵、以及选择和移动用户界面对象,任选地具有本文参考本文所述的其他方法(例如,方法800,1000,1200,1400,1600,1800和2000)描述的触觉输出、滑块对象、开关对象、值选择对象、内容刷新操作、缩放操作、滚动操作、表格操纵、以及选择和移动用户界面对象的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。例如,根据一些实施方案,设备在显示器上显示第一软件应用的用户界面。通过以下方式生成用户界面:向由独立于应用的模块提供的多个用户交互模板中的第一用户交互模板填充由第一软件应用的特定于应用的模块提供的内容。第一用户交互模板定义用户界面如何对指向用户界面的输入作出响应。在显示用户界面时,设备经由所述一个或多个输入设备检测指向用户界面的输入。响应于检测到该输入,设备基于所检测到的输入的特征(例如,移动量值、移动方向、开始位置、结束位置、强度量值、强度变化率)和第一用户交互模板来更新显示器上的用户界面;根据确定该输入符合第一用户交互模板所指定的触觉输出标准,生成对应于该输入的第一触觉输出;以及根据确定该输入不符合第一用户交互模板所指定的触觉输出标准,放弃第一触觉输出的生成。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图7示出根据各种所述实施方案的原理进行配置的电子设备700的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图7中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图7中所示,电子设备700包括被配置为显示用户界面的显示单元702(例如,包括显示器112)、被配置为接收输入(例如,表面(诸如显示单元702的显示表面)上的触摸输入)的一个或多个输入设备单元704、以及与显示单元702和所述一个或多个输入设备单元704耦接的处理单元708。在一些实施方案中,电子设备700还包括一个或多个触觉输出发生器单元706,其被配置为生成一个或多个触觉输出,也耦接到处理单元708。在一些实施方案中,处理单元708包括下列子单元中的一者或多者:显示使能单元710、检测单元712、触觉输出使能单元714、分配单元716和确定单元718。
在一些实施方案中,处理单元708被配置为使能在显示单元702上显示(例如,使用显示使能单元702)第一软件应用的用户界面,其中该用户界面包括已为其分配由独立于应用的模块提供的多个用户交互模型中的用户交互模型(例如,使用分配单元716)的多个元素,所述多个元素包括已为其分配第一用户交互模型的第一元素,并且所述多个元素具有由第一软件应用的特定于应用的模块提供的内容。在一些实施方案中,第一用户交互模型定义用户界面如何对指向用户界面的第一元素的输入作出响应。在使能显示用户界面时,处理单元708被配置为检测(例如,使用检测单元712)经由一个或多个输入设备单元704进行的指向用户界面的第一元素的输入。响应于检测到该输入,处理单元708基于所检测到的输入的特征来更新(例如,使用显示使能单元710)显示单元上的用户界面。根据确定(例如,使用确定单元718进行)该输入符合第一用户交互模型所指定的触觉输出标准,处理单元708使能生成对应于该输入的第一触觉输出(例如,使用触觉输出使能单元714)。根据确定(例如,使用确定单元718进行)该输入不符合第一用户交互模型所指定的触觉输出标准,处理单元708放弃使能生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,处理单元708基于所检测到的输入的特征和第一用户交互模型来更新(例如,使用显示使能单元710)显示单元702上的用户界面。在一些实施方案中,处理单元708使用预定义的应用编程接口(API)将第一用户交互模型分配(例如,使用分配单元716)给第一元素。
在一些实施方案中,所述多个元素包括已为其分配由独立于应用的模块提供的所述多个用户交互模型中的第二用户交互模型(例如,使用分配单元716)的第二元素,并且在显示用户界面时,处理单元708检测(例如,使用检测单元712)经由所述一个或多个输入设备单元704进行的指向用户界面的第二元素的第二输入。响应于检测到指向用户界面的第二元素的第二输入,处理单元708基于所检测到的第二输入的特征来更新(例如,使用显示使能单元710)显示单元上的用户界面。根据确定(例如,使用确定单元718进行)第二输入符合第二用户交互模型所指定的触觉输出标准,处理单元708使能(例如,使用触觉输出使能单元714)生成对应于第二输入的第二触觉输出,并且根据确定(例如,使用确定单元718进行)第二输入不符合第二用户交互模型所指定的触觉输出标准,处理单元708放弃使能生成第二触觉输出。
在一些实施方案中,第一元素包括至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的滑块对象,并且第一用户交互模型指定根据用户利用触摸输入对滑块对象的操纵来生成触觉输出(例如,使用触觉输出使能单元714)。在一些实施方案中,处理单元708被进一步配置为使能响应于选择滑块对象的调制类型的触摸输入而生成预定义的调制选择触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一用户交互模型指定根据滑块对象的调制类型以及根据用户利用触摸输入对滑块对象的操纵而调制的第一软件应用的参数来生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一用户交互模型指定根据滑块对象的可移动部分到达末端位置来生成不同的触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的开关对象,并且第一用户交互模型指定在第一输入对应于改变开关对象状态的动作时生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的值选择对象,并且第一用户交互模型指定在第一输入对应于改变使用值选择对象选择的值的动作时生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括响应于达到刷新阈值的下拉手势而刷新的内容,并且第一用户交互模型指定根据确定(例如,使用确定单元718进行)第一输入对应于达到刷新阈值的下拉手势来生成预定义的冲击触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括其尺寸响应于包括缩放手势的第一输入而改变的区域或对象,并且第一用户交互模型指定根据确定(例如,使用确定单元718进行)区域或对象的尺寸已达到预定义限度来生成预定义尺寸限度的触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的、具有按行和列组织的单元格的表格,并且第一用户交互模型指定在第一输入从表格中的任何单元格移动到表格中的任何其他单元格、或者从表格外部移动到表格内部的单元格时生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一元素包括至少部分地基于由第一软件应用的特定于应用的模块提供的信息而生成的、具有按行和列组织的单元格的表格,并且第一用户交互模型指定在两行或更多行单元格响应于第一输入而重新排序时生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一输入使得第一软件应用在不同项目的集合中选择项目,使之移动到第一元素内的预定义位置,并且第一用户交互模型指定结合移动到第一元素内的预定义位置的所选择的项目而生成第一触觉输出(例如,使用触觉输出使能单元714)。
在一些实施方案中,第一用户交互模型指定在第一输入或根据第一输入操纵的对象接近下一预定义状态时生成(例如,使用触觉输出使能单元714)第一触觉输出,以及在第一输入或根据第一输入操纵的对象达到下一预定义状态时生成与第一触觉输出不同的第二触觉输出。
上文参考图6A-6D所述的操作任选地由图1A-1B或图7中所描绘的部件来实现。例如,检测操作610、更新操作614和生成操作618任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图8A-8D是示出根据一些实施方案的使触觉输出和用户界面变化同步的方法800的流程图。在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行方法800。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法800中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法800提供结合用户界面事件来提供触觉输出的直观方式。提供触觉输出需要比更新用户界面更长的时间。因此,用户界面事件(例如,时间灵活用户界面事件)被延迟,使得延迟后的用户界面事件与触觉输出的生成同步。使触觉输出的生成与用户界面更新同步,提供了直观用户界面。另一方面,对于时间严格用户界面事件,用户界面事件未被延迟,从而保持设备对此类时间严格用户界面事件的响应性。该方法降低了在与用户界面交互时来自用户的输入的数量、范围和/或性质,从而创建更有效的人机界面。对于电池驱动的电子设备,确保用户更快且更有效地与用户界面进行交互,可节省功率并且延长电池充电之间的时间。
设备在显示器上显示(802)用户界面(例如,如图5XX中对于T=t0所示的用户界面5105)。
设备检测(804)触发与触觉输出相关联的第一用户界面事件(例如,接收到日历事件邀请,如图5XX中对于T=t1所示)的第一条件(例如,用户输入、排定事件诸如闹钟或定时器、或外部触发的事件诸如传入通知)的发生。生成第一用户界面事件包括(806)显示用户界面的一个或多个变化(例如,在图5XX中,日历事件邀请示能表示5108在用户界面5105上的显示)。
在一些实施方案中,第一条件的发生包括(808)符合预定义输入模式标准(例如,来回摇晃设备的模式,如图5WW中对于T=t1所示)的所检测到的电子设备的移动,并且用户界面的所述一个或多个变化包括撤销先前执行的操作(例如,自动更正、重新显示一个或多个删除的字符、移除一个或多个先前键入的字符、撤销项目的删除、和/或显示撤消操作示能表示,如图5WW中对于T=t3所示)。
设备将不能够在相应时间量内生成(810)与第一用户界面事件相关联的触觉输出(例如,由于生成其他触觉输出和/或触觉输出发生器未准备好生成触觉输出,原因在于触觉输出发生器处于低功率状态)。在一些实施方案中,设备未被配置为在相应时间量内生成与第一用户界面事件相关联的触觉输出(例如,从请求或发起与第一用户界面事件相关联的触觉输出的时间点到生成触觉输出的时间点需要至少相应时间量,诸如图5WW中所示的T延迟或更多)。
响应于检测到第一条件的发生,根据确定第一用户界面事件对应于第一用户界面事件类别(812)(例如,第一用户界面事件不响应于用户输入,诸如不响应于触摸输入而对用户界面直接操纵的警示或其他通知),设备将生成第一用户界面事件延迟(814)至少相应时间量(例如,在图5WW中,设备将生成第一用户界面事件延迟T延迟)。
在一些实施方案中,设备在相应时间量为第一时间量时将显示用户界面的所述一个或多个变化延迟(816)第一时间量,并且在相应时间量为第二时间量时将显示用户界面的所述一个或多个变化延迟第二时间量(例如,设备基于生成触觉输出需要的时间来延迟显示用户界面的所述一个或多个变化)。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括(818)确定第一用户界面事件是不对应于当前在触敏表面上检测到的用户输入的通知事件(例如,接收到日历事件邀请,如图5XX中对于T=t1所示)。在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定第一用户界面事件与在通知事件的同时或紧接通知事件前检测到的触敏表面上的任何用户输入无关。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括(820)确定第一用户界面事件是根据从电子设备外部的信息源接收到以电子方式传送的信息而发起的通知事件(例如,接收到日历事件邀请,如图5XX中对于T=t1所示)。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括(822)确定第一用户界面事件是根据从电子设备所执行的应用接收到以电子方式传送的信息(例如,接收到日历事件邀请,如图5XX中对于T=t1所示)而发起的、并且与在通知事件的同时或紧接通知事件前检测到的触敏表面上的任何用户输入无关的通知事件。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括(824)确定第一用户界面事件是根据电子设备用户发起的交易的完成而发起的通知事件(例如,支付凭据经由短程无线通信信号向支付终端的传输(诸如NFC支付)、经由生物识别传感器(诸如指纹传感器)对支付的成功授权、或通过远程支付服务器接收支付的授权,如图5YY中所示)。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括(826)确定使用一定值向应用编程接口(API)提供第一用户界面事件,该值指示用户界面的所述一个或多个变化可延迟直至设备准备好生成触觉输出(例如,使用指示第一用户界面事件是灵活事件还是不灵活事件的信息从应用向应用编程接口(以及向图1D中所示的独立于应用的软件模块260)提供第一用户界面事件)。
在将第一用户界面事件延迟至少相应时间量之后,设备显示(828)用户界面的所述一个或多个变化,并且生成与第一用户界面事件相关联的触觉输出。用户界面的所述一个或多个变化的显示和与第一用户界面事件相关联的触觉输出的生成同步(830)(例如,使得用户界面的所述一个或多个变化的显示与第一触觉输出的生成同时进行,如图5WW中所示)(例如,使用附录B中所述的prepareWithCompletionHandler函数)。
在一些实施方案中,响应于检测到第一条件的发生,根据确定第一用户界面事件对应于第二用户界面事件类别(例如,第一用户界面事件响应于用户输入,诸如与响应于触摸输入而对用户界面的直接操纵相对应的用户界面的变化),设备在经过了相应时间量之前显示(832)用户界面的所述一个或多个变化,并且在经过了相应时间量之后生成与用户界面中的所述一个或多个变化相关联的触觉输出(例如,在图5VV中,在不延迟的情况下显示用户界面的所述一个或多个变化以提供迅速视觉反馈)。
在一些实施方案中,第一用户界面事件类别包括(834)用户界面的所述一个或多个变化的相应时间量较灵活的事件(例如,与紧接在前的用户输入无关的用户界面事件)。第二用户界面事件类别包括用户界面的所述一个或多个变化的相应时间量不灵活的事件(例如,由用户输入发起的用户界面事件)。
在一些实施方案中,第一用户界面事件类别包括(836)用户界面的所述一个或多个变化不模拟用户输入对用户界面的直接操纵的事件(例如,接收到日历事件邀请,如图5XX中对于T=t1所示)。第二用户界面事件类别包括用户界面的所述一个或多个变化模拟用户输入对用户界面的直接操纵的事件(例如,触发第一用户界面事件的用户输入,如图5VV中所示与用户界面对象在用户界面中的移动相对应的这种接触移动,或与基于接触的压力来改变用户界面对象的外观相对应的接触强度的增加)。
在一些实施方案中,设备检测(838)触敏表面上的、触发与触觉输出相关联的第二用户界面事件的用户输入(例如,图5VV中的用户输入571)。生成第二用户界面事件包括显示用户界面的一个或多个变化。响应于检测到触敏表面上的用户输入,设备对第二用户界面事件显示用户界面的所述一个或多个变化,并且生成与第二用户界面事件相关联的触觉输出(例如,列表元素572和列表元素573在图5VV中重新排序,并且生成对应触觉输出)。对第一用户界面事件显示用户界面的所述一个或多个变化和生成与第一用户界面事件相关联的触觉输出之间的第一时间间隔,小于对第二用户界面事件显示用户界面的所述一个或多个变化和生成与第二用户界面事件相关联的触觉输出之间的第二时间间隔(例如,在一些实施方案中,对第一用户界面事件显示用户界面的一个或多个变化和生成与第一用户界面事件相关联的触觉输出之间的第一时间间隔在图5WW中接近零,并且在图5VV中小于t1与t2之间的第二时间间隔)。
应当理解,图8A-8D中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,1000,1200,1400,1600,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图8A-8D描述的方法800。例如,上文参考方法800所述的触觉输出、用户界面元素、用户界面事件、用户界面事件类别、通知事件、以及触觉输出与用户界面事件的同步,任选地具有本文参考本文所述的其他方法(例如,方法600,1000,1200,1400,1600,1800和2000)描述的触觉输出、用户界面元素、用户界面事件、用户界面事件类别、通知事件、以及触觉输出与用户界面事件的同步的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图9示出根据各种所述实施方案的原理进行配置的电子设备900的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图9中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图9中所示,电子设备900包括被配置为显示用户界面的显示单元902(例如,包括显示器112)、被配置为接收触摸输入(例如,显示单元902的显示表面上)的触敏表面单元904、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元906、以及与显示单元902、触敏表面单元904和一个或多个触觉输出发生器单元906耦接的处理单元908。在一些实施方案中,处理单元908包括下列子单元中的一者或多者:显示使能单元910、检测单元912、延迟单元914、触觉输出使能单元916和确定单元918。
在一些实施方案中,处理单元908被配置为使能在显示单元902上显示(例如,使用显示使能单元910)用户界面。处理单元908检测(例如,使用检测单元912)触发与触觉输出相关联的第一用户界面事件的第一条件的发生,其中生成第一用户界面事件包括使能显示(例如,使用显示使能单元910)用户界面的一个或多个变化。在一些实施方案中,设备(例如,设备900)将不能够在相应时间量内生成与第一用户界面事件相关联的触觉输出(例如,使用触觉输出发生器单元906),并且响应于检测到(例如,使用检测单元912)第一条件的发生,根据确定(例如,使用确定单元918进行)第一用户界面事件对应于第一用户界面事件类别,处理单元908使能生成(例如,使用触觉输出使能单元916)并将第一用户界面事件的生成延迟(例如,使用延迟单元914)至少相应时间量。在将第一用户界面事件的生成延迟(例如,使用延迟单元914)至少相应时间量之后,处理单元908使能显示(例如,使用显示使能单元910)用户界面的所述一个或多个变化,其中用户界面的所述一个或多个变化的显示和与第一用户界面事件相关联的触觉输出的生成同步。
在一些实施方案中,处理单元908被进一步配置为在相应时间量为第一时间量时,将显示用户界面的所述一个或多个变化延迟(例如,使用延迟单元914)第一时间量,并且在相应时间量为第二时间量时,将显示用户界面的所述一个或多个变化延迟(例如,使用延迟单元914)第二时间量。
在一些实施方案中,处理单元908被配置为响应于检测到第一条件的发生,根据确定(例如,使用确定单元918进行)第一用户界面事件对应于第二用户界面事件类别,使能在经过了相应时间量之前显示用户界面的所述一个或多个变化(例如,使用显示使能单元910),其中在经过了相应时间量之后生成与用户界面中的所述一个或多个变化相关联的触觉输出(例如,使用触觉反馈单元918)。
在一些实施方案中,第一用户界面事件类别包括用户界面的所述一个或多个变化的时序较灵活的事件,并且第二用户界面事件类别包括用户界面的所述一个或多个变化的时序不灵活的事件。
在一些实施方案中,第一用户界面事件类别包括用户界面的所述一个或多个变化不模拟用户输入对用户界面的直接操纵的事件,并且第二用户界面事件类别包括用户界面的所述一个或多个变化模拟用户输入对用户界面的直接操纵的事件。
在一些实施方案中,处理单元908被配置为检测触敏表面单元904上的、触发与触觉输出相关联的第二用户界面事件的用户输入,其中生成第二用户界面事件包括使能显示(例如,使用显示使能单元910)用户界面的一个或多个变化。响应于检测到触敏表面单元904上的用户输入,处理单元908被配置为使能对第二用户界面事件显示(例如,使用显示使能单元910)用户界面的所述一个或多个变化,并且使能生成与第二用户界面事件相关联的触觉输出(例如,使用触觉输出使能单元916),其中对第一用户界面事件显示用户界面的所述一个或多个变化和生成与第一用户界面事件相关联的触觉输出之间的第一时间间隔,小于对第二用户界面事件显示用户界面的所述一个或多个变化和生成与第二用户界面事件相关联的触觉输出之间的第二时间间隔。
在一些实施方案中,第一条件的发生包括符合预定义输入模式标准的所检测到的电子设备900的移动,并且用户界面的所述一个或多个变化包括撤销先前执行的操作。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定(例如,使用确定单元918进行)第一用户界面事件是不对应于当前在触敏表面单元904上检测到的用户输入的通知事件。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定(例如,使用确定单元918进行)第一用户界面事件是根据从电子设备900外部的信息源接收到以电子方式传送的信息而发起的通知事件。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定(例如,使用确定单元918进行)第一用户界面事件是根据从电子设备900所执行的应用接收到以电子方式传送的信息而发起的、并且与在通知事件的同时或紧接通知事件前检测到的触敏表面单元904上的任何用户输入无关的通知事件。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定(例如,使用确定单元918进行)第一用户界面事件是根据电子设备900的用户发起的交易的完成而发起的通知事件。
在一些实施方案中,确定第一用户界面事件对应于第一用户界面事件类别包括确定(例如,使用确定单元918进行)使用一定值向应用编程接口(API)提供第一用户界面事件,该值指示用户界面的所述一个或多个变化可延迟直至设备900准备好生成触觉输出。
上文参考图8A-8D所述的操作任选地由图1A-1B或图9中所描绘的部件来实现。例如,检测操作804、延迟操作814及显示和生成操作828任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图10A-10D是示出根据一些实施方案的设定触觉输出发生器的功率/延迟状态的方法1000的流程图。在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行方法1000。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1000中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1000提供基于触觉输出发生器的状态来提供触觉输出的增强方式。预测即将到来的触觉输出生成事件并将触觉输出发生器转变为低延迟模式,可减少生成触觉输出时的延迟,这使设备对用户输入更具响应性,从而创建更有效的人机界面。对于电池驱动的电子设备,与始终保持触觉输出发生器处于低延迟模式相比,基于即将到来的触觉输出生成事件的预测来将触觉输出发生器置于低延迟模式可节省功率,并延长电池充电之间的时间。
在所述一个或多个触觉输出发生器处于低功率状态时(例如,在操作5182处,图5KKK),设备接收(1002)用户交互已开始的指示(例如,检测输入的第一部分,诸如触敏表面上的触摸或拖放操作的开始(如图5III中所示),或从用户交互已开始的第一软件应用接收“准备”请求(诸如在操作5184处,图5KKK)。
用户交互的相应部分与触觉输出相关联(1004)(例如,对应于位置指示符5161和标记5162的重叠的用户交互部分与触觉输出相关联,使得位置指示符5161和标记5162的重叠发起触觉输出)。
低功率状态是(1006)以第一延迟量生成触觉输出的状态(例如,使用所述一个或多个触觉输出发生器生成触觉输出将需要至少预热时间量,诸如ΔTA,图5ZZ和5HHH)。
在一些实施方案中,低功率状态是(1008)所述一个或多个触觉输出发生器的预定义不活动状态(例如,“不活动”状态,图5ZZ)。在一些实施方案中,所述一个或多个触觉输出发生器在低功率状态下不消耗功率。
在一些实施方案中,与触觉输出相关联的用户交互包括(1010)对应于具有触敏表面上的位置(例如,图5III中的位置指示符5161的位置)的触摸输入或具有触敏表面上的位置的用户界面对象的位置信息。
在一些实施方案中,设备根据用户交互的位置信息来确定(1012)触觉输出的位置(例如,当设备包括多个触觉输出发生器时,使用位于用户交互位置附近的一个或多个触觉输出发生器来生成触觉输出)。
在一些实施方案中,所述一个或多个触觉输出发生器包括(1014)两个或更多个触觉输出发生器,每个触觉输出发生器具有对应位置、或位置和尺寸,并且确定触觉输出的位置包括根据用户交互的位置信息以及所述两个或更多个触觉输出发生器的位置、或位置和尺寸来确定触觉输出的位置(例如,如图5G-5H中所示,在滑块507的位置附近的位置处生成触觉输出)。
响应于接收到与触觉输出相关联的用户交互已开始的指示,根据确定该指示符合触觉输出发生器准备标准(例如,在操作5186-是处,图5KKK),设备在第一时间(例如,在图5III中的T=t1时)将所述一个或多个触觉输出发生器设定(1016)为低延迟状态(例如,预热状态具有比不活动状态更低的延迟,以及在一些实施方案中,比就绪状态更高的延迟)。低延迟状态是(1018)以低于第一延迟量的第二延迟量(例如,ΔTB,图5ZZ和5III)生成触觉输出的状态(例如,低延迟状态是使用所述一个或多个触觉输出发生器生成触觉输出时需要比预热时间量更少的时间的状态,如图5ZZ中所示)。
在一些实施方案中,所述一个或多个触觉输出发生器的低功率状态具有(1020)比低延迟状态更低的功率消耗(例如,低延迟状态是消耗比低功率状态更多的功率的高功率状态)。低延迟状态具有在生成触觉输出时比低功率状态更低的延迟,如图5ZZ中所示(例如,低功率状态是消耗比低延迟状态更少的功率的高延迟状态)。
在一些实施方案中,从第一低延迟状态(例如,具有减少的延迟的预热状态,该减少的延迟诸如为比关状态或不活动状态下的延迟ΔTA更低但用户仍可感知的延迟ΔTB,如本文参考图5ZZ所述)和第二低延迟状态(例如,就绪状态或活动状态,其中所述一个或多个触觉输出发生器准备好以最小延迟生成触觉输出,该最小延迟诸如为低于用户可感知的阈值的延迟ΔTC)选择(1022)低延迟状态,如例如参考图5KKK的操作5188所述。第一低延迟状态消耗比第二低延迟状态更少的功率,并且具有比第二低延迟状态更高的延迟。例如,当需要最低延迟时,设备选择第二低延迟状态。
在一些实施方案中,由设备的操作系统(例如,操作系统126,图1A)基于设备所使用的节能协议从第一低延迟状态和第二低延迟状态选择(1024)低延迟状态(例如,如果第一软件应用太频繁地要求将设备设定为就绪状态,或设备处于操作的电池节电模式,则操作系统可决定将设备设定为预热状态而非就绪状态,以便节省功率)。
在一些实施方案中,设备从第一软件应用发出(1026)将所述一个或多个触觉输出发生器设定为低延迟状态的命令。将所述一个或多个触觉输出发生器设定为低延迟状态是响应于第一软件应用所发出的将所述一个或多个触觉输出发生器设定为低延迟状态的命令来执行的(例如,来自图1D中的应用1(136-1)的信息272包括将所述一个或多个触觉输出发生器设定为低延迟状态的一个或多个指令和/或命令)。
在一些实施方案中,设备从第一软件应用(例如,应用136-1,图1D)发出(1028)将所述一个或多个触觉输出发生器设定为低延迟状态的命令,并且在电子设备的操作系统处,接收所发出的命令并且确定是否将所述一个或多个触觉输出发生器设定为低延迟状态。
在一些实施方案中,设备使用电子设备的操作系统确定(1030)何时将所述一个或多个触觉输出发生器设定为低延迟状态(例如,图5KKK中的操作5186)。
在一些实施方案中,电子设备的操作系统根据电子设备的状态来确定(1032)是否将所述一个或多个触觉输出发生器设定为低延迟状态(例如,如果设备处于操作的电池节电模式,操作系统可决定是否将设备设定为低延迟状态,以便节省功率)。
在一些实施方案中,电子设备的操作系统根据第一软件应用发出的将所述一个或多个触觉输出发生器设定为低延迟状态的先前命令的相关历史信息来确定(1034)响应于第一软件应用发出将所述一个或多个触觉输出发生器设定为低延迟状态的命令,是否将所述一个或多个触觉输出发生器设定为低延迟状态(例如,如果应用太多次请求准备,而不请求生成触觉输出,则设备忽略后续的准备请求)。
在将所述一个或多个触觉输出发生器设定为低延迟状态之后(1036),根据确定在经过自第一时间起的预定义时间量之前用户交互已达到与触觉输出相关联的用户交互的相应部分并且所述一个或多个触觉输出发生器仍处于低延迟状态,设备使用所述一个或多个触觉输出发生器以第二延迟量生成(1038)触觉输出(例如,生成触觉输出需要比预热时间量更少的时间);以及根据确定在至少自第一时间起的预定义时间量(例如,超时时间段)内尚未生成触觉输出,使所述一个或多个触觉输出发生器从低延迟状态转变(1040)为低功率状态(例如,不活动状态)(例如,使用下文在附录A中所述的UIFeedbackGenerator准备函数),如例如参考图5KKK的操作5194所述。
在一些实施方案中,在将所述一个或多个触觉输出发生器设定为低延迟状态之后(1036),根据确定在经过自第一时间起的预定义时间量之后用户交互已达到与触觉输出相关联的用户交互的相应部分并且所述一个或多个触觉输出发生器已返回到低功率状态,设备使用所述一个或多个触觉输出发生器以第一延迟量生成(1042)触觉输出(例如,生成触觉输出需要至少预热时间量的时间)。
在一些实施方案中,响应于接收到与触觉输出相关联的用户交互已开始的指示,根据确定该指示不符合触觉输出发生器准备标准(例如,因为设备处于操作的电池节电模式,或因为第一应用已太频繁地请求设备准备生成触觉输出),设备保持(1044)所述一个或多个触觉输出发生器处于低功率状态并且放弃将所述一个或多个触觉输出发生器设定为低延迟状态(例如,如果第一软件应用已太频繁地要求将设备设定为就绪状态,或设备处于操作的电池节电模式,则操作系统可忽略该请求以便节省电池电量),如例如参考图5KKK的操作5186-否所述。
应当理解,图10A-10D中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1200,1400,1600,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图10A-10D描述的方法1000。例如,上文参考方法1000所述的触觉输出、触觉输出发生器、触觉输出发生器状态和软件应用,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1200,1400,1600,1800和2000)描述的触觉输出、触觉输出发生器、触觉输出发生器状态和软件应用的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图11示出根据各种所述实施方案的原理进行配置的电子设备1100的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图11中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图11中所示,电子设备1100包括被配置为显示一个或多个用户界面的显示单元1102(例如,包括显示器112)、被配置为接收触摸输入(例如,显示单元1102的显示表面上)的触敏表面单元1104、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元1106、以及与显示单元1102、触敏表面单元1104和一个或多个触觉输出发生器单元1106耦接的处理单元1108。在一些实施方案中,处理单元1108包括下列子单元中的一者或多者:接收单元1110、状态设置单元1112、确定单元1114、触觉输出使能单元1116和发出单元1118。
在一些实施方案中,在一个或多个触觉输出发生器单元1106处于低功率状态时,处理单元1108被配置为接收(例如,使用接收单元1110)用户交互已开始的指示,其中用户交互的相应部分与触觉输出相关联,并且低功率状态是以第一延迟量生成触觉输出的状态。响应于接收到与触觉输出相关联的用户交互已开始的指示,根据确定(例如,使用确定单元1114进行)该指示符合触觉输出发生器准备标准,处理单元1108在第一时间将一个或多个触觉输出发生器单元1106设定(例如,使用状态设置单元1112)为低延迟状态,其中低延迟状态是以低于第一延迟量的第二延迟量生成触觉输出的状态。在将一个或多个触觉输出发生器单元1106设定为低延迟状态之后,根据确定(例如,使用确定单元1114进行)在经过自第一时间起的预定义时间量之前用户交互已达到与触觉输出相关联的用户交互的相应部分并且一个或多个触觉输出发生器单元1106仍处于低延迟状态,处理单元1108使能使用一个或多个触觉输出发生器单元1106以第二延迟量生成触觉输出。根据确定在至少自第一时间起的预定义时间量内尚未生成触觉输出,处理单元1108将一个或多个触觉输出发生器单元1106从低延迟状态转变为低功率状态。
在一些实施方案中,处理单元1108被进一步配置为在将一个或多个触觉输出发生器单元1106设定为低延迟状态之后,根据确定在经过自第一时间起的预定义时间量之后用户交互已达到与触觉输出相关联的用户交互的相应部分并且一个或多个触觉输出发生器单元1106已返回到低功率状态,使能使用一个或多个触觉输出发生器单元1106以第一延迟量生成(例如,使用触觉输出使能单元1116)触觉输出。
在一些实施方案中,一个或多个触觉输出发生器单元1106的低功率状态具有比低延迟状态更低的功率消耗,并且低延迟状态具有在生成触觉输出时比低功率状态更低的延迟。
在一些实施方案中,低功率状态是一个或多个触觉输出发生器单元1106的预定义不活动状态。
在一些实施方案中,从第一低延迟状态和第二低延迟状态选择低延迟状态,其中第一低延迟状态消耗比第二低延迟状态更少的功率,并且具有比第二低延迟状态更高的延迟。
在一些实施方案中,由设备1100的操作系统基于设备1100所使用的节能协议从第一低延迟状态和第二低延迟状态选择低延迟状态。
在一些实施方案中,处理单元1108被进一步配置为响应于接收到与触觉输出相关联的用户交互已开始的指示(例如,使用接收单元1110),根据确定该指示不符合触觉输出发生器准备标准,保持(例如,使用状态设置单元1112)一个或多个触觉输出发生器单元1106处于低功率状态并且放弃将一个或多个触觉输出发生器单元1106设定为低延迟状态。
在一些实施方案中,与触觉输出相关联的用户交互包括对应于具有触敏表面单元1104上的位置的触摸输入或具有触敏表面单元1104上的位置的用户界面对象的位置信息。
在一些实施方案中,处理单元1108被进一步配置为根据用户交互的位置信息来确定触觉输出的位置(例如,使用确定单元1114)。
在一些实施方案中,一个或多个触觉输出发生器单元1106包括两个或更多个触觉输出发生器单元1106,每个触觉输出发生器单元具有对应位置、或位置和尺寸,并且确定触觉输出的位置包括根据用户交互的位置信息以及两个或更多个触觉输出发生器单元1106的位置、或位置和尺寸来确定(例如,使用确定单元1114)触觉输出的位置。
在一些实施方案中,处理单元1108被进一步配置为从第一软件应用发出(例如,使用发出单元1118)将一个或多个触觉输出发生器单元1106设定(例如,使用状态设置单元1112)为低延迟状态的命令,其中将一个或多个触觉输出发生器单元1106设定为低延迟状态是响应于第一软件应用所发出的将一个或多个触觉输出发生器单元1106设定为低延迟状态的命令来执行的。
在一些实施方案中,处理单元1108被进一步配置为发出(例如,使用发出单元1118)将一个或多个触觉输出发生器单元1106设定(例如,使用状态设置单元1112)为低延迟状态的命令,并且在电子设备1100的操作系统处接收所发出的命令并确定(例如,使用确定单元1114)是否将一个或多个触觉输出发生器单元1106设定为低延迟状态。
在一些实施方案中,处理单元1108被进一步配置为使用电子设备1100的操作系统确定(例如,使用确定单元1114)何时将一个或多个触觉输出发生器单元1106设定(例如,使用状态设置单元1112)为低延迟状态。在一些实施方案中,处理单元1108被进一步配置为使用电子设备1100的操作系统,根据电子设备1100的状态来确定(例如,使用确定单元1114)是否将一个或多个触觉输出发生器单元1106设定(例如,使用状态设置单元1112)为低延迟状态。
在一些实施方案中,电子设备1100的操作系统根据第一软件应用发出的将一个或多个触觉输出发生器单元1106设定为低延迟状态的先前命令的相关历史信息来确定(例如,使用确定单元1114)响应于第一软件应用发出将一个或多个触觉输出发生器单元1106设定为低延迟状态的命令,是否将一个或多个触觉输出发生器单元1106设定为低延迟状态。
上文参考图10A-10D所述的操作任选地由图1A-1B或图11中所描绘的部件来实现。例如,接收操作1002、设定操作1016和生成操作1038任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图12A-12D是示出根据一些实施方案的为多个应用生成一致触觉输出的方法1200的流程图。在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行(1202)方法1200。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1200中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1200提供使用独立于应用的软件模块来提供触觉输出的增强方式。使用独立于应用的软件基于来自应用软件的信息来提供触觉输出,这提供了在使用各种软件应用时提供一致用户体验的通用用户界面框架。向用户提供通用用户界面框架,这增强了此类软件应用及执行此类软件应用的设备的可用性。继而,这增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户提供正确输入并且减少在操作设备/与设备交互时的用户错误和/或非预期操作)。此外,该方法减小软件应用的大小并且使得此类软件应用的执行更快。对于电池驱动的电子设备,确保用户更快且更有效地使用软件应用,可节省功率并延长电池充电之间的时间。
在通过独立于应用的模块(例如,独立于应用的软件模块260,图1D)将第一类型的事件与第一触觉输出相关联,并且将不同于第一类型的事件的第二类型的事件与不同于第一触觉输出的第二触觉输出相关联时,设备从第一应用(例如,应用136-1,图1D)接收(1204)第一信息(例如,指示特定操作是对应于成功事件还是失败事件的信息272,图1D);以及响应于从第一应用接收到第一信息(1206),生成对第一信息的响应,包括:根据确定第一信息对应于第一类型的应用事件(例如,成功事件),使用所述一个或多个触觉输出发生器生成(1208)第一触觉输出(例如,对于图5AAA中所示的成功事件的一系列触觉输出);以及根据确定第一信息对应于不同于第一类型的第二类型的应用事件(例如,失败事件),使用所述一个或多个触觉输出发生器生成(1210)不同于第一触觉输出的第二触觉输出(例如,对于图5BBB中所示的失败事件的一系列触觉输出)。
在生成对第一信息的响应之后,设备从不同于第一应用的第二应用(例如,应用136-2,图1D)接收(1212)第二信息;以及响应于从第二应用接收到第二信息,生成(1214)对第二信息的响应,包括:根据确定第二信息对应于第一类型的应用事件,使用所述一个或多个触觉输出发生器生成(1216)第一触觉输出(例如,对于授权电子支付交易的成功事件的一系列触觉输出);以及根据确定第二信息对应于第二类型的应用事件,使用所述一个或多个触觉输出发生器生成(1218)第二触觉输出(例如,对于拒绝电子支付交易的失败事件的一系列触觉输出)(例如,使用UINotificationFeedbackGenerator对象(或类),包括类型UINotificationFeedbackTypeSuccess和UINotificationFeedbackTypeError,如附录A中所述)。
在一些实施方案中,第一类型的事件是(1220)成功事件(例如,具有如附录A中所述的UIEventFeedbackTypeSuccess类型的事件),并且第二类型的事件是失败事件(例如,具有如附录A中所述的UIEventFeedbackTypeError类型的事件)。
在一些实施方案中,第一信息接收(1222)自第一应用(例如,应用136-1、或应用136-1的部件,诸如图1E的应用核心270-1)的特定于应用的模块,第二信息接收自第二应用(例如,应用136-2、或应用136-2的部件,诸如图1E的应用核心270-2)的特定于应用的模块,并且确定是生成第一触觉输出还是第二触觉输出是通过独立于应用的模块(例如,图1D的独立于应用的软件模块260、或图1E的独立于应用的软件模块260的相应实例)来执行的(例如,在图1E中,应用核心1(270-1)发送指示对应事件是成功事件还是失败事件的信息,应用核心2(270-2)发送指示对应事件是成功事件还是失败事件的信息,并且独立于应用的软件模块260(或其实例)基于成功事件和失败事件与第一触觉输出和第二触觉输出的关联来确定是生成第一触觉输出还是第二触觉输出)。
在一些实施方案中,生成对第一信息的响应包括(1224)根据确定第一信息对应于与不同于第一触觉输出和第二触觉输出的第五触觉输出相关联并且与第一类型和第二类型不同的第三类型的应用事件(例如,警告事件,诸如如图5CCC中所示对应于撤消操作示能表示的显示的通知),使用所述一个或多个触觉输出发生器生成不同于第一触觉输出和第二触觉输出的第五触觉输出;并且生成对第二信息的响应包括根据确定第二信息对应于第三类型的应用事件,使用所述一个或多个触觉输出发生器(例如,使用UIEventFeedbackGenerator对象(或类),包括类型UIEventFeedbackTypeWarning,如附录A中所述)来生成第五触觉输出,如例如参考图5CCC所述。
在一些实施方案中,在生成对第一信息的响应并生成对第二信息的响应之后,设备通过独立于应用的模块改变(1226)与第一类型的事件相关联的第一触觉输出,包括将第一类型的事件与不同于第一触觉输出的第三触觉输出相关联。例如,由于独立于应用的模块确定对于相应类型的事件要生成哪种触觉输出,通过改变事件类型与独立于应用的模块中的特定触觉输出的关联,可一致地更新多个应用的触觉输出。此外,这有利于改变特定事件类型的触觉输出,因为仅需要用独立于应用的模块进行改变,而不必改变被配置为生成特定事件类型的触觉输出的所有应用。
在一些实施方案中,在通过独立于应用的模块改变与第一类型的事件相关联的触觉输出之后,设备从第一应用接收(1228)第三信息;以及响应于从第一应用接收到第三信息,生成对第三信息的响应,包括:根据确定第三信息对应于第一类型的应用事件(例如,成功事件),使用所述一个或多个触觉输出发生器来生成第三触觉输出。在生成对第三信息的响应之后,设备从不同于第一应用的第二应用接收第四信息;以及响应于从第二应用接收到第四信息,生成对第四信息的响应,包括:根据确定第四信息对应于第一类型的应用事件(例如,成功事件),使用所述一个或多个触觉输出发生器来生成第三触觉输出。例如,一旦第一类型的应用事件(例如,成功事件)与新触觉输出(即,第三触觉输出)相关联,就改变第一应用和第二应用两者中第一类型的应用事件的触觉输出以匹配第三触觉输出。
在一些实施方案中,第三信息接收(1230)自第一应用(例如,图1E中的应用核心1(270-1))的特定于应用的模块,第四信息接收自第二应用(例如,图1E中的应用核心2(270-2))的特定于应用的模块,并且确定是否生成第三触觉输出(例如,确定第三信息和/或第四信息是否对应于第一类型的应用事件)是通过独立于应用的模块(例如,图1E中的独立于应用的软件模块260或其实例)来执行的。
在一些实施方案中,在生成对第一信息的响应并生成对第二信息的响应之后,设备通过独立于应用的模块改变(1232)与第二类型的事件相关联的触觉输出,包括将第二类型的事件与不同于第二触觉输出的第四触觉输出相关联。
在一些实施方案中,在通过独立于应用的模块改变与第二类型的事件相关联的触觉输出之后,设备从第一应用接收(1234)第五信息;以及响应于从第一应用接收到第五信息,生成对第五信息的响应,包括:根据确定第五信息对应于第二类型的应用事件(例如,失败事件),使用所述一个或多个触觉输出发生器来生成第四触觉输出。在生成对第五信息的响应之后,设备从不同于第一应用的第二应用接收第六信息;以及响应于从第二应用接收到第六信息,生成对第六信息的响应,包括:根据确定第六信息对应于第二类型的应用事件,使用所述一个或多个触觉输出发生器来生成第四触觉输出。例如,一旦第二类型的应用事件(例如,失败事件)与新触觉输出(即,第四触觉输出)相关联,就改变第一应用和第二应用两者中第二类型的应用事件的触觉输出以匹配第四触觉输出。
在一些实施方案中,第五信息接收(1236)自第一应用(例如,图1E中的应用核心1(270-1))的特定于应用的模块,第六信息接收自第二应用(例如,图1E中的应用核心2(270-2))的特定于应用的模块,并且确定是否生成第四触觉输出(例如,确定第五信息和/或第六信息是否对应于第二类型的应用事件)是通过独立于应用的模块(例如,图1E中的独立于应用的软件模块260或其实例)来执行的。
应当理解,图12A-12D中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1000,1400,1600,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图12A-12D描述的方法1200。例如,上文参考方法1200所述的触觉输出、信息、软件应用、独立于应用的模块和特定于应用的模块,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1000,1400,1600,1800和2000)描述的触觉输出、信息、软件应用、独立于应用的模块和特定于应用的模块的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
上文参考图12A-12D所述的操作任选地由图1A-1B或图13中所描绘的部件来实现。例如,接收操作1204、生成操作1208、接收操作1212和生成操作1214任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
根据一些实施方案,图13示出根据各种所述实施方案的原理进行配置的电子设备1300的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图13中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图13中所示,电子设备1300包括被配置为显示用户界面的显示单元1302(例如,包括显示器112)、被配置为接收触摸输入(例如,显示单元1302的显示表面上)的触敏表面单元1304、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元1306、以及与显示单元1302、触敏表面单元1304和一个或多个触觉输出发生器单元1306耦接的处理单元1308。在一些实施方案中,处理单元1308包括下列子单元中的一者或多者:接收单元1310、响应生成使能单元1312、确定单元1314和改变单元1316。
在一些实施方案中,在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于第一类型的第二类型的事件与不同于第一触觉输出的第二触觉输出相关联时,处理单元1308被配置为从第一应用接收(例如,使用接收单元1310)第一信息。处理单元1308被配置为响应于从第一应用接收到第一信息,使能生成对第一信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第一信息对应于第一类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第一触觉输出(例如,使用响应生成使能单元1312),以及根据确定(例如,使用确定单元1314进行)第一信息对应于不同于第一类型的第二类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成(例如,使用响应生成使能单元1312)不同于第一触觉输出的第二触觉输出。处理单元1308被配置为在使能生成对第一信息的响应之后,从不同于第一应用的第二应用接收(例如,使用接收单元1310)第二信息。处理单元1308被配置为响应于从第二应用接收到第二信息,使能生成对第二信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第二信息对应于第一类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第一触觉输出,以及根据确定(例如,使用确定单元1314进行)第二信息对应于第二类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第二触觉输出。
在一些实施方案中,处理单元1308被进一步配置为在使能生成对第一信息的响应并使能生成对第二信息的响应之后,通过独立于应用的模块改变与第一类型的事件相关联的触觉输出(例如,使用改变单元1316),包括将第一类型的事件与不同于第一触觉输出的第三触觉输出相关联。
在一些实施方案中,在通过独立于应用的模块改变与第一类型的事件相关联的触觉输出之后,处理单元1308从第一应用接收第三信息(例如,使用接收单元1310)。处理单元1308被配置为响应于从第一应用接收到第三信息,使能生成对第三信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第三信息对应于第一类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第三触觉输出(例如,使用响应生成使能单元1312)。处理单元1308被配置为在使能生成对第三信息的响应之后,从不同于第一应用的第二应用接收第四信息(例如,使用接收单元1310)。处理单元1308被配置为响应于从第二应用接收到第四信息,使能生成对第四信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第四信息对应于第一类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第三触觉输出(例如,使用响应生成使能单元1312)。
在一些实施方案中,第三信息接收自第一应用的特定于应用的模块,第四信息接收自第二应用的特定于应用的模块,并且确定是否生成第三触觉输出是通过独立于应用的模块来执行的。
在一些实施方案中,处理单元1308被配置为在使能生成对第一信息的响应并使能生成对第二信息的响应之后,通过独立于应用的模块改变(例如,使用改变单元1316)与第二类型的事件相关联的触觉输出,包括将第二类型的事件与不同于第二触觉输出的第四触觉输出相关联。
在一些实施方案中,处理单元1308被配置为在通过独立于应用的模块改变(例如,使用改变单元1316)与第二类型的事件相关联的触觉输出之后,从第一应用接收第五信息(例如,使用接收单元1310)。处理单元1308被配置为响应于从第一应用接收到第五信息,使能生成对第五信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第五信息对应于第二类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第四触觉输出(例如,使用响应生成使能单元1312)。处理单元1308被配置为在使能生成对第五信息的响应之后,从不同于第一应用的第二应用接收第六信息(例如,使用接收单元1310)。处理单元1308被配置为响应于从第二应用接收到第六信息,使能生成对第六信息的响应(例如,使用响应生成使能单元1312),包括:根据确定(例如,使用确定单元1314进行)第六信息对应于第二类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成第四触觉输出(例如,使用响应生成使能单元1312)。
在一些实施方案中,第五信息接收自第一应用的特定于应用的模块,第六信息接收自第二应用的特定于应用的模块,并且确定是否生成第四触觉输出是通过独立于应用的模块来执行的。
在一些实施方案中,第一信息接收自第一应用的特定于应用的模块,第二信息接收自第二应用的特定于应用的模块,并且确定是生成第一触觉输出还是第二触觉输出是通过独立于应用的模块来执行的。
在一些实施方案中,使能生成对第一信息的响应(例如,使用响应生成使能单元1312)包括:根据确定(例如,使用确定单元1314进行)第一信息对应于与不同于第一触觉输出和第二触觉输出的第五触觉输出相关联并且与第一类型和第二类型不同的第三类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成(例如,使用响应生成使能单元1312)不同于第一触觉输出和第二触觉输出的第五触觉输出。在一些实施方案中,使能生成对第二信息的响应包括:根据确定(例如,使用确定单元1314进行)第二信息对应于第三类型的应用事件,使能使用一个或多个触觉输出发生器单元1306生成(例如,使用响应生成使能单元1312)第五触觉输出。
在一些实施方案中,第一类型的事件是成功事件,并且第二类型的事件是失败事件。
图14A-14B是示出根据一些实施方案的基于来自特定于应用的模块的信息来生成触觉输出的方法1400的流程图。在具有显示器、触敏表面以及用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行方法1400。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1400中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1400提供使用独立于应用的软件模块来提供触觉输出的增强方式。使用独立于应用的软件基于来自应用软件的信息来提供触觉输出,这提供了在使用各种软件应用时提供一致用户体验的通用用户界面框架。向用户提供通用用户界面框架,这增强了此类软件应用及执行此类软件应用的设备的可用性。此外,该方法提供基于冲击事件的物理模拟来提供触觉输出的直观方式。继而,这些特征增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户提供正确输入并且减少在操作设备/与设备交互时的用户错误和/或非预期操作)。此外,该方法减小软件应用的大小并且使得此类软件应用的执行更快。对于电池驱动的电子设备,确保用户更快且更有效地使用软件应用,可节省功率并延长电池充电之间的时间。
设备在独立于应用的模块(例如,独立于应用的软件模块260,图1D)处,从与第一应用(例如,应用136-1、或应用136-1的部件,诸如应用核心270-1,图1D-1E)相关联的特定于应用的模块接收(1402)有关指向第一应用的用户界面的输入的信息(例如,信息272)。
响应于检测到该输入而在第一应用的用户界面中执行的操作(1404)与特定于应用的模块所指定的触觉输出模式相关联。
此外,有关该输入的信息包括(1406)指示响应于检测到该输入而在用户界面中执行的操作的量值(例如,速度或距离)的信息,如本文参考图5DDD-5GGG更详细所述。
在一些实施方案中,量值(1408)由第一应用提供。
在一些实施方案中,量值(1410)由电子设备的操作系统(例如,操作系统126,图1A和3)提供。在一些实施方案中,由操作系统提供的量值考虑了在重叠时间段期间生成的其他触觉输出。
响应于接收到有关指向第一应用的用户界面的输入的信息,设备经由所述一个或多个触觉输出发生器生成(1412)与在第一应用的用户界面中执行的操作相对应的触觉输出。
触觉输出具有(1414)特定于应用的模块所指定的触觉输出模式。
此外,触觉输出具有(1416)根据响应于检测到该输入而在第一应用的用户界面中执行的操作的量值(例如,如由特定于应用的模块提供)来确定(例如,通过独立于应用的模块)的幅度,如本文参考图5DDD-5GGG更详细所述。例如,使用UIImpactFeedbackGenerator生成触觉输出。
在一些实施方案中,进一步根据在模拟碰撞或冲击中对象的速度或质量中的至少一者来确定(1418)触觉输出的幅度。
在一些实施方案中,进一步通过将预定义物理模型应用于一个或多个所显示的用户界面元素的一个或多个参数或触摸输入的一个或多个参数来确定(1420)触觉输出的幅度。
在一些实施方案中,进一步通过振动频率来表征(1422)触觉输出,其中基于触觉输出模式来选择振动频率。
在一些实施方案中,振动频率(1424)小于100赫兹。
应当理解,图14A-14B中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1600,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图14A-14B描述的方法1400。例如,上文参考方法1400所述的触觉输出、用户界面操作、量值、幅度和频率,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1600,1800和2000)描述的触觉输出、用户界面操作、量值、幅度和频率的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图15示出根据各种所述实施方案的原理进行配置的电子设备1500的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图15中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图15中所示,电子设备1500包括被配置为显示用户界面的显示单元1502(例如,包括显示器112)、被配置为接收触摸输入(例如,在表面(诸如显示单元1502的显示表面)上)的触敏表面单元1504、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元1506、以及与显示单元1502、触敏表面单元1504和一个或多个触觉输出发生器单元1506耦接的处理单元1508。在一些实施方案中,处理单元1508包括下列子单元中的一者或多者:接收单元1510、触觉输出使能单元1512和确定单元1514。
在一些实施方案中,处理单元1508被配置为在独立于应用的模块处,从与第一应用相关联的特定于应用的模块接收(例如,使用接收单元1510)有关指向第一应用的用户界面的输入的信息,其中响应于检测到该输入而在第一应用的用户界面中执行的操作与特定于应用的模块所指定的触觉输出模式相关联,并且有关该输入的信息包括指示响应于检测到该输入而在用户界面中执行的操作的量值的信息。处理单元1508被配置为响应于接收到有关指向第一应用的用户界面的输入的信息,使能经由一个或多个触觉输出发生器单元1506生成(例如,使用触觉输出使能单元1512)与第一应用的用户界面中执行的操作相对应的触觉输出,其中触觉输出具有特定于应用的模块所指定的触觉输出模式,并且触觉输出具有根据响应于检测到该输入而在第一应用的用户界面中执行的操作的量值来确定的幅度。
在一些实施方案中,进一步通过振动频率来表征触觉输出,其中基于触觉输出模式来选择振动频率。在一些实施方案中,振动频率小于100赫兹。在一些实施方案中,进一步根据在模拟碰撞或冲击中对象的速度或质量中的至少一者来确定(例如,使用确定单元1514)触觉输出的幅度。在一些实施方案中,进一步通过将预定义物理模型应用于一个或多个所显示的用户界面元素的一个或多个参数或触摸输入的一个或多个参数来确定(例如,使用确定单元1514)触觉输出的幅度。在一些实施方案中,量值由应用提供。在一些实施方案中,量值由电子设备1500的操作系统提供。
上文参考图14A-14B所述的操作任选地由图1A-1B或图15中所描绘的部件来实现。例如,接收操作1402和生成操作1412任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图16A-16D是示出根据一些实施方案的基于用户交互事件来设定触觉输出发生器的功率/延迟状态的方法1600的流程图。在具有显示器、触敏表面以及用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行方法1600。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1600中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1600提供基于触觉输出发生器的状态来提供触觉输出的增强方式。预测即将到来的触觉输出生成事件并将触觉输出发生器转变为低延迟模式,可减少生成触觉输出时的延迟,这使设备对用户输入更具响应性,从而创建更有效的人机界面。对于电池驱动的电子设备,与始终保持触觉输出发生器处于低延迟模式相比,基于即将到来的触觉输出生成事件的预测来将触觉输出发生器置于低延迟模式可节省功率,并延长电池充电之间的时间。
设备在显示器上显示(1602)用户界面。
在显示器上显示用户界面时且在所述一个或多个触觉输出发生器处于低功率状态时(例如,不活动,图5ZZ和5HHH),设备检测(1604)经由触敏表面进行的第一用户交互。
在一些实施方案中,第一用户交互是(1606)触敏表面上的接触的压下。
在一些实施方案中,第一用户交互是(1608)在检测到触敏表面上的接触的压下之后接触的变化。
响应于检测到第一用户交互,设备将所述一个或多个触觉输出发生器设定(1610)为低延迟状态(例如,预热或活动,图5ZZ),如本文参考图5III更详细所述。在一些实施方案中,基于确定第一用户交互是潜在对应于与触觉输出相关联的输入事件序列(例如,拖放输入)的用户交互,将触觉输出发生器设定为低延迟状态。例如,在一些实施方案中,如本文参考方法1000所述的那样将触觉输出发生器设定为低延迟状态。
在将所述一个或多个触觉输出发生器设定为低延迟状态之后,设备检测(1612)作为与第一用户交互相同的用户交互序列的一部分的第二用户交互(例如,第一用户交互和第二用户交互对应于触敏表面上相同的连续检测到的接触或接触组)。
响应于检测到第二用户交互,设备生成(1614)对应于第二用户交互的触觉输出(例如,使用如附录B中所述的UIFeedbackGenerator Prepare函数或UIFeedbackGeneratorUserInteractionDriven选项)。
再次参见操作1612,在一些实施方案中,第一用户交互和第二用户交互被(1616)检测为触敏表面上的连续触摸输入的一部分(例如,在此期间触摸输入保持与触敏表面接触),该连续触摸输入横穿显示器上所显示的用户界面的部件序列。
在一些实施方案中,设备响应于触敏表面上的用户输入而使一组菜单项滚动(1618),其中用户交互序列包括滚动到或滚动经过用户界面中的选择位置的、该组菜单项中的相应菜单项序列(例如,如本文参考图5I-5J更详细所述)。
在一些实施方案中,设备响应于触敏表面上的用户输入而使一组日期部件或时间部件项滚动(1620),其中用户交互序列包括滚动到或滚动经过用户界面中的选择位置的日期部件或时间部件项序列(例如,如本文参考图5K-5O更详细所述)。
再次参见操作1614,在一些实施方案中,监视功能跟踪(1622)用户交互序列的进展。基于确定监视功能已进入监视功能已开始监视用户交互序列的起始状态,将所述一个或多个触觉输出发生器改变为低延迟状态。此外,基于确定监视功能已进入变化状态(例如,对于或相对于用户交互序列的变化状态),生成触觉输出。
在一些实施方案中,监视功能跟踪(1624)用户交互序列的进展。基于确定监视功能已进入对应于触觉输出的变化状态之前的变化状态(例如,指示接触移动的变化状态),将所述一个或多个触觉输出发生器改变为低延迟状态。此外,基于确定监视功能已进入对应于触觉输出的变化状态(例如,指示接触越过边界或移动到新置放目标的变化状态),生成触觉输出。
在一些实施方案中,用户交互序列对应(1626)于触敏表面上的连续触摸输入,该连续触摸输入横穿显示器上所显示的用户界面的部件序列,并且设备使用相同波形(例如,使用UIRetargetFeedbackGenerator)生成两个或更多个触觉输出的序列。
在一些实施方案中,用户交互序列对应(1628)于触敏表面上的触摸输入,该触摸输入横穿显示器上所显示的软键序列(例如,用于选择相同字母或字符的不同版本,诸如具有不同变音符号的字母(例如,“e”)的按键),并且设备生成一个或多个触觉输出,所述一个或多个触觉输出对应于到达相对于软键序列的预定义位置(例如,按键的前缘或中心位置或两者)的触摸输入。
在一些实施方案中,用户交互序列包括(1630)事件序列,该事件序列对应于在显示器上所显示的用户界面中将对象从初始位置拖动到另一位置的不同阶段(例如,使用UIDragFeedbackGenerator对象),如本文参考图5LL-5QQ更详细所述。
在一些实施方案中,拖动对象的不同阶段包括(1632)对象提起阶段和对象置放阶段。在一些实施方案中,响应于第一相应用户交互(在用户交互序列中,第一相应用户交互对应于对象提起阶段),设备将一个或多个触觉输出发生器设定为低延迟状态,并且响应于第二相应用户交互(在用户交互序列中,第二相应用户交互对应于对象置放阶段),设备将一个或多个触觉输出发生器设定为低功率状态(例如,如本文参考方法1000所述)。
在一些实施方案中,拖动对象的不同阶段包括(1634)对应于对象相对于用户界面特征(例如,网格或阵列,如本文参考图5RR-5SS更详细所述)弹跳就位的对象弹跳阶段,并且触觉输出对应于对象相对于用户界面特征弹跳就位。在一些实施方案中,根据对象相对于用户界面特征弹跳就位来生成触觉输出,而不考虑对象弹跳就位是否对应于拖动对象的不同阶段的序列的对象弹跳阶段。
在一些实施方案中,在响应于检测到第二用户交互而生成触觉输出之后,根据确定在小于自第二用户交互起的预定义时间段发生第三用户交互,设备放弃(1636)响应于检测到作为与第一用户交互和第二用户交互相同的用户交互序列的一部分的第三用户交互来生成后续的触觉输出(例如,如本文参考图5K-5O和5JJJ和方法1800更详细所述)。
在一些实施方案中,设备检测(1638)用户交互序列的结束。响应于检测到用户交互序列的结束,设备将所述一个或多个触觉输出发生器设定为低功率状态。
在一些实施方案中,监视功能跟踪(1640)用户交互序列的进展,并且基于确定监视功能已进入结束状态(例如,对于或相对于用户交互序列的结束状态),将所述一个或多个触觉输出发生器设定为低功率状态。
应当理解,图16A-16D中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1800和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图16A-16D描述的方法1600。例如,上文参考方法1600所述的触觉输出、触觉输出发生器、触觉输出发生器状态、用户交互、用户界面元素和用户界面操纵,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1800和2000)描述的触觉输出、触觉输出发生器、触觉输出发生器状态、用户交互、用户界面元素和用户界面操纵的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图17示出根据各种所述实施方案的原理进行配置的电子设备1700的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图17中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图17中所示,电子设备1700包括被配置为显示用户界面的显示单元1702(例如,包括显示器112)、被配置为接收触摸输入(例如,在表面(诸如显示单元1702的显示表面)上)的触敏表面单元1704、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元1706、以及与显示单元1702、触敏表面单元1704和一个或多个触觉输出发生器单元1706耦接的处理单元1708。在一些实施方案中,处理单元1708包括下列子单元中的一者或多者:显示使能单元1710、检测单元1712、状态设置单元1714、触觉输出使能单元1716、确定单元1718和滚动使能单元1720。
在一些实施方案中,处理单元1708被配置为使能在显示单元1702上显示(例如,使用显示使能单元1710)用户界面。在使能在显示单元1702上显示用户界面时且在一个或多个触觉输出发生器单元1706处于低功率状态时,处理单元1708检测(例如,使用检测单元1712)经由触敏表面单元1704进行的第一用户交互。处理单元1708被配置为响应于检测到第一用户交互,将一个或多个触觉输出发生器单元1706设定为低延迟状态(例如,使用状态设置单元1714)。处理单元1708被配置为在将一个或多个触觉输出发生器单元1706设定为低延迟状态之后,检测(例如,使用检测单元1712)作为与第一用户交互相同的用户交互序列的一部分的第二用户交互。处理单元1708被配置为响应于检测到第二用户交互,使能生成对应于第二用户交互的触觉输出(例如,使用触觉输出使能单元1716)。
在一些实施方案中,第一用户交互和第二用户交互被检测为触敏表面单元1704上的连续触摸输入的一部分,该连续触摸输入横穿显示单元1702上所显示的用户界面的部件序列。
在一些实施方案中,第一用户交互是触敏表面单元1704上的接触的压下。在一些实施方案中,第一用户交互是在检测到触敏表面单元1704上的接触的压下之后接触的变化。
在一些实施方案中,监视功能跟踪用户交互序列的进展。基于确定(例如,使用确定单元1718进行)监视功能已进入监视功能已开始监视用户交互序列的起始状态,将一个或多个触觉输出发生器单元1706改变(例如,使用状态设置单元1714)为低延迟状态,并且基于确定(例如,使用确定单元1718进行)监视功能已进入变化状态,生成(例如,使用触觉输出使能单元1716)触觉输出。
在一些实施方案中,监视功能跟踪用户交互序列的进展。基于确定(例如,使用确定单元1718进行)监视功能已进入对应于触觉输出的变化状态之前的变化状态,将一个或多个触觉输出发生器单元1706改变(例如,使用状态设置单元1714)为低延迟状态,并且基于确定(例如,使用确定单元1718进行)监视功能已进入对应于触觉输出的变化状态,生成(例如,使用触觉输出使能单元1716)触觉输出。
在一些实施方案中,处理单元1708被进一步配置为检测(例如,使用检测单元1712)用户交互序列的结束。处理单元1708被配置为响应于检测到用户交互序列的结束,将一个或多个触觉输出发生器单元1706设定为低功率状态(例如,使用状态设置单元1714)。
在一些实施方案中,监视功能跟踪用户交互序列的进展,并且基于确定(例如,使用确定单元1718进行)监视功能已进入结束状态,将一个或多个触觉输出发生器单元1706设定(例如,使用状态设置单元1714)为低功率状态。
在一些实施方案中,用户交互序列对应于触敏表面单元1704上的连续触摸输入,该连续触摸输入横穿显示单元1702上所显示的用户界面的部件序列,并且处理单元1708被进一步配置为使能使用相同波形生成两个或更多个触觉输出的序列(例如,使用触觉输出使能单元1716)。
在一些实施方案中,处理单元1708被配置为在使能响应于检测到第二用户交互而生成触觉输出之后,根据确定(例如,使用确定单元1718进行)在小于自第二用户交互起的预定义时间段发生第三用户交互,放弃响应于检测到(例如,使用检测单元1712)作为与第一用户交互和第二用户交互相同的用户交互序列的一部分的第三用户交互来生成后续的触觉输出(例如,使用触觉输出使能单元1716)。
在一些实施方案中,处理单元1708使能响应于触敏表面单元1704上的用户输入而使一组菜单项滚动(例如,使用滚动使能单元1720),其中用户交互序列包括滚动到或滚动经过用户界面中的选择位置的、该组菜单项中的相应菜单项系列。
在一些实施方案中,处理单元1708使能响应于触敏表面单元1704上的用户输入而使一组日期部件或时间部件项滚动(例如,使用滚动使能单元1720),其中用户交互序列包括滚动到或滚动经过用户界面中的选择位置的日期部件或时间部件项系列。
在一些实施方案中,用户交互序列对应于触敏表面单元1704上的触摸输入,该触摸输入横穿显示单元1702上所显示的软键系列,并且处理单元1708使能生成一个或多个触觉输出(例如,使用触觉输出使能单元1716),所述一个或多个触觉输出对应于到达相对于软键序列的预定义位置的触摸输入。
在一些实施方案中,用户交互序列包括事件序列,该事件序列对应于在显示单元1702上所显示的用户界面中将对象从初始位置拖动到另一位置的不同阶段。在一些实施方案中,拖动对象的不同阶段包括对象提起阶段和对象置放阶段。在一些实施方案中,拖动对象的不同阶段包括对应于对象相对于用户界面特征弹跳就位的对象弹跳阶段,并且触觉输出对应于对象相对于用户界面特征弹跳就位。
上文参考图16A-16D所述的操作任选地由图1A-1B或图17中所描绘的部件来实现。例如,检测操作1604、设定操作1610和生成操作1614任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图18A-18C是示出根据一些实施方案的基于与前一触觉输出生成的时间间隔来有条件地生成触觉输出的方法1800的流程图。在具有显示器、触敏表面以及用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,设备300,图3,或便携式多功能设备100,图1A)处执行方法1800。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1800中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法1800提供基于时间间隔来提供触觉输出的增强方式。基于与先前触觉输出的时间间隔来放弃触觉输出的生成,可减少触觉输出的过多生成,从而保护触觉输出发生器。此外,基于与先前触觉输出的时间间隔来放弃触觉输出的生成,可减少用户过多接收触觉输出,从而让用户聚焦于更重要的触觉输出。因此,这保护了设备并且使得用户设备界面更有效(例如,通过提供更重要的触觉输出并且减少在操作设备/与设备交互时的用户错误和/或非预期操作)。
设备接收(1802)对第一用户界面操作的第一请求。
第一用户界面操作是(1804)与第一触觉输出相关联的相应用户界面元素中第一类型的变化。
响应于接收到第一请求(1806),设备执行(1808)第一用户界面操作,并且生成(1810)第一触觉输出。
在执行第一用户界面操作之后,设备接收(1812)对与第二触觉输出相关联的第二用户界面操作的第二请求。
响应于接收到第二请求(1814),根据确定(1816)对第二用户界面操作的第二请求包括对与第二触觉输出相关联的用户界面中第一类型的变化的实例的请求,执行如下所述的操作(例如,如本文参考图5JJJ更详细所述)。
设备确定(1818)从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第二请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的时间间隔。在一些实施方案中,由触觉输出的请求时间、与用户界面变化相关联的时间、或触觉输出时间(实际的和预计的)来测量时间间隔。
根据确定(1820)该时间间隔小于预定义时间段,设备执行第二用户界面操作而不生成第二触觉输出(例如,如本文参考请求和图5JJJ的触觉输出图5170a中的触觉输出更详细所述)。
在一些实施方案中,时间间隔是(1822)从为相应用户界面元素中第一类型的变化的最近在先实例生成的触觉输出的开始到第二触觉输出的开始来确定的。在一些实施方案中,预定义时间段比为相应用户界面元素中第一类型的变化的最近在先实例生成的触觉输出的持续时间更长。
根据确定(1824)该时间间隔大于预定义时间段,设备执行第二用户界面操作并生成第二触觉输出(例如,如本文参考请求和图5JJJ的触觉输出图5170a中的触觉输出更详细所述)。
在一些实施方案中,根据(1826)确定对第二用户界面操作的第二请求不包括对相应用户界面元素中第一类型的变化的实例的请求,设备将第二触觉输出与所述一个或多个触觉输出发生器所生成的其他触觉输出混合,而不考虑该时间间隔是否小于预定义时间段(例如,如本文参考请求和图5JJJ的触觉输出图5170b中的触觉输出更详细所述)。
在一些实施方案中,在执行第二用户界面操作之后,设备接收(1828)对与第三触觉输出相关联的第三用户界面操作的第三请求。响应于接收到对第三用户界面操作的第三请求,根据确定对第三用户界面操作的第三请求包括对与第三触觉输出相关联的用户界面中第一类型的变化的实例的请求,设备确定从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第三请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的第二时间间隔。根据确定第二时间间隔小于预定义时间段,设备执行第三用户界面操作,而不生成第三触觉输出。根据确定第二时间间隔大于预定义时间段,设备执行第三用户界面操作并生成第三触觉输出。
在一些实施方案中,第一触觉输出和第三触觉输出(1830)与对应于触敏表面上的连续触摸输入的、用户交互序列中的第一和第三用户交互(例如,响应于连续触摸输入而横穿用户界面元素序列,诸如菜单项、日期或时间部件项或软键的序列)同步。在一些实施方案中,第一触觉输出、第二触觉输出和第三触觉输出分别对应于该序列中的第一元素、第二元素和第三元素。在一些实施方案中,相应触觉输出的生成与横穿对应相应用户界面元素的连续触摸输入同步。然而,在一些实施方案中,如果该输入太快横穿该序列,则不会生成其中的一种或多种触觉输出。在一些实施方案中,即使例如不生成第二触觉输出,第一触觉输出和第三触觉输出的生成也分别与横穿第一元素和第三元素的连续触摸输入同步(例如,不考虑是否生成第二触觉输出)。
在一些实施方案中,响应于接收到第三请求(1832),根据确定对第三用户界面操作的第三请求不包括相应用户界面元素中第一类型的变化的实例,设备将第三触觉输出与所述一个或多个触觉输出发生器所生成的其他触觉输出混合,而不考虑第二时间间隔是否小于预定义时间段(例如,如本文参考请求和图5JJJ的触觉输出图5170a和5170b中的触觉输出更详细所述)。
应当理解,图18A-18C中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1600和2000)描述的其他过程的细节同样以类似的方式适用于上文参考图18A-18C描述的方法1800。例如,上文参考方法1800所述的用户界面元素、用户界面操作和触觉输出,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1600和2000)描述的用户界面元素、用户界面操作和触觉输出的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图19示出根据各种所述实施方案的原理进行配置的电子设备1900的功能框图。该设备的功能块任选地由执行各种所述实施方案的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图19中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图19中所示,电子设备1900包括被配置为显示用户界面的显示单元1902(例如,包括显示器112)、被配置为接收触摸输入(例如,在表面(诸如显示单元1902的显示表面)上)的触敏表面单元1904、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元1906、以及与显示单元1902、触敏表面单元1904和一个或多个触觉输出发生器单元1906耦接的处理单元1908。在一些实施方案中,处理单元1908包括下列子单元中的一者或多者:接收单元1910、执行单元1912、触觉输出使能单元1914、确定单元1916、混合单元1918和同步单元1920。
在一些实施方案中,处理单元1908被配置为接收(例如,使用接收单元1910)对第一用户界面操作的第一请求,其中第一用户界面操作是与第一触觉输出相关联的相应用户界面元素中第一类型的变化。处理单元1908被配置为响应于接收到第一请求,执行(例如,使用执行单元1912)第一用户界面操作,并且使能生成第一触觉输出(例如,使用触觉输出使能单元1914)。处理单元1908被配置为在执行第一用户界面操作之后,接收(例如,使用接收单元1910)对与第二触觉输出相关联的第二用户界面操作的第二请求。处理单元1908被配置为响应于接收到第二请求,根据确定(例如,使用确定单元1916进行)对第二用户界面操作的第二请求包括对与第二触觉输出相关联的用户界面中第一类型的变化的实例的请求,确定从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第二请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的时间间隔(例如,使用确定单元1916)。处理单元1908被配置为根据确定(例如,使用确定单元1916进行)该时间间隔小于预定义时间段,执行第二用户界面操作(例如,使用执行单元1912),而不使能生成第二触觉输出;以及根据确定该时间间隔大于预定义时间段,执行第二用户界面操作(例如,使用执行单元1912)并且使能生成第二触觉输出(例如,使用触觉输出使能单元1914)。
在一些实施方案中,时间间隔是从为相应用户界面元素中第一类型的变化的最近在先实例生成的触觉输出的开始到第二触觉输出的开始来确定的(例如,使用确定单元1916),并且预定义时间段比为相应用户界面元素中第一类型的变化的最近在先实例生成的触觉输出的持续时间更长。
在一些实施方案中,处理单元1908被配置为响应于接收到第二请求,根据确定(例如,使用确定单元1916进行)对第二用户界面操作的第二请求不包括对相应用户界面元素中第一类型的变化的实例的请求,将第二触觉输出与一个或多个触觉输出发生器单元1906所生成的其他触觉输出混合(例如,使用混合单元1918和/或触觉输出使能单元1914),而不考虑该时间间隔是否小于预定义时间段。
在一些实施方案中,处理单元1908被配置为在执行第二用户界面操作之后,接收(例如,使用接收单元1910)对与第三触觉输出相关联的第三用户界面操作的第三请求。处理单元1908被配置为响应于接收到对第三用户界面操作的第三请求,根据确定(例如,使用确定单元1916进行)对第三用户界面操作的第三请求包括对与第三触觉输出相关联的用户界面中第一类型的变化的实例的请求,确定(例如,使用确定单元1916)从与生成触觉输出的相应用户界面元素中第一类型的变化的最近在先实例相对应的时间点,到与第三请求所要求的相应用户界面元素中第一类型的变化相对应的时间点的第二时间间隔。处理单元1908被配置为根据确定(例如,使用确定单元1916进行)第二时间间隔小于预定义时间段,执行第三用户界面操作(例如,使用执行单元1912)而不使能生成第三触觉输出。处理单元1908被配置为根据确定(例如,使用确定单元1916进行)第二时间间隔大于预定义时间段,执行第三用户界面操作(例如,使用执行单元1912)并使能生成第三触觉输出(例如,使用触觉输出使能单元1914)。
在一些实施方案中,处理单元1908被配置为响应于接收到第三请求,根据确定对第三用户界面操作的第三请求不包括相应用户界面元素中第一类型的变化的实例,将第三触觉输出与一个或多个触觉输出发生器单元1906所生成的其他触觉输出混合(例如,使用混合单元1918和/或触觉输出使能单元1914),而不考虑第二时间间隔是否小于预定义时间段。
在一些实施方案中,第一触觉输出和第三触觉输出与对应于触敏表面单元1904上的连续触摸输入的、用户交互序列中的第一和第三用户交互同步(例如,使用同步单元1920、混合单元1918和/或触觉输出使能单元1914)。
上文参考图18A-18C所述的操作任选地由图1A-1B或图19中所描绘的部件来实现。例如,接收操作1802、执行操作1808和生成操作1810任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
图20A-20B是示出根据一些实施方案的基于输入的量值和用户界面元素的维度来生成触觉输出的方法2000的流程图。在具有显示器、触敏表面以及用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行方法2000。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法2000中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法2000提供使用独立于应用的软件模块来提供触觉输出的增强方式。使用独立于应用的软件基于来自应用软件的信息来提供触觉输出,这提供了在使用各种软件应用时提供一致用户体验的通用用户界面框架。向用户提供通用用户界面框架,这增强了此类软件应用及执行此类软件应用的设备的可用性。此外,方法2000提供基于输入的量值来提供触觉输出的直观方式。基于输入量值的触觉输出与触觉输出的用户预期相符。继而,这些特征增强了设备的可操作性并且使得用户设备界面更有效(例如,通过帮助用户提供正确输入并且减少在操作设备/与设备交互时的用户错误和/或非预期操作)。此外,该方法减小软件应用的大小并且使得此类软件应用的执行更快。对于电池驱动的电子设备,确保用户更快且更有效地使用软件应用,可节省功率并延长电池充电之间的时间。
设备在独立于应用的模块(例如,独立于应用的软件模块260,图1D)处,从应用接收(2002)用户界面信息(例如,信息272,图1D)。
在一些实施方案中,独立于应用的模块包括(2004)电子设备的操作系统(例如,操作系统126,图1A和3)或包括于该操作系统中。
用户界面信息对应(2006)于具有由应用的特定于应用的模块定义的一个或多个维度的一个或多个所显示的用户界面元素。
在一些实施方案中,用户界面元素的所述一个或多个维度包括(2008)用户界面元素的范围以及用户界面元素可暂时滚动越过显示区域边缘(例如,显示器边缘)的范围,如本文参考图5P-5Y更详细所述。例如,滚动越过显示区域边缘一直保持到使得滚动越过显示区域边缘的输入的结束,或基于用户界面元素响应于在滚动方向上具有速度的输入而产生的模拟动量,此时用户界面元素往回滚动,使得用户界面元素完全位于显示区域内。在一些实施方案中,在用户界面元素达到最小缩放尺寸时生成触觉输出。在一些实施方案中,在用户界面元素达到用户界面元素可暂时缩放超过最小缩放尺寸的量时生成触觉输出。在一些实施方案中,用户界面元素在缩放超过最小缩放尺寸之后弹跳回最小缩放尺寸时生成触觉输出。
在一些实施方案中,用户界面元素的所述一个或多个维度包括(2010)用户界面元素的最大缩放尺寸以及用户界面元素可暂时缩放超过最大缩放尺寸的量(例如,缩放超过最大缩放尺寸一直保持到使得缩放超过最大缩放尺寸的输入的结束,此时用户界面元素返回到最大缩放尺寸)。在一些实施方案中,在用户界面元素达到最大缩放尺寸时生成触觉输出,如本文参考图5Z-5EE更详细所述。在一些实施方案中,在用户界面元素达到用户界面元素可暂时缩放超过最大缩放尺寸的量时生成触觉输出。在一些实施方案中,用户界面元素在缩放超过最大缩放尺寸之后弹跳回最大缩放尺寸时生成触觉输出。
在一些实施方案中,用户界面元素的所述一个或多个维度包括(2012)用户界面元素的最小缩放尺寸以及用户界面元素可暂时缩放超过最小缩放尺寸的量(例如,缩放超过最小缩放尺寸一直保持到使得缩放超过最小缩放尺寸的输入的结束,此时用户界面元素返回到最小缩放尺寸)。在一些实施方案中,在用户界面元素达到最小缩放尺寸时生成触觉输出,如本文参考图5F-5I更详细所述。在一些实施方案中,在用户界面元素达到用户界面元素可暂时缩放超过最小缩放尺寸的量时生成触觉输出。在一些实施方案中,用户界面元素在缩放超过最小缩放尺寸之后弹跳回最小缩放尺寸时生成触觉输出。
接下来,设备接收(2014)指向一个或多个所显示的用户界面元素的输入(例如,对应于用户输入的位置变化)。在一些实施方案中,设备通过从应用或从其他信道(例如,对该应用的UI进行更新的模块)接收输入的位置变化来检测输入的位置变化。
接下来,设备在独立于应用的模块处,基于输入的量值(例如,距离、速度、强度等)和由特定于应用的模块定义的所述一个或多个维度来确定(2016)要生成的一个或多个触觉输出。在一些实施方案中,设备基于输入的量值(或更一般而言,参数),根据一个或多个所显示的用户界面元素的位置或比例变化来确定所述一个或多个触觉输出。
接下来,设备使用所述一个或多个触觉输出发生器生成(2018)所确定的一个或多个触觉输出(例如,使用附录B中所述的UIEdgeFeedbackGenerator类或其实例)。
在一些实施方案中,独立于应用的模块通过将预定义物理模型应用于所接收的输入的一个或多个参数(例如,输入的速度的量值)来确定(2020)所述一个或多个触觉输出的量值。
在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的边缘是否已超过预定义边界来确定(2022)是否生成相应触觉输出(例如,如本文参考图5P-5II和5NN-5PP更详细所述)。
在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的参数(例如,尺寸)是否已超过预定义限度来确定(2024)是否生成相应触觉输出。
在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的边缘是否已超过预定义边界,以及是否检测到相应的用户触摸输入,来确定(2026)是否生成相应触觉输出(例如,在检测到接触时以橡胶带效应滚动,或在检测到接触时执行放大或缩小操作)。
应当理解,图20A-20B中的操作被描述的特定次序仅仅是示例,并非旨在指示所述次序是操作可被执行的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1600和1800)描述的其他过程的细节同样以类似的方式适用于上文参考图20A-20B描述的方法2000。例如,上文参考方法2000所述的触觉输出、用户界面元素、用户界面操作、用户界面信息、软件应用、独立于应用的模块、触觉输出量值,任选地具有本文参考本文所述的其他方法(例如,方法600,800,1000,1200,1400,1600和1800)描述的触觉输出、用户界面元素、用户界面操作、用户界面信息、软件应用、独立于应用的模块、触觉输出量值的特征中的一者或多者。为了简明起见,这里不再赘述这些细节。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
根据一些实施方案,图21示出根据各种所述实施方案的原理进行配置的电子设备2100的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原则的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图21中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图21中所示,电子设备2100包括被配置为显示用户界面的显示单元2102(例如,对应于显示器112)、被配置为接收触摸输入(例如,在表面(诸如显示单元2102的显示表面)上)的触敏表面单元2104、被配置为生成一个或多个触觉输出的一个或多个触觉输出发生器单元2106、以及与显示单元2102、触敏表面单元2104和一个或多个触觉输出发生器单元2106耦接的处理单元2108。在一些实施方案中,处理单元2108包括下列子单元中的一者或多者:信息接收单元2110、输入接收单元211、确定单元2114和触觉输出使能单元2116。
在一些实施方案中,处理单元2108被配置为在独立于应用的模块处,从应用接收用户界面信息(例如,使用信息接收单元2110),其中用户界面信息对应于具有由应用的特定于应用的模块定义的一个或多个维度的一个或多个所显示的用户界面元素。处理单元2108被配置为接收(例如,使用输入接收单元2112)指向一个或多个所显示的用户界面元素的输入。处理单元2108被配置为在独立于应用的模块处,基于该输入的量值和由特定于应用的模块定义的所述一个或多个维度来确定要生成的一个或多个触觉输出(例如,使用确定单元2114),以及使能使用一个或多个触觉输出发生器单元2106生成(例如,使用触觉输出使能单元2116)所确定的一个或多个触觉输出。
在一些实施方案中,独立于应用的模块包括电子设备2100的操作系统或包括于该操作系统中。在一些实施方案中,独立于应用的模块通过将预定义物理模型应用于所接收的输入的一个或多个参数来确定所述一个或多个触觉输出的量值。
在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的边缘是否已超过预定义边界来确定(例如,使用确定单元2114)是否生成相应触觉输出。在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的参数是否已超过预定义限度来确定(例如,使用确定单元2114)是否生成相应触觉输出。在一些实施方案中,独立于应用的模块基于所显示的用户界面元素的相应元素的边缘是否已超过预定义边界,以及是否检测到相应用户触摸输入,来确定(例如,使用确定单元2114)是否生成相应触觉输出。
在一些实施方案中,用户界面元素的维度包括用户界面元素的范围以及用户界面元素可暂时滚动越过显示区域边缘的范围。在一些实施方案中,用户界面元素的维度包括用户界面元素的最大缩放尺寸以及用户界面元素可暂时缩放超过最大缩放尺寸的量。在一些实施方案中,用户界面元素的维度包括用户界面元素的最小缩放尺寸以及用户界面元素可暂时缩放超过最小缩放尺寸的量。
上文参考图20A-20B所述的操作任选地由图1A-1B或图21中所描绘的部件来实现。例如,接收操作2002、确定操作2016和生成操作2018任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用136-1。应用136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用所显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A至图1B中所示的部件可如何实现其他过程。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
附录A
UIFeedbackGenerator(API)
动机
架构概述
图22A是示例性反馈架构的图表。
UIKit位于CoreAudio顶部以播放音频和触觉反馈,并且提供称为UIFeedbackGenerator的高级API。其是语义层,也就是将产生触觉和/或音频反馈的用户交互的表示。其从用户界面获取输入并处理该输入以生成并播放反馈。
例如,我们希望在以下情况下有相同反馈:
·在UIDatePicker中旋转轮盘以改变所选择的日期
·当您在应用图标上进行“3D Touch”时,突出显示不同Home屏幕快捷动作
·在键盘中选择不同变音符
这三种使用案例均由相同选择反馈发生器表示。
我们计划暴露的反馈发生器列表是:
·选择(选择改变)
·冲击(碰撞和制动)
·通知(自发通知)
该架构允许UIKit在整个系统中改变反馈发生器有何感觉,而无需改变每个使用站点。该设计让我们能够快速地对系统范围交互的触觉进行迭代。采取反馈发生器对于客户端而言较容易,并且对其现有代码具有最小侵入性,即便是执行输入的复杂处理以确定要播放的适当反馈的反馈发生器。最后,通过提供明确定义的反馈发生器的有限组,我们可以在一定程度上确保在整个系统中如何使用反馈的一致性。
详细设计
我们计划暴露的唯一反馈APIs是从UIFeedbackGenerator继承的一些反馈发生器类。
基类—UIFeedbackGenerator
Figure BDA0002247829510001321
UIFeedbackGenerator是我们所有反馈发生器的抽象基类。其不能被直接实例化。
反馈发生器准备
当直接调用反馈发生器类的反馈生成方法时,UIKit首先需要初启底层软件和硬件栈,这会引起实际播放反馈之前的明显延迟(约200ms)。
为了减轻这个问题,UIFeedbackGenerator基类包含方法prepare,其用于为即将发生的反馈做好一切准备。该方法可被调用多次,并且如果之后没有触发反馈,也是可以的。一旦做好准备,延迟就被显著降低到约60ms。
在做好准备时,反馈发生器会使用昂贵的软件和硬件资源,因此其应当在该状态下保持有限时间。在短时间后或直到对象解除分配为止,其会回到空闲状态。
示例
Objective-C
//使反馈发生器为即将发生的反馈做好准备
[feedbackGenerator prepare];
//稍后对反馈发生器执行一些操作
//具有最少反馈延迟
[feedbackGenerator something];
Swift
//使反馈发生器为即将发生的反馈做好准备
feedbackGenerator.prepare()
//稍后对反馈发生器执行一些操作
//具有最少反馈延迟
feedbackGenerator.something()
内置反馈发生器
选择反馈发生器
在改变选择时使用UISelectionFeedbackGenerator。
Figure BDA0002247829510001331
每当选择改变时,客户端都只需要调用-selectionChanged,这会触发反馈播放。
示例
改变菜单中的选择。
Objective-C
UISelectionFeedbackGenerator*selectionFeedbackGenerator=[[UISelectionFeedbackGenerator alloc]init];
//当用户开始与部件交互时,
//通常处于手势识别器的Began(开始)状态
[selectionFeedbackGenerator prepare];
//当用户的手指四处移动而另作选择时,
//通常处于手势识别器的Changed(改变)状态,
//当所选择的行改变时
[selectionFeedbackGenerator selectionChanged];
Swift
let selectionFeedbackGenerator=UISelectionFeedbackGenerator()
//当用户开始与部件交互时,
//通常处于手势识别器的Began(开始)状态
selectionFeedbackGenerator.prepare();
//当用户的手指四处移动而另作选择时,
//通常处于手势识别器的Changed(改变)状态,
//当所选择的行改变时
selectionFeedbackGenerator.selectionChanged();
冲击反馈发生器
UIImpactFeedbackGenerator用于碰撞和制动。
Figure BDA0002247829510001341
Figure BDA0002247829510001351
UIImpactFeedbackGenerator在项目碰撞或跨越制动器时生成反馈冲击反馈发生器被配置有表示冲击总量值(大体而言,项目的“质量”)的样式。
客户端在发生冲击时调用-impactOccurred。
示例
对象跨越制动器并碰撞。
Figure BDA0002247829510001361
Figure BDA0002247829510001371
UINotificationFeedbackGenerator生成用于自发通知的反馈,一般通过因先前用户交互而发生的某个异步事件触发(例如,摇晃以撤销警示显示,Apple Pay付款成功)。
客户端简单调用通过该通知类型的-notificationOccurred:,这将触发适当的反馈。
示例
显示带有错误反馈的警示控制器。
Objective-C
UINotificationFeedbackGenerator*notificationFeedbackGenerator=[[UINotificationFeedbackGenerator alloc]init];
[notificationFeedbackGenerator prepare];
//在此显示警示控制器
[notificationFeedbackGenerator notificationOccurred:UINotificationFeedbackTypeError];
Swift
let notificationFeedbackGenerator=UINotificationFeedbackGenerator();
notificationFeedbackGenerator.prepare()
//在此显示警示控制器
notificationFeedbackGenerator.notificationOccurred(type:.error)
对现有代码的影响
使用_UITapticEngine的现有第一方客户端将需要转换成使用适当的公用或专用UIFeedbackGenerator子类,或Peek&Pop的新UIPreviewInteraction API。
常见问题
如果我不调用prepare会发生什么?
如果您不调用prepare,您仍会获得正确的反馈播放,但可能出现延迟。事先调用该方法是确保最佳延迟和反馈体验的优化。
如果我不持续调用prepare会发生什么?
如果您不持续调用prepare,UIKit会设法履行,但在某一时刻可能忽略您的调用,以防止应用在未实际触发反馈时保持硬件发热。
如果我调用方法“在反馈发生器上生成反馈”然后立即释放/解除分配,会发生什么?是否仍能感觉到反馈?
是的,因为反馈发生器对不同对象调度反馈事件,故不必实际上播放。一旦反馈完成播放,硬件就会回到空闲状态-前提条件是其他反馈发生器未同时播放。
如果第三方客户端希望拥有更复杂的触觉会怎样?
我们目前不支持这项功能,但可能未来在UIKit中或直接在CoreAudio中实现。
第三方客户端可以禁用或定制对UIKit内置控件的反馈吗?
不可以,为了在整个系统中提供统一的体验,我们不允许这种情况。
日期选取器
我们来了解一下日期选取器的具体示例(图22B)。
日期选取器由4个可独立转动的轮盘组成,这些轮盘可同时旋转。因此,我们将使用UISelectionFeedbackGenerator的4个实例,以在每个实例中选择新项目时提供反馈。
日期选取器所使用的UISelectionFeedbackGenerator的特征是音频和触觉的强度和音量与轮盘转动速度成比例。每个轮盘将在其自身反馈发生器上调用selectionChanged,该反馈发生器将基于调用频率来计算速度。然后反馈发生器将在内部调制反馈,以为最终用户提供美妙感觉。
另外,我们希望限制所有选择反馈发生器中所播放的反馈的全局频率,以避免给用户带来过多振动。
为了实现这种丰富的体验,日期选取器的每个轮盘(假定它们是UIScrollView的子类)将需要该简单代码:
Figure BDA0002247829510001391
附录B
UIFeedbackGenerator补充
架构概述
图22C是示出示例性系统的概览的图表。
我们来逐一探讨一下这些层,从底层开始。
低级:Core Audio AVHapticPlayer和系统声音服务
AVHapticPlayer是触觉系统的低级入口点。该层由Core Audio公开发表。其允许UIKit驱动离散触觉并调制连续触觉。其还让UIKit告知系统如何划分触觉请求的优先级。意图是使该层仅被UIKit使用。这将保持UIKit作为AVHapticPlayer的唯一客户端,并且允许我们对不同触觉感觉快速迭代。
Core Audio系统声音服务APIs可播放遗留触觉(例如,peek&pop触觉)以及声音(例如,键盘点击、设备锁定/解锁声音)。新UIKit UIFeedback栈使用系统声音服务来播放这些声音和遗留触觉,以及我们希望随同触觉反馈播放的系统声音。
中级:UIKit UIFeedback
UIFeedback类表示可播放的反馈,它可以是触觉和/或音频。不同使用案例的子类有:离散开-关触觉(例如,“Peek”或“Pop”)的UIDiscreteFeedback、连续触觉(例如,连续振动)的UIContinuousFeedback以及可将多个离散和连续反馈组成为更复杂模式的UIFeedbackPattern。
当UIFeedback实例被告知要播放时,其移交给UIFeedbackEngine,后者负责使用低级Core Audio APIs准备硬件,然后调度和播放反馈。
该UIFeedback层主要被UIKit使用,以实现下述的高级UIFeedbackGenerator API。具有特殊需求的内部客户端可直接使用UIFeedback,但此类实例极其有限(目前还没有)。
高级:UIKit UIFeedbackGenerator(API)
UIFeedbackGenerator是将产生触觉和/或音频反馈的用户交互的高级表示。
与UI同步
为了使您的UI与反馈同步并且确保两者同时发生,您可以调用prepareWithCompletionHandler:并且在处理程序中执行您的UI和反馈代码,该处理程序将在主线程上调用。这将确保所生成的反馈具有最小延迟并且与UI同步地体验到。
success参数告知您是否将对处理程序内部调用的动作实际播放反馈。
示例
如果您希望显示将与反馈同步的某个UI。
Figure BDA0002247829510001411
拖动反馈发生器
UIDragFeedbackGenerator用于交互式拖放和重新排序。
Objective-C
NS_ASSUME_NONNULL_BEGIN
NS_CLASS_AVAILABLE_IOS(10_0)@interface UIDragFeedbackGenerator:UIFeedbackGenerator<UIFeedbackGeneratorUserInteractionDriven>
///在该交互已移动所拖动的对象时调用
-(void)positionUpdated;
///在对象更新了其置放目标时调用
-(void)dropTargetUpdated;
@end
NS_CLASS_AVAILABLE_IOS(10_0)@interface UIDragSnappingFeedbackGenerator:UIDragFeedbackGenerator
///在所拖动的对象从其初始位置提起时调用
-(void)draggedObjectLifted;
///在所拖动的对象置于其最终位置时调用
-(void)draggedObjectLanded;
///在该交互使某个对象弹跳到另一位置时调用
-(void)objectSnapped;
@end
NS_ASSUME_NONNULL_END
UIDragFeedbackGenerator在项目被拖动并重新排序时生成反馈。拖动发生器具有要在所拖动的项目弹跳就位时使用的子类UIDragSnappingFeedbackGenerator。
拖动发生器受用户交互驱动,因此应当在用户交互开始/结束/取消时进行适当调用。然后每当所拖动的项目移动时,客户端都应当调用-positionUpdated,并且(如果使用弹跳样式)在所拖动的项目弹跳就位时调用-snappedToFinalPosition。
示例
拖放对象。
Objective-C
UIDragFeedbackGenerator*dragGenerator=[UIDragFeedbackGeneratorgeneratorWithCoordinateSpace:self];
//当用户交互开始时,
//通常处于手势识别器的Began(开始)状态
[dragGenerator userInteractionStarted];
//当用户在屏幕上移动所拖动的对象时
//预计会被调用许多次
[dragGenerator positionUpdated];
//当主要置放目标改变时,
//例如从一个区域移动到另一个区域
[dragGenerator dropTargetUpdated];
//当用户交互停止时,
//通常处于手势识别器的Ended(结束)状态
[dragGenerator userInteractionEnded];
边缘反馈发生器
UIEdgeFeedbackGenerator在达到边缘或限度时使用。
Objective-C
NS_ASSUME_NONNULL_BEGIN
NS_CLASS_AVAILABLE_IOS(10_0)@interface UIEdgeFeedbackGenerator:UIFeedbackGenerator<UIFeedbackGeneratorUserInteractionDriven>
//距离描述边缘之间的区域
//默认情况下,其是发生器的轴线尺寸部件
//坐标空间的界限
@property(nonatomic)CGFloat distance;
//extentBeyondDistance指定有多少点,
//在坐标空间中,该交互可移动。默认为0
@property(nonatomic)CGFloat extentBeyondDistance;
//位置范围可为(0-extentBeyondDistance)至
//(distance+extentBeyondDistance)
//位置应在坐标空间内
-(void)positionUpdated:(CGFloat)position;
@end
NS_CLASS_AVAILABLE_IOS(10_0)@interface UIZoomEdgeFeedbackGenerator:UIEdgeFeedbackGenerator
@property(nonatomic)CGFloat minimumZoomScale;
@property(nonatomic)CGFloat maximumZoomScale;
//在缩小超过minimumZoomScale时可暂时达到的最小缩放比例
@property(nonatomic)CGFloat minimumTemporaryZoomScale;
//在放大超过maximumZoomScale时可暂时达到的最大缩放比例
@property(nonatomic)CGFloat maximumTemporaryZoomScale;
-(void)zoomScaleUpdated:(CGFloat)zoomScale;
@end
NS_ASSUME_NONNULL_END
UIEdgeFeedbackGenerator在达到和/或超过边缘或限度时生成反馈。每个边缘发生器被创建为具有用于特定用途的样式,从而影响所生成的反馈。边缘发生器为一维的,并且被配置用于单轴线。其还使用距离(即,该轴线中的视图尺寸)和extentBeyondDistance(即,最大橡胶带距离;该位置可移动超过该距离多远)进行配置。
UIZoomEdgeFeedbackGenerator是在达到和/或超过缩放限度时生成反馈的边缘发生器的子类。其使用最小和最大缩放比例以及最小/最大暂时缩放比例(缩放的等效橡胶带效应)进行配置。
边缘和缩放边缘发生器两者均受用户交互驱动,因此应当在用户交互开始/结束/取消时进行适当调用。然后每当值改变时,客户端只需要调用-positionUpdated:或-zoomScaleUpdated:。发生器处理这些输入以播放反馈;例如,在达到边缘时,发生器在该时间播放具有与速度成比例的强度的触觉。
示例
实现滑块样UIControl子类。
Figure BDA0002247829510001451
Figure BDA0002247829510001461
UIKit部件的补充
UIKit的若干部件已采取反馈并暴露新APIs以控制如何产生该反馈。它们采取所暴露的发生器属性的形式,该发生器属性可被设定为零以移除该发生器的反馈,或在客户端想要定制反馈体验时被设定为不同对象(通常,以不同样式创建相同对象)。
暴露反馈发生器而非仅布尔属性允许未来的API扩展,而无需再次改变所有UIKit部件APIs,并且仅聚焦于反馈发生器类和子类。
UISwitch API补充
UISwitch在开关切换值时使用重定目标发生器来提供反馈。
Objective-C
@interface UISwitch()
@property(nonatomic,strong,nullable)UIImpactFeedbackGenerator*impactFeedbackGenerator;
@end
UIPickerView API补充
UIPickerView在选取器视图的部件(轮盘)改变选择时使用重定目标发生器来提供反馈。
Objective-C
@interface UIPickerView()
@property(nonatomic,strong,nullable)UIRetargetFeedbackGenerator*retargetFeedbackGenerator;
@end
UIDatePicker API补充
UIDatePicker在日期选取器的部件(轮盘)改变选择时使用重定目标发生器来提供反馈。
Objective-C
@interface UIDatePicker()
@property(nonatomic,strong,nullable)UIRetargetFeedbackGenerator*retargetFeedbackGenerator;
@end
UIRefreshControl API补充
UIRefreshControl在控件开始刷新时使用冲击发生器来提供反馈。
Objective-C
@interface UIRefreshControl()
@property(nonatomic,strong,nullable)UIImpactFeedbackGenerator*refreshFeedbackGenerator;
@end
UIScrollView API补充
UIScrollView在用户达到可滚动内容区域的边缘(橡胶带效应开始的位置)时,以及在用户用两个手指进行捏合的情况下达到缩放限度时,使用边缘发生器来提供反馈。由于滚动视图可水平地和竖直地滚动,其使用两个独立边缘发生器,每条轴线一个。其还使用一个缩放边缘发生器。
Objective-C
@interface UIScrollView()
@property(nonatomic,strong,nullable)UIEdgeFeedbackGenerator*horizontalFeedbackGenerator;
@property(nonatomic,strong,nullable)UIEdgeFeedbackGenerator*verticalFeedbackGenerator;
@property(nonatomic,strong,nullable)UIZoomEdgeFeedbackGenerator*zoomFeedbackGenerator;
@end
UISlider API补充
UISlider在滑块(指示器旋钮)到达滑块的左或右边缘时使用边缘发生器来提供反馈。由于滑块是严格水平的,其暴露单个边缘发生器。
Objective-C
@interface UISlider()
@property(nonatomic,strong,nullable)UIEdgeFeedbackGenerator*edgeFeedbackGenerator;
@end
UITableView API补充
UITableView在用户对表格视图中的行进行重新排序时使用拖动发生器来提供反馈,并且在用户使用索引栏切换到另一部分时使用重定目标发生器。
Objective-C
@interface UITableView()
@property(nonatomic,strong,nullable)UIRetargetFeedbackGenerator*indexRetargetFeedbackGenerator;
@property(nonatomic,strong,nullable)UIDragSnappingFeedbackGenerator*reorderFeedbackGenerator;
@end
UICollectionView API补充
UICollectionView在用户对集合视图中的项目进行重新排序时使用拖动发生器来提供反馈。
Objective-C
@interface UICollectionView()
@property(nonatomic,strong,nullable)UIDragSnappingFeedbackGenerator*reorderFeedbackGenerator;
@end

Claims (14)

1.一种方法,包括:
在具有显示器、触敏表面和一个或多个触觉输出发生器的电子设备处:
在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于所述第一类型的事件的第二类型的事件与不同于所述第一触觉输出的第二触觉输出相关联时:
从第一应用接收第一信息;
响应于从所述第一应用接收到所述第一信息,生成对所述第一信息的响应,包括:
根据确定所述第一信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第一信息对应于不同于所述第一类型的所述第二类型的应用事件,使用所述一个或多个触觉输出发生器生成不同于所述第一触觉输出的所述第二触觉输出;
在生成对所述第一信息的所述响应之后,从不同于所述第一应用的第二应用接收第二信息;以及
响应于从所述第二应用接收到所述第二信息,生成对所述第二信息的响应,包括:
根据确定所述第二信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第二信息对应于所述第二类型的应用事件,
使用所述一个或多个触觉输出发生器生成所述第二触觉输出。
2.根据权利要求1所述的方法,进一步包括:在生成对所述第一信息的所述响应并生成对所述第二信息的所述响应之后,通过所述独立于应用的模块改变与所述第一类型的事件相关联的所述第一触觉输出,包括:将所述第一类型的事件与不同于所述第一触觉输出的第三触觉输出相关联。
3.根据权利要求2所述的方法,包括:在通过所述独立于应用的模块改变与所述第一类型的事件相关联的所述触觉输出之后:
从所述第一应用接收第三信息;
响应于从所述第一应用接收到第三信息,生成对所述第三信息的响应,包括:
根据确定所述第三信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器来生成所述第三触觉输出;
在生成对所述第三信息的所述响应之后,从不同于所述第一应用的所述第二应用接收第四信息;以及
响应于从所述第二应用接收到所述第四信息,生成对所述第四信息的响应,包括:
根据确定所述第四信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器来生成所述第三触觉输出。
4.根据权利要求3所述的方法,其中所述第三信息接收自用于所述第一应用的特定于应用的模块,所述第四信息接收自用于所述第二应用的特定于应用的模块,并且确定是否生成所述第三触觉输出是通过所述独立于应用的模块来执行的。
5.根据权利要求1至4中的任一项所述的方法,进一步包括:在生成对所述第一信息的所述响应并生成对所述第二信息的所述响应之后,通过所述独立于应用的模块改变与所述第二类型的事件相关联的所述触觉输出,包括:将所述第二类型的事件与不同于所述第二触觉输出的第四触觉输出相关联。
6.根据权利要求5所述的方法,包括:在通过所述独立于应用的模块改变与所述第二类型的事件相关联的所述触觉输出之后,
从所述第一应用接收第五信息;
响应于从所述第一应用接收到所述第五信息,生成对所述第五信息的响应,包括:
根据确定所述第五信息对应于所述第二类型的应用事件,使用所述一个或多个触觉输出发生器来生成所述第四触觉输出;
在生成对所述第五信息的所述响应之后,从不同于所述第一应用的所述第二应用接收第六信息;以及
响应于从所述第二应用接收到所述第六信息,生成对所述第六信息的响应,包括:
根据确定所述第六信息对应于所述第二类型的应用事件,使用所述一个或多个触觉输出发生器来生成所述第四触觉输出。
7.根据权利要求6所述的方法,其中所述第五信息接收自用于所述第一应用的特定于应用的模块,所述第六信息接收自用于所述第二应用的特定于应用的模块,并且确定是否生成所述第四触觉输出是通过所述独立于应用的模块来执行的。
8.根据权利要求1至4中的任一项所述的方法,其中所述第一信息接收自用于所述第一应用的特定于应用的模块,所述第二信息接收自用于所述第二应用的特定于应用的模块,并且确定是否生成所述第一触觉输出或者所述所述第二触觉输出是通过所述独立于应用的模块来执行的。
9.根据权利要求1至4中的任一项所述的方法,其中:
生成对所述第一信息的所述响应包括:根据确定所述第一信息对应于第三类型的应用事件,使用所述一个或多个触觉输出发生器生成不同于所述第一触觉输出和所述第二触觉输出的所述第五触觉输出,所述第三类型与不同于所述第一触觉输出和所述第二触觉输出的第五触觉输出相关联并且与所述第一类型和所述第二类型不同;以及
生成对所述第二信息的所述响应包括:根据确定所述第二信息对应于所述第三类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第五触觉输出。
10.根据权利要求1至4中的任一项所述的方法,其中所述第一类型的事件是成功事件,并且所述第二类型的事件是失败事件。
11.一种电子设备,包括:
显示器;
触敏表面;
一个或多个触觉输出发生器;
一个或多个处理器;以及
存储器,所述存储器存储一个或多个程序,所述一个或多个程序用于由所述一个或多个处理器执行,所述一个或多个程序包括用于执行以下操作的指令:
在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于所述第一类型的第二类型的事件与不同于所述第一触觉输出的第二触觉输出相关联时:
从第一应用接收第一信息;
响应于从所述第一应用接收到所述第一信息,生成对所述第一信息的响应,包括:
根据确定所述第一信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第一信息对应于不同于所述第一类型的所述第二类型的应用事件,使用所述一个或多个触觉输出发生器生成不同于所述第一触觉输出的所述第二触觉输出;
在生成对所述第一信息的所述响应之后,从不同于所述第一应用的第二应用接收第二信息;以及
响应于从所述第二应用接收到所述第二信息,生成对所述第二信息的响应,包括:
根据确定所述第二信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第二信息对应于所述第二类型的应用事件,
使用所述一个或多个触觉输出发生器生成所述第二触觉输出。
12.根据权利要求11所述的电子设备,其中所述一个或多个程序包括指令,所述指令用于执行根据权利要求2至10中的任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,当所述指令由电子设备执行时使得所述设备执行以下操作,所述电子设备具有显示器、触敏表面以及一个或多个触觉输出发生器:
在通过独立于应用的模块将第一类型的事件与第一触觉输出相关联,并且将不同于所述第一类型的第二类型的事件与不同于所述第一触觉输出的第二触觉输出相关联时:
从第一应用接收第一信息;
响应于从所述第一应用接收到所述第一信息,生成对所述第一信息的响应,包括:
根据确定所述第一信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第一信息对应于不同于所述第一类型的所述第二类型的应用事件,使用所述一个或多个触觉输出发生器生成不同于所述第一触觉输出的所述第二触觉输出;
在生成对所述第一信息的所述响应之后,从不同于所述第一应用的第二应用接收第二信息;以及
响应于从所述第二应用接收到所述第二信息,生成对所述第二信息的响应,包括:
根据确定所述第二信息对应于所述第一类型的应用事件,使用所述一个或多个触觉输出发生器生成所述第一触觉输出;以及
根据确定所述第二信息对应于所述第二类型的应用事件,
使用所述一个或多个触觉输出发生器生成所述第二触觉输出。
14.根据权利要求13所述的计算机可读存储介质,其中所述一个或多个程序包括指令,当所述指令由所述电子设备执行时,使得所述设备执行根据权利要求2至10中的任一项所述的方法。
CN201911023034.1A 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面 Active CN110764617B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662384159P 2016-09-06 2016-09-06
US62/384,159 2016-09-06
US15/271,073 2016-09-20
US15/271,073 US9753541B1 (en) 2016-09-06 2016-09-20 Devices, methods, and graphical user interfaces for generating tactile outputs
US15/271,653 2016-09-21
US15/271,653 US9690383B1 (en) 2016-09-06 2016-09-21 Devices, methods, and graphical user interfaces for generating tactile outputs
CN201710728497.2A CN107797655B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710728497.2A Division CN107797655B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面

Publications (2)

Publication Number Publication Date
CN110764617A true CN110764617A (zh) 2020-02-07
CN110764617B CN110764617B (zh) 2021-11-02

Family

ID=59009331

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201710728497.2A Active CN107797655B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面
CN201911023034.1A Active CN110764617B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面
CN201911032592.4A Active CN110794967B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面
CN201710735308.4A Active CN107797657B (zh) 2016-09-06 2017-08-24 用于生成触觉输出的设备、方法和图形用户界面
CN201710736331.5A Active CN107870690B (zh) 2016-09-06 2017-08-24 用于生成触觉输出的设备、方法和图形用户界面

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710728497.2A Active CN107797655B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201911032592.4A Active CN110794967B (zh) 2016-09-06 2017-08-23 用于生成触觉输出的设备、方法和图形用户界面
CN201710735308.4A Active CN107797657B (zh) 2016-09-06 2017-08-24 用于生成触觉输出的设备、方法和图形用户界面
CN201710736331.5A Active CN107870690B (zh) 2016-09-06 2017-08-24 用于生成触觉输出的设备、方法和图形用户界面

Country Status (5)

Country Link
US (9) US9753541B1 (zh)
EP (5) EP3293612B1 (zh)
CN (5) CN107797655B (zh)
AU (7) AU2017213578B1 (zh)
DK (1) DK201670720A1 (zh)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3096218B1 (en) 2012-05-09 2018-12-26 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
CN104487928B (zh) 2012-05-09 2018-07-06 苹果公司 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
JP2015519656A (ja) 2012-05-09 2015-07-09 アップル インコーポレイテッド ユーザインタフェースオブジェクトを移動し、ドロップするためのデバイス、方法及びグラフィカルユーザインタフェース
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
EP3185116B1 (en) 2012-05-09 2019-09-11 Apple Inc. Device, method and graphical user interface for providing tactile feedback for operations performed in a user interface
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
CN104471521B (zh) 2012-05-09 2018-10-23 苹果公司 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
CN107831991B (zh) 2012-12-29 2020-11-27 苹果公司 用于确定是滚动还是选择内容的设备、方法和图形用户界面
KR102000253B1 (ko) 2012-12-29 2019-07-16 애플 인크. 사용자 인터페이스 계층을 내비게이션하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
CN105144057B (zh) 2012-12-29 2019-05-17 苹果公司 用于根据具有模拟三维特征的控制图标的外观变化来移动光标的设备、方法和图形用户界面
US10346021B2 (en) * 2013-05-29 2019-07-09 Rakuten, Inc. Automatic list scrolling apparatus, method and program based on a selected item
USD741875S1 (en) * 2013-06-10 2015-10-27 Apple Inc. Display screen or portion thereof with graphical user interface
KR102157289B1 (ko) * 2013-07-12 2020-09-17 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
US10545657B2 (en) 2013-09-03 2020-01-28 Apple Inc. User interface for manipulating user interface objects
TWI545471B (zh) 2013-09-03 2016-08-11 蘋果公司 用於使用者介面物件操縱之電腦實施方法、非暫時性電腦可讀儲存媒體及電子器件
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
CN106462178A (zh) * 2013-09-11 2017-02-22 谷歌技术控股有限责任公司 用于检测存在和运动的电子设备和方法
CN116243841A (zh) 2014-06-27 2023-06-09 苹果公司 尺寸减小的用户界面
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
USD771123S1 (en) * 2014-09-01 2016-11-08 Apple Inc. Display screen or portion thereof with multi-state graphical user interface
TWI676127B (zh) 2014-09-02 2019-11-01 美商蘋果公司 關於電子郵件使用者介面之方法、系統、電子器件及電腦可讀儲存媒體
KR102096146B1 (ko) 2014-09-02 2020-04-28 애플 인크. 가변 햅틱 출력을 위한 시맨틱 프레임워크
CN110072131A (zh) 2014-09-02 2019-07-30 苹果公司 音乐用户界面
US10082892B2 (en) 2014-09-02 2018-09-25 Apple Inc. Button functionality
US10073590B2 (en) 2014-09-02 2018-09-11 Apple Inc. Reduced size user interface
US10365807B2 (en) 2015-03-02 2019-07-30 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
EP3304251B1 (en) * 2015-06-03 2023-10-11 Razer (Asia-Pacific) Pte. Ltd. Haptics devices and methods for controlling a haptics device
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
USD791827S1 (en) * 2015-06-24 2017-07-11 Lutron Electronics Co., Inc. Display screen or portion thereof with icon
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10712821B2 (en) 2015-08-19 2020-07-14 International Business Machines Corporation Tactile graphical display
DK201670737A1 (en) 2016-06-12 2018-01-22 Apple Inc Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback
DK179823B1 (en) 2016-06-12 2019-07-12 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK
USD802622S1 (en) 2016-08-29 2017-11-14 Lutron Electronics Co., Inc. Display screen or portion thereof with graphical user interface
JP2018036841A (ja) * 2016-08-31 2018-03-08 ソニー株式会社 信号処理装置、信号処理方法、プログラム、および電子機器
DK179278B1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, methods and graphical user interfaces for haptic mixing
DK201670720A1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs
JP2018045407A (ja) * 2016-09-14 2018-03-22 株式会社東海理化電機製作所 触覚呈示装置
DK179978B1 (en) 2016-09-23 2019-11-27 Apple Inc. IMAGE DATA FOR ENHANCED USER INTERACTIONS
US10599823B2 (en) * 2016-11-18 2020-03-24 Invensense, Inc. Systems and methods for coordinating applications with a user interface
KR102057566B1 (ko) * 2016-11-24 2019-12-19 주식회사 하이딥 사용자 인터페이스 제공을 위한 터치 입력 방법 및 장치
JP6809209B2 (ja) * 2016-12-22 2021-01-06 富士ゼロックス株式会社 表示装置及びプログラム
JP1589999S (zh) * 2016-12-28 2017-11-06
JP1590265S (zh) * 2017-02-10 2017-11-06
JP1614673S (zh) 2017-02-10 2018-10-01
JP1590264S (zh) 2017-02-10 2017-11-06
US10813197B2 (en) * 2017-04-10 2020-10-20 Ideal Industries Lighting Llc Wireless solid state lighting controller
US10732714B2 (en) 2017-05-08 2020-08-04 Cirrus Logic, Inc. Integrated haptic system
US10353438B2 (en) * 2017-05-15 2019-07-16 Microsoft Technology Licensing, Llc Volume adjustment on hinged multi-screen device
DK201770372A1 (en) 2017-05-16 2019-01-08 Apple Inc. TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES
USD878402S1 (en) * 2017-05-22 2020-03-17 Subsplash Ip, Llc Display screen or portion thereof with transitional graphical user interface
US10921628B2 (en) * 2017-07-20 2021-02-16 Sharp Kabushiki Kaisha Input device
US11259121B2 (en) 2017-07-21 2022-02-22 Cirrus Logic, Inc. Surface speaker
KR102354016B1 (ko) * 2017-08-22 2022-01-21 삼성전자주식회사 표시 장치에 표시된 콘텐트의 크기를 변경하기 위한 방법 및 그 전자 장치
USD872761S1 (en) * 2017-08-25 2020-01-14 Lg Electronics Inc. Display screen with animated graphical user interface
USD887437S1 (en) 2017-11-09 2020-06-16 Siemens Schweiz Ag Display screen or portion thereof with graphical user interface
JP7006184B2 (ja) * 2017-11-27 2022-01-24 富士通株式会社 制御プログラム、制御方法および制御装置
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
US10817307B1 (en) * 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
US10620704B2 (en) 2018-01-19 2020-04-14 Cirrus Logic, Inc. Haptic output systems
JP2019133387A (ja) * 2018-01-31 2019-08-08 Dynabook株式会社 電子機器、ウェアラブル機器および文字入力制御方法
US11139767B2 (en) 2018-03-22 2021-10-05 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10832537B2 (en) 2018-04-04 2020-11-10 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11069206B2 (en) 2018-05-04 2021-07-20 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
WO2019229698A1 (en) 2018-05-31 2019-12-05 Purple Tambourine Limited Interacting with a virtual environment using a pointing controller
US11170085B2 (en) * 2018-06-03 2021-11-09 Apple Inc. Implementation of biometric authentication
US11171951B2 (en) * 2018-06-07 2021-11-09 Paypal, Inc. Device interface output based on biometric input orientation and captured proximate data
US11269415B2 (en) * 2018-08-14 2022-03-08 Cirrus Logic, Inc. Haptic output systems
KR102063678B1 (ko) * 2018-08-20 2020-01-09 주식회사 이와이엘 모바일기기의 스머지 및 훔쳐보기 공격 방지를 위한 시스템 및 사용자 패턴 인증 방법
CN109101183B (zh) * 2018-08-23 2020-11-27 上海天马微电子有限公司 显示装置及其反馈方法
CN109144520B (zh) * 2018-09-03 2022-05-13 武汉斗鱼网络科技有限公司 Android中不同对象间的信息交互方法、装置、设备和存储介质
USD900845S1 (en) * 2018-09-07 2020-11-03 Teraoka Seiko Co., Ltd. Display screen or portion thereof with graphical user interface
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
CN115826750A (zh) * 2018-09-11 2023-03-21 苹果公司 基于内容的触觉输出
US10712824B2 (en) 2018-09-11 2020-07-14 Apple Inc. Content-based tactile outputs
CN110096157B (zh) * 2018-09-11 2021-05-11 苹果公司 基于内容的触觉输出
TWI714888B (zh) * 2018-09-28 2021-01-01 圓展科技股份有限公司 操作互動觸控顯示系統之方法
US10860096B2 (en) 2018-09-28 2020-12-08 Apple Inc. Device control using gaze information
GB201817495D0 (en) 2018-10-26 2018-12-12 Cirrus Logic Int Semiconductor Ltd A force sensing system and method
CN109901066A (zh) * 2018-12-31 2019-06-18 瑞声科技(新加坡)有限公司 马达系统辨识方法
CN109857503B (zh) * 2019-01-25 2023-04-07 北京字节跳动网络技术有限公司 页面交互效果自适应方法、装置与电子设备
USD955403S1 (en) * 2019-02-14 2022-06-21 Pax Labs, Inc. Display screen or portion thereof with graphical user interface
USD915441S1 (en) * 2019-02-18 2021-04-06 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
AU2020226861A1 (en) 2019-02-18 2021-10-14 Arkh Litho Holdings, LLC Interacting with a smart device using a pointing controller
USD967187S1 (en) * 2019-03-19 2022-10-18 Cps Technology Holdings Llc Display screen or portion thereof having an icon
US10955955B2 (en) 2019-03-29 2021-03-23 Cirrus Logic, Inc. Controller for use in a device comprising force sensors
US10828672B2 (en) 2019-03-29 2020-11-10 Cirrus Logic, Inc. Driver circuitry
US10726683B1 (en) 2019-03-29 2020-07-28 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus
US11509292B2 (en) 2019-03-29 2022-11-22 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter
US12035445B2 (en) 2019-03-29 2024-07-09 Cirrus Logic Inc. Resonant tracking of an electromagnetic load
US11283337B2 (en) 2019-03-29 2022-03-22 Cirrus Logic, Inc. Methods and systems for improving transducer dynamics
US11644370B2 (en) 2019-03-29 2023-05-09 Cirrus Logic, Inc. Force sensing with an electromagnetic load
US10992297B2 (en) 2019-03-29 2021-04-27 Cirrus Logic, Inc. Device comprising force sensors
US10996761B2 (en) 2019-06-01 2021-05-04 Apple Inc. User interfaces for non-visual output of time
US10976825B2 (en) 2019-06-07 2021-04-13 Cirrus Logic, Inc. Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system
US11150733B2 (en) 2019-06-07 2021-10-19 Cirrus Logic, Inc. Methods and apparatuses for providing a haptic output signal to a haptic actuator
GB2604215B (en) 2019-06-21 2024-01-31 Cirrus Logic Int Semiconductor Ltd A method and apparatus for configuring a plurality of virtual buttons on a device
USD956773S1 (en) 2019-08-20 2022-07-05 Pax Labs, Inc. Display screen or portion thereof with graphical user interface
CA3152444A1 (en) 2019-09-24 2021-04-01 Landon NICKERSON Smart ring
US11408787B2 (en) 2019-10-15 2022-08-09 Cirrus Logic, Inc. Control methods for a force sensor system
US11380175B2 (en) 2019-10-24 2022-07-05 Cirrus Logic, Inc. Reproducibility of haptic waveform
US11545951B2 (en) 2019-12-06 2023-01-03 Cirrus Logic, Inc. Methods and systems for detecting and managing amplifier instability
USD942481S1 (en) * 2019-12-09 2022-02-01 Monday.com Ltd. Display screen or portion thereof with graphical user interface
CN111008000B (zh) * 2019-12-12 2022-01-18 联想(北京)有限公司 信息处理方法及电子设备
US11755111B2 (en) 2020-03-16 2023-09-12 Arkh, Inc. Spatially aware computing hub and environment
US11662821B2 (en) 2020-04-16 2023-05-30 Cirrus Logic, Inc. In-situ monitoring, calibration, and testing of a haptic actuator
WO2021252998A1 (en) 2020-06-12 2021-12-16 Emerge Now Inc. Method and system for the generation and management of tactile commands for tactile sensation
JP7501159B2 (ja) * 2020-07-01 2024-06-18 コニカミノルタ株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20230360444A1 (en) * 2020-09-22 2023-11-09 Google Llc Guiding fingerprint sensing via user feedback
USD1009861S1 (en) 2020-09-25 2024-01-02 Arkh, Inc. Smart ring
US11334166B2 (en) 2020-09-30 2022-05-17 International Business Machines Corporation Multi-sensory notifications
US11223732B1 (en) 2020-10-08 2022-01-11 Xerox Corporation Multi-modal multi-device alerts
CN112462996B (zh) * 2020-12-11 2023-09-08 北京小米移动软件有限公司 服务信息优化方法、服务信息优化装置及存储介质
US12118677B2 (en) 2020-12-22 2024-10-15 Arkh, Inc. Spatially aware environment interaction
EP4264460A1 (en) 2021-01-25 2023-10-25 Apple Inc. Implementation of biometric authentication
CN113253848A (zh) * 2021-06-10 2021-08-13 武汉市聚芯微电子有限责任公司 用于控制触觉反馈的方法、装置和包括该装置的电子设备
CN113296638A (zh) * 2021-06-10 2021-08-24 武汉市聚芯微电子有限责任公司 用于控制触觉反馈的方法、装置和包括该装置的电子设备
US11933822B2 (en) 2021-06-16 2024-03-19 Cirrus Logic Inc. Methods and systems for in-system estimation of actuator parameters
US11908310B2 (en) 2021-06-22 2024-02-20 Cirrus Logic Inc. Methods and systems for detecting and managing unexpected spectral content in an amplifier system
US11765499B2 (en) 2021-06-22 2023-09-19 Cirrus Logic Inc. Methods and systems for managing mixed mode electromechanical actuator drive
US11552649B1 (en) 2021-12-03 2023-01-10 Cirrus Logic, Inc. Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths
US12118548B2 (en) 2022-01-25 2024-10-15 Apple Inc. Managing information on a computer system
USD1026032S1 (en) * 2022-05-26 2024-05-07 Expel, Inc. Display screen with a graphical user interface

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186152A1 (en) * 2007-02-02 2008-08-07 Electronics & Telecommunications Research Institute Haptic experience service method and system
CN102651920A (zh) * 2011-02-24 2012-08-29 腾讯科技(深圳)有限公司 基于移动通信终端的操作提示方法及移动通信终端
US20120319938A1 (en) * 2011-06-20 2012-12-20 Immersion Corporation Haptic theme framework
CN103503428A (zh) * 2011-03-11 2014-01-08 诺基亚公司 在不同事件提供不同报警
US20140201066A1 (en) * 2013-01-14 2014-07-17 Xerox Corporation System and method for enabling transactions on an associated network
CN104375633A (zh) * 2013-08-12 2015-02-25 意美森公司 用于触觉摆弄的系统和方法
CN104508618A (zh) * 2012-05-09 2015-04-08 苹果公司 用于针对在用户界面中执行的操作提供触觉反馈的设备、方法和图形用户界面
CN104685444A (zh) * 2012-09-25 2015-06-03 诺基亚技术有限公司 具有触觉反馈的方法和显示设备
CN105095705A (zh) * 2015-05-19 2015-11-25 努比亚技术有限公司 一种信息处理方法及装置
US20160062467A1 (en) * 2010-12-28 2016-03-03 Microsoft Technology Licensing, Llc Touch screen control

Family Cites Families (444)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433771B1 (en) * 1992-12-02 2002-08-13 Cybernet Haptic Systems Corporation Haptic device attribute control
DE69526218T2 (de) * 1994-05-16 2002-12-12 Apple Computer, Inc. System zur anpassung der erscheinung und des verhaltens graphischer benutzeroberflächen
US20030040361A1 (en) 1994-09-21 2003-02-27 Craig Thorner Method and apparatus for generating tactile feedback via relatively low-burden and/or zero burden telemetry
US6219032B1 (en) * 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US5990869A (en) * 1996-08-20 1999-11-23 Alliance Technologies Corp. Force feedback mouse
JP3655438B2 (ja) * 1997-07-17 2005-06-02 任天堂株式会社 ビデオゲームシステム
JP3138666B2 (ja) 1997-08-21 2001-02-26 日本電気通信システム株式会社 携帯電話機
US6211861B1 (en) 1998-06-23 2001-04-03 Immersion Corporation Tactile mouse device
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6429846B2 (en) * 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
JP2000209311A (ja) 1999-01-13 2000-07-28 Yazaki Corp 車両用呼出応対方法
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US7561142B2 (en) 1999-07-01 2009-07-14 Immersion Corporation Vibrotactile haptic feedback devices
AU7725600A (en) 1999-09-28 2001-04-30 Immersion Corporation Controlling haptic sensations for vibrotactile feedback interface devices
US6424251B1 (en) 1999-11-10 2002-07-23 Matthew T. Byrne Personal electronic device notification system
US6560165B1 (en) 2000-03-28 2003-05-06 Diane K. Barker Medical information appliance
CN1193570C (zh) 2000-06-21 2005-03-16 精工爱普生株式会社 协同处理呼入的移动电话和无线电通信装置
EP1330811B1 (en) * 2000-09-28 2012-08-22 Immersion Corporation Directional tactile feedback for haptic feedback interface devices
US6791536B2 (en) 2000-11-10 2004-09-14 Microsoft Corporation Simulating gestures of a pointing device using a stylus and providing feedback thereto
GB0029622D0 (en) * 2000-12-05 2001-01-17 Nokia Networks Oy Improved user interface
JP4327369B2 (ja) 2001-02-23 2009-09-09 ヤマハ株式会社 携帯端末、着信通知制御プログラム及び着信通知制御プログラムを記録した記録媒体
US6703550B2 (en) 2001-10-10 2004-03-09 Immersion Corporation Sound data output and manipulation using haptic feedback
EP2793101A3 (en) 2001-11-01 2015-04-29 Immersion Corporation Method and apparatus for providing tactile feedback sensations
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
JP2003288158A (ja) 2002-01-28 2003-10-10 Sony Corp タクタイル・フィードバック機能を持つ携帯型機器
JP2004064117A (ja) 2002-07-24 2004-02-26 Kenwood Corp 移動体通信端末、着信報知方法及びプログラム
EP1406150A1 (en) 2002-10-01 2004-04-07 Sony Ericsson Mobile Communications AB Tactile feedback method and device and portable device incorporating same
US20040095311A1 (en) 2002-11-19 2004-05-20 Motorola, Inc. Body-centric virtual interactive apparatus and method
US8803795B2 (en) 2002-12-08 2014-08-12 Immersion Corporation Haptic communication devices
US8165640B2 (en) 2003-03-14 2012-04-24 Jeffrey D Mullen Systems and methods for providing remote incoming call notification for cellular phones
US7886236B2 (en) 2003-03-28 2011-02-08 Microsoft Corporation Dynamic feedback for gestures
US7454009B2 (en) 2003-04-25 2008-11-18 International Business Machines Corporation Ring-tone identification of urgent phone calls
JP4240293B2 (ja) 2003-05-27 2009-03-18 株式会社ソニー・コンピュータエンタテインメント マルチメディア再生装置およびマルチメディア再生方法
JP2004363999A (ja) 2003-06-05 2004-12-24 Hitachi Ltd 携帯電話機、携帯電話基地局サーバ及びip電話装置と電子メールシステム
US7130664B1 (en) 2003-06-12 2006-10-31 Williams Daniel P User-based signal indicator for telecommunications device and method of remotely notifying a user of an incoming communications signal incorporating the same
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
JP2005276089A (ja) 2004-03-26 2005-10-06 Seiko Epson Corp 入力装置、画像表示装置及びプロジェクタ
US20050231489A1 (en) * 2004-04-15 2005-10-20 Research In Motion Limited System and method for providing dynamic tactile feedback on hand-held electronic devices
US7305257B2 (en) 2004-04-16 2007-12-04 Research In Motion Limited Portable alerter for wireless device
JP2006011646A (ja) 2004-06-23 2006-01-12 Pioneer Electronic Corp 触覚表示装置及び触覚表示機能付タッチパネル装置
US7308253B2 (en) 2004-06-30 2007-12-11 Avaya Technology Corp. Log-based ringtone service
US8867724B2 (en) 2004-08-31 2014-10-21 At&T Intellectual Property I, L.P. Distinctive ring tones prompted by call urgency and context
EP1805585B1 (en) * 2004-10-08 2017-08-16 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
US9591345B2 (en) 2004-10-21 2017-03-07 Core Wireless Licensing S.A.R.L. Group editing of media content stored on wireless portable devices
US7720213B2 (en) 2004-12-30 2010-05-18 Alcatel Lucent Parameter dependent ring tones
US8768838B1 (en) 2005-02-02 2014-07-01 Nexus Payments, LLC Financial transactions using a rule-module nexus and a user account registry
US8082292B2 (en) 2005-04-18 2011-12-20 Research In Motion Limited Method and system for centralized user notification and application execution control
US20060248183A1 (en) 2005-04-28 2006-11-02 Microsoft Corporation Programmable notifications for a mobile device
KR100714725B1 (ko) 2005-08-29 2007-05-07 삼성전자주식회사 입력 정보의 노출을 방지하기 위한 입력 장치 및 입력 방법
US9166823B2 (en) 2005-09-21 2015-10-20 U Owe Me, Inc. Generation of a context-enriched message including a message component and a contextual attribute
US20070088560A1 (en) 2005-10-14 2007-04-19 Motorola, Inc. Method and system for conveying context information in a personal and family security environment
US20070106457A1 (en) 2005-11-09 2007-05-10 Outland Research Portable computing with geospatial haptic compass
US7958456B2 (en) 2005-12-23 2011-06-07 Apple Inc. Scrolling list with floating adjacent index symbols
US20070132789A1 (en) 2005-12-08 2007-06-14 Bas Ording List scrolling in response to moving contact over list of index symbols
BRPI0620713B1 (pt) 2005-12-28 2018-07-03 Hitachi Metals, Ltd. “Material magnético de óxido, seu meio de gravação magnético, seu ímã combinado, sua máquina rotativa e ímã magnético sinterizado”
CN101375582A (zh) 2006-01-19 2009-02-25 高通股份有限公司 将已分类源地址群组与振动模式相关联的方法
US7710958B2 (en) 2006-01-20 2010-05-04 Iona Technologies Limited Method for recoverable message exchange independent of network protocols
JP5129478B2 (ja) * 2006-03-24 2013-01-30 株式会社デンソーアイティーラボラトリ 画面表示装置
US8144125B2 (en) 2006-03-30 2012-03-27 Cypress Semiconductor Corporation Apparatus and method for reducing average scan rate to detect a conductive object on a sensing device
US7751542B2 (en) 2006-05-04 2010-07-06 Avaya Inc. Feeble ring tones
US20070283239A1 (en) * 2006-05-30 2007-12-06 Robert Paul Morris Methods, systems, and computer program products for providing a user interaction model for use by a device
JP2008033739A (ja) * 2006-07-31 2008-02-14 Sony Corp 力覚フィードバックおよび圧力測定に基づくタッチスクリーンインターラクション方法および装置
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7809406B2 (en) 2006-09-15 2010-10-05 Sony Ericsson Mobile Communications Ab Continued transfer or streaming of a data file after loss of a local connection
DE102006048833A1 (de) * 2006-10-16 2008-04-17 Universität Rostock Behandlung von Osteoporose
WO2008075082A1 (en) 2006-12-21 2008-06-26 Symbian Software Limited Mobile device and method of operation thereof
US8583189B2 (en) 2006-12-28 2013-11-12 Motorola Mobility Llc Method and apparatus for the selective use of imperceptible invites
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
CN101232665B (zh) * 2007-01-24 2012-02-22 北京三星通信技术研究有限公司 用于移动通信终端的回电设定及自动提示的方法
JP2008181365A (ja) 2007-01-25 2008-08-07 Mitsubishi Electric Corp 携帯機器
US8098234B2 (en) 2007-02-20 2012-01-17 Immersion Corporation Haptic feedback system with stored effects
KR100835297B1 (ko) * 2007-03-02 2008-06-05 광주과학기술원 촉감 정보 표현을 위한 노드 구조 및 이를 이용한 촉감정보 전송 방법과 시스템
US7801569B1 (en) 2007-03-22 2010-09-21 At&T Intellectual Property I, L.P. Mobile communications device with distinctive vibration modes
TWI351638B (en) 2007-04-27 2011-11-01 Htc Corp Touch-based tab navigation method and related devi
US8144126B2 (en) 2007-05-07 2012-03-27 Cypress Semiconductor Corporation Reducing sleep current in a capacitance sensing system
JP4803105B2 (ja) 2007-05-09 2011-10-26 ソニー株式会社 電子機器
US9954996B2 (en) 2007-06-28 2018-04-24 Apple Inc. Portable electronic device with conversation management for incoming instant messages
US8258986B2 (en) 2007-07-03 2012-09-04 Cypress Semiconductor Corporation Capacitive-matrix keyboard with multiple touch detection
US8026814B1 (en) 2007-07-25 2011-09-27 Pinpoint Technologies Inc. Wireless mesh network for an asset tracking system
US8331268B2 (en) 2007-08-31 2012-12-11 At&T Intellectual Property I, L.P. Methods, systems, and computer-readable media for providing an event alert
US9619143B2 (en) 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
EP2040146B1 (en) 2007-09-18 2020-12-09 Microsoft Technology Licensing, LLC Mobile terminal and method of controlling operation of the same
US8098235B2 (en) 2007-09-28 2012-01-17 Immersion Corporation Multi-touch device having dynamic haptic effects
US7768838B2 (en) 2007-10-30 2010-08-03 Micron Technology, Inc. Operating memory cells
US20090128581A1 (en) 2007-11-20 2009-05-21 Microsoft Corporation Custom transition framework for application state transitions
US20090135142A1 (en) 2007-11-27 2009-05-28 Motorola, Inc. Data entry device and method
US9509829B2 (en) 2007-12-28 2016-11-29 Apple, Inc. Urgent communications
US8373549B2 (en) 2007-12-31 2013-02-12 Apple Inc. Tactile feedback in an electronic device
US9857872B2 (en) 2007-12-31 2018-01-02 Apple Inc. Multi-touch display screen with localized tactile feedback
US8577423B2 (en) 2008-02-27 2013-11-05 Palm, Inc. Vibration tone differentiation
US20090219252A1 (en) 2008-02-28 2009-09-03 Nokia Corporation Apparatus, method and computer program product for moving controls on a touchscreen
US10015158B2 (en) 2008-02-29 2018-07-03 Blackberry Limited Methods and apparatus for use in enabling a mobile communication device with a digital certificate
US8205157B2 (en) 2008-03-04 2012-06-19 Apple Inc. Methods and graphical user interfaces for conducting searches on a portable multifunction device
US9513704B2 (en) 2008-03-12 2016-12-06 Immersion Corporation Haptically enabled user interface
JP2009265818A (ja) 2008-04-23 2009-11-12 Denso Corp ドライバ覚醒装置
EP2112579B1 (en) 2008-04-25 2013-05-22 Research In Motion Limited Electronic device comprising touch-sensitive input surface and method of determining user-selected input
JP2009278294A (ja) 2008-05-13 2009-11-26 Sony Ericsson Mobilecommunications Japan Inc 情報処理装置、情報処理方法、情報処理プログラム、及び携帯端末装置
KR101456001B1 (ko) * 2008-05-23 2014-11-03 엘지전자 주식회사 단말기 및 그 제어 방법
US8266550B1 (en) 2008-05-28 2012-09-11 Google Inc. Parallax panning of mobile device desktop
US9357052B2 (en) 2008-06-09 2016-05-31 Immersion Corporation Developing a notification framework for electronic device events
US8203444B2 (en) 2008-06-10 2012-06-19 Silent Call Corporation Alerting device with supervision
KR101498622B1 (ko) 2008-06-25 2015-03-04 엘지전자 주식회사 촉각 효과를 제공하는 휴대 단말기 및 그 제어방법
US8306576B2 (en) 2008-06-27 2012-11-06 Lg Electronics Inc. Mobile terminal capable of providing haptic effect and method of controlling the mobile terminal
KR101556522B1 (ko) 2008-06-27 2015-10-01 엘지전자 주식회사 촉각 효과를 제공하는 휴대 단말기 및 그 제어방법
KR101443341B1 (ko) 2008-06-30 2014-11-03 엘지전자 주식회사 휴대 단말기 및 그 동작제어 방법
KR101474963B1 (ko) 2008-07-01 2014-12-19 엘지전자 주식회사 휴대 단말기 및 그 제어방법
US9600175B2 (en) 2008-07-14 2017-03-21 Sony Corporation Method and system for classification sign display
EP3206381A1 (en) 2008-07-15 2017-08-16 Immersion Corporation Systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging
GB2462465B (en) 2008-08-08 2013-02-13 Hiwave Technologies Uk Ltd Touch sensitive device
US8604364B2 (en) * 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US8402381B2 (en) 2008-09-23 2013-03-19 International Business Machines Corporation Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments
EP3654141A1 (en) * 2008-10-06 2020-05-20 Samsung Electronics Co., Ltd. Method and apparatus for displaying graphical user interface depending on a user's contact pattern
KR101529502B1 (ko) 2008-10-16 2015-06-17 엘지전자 주식회사 인스턴트 메시지 제어방법과 이를 이용한 이동 단말기
KR101569176B1 (ko) * 2008-10-30 2015-11-20 삼성전자주식회사 오브젝트 실행 방법 및 장치
JP5003655B2 (ja) 2008-11-07 2012-08-15 富士通株式会社 携帯端末装置
EP2863289A1 (en) 2008-11-18 2015-04-22 Studer Professional Audio GmbH Input device and method of detecting a user input with an input device
JP5227769B2 (ja) 2008-12-05 2013-07-03 ソニーモバイルコミュニケーションズ, エービー 携帯端末およびコンピュータプログラム
JP5181093B2 (ja) 2008-12-08 2013-04-10 韓國電子通信研究院 タッチスクリーン及びその動作方法
US8886252B2 (en) 2008-12-22 2014-11-11 Htc Corporation Method and apparatus for automatically changing operating modes in a mobile device
US8686952B2 (en) 2008-12-23 2014-04-01 Apple Inc. Multi touch with multi haptics
JP4746085B2 (ja) 2008-12-25 2011-08-10 京セラ株式会社 入力装置
US8378979B2 (en) 2009-01-27 2013-02-19 Amazon Technologies, Inc. Electronic device with haptic feedback
WO2010092523A1 (en) 2009-02-11 2010-08-19 Nxp B.V. Controlling an adaptation of a behavior of an audio device to a current acoustic environmental condition
GB2480418B (en) 2009-02-20 2013-11-13 Solocem Systems Oy Short-range communication-enabled mobile device, method and related server arrangement
US9746923B2 (en) 2009-03-12 2017-08-29 Immersion Corporation Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction
US10705701B2 (en) 2009-03-16 2020-07-07 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
KR101553842B1 (ko) 2009-04-21 2015-09-17 엘지전자 주식회사 멀티 햅틱 효과를 제공하는 휴대 단말기 및 그 제어방법
US9658760B2 (en) 2009-05-07 2017-05-23 Creative Technology Ltd. Methods for searching digital files on a user interface
JP2010268086A (ja) 2009-05-13 2010-11-25 Nec Saitama Ltd 携帯端末装置およびその着信報知出力制御方法
US8279194B2 (en) 2009-05-22 2012-10-02 Elo Touch Solutions, Inc. Electrode configurations for projected capacitive touch screen
KR101597553B1 (ko) 2009-05-25 2016-02-25 엘지전자 주식회사 기능 실행 방법 및 그 장치
US20100302042A1 (en) 2009-05-28 2010-12-02 David Barnett Sensor-based independent living assistant
US8271898B1 (en) 2009-06-04 2012-09-18 Mellmo Inc. Predictive scrolling
US8254957B2 (en) 2009-06-16 2012-08-28 Intel Corporation Context-based limitation of mobile device operation
KR20100136156A (ko) 2009-06-18 2010-12-28 삼성전자주식회사 터치스크린을 구비하는 휴대 단말기의 화면 스크롤 방법 및 장치
US8310458B2 (en) 2009-07-06 2012-11-13 Research In Motion Limited Electronic device including a moveable touch-sensitive input and method of controlling same
US20110017828A1 (en) 2009-07-24 2011-01-27 Jadak, Llc Handheld optical imaging device and method
CA2761700C (en) 2009-07-24 2014-12-02 Research In Motion Limited Method and apparatus for a touch-sensitive display
US8477106B2 (en) 2009-07-29 2013-07-02 Elo Touch Solutions, Inc. System and method for a projected capacitive touchscreen having weight based coordinate determination
US20110053577A1 (en) 2009-08-31 2011-03-03 Lee Changkee Methods and apparatus for communicating by vibrating or moving mobile devices
US20110055753A1 (en) 2009-08-31 2011-03-03 Horodezky Samuel J User interface methods providing searching functionality
US9176962B2 (en) 2009-09-07 2015-11-03 Apple Inc. Digital media asset browsing with audio cues
US20110074695A1 (en) 2009-09-25 2011-03-31 Peter William Rapp Device, Method, and Graphical User Interface Using Mid-Drag Gestures
US8679013B2 (en) 2009-09-28 2014-03-25 Witold Andrew Ziarno Intravaginal monitoring device
US8131848B1 (en) 2009-09-29 2012-03-06 Jason Adam Denise Image analysis and communication device control technology
US8487759B2 (en) 2009-09-30 2013-07-16 Apple Inc. Self adapting haptic device
US9338274B2 (en) 2009-10-02 2016-05-10 Blackberry Limited Method of interacting with electronic devices in a locked state and handheld electronic device configured to permit interaction when in a locked state
US8279052B2 (en) 2009-11-04 2012-10-02 Immersion Corporation Systems and methods for haptic confirmation of commands
US8839128B2 (en) 2009-11-25 2014-09-16 Cooliris, Inc. Gallery application for content viewing
EP2328063B1 (en) * 2009-11-30 2018-01-10 BlackBerry Limited Portable electronic device and method of controlling same to provide tactile feedback
US8204548B1 (en) 2009-12-01 2012-06-19 Sprint Communications Company L.P. System and method for mobile device application pre-emption
US8347238B2 (en) 2009-12-16 2013-01-01 Apple Inc. Device, method, and graphical user interface for managing user interface content and user interface elements by dynamic snapping of user interface elements to alignment guides
US20110148608A1 (en) 2009-12-18 2011-06-23 Research In Motion Limited Portable electronic device and method of control
JP5437786B2 (ja) 2009-12-21 2014-03-12 京セラ株式会社 触感呈示装置
US8386965B2 (en) 2010-01-15 2013-02-26 Apple Inc. Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries
US20110202843A1 (en) * 2010-02-15 2011-08-18 Robert Paul Morris Methods, systems, and computer program products for delaying presentation of an update to a user interface
US8548418B1 (en) 2010-01-25 2013-10-01 Sprint Spectrum L.P. Methods and devices for distributing ringtone
JP5635274B2 (ja) * 2010-01-27 2014-12-03 京セラ株式会社 触感呈示装置および触感呈示方法
JP5360499B2 (ja) 2010-02-01 2013-12-04 国立大学法人東北大学 力覚提示方法および力覚提示装置
TW201205910A (en) 2010-02-03 2012-02-01 Bayer Materialscience Ag An electroactive polymer actuator haptic grip assembly
US9361018B2 (en) 2010-03-01 2016-06-07 Blackberry Limited Method of providing tactile feedback and apparatus
US20110252349A1 (en) 2010-04-07 2011-10-13 Imran Chaudhri Device, Method, and Graphical User Interface for Managing Folders
KR101657543B1 (ko) 2010-06-14 2016-09-22 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
EP2378406B1 (en) 2010-04-13 2018-08-22 LG Electronics Inc. Mobile terminal and method of controlling operation of the mobile terminal
US8698766B2 (en) 2010-04-22 2014-04-15 Maxim Integrated Products, Inc. System integration of tactile feedback and touchscreen controller for near-zero latency haptics playout
EP2561424B1 (en) 2010-04-23 2019-02-20 Immersion Corporation Systems and methods for providing haptic effects
US20110271181A1 (en) 2010-04-28 2011-11-03 Acer Incorporated Screen unlocking method and electronic apparatus thereof
US8671504B2 (en) 2010-04-28 2014-03-18 Denso Corporation Cover of vehicle optical sensor and vehicle optical sensor device
US20110267181A1 (en) 2010-04-29 2011-11-03 Nokia Corporation Apparatus and method for providing tactile feedback for user
US20110267294A1 (en) 2010-04-29 2011-11-03 Nokia Corporation Apparatus and method for providing tactile feedback for user
US20110270358A1 (en) 2010-04-30 2011-11-03 Medtronic, Inc. Implantable medical device programming using gesture-based control
US8451255B2 (en) 2010-05-14 2013-05-28 Arnett Ryan Weber Method of providing tactile feedback and electronic device
EP2386934B1 (en) * 2010-05-14 2015-08-05 BlackBerry Limited Method of providing tactile feedback and electronic device
EP2386935B1 (en) 2010-05-14 2015-02-11 BlackBerry Limited Method of providing tactile feedback and electronic device
US8466889B2 (en) 2010-05-14 2013-06-18 Research In Motion Limited Method of providing tactile feedback and electronic device
US20120327006A1 (en) 2010-05-21 2012-12-27 Disney Enterprises, Inc. Using tactile feedback to provide spatial awareness
US9749176B2 (en) 2010-06-29 2017-08-29 Nokia Technologies Oy Systems, methods, and apparatuses for providing adaptive user notifications
US8798534B2 (en) 2010-07-09 2014-08-05 Digimarc Corporation Mobile devices and methods employing haptics
CN102339123B (zh) * 2010-07-14 2014-10-29 Tcl集团股份有限公司 根据接触面积控制振动的方法
EP2407896A1 (en) 2010-07-16 2012-01-18 Research In Motion Limited Systems and methods of user interface for image display
JP2012027875A (ja) 2010-07-28 2012-02-09 Sony Corp 電子機器、処理方法及びプログラム
US8766984B2 (en) 2010-08-20 2014-07-01 Qualcomm Incorporated Graphics rendering methods for satisfying minimum frame rate requirements
US9069760B2 (en) 2010-08-24 2015-06-30 Lg Electronics Inc. Mobile terminal and controlling method thereof
JP5656511B2 (ja) 2010-08-26 2015-01-21 京セラ株式会社 表示装置
US8676274B2 (en) 2010-08-27 2014-03-18 At&T Intellectual Property I, L.P. Devices, systems, and methods for notification of events on a wireless communication device
FR2964761B1 (fr) 2010-09-14 2012-08-31 Thales Sa Dispositif d'interaction haptique et procede de generation d'effets haptiques et sonores
GB2497383A (en) 2010-09-24 2013-06-12 Qnx Software Systems Ltd Alert display on a portable electronic device
DE102010048745A1 (de) 2010-10-16 2012-04-19 Volkswagen Ag Benutzerschnittstelle und Verfahren zum Bedienen einer Benutzerschnittstelle
US20120105367A1 (en) 2010-11-01 2012-05-03 Impress Inc. Methods of using tactile force sensing for intuitive user interface
US8914743B2 (en) 2010-11-12 2014-12-16 Apple Inc. Device, method, and graphical user interface for navigating a list of identifiers
WO2012081182A1 (ja) 2010-12-13 2012-06-21 パナソニック株式会社 電子機器
US9052758B2 (en) 2010-12-31 2015-06-09 Blackberry Limited System and method for detecting accidental peripheral device disconnection
KR101785323B1 (ko) 2011-01-05 2017-10-17 삼성전자주식회사 휴대 단말기의 사용자 인터페이스 제공 방법 및 장치
CN102609078B (zh) * 2011-01-20 2014-12-31 宏达国际电子股份有限公司 具有触觉反馈的电子装置及提供触觉反馈的方法
US8615511B2 (en) 2011-01-22 2013-12-24 Operational Transparency LLC Data visualization interface
WO2012108203A1 (ja) 2011-02-10 2012-08-16 京セラ株式会社 電子機器及び電子機器の制御方法
CN103370683A (zh) 2011-02-15 2013-10-23 Nec卡西欧移动通信株式会社 便携式终端设备及其屏幕显示方法
US20120249461A1 (en) 2011-04-01 2012-10-04 Analog Devices, Inc. Dedicated user interface controller for feedback responses
US9733708B2 (en) 2011-04-06 2017-08-15 Kyocera Corporation Electronic device, operation control method, and operation control program
US9448713B2 (en) 2011-04-22 2016-09-20 Immersion Corporation Electro-vibrotactile display
US9218727B2 (en) 2011-05-12 2015-12-22 Apple Inc. Vibration in portable devices
US8717151B2 (en) 2011-05-13 2014-05-06 Qualcomm Incorporated Devices and methods for presenting information to a user on a tactile output surface of a mobile device
US20120306790A1 (en) 2011-06-02 2012-12-06 Electronics And Telecommunications Research Institute Film type apparatus for providing haptic feedback and touch screen including the same
US9083821B2 (en) 2011-06-03 2015-07-14 Apple Inc. Converting audio to haptic feedback in an electronic device
US9383820B2 (en) 2011-06-03 2016-07-05 Apple Inc. Custom vibration patterns
WO2012170446A2 (en) 2011-06-05 2012-12-13 Apple Inc. Systems and methods for displaying notifications received from multiple applications
EP2535134B1 (de) 2011-06-16 2018-01-24 Klingelnberg AG Verfahren zum Vorverzahnen mehrerer unterschiedlicher Kegelräder
CN102330123A (zh) 2011-07-27 2012-01-25 太仓市金鹿电镀有限公司 一种连续镀金工艺
US20130031507A1 (en) 2011-07-28 2013-01-31 Moses George Systems and methods for scrolling a document by providing visual feedback of a transition between portions of the document
JP5733408B2 (ja) 2011-09-29 2015-06-10 日本電気株式会社 無線パラメータ制御装置、無線基地局、無線パラメータ制御方法、およびプログラム
US9880640B2 (en) 2011-10-06 2018-01-30 Amazon Technologies, Inc. Multi-dimensional interface
GB2495486A (en) 2011-10-07 2013-04-17 Hiwave Technologies Uk Ltd Contextual haptic feedback in response to touch input
JP5899845B2 (ja) 2011-11-15 2016-04-06 セイコーエプソン株式会社 画像記録装置
CN102420906A (zh) 2011-12-01 2012-04-18 华为终端有限公司 提示方法和用户终端
US9678570B2 (en) 2011-12-15 2017-06-13 Lg Electronics Inc. Haptic transmission method and mobile terminal for same
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
KR101919617B1 (ko) 2011-12-27 2018-11-16 엘지전자 주식회사 어포던스와 인터랙션이 강화된 사용자 인터페이스
US9032385B2 (en) 2011-12-28 2015-05-12 Lg Electronics Inc. Mobile terminal and control method thereof
US8812994B2 (en) 2011-12-29 2014-08-19 Apple Inc. Device, method, and graphical user interface for configuring restricted interaction with a user interface
US9092953B1 (en) 2012-01-24 2015-07-28 Bruce J. P. Mortimer System and method for providing a remote haptic stimulus
JP5590345B2 (ja) 2012-02-01 2014-09-17 シャープ株式会社 入出力装置、入出力方法、及び入出力プログラム
US9411423B2 (en) 2012-02-08 2016-08-09 Immersion Corporation Method and apparatus for haptic flex gesturing
US8493354B1 (en) 2012-08-23 2013-07-23 Immersion Corporation Interactivity model for shared feedback on mobile devices
US9898119B2 (en) 2012-02-20 2018-02-20 Sony Mobile Communications Inc. Touch screen interface with feedback
US20130222224A1 (en) 2012-02-24 2013-08-29 Marcus Eriksson Device, System and Method for Generating Display Data
CN102622175B (zh) 2012-02-24 2019-03-12 中兴通讯股份有限公司 一种在触摸屏设备上新建文件夹的方法及终端
US20130225300A1 (en) 2012-02-28 2013-08-29 Timothy J. Brinlee Apparatus for personalized gaming environment
US20130234929A1 (en) 2012-03-07 2013-09-12 Evernote Corporation Adapting mobile user interface to unfavorable usage conditions
US9247525B2 (en) 2012-03-16 2016-01-26 Qualcomm Incorporated Systems and methods for providing notifications
US9934713B2 (en) 2012-03-28 2018-04-03 Qualcomm Incorporated Multifunction wristband
US8881269B2 (en) 2012-03-31 2014-11-04 Apple Inc. Device, method, and graphical user interface for integrating recognition of handwriting gestures with a screen reader
EP2839366A4 (en) * 2012-04-18 2016-05-11 Nokia Technologies Oy DISPLAY DEVICE WITH HAPTIC RETURN
JP5987443B2 (ja) 2012-04-19 2016-09-07 富士通株式会社 操作動作検出装置、操作動作検出方法、及びプログラム
JP6032657B2 (ja) 2012-04-27 2016-11-30 パナソニックIpマネジメント株式会社 触感呈示装置、触感呈示方法、駆動信号生成装置および駆動信号生成方法
US20130290442A1 (en) 2012-04-30 2013-10-31 Emoze Ltd. Downloaded attachments flow
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
US9977499B2 (en) * 2012-05-09 2018-05-22 Apple Inc. Thresholds for determining feedback in computing devices
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
EP3096218B1 (en) 2012-05-09 2018-12-26 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
CN104487928B (zh) 2012-05-09 2018-07-06 苹果公司 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面
CN104471521B (zh) * 2012-05-09 2018-10-23 苹果公司 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
JP2015519656A (ja) 2012-05-09 2015-07-09 アップル インコーポレイテッド ユーザインタフェースオブジェクトを移動し、ドロップするためのデバイス、方法及びグラフィカルユーザインタフェース
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
US9278175B2 (en) 2012-05-10 2016-03-08 Empire Technologies Development Llc Device and method for treating diverticular disease
US20130300684A1 (en) 2012-05-11 2013-11-14 Samsung Electronics Co. Ltd. Apparatus and method for executing multi applications
US9891709B2 (en) 2012-05-16 2018-02-13 Immersion Corporation Systems and methods for content- and context specific haptic effects using predefined haptic effects
US8570296B2 (en) 2012-05-16 2013-10-29 Immersion Corporation System and method for display of multiple data channels on a single haptic display
AU2013262488A1 (en) 2012-05-18 2014-12-18 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs
US20130318437A1 (en) 2012-05-22 2013-11-28 Samsung Electronics Co., Ltd. Method for providing ui and portable apparatus applying the same
US8948821B2 (en) 2012-05-27 2015-02-03 Qualcomm Incorporated Notification based on user context
US9348607B2 (en) 2012-06-07 2016-05-24 Apple Inc. Quiet hours for notifications
KR101305735B1 (ko) * 2012-06-15 2013-09-06 성균관대학교산학협력단 촉각 효과의 제공 방법 및 장치
US8712383B1 (en) 2012-06-21 2014-04-29 Google Inc. Tactile output device for computing device notifications
US9641239B2 (en) 2012-06-22 2017-05-02 Fitbit, Inc. Adaptive data transfer using bluetooth
US8886576B1 (en) 2012-06-22 2014-11-11 Google Inc. Automatic label suggestions for albums based on machine learning
DE102012211163A1 (de) 2012-06-28 2014-06-26 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Empfangen einer Eingabe auf einem berührungsempfindlichen Feld
US20140002376A1 (en) 2012-06-29 2014-01-02 Immersion Corporation Method and apparatus for providing shortcut touch gestures with haptic feedback
US20140007005A1 (en) 2012-06-29 2014-01-02 Evernote Corporation Scrollable calendar with combined date and time controls
US9110562B1 (en) 2012-07-26 2015-08-18 Google Inc. Snapping a pointing-indicator to a scene boundary of a video
WO2014021602A2 (ko) 2012-07-31 2014-02-06 인텔렉추얼디스커버리 주식회사 착용형 전자 장치 및 그의 제어 방법
US9256366B2 (en) 2012-08-14 2016-02-09 Google Technology Holdings LLC Systems and methods for touch-based two-stage text input
CN102843681A (zh) 2012-08-15 2012-12-26 腾讯科技(深圳)有限公司 信息交互方法和装置
EP2703947B1 (de) 2012-08-27 2019-02-27 Siemens Aktiengesellschaft Bedieneinrichtung für ein technisches System
KR102008916B1 (ko) 2012-09-07 2019-08-08 삼성전자주식회사 미확인 콘텐츠 표시 방법 및 그 전자 장치
US10042603B2 (en) 2012-09-20 2018-08-07 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US9178509B2 (en) * 2012-09-28 2015-11-03 Apple Inc. Ultra low travel keyboard
EP2901257A4 (en) 2012-09-28 2016-06-22 Nokia Technologies Oy DEVICE FOR DISPLAYING ANIMATED IMAGES IN COMBINATION WITH A TOUCH OUTPUT
US8743072B2 (en) 2012-09-28 2014-06-03 Lg Electronics Inc. Display device and control method thereof
US9196134B2 (en) 2012-10-31 2015-11-24 Immersion Corporation Method and apparatus for simulating surface features on a user interface with haptic effects
CN103809884B (zh) 2012-11-07 2019-02-05 联想(北京)有限公司 一种触控反馈方法、触控反馈屏及电子设备
US9836150B2 (en) 2012-11-20 2017-12-05 Immersion Corporation System and method for feedforward and feedback with haptic effects
EP2923260B1 (en) 2012-11-20 2020-05-06 Jolla OY A graphical user interface for a portable computing device
WO2014083751A1 (ja) 2012-11-30 2014-06-05 パナソニック株式会社 触感呈示装置および触感呈示方法
CN103843842A (zh) 2012-12-03 2014-06-11 青岛艾华隆生物科技有限公司 一种高效无毒农药及其制备方法
KR102091077B1 (ko) 2012-12-14 2020-04-14 삼성전자주식회사 입력 유닛의 피드백을 제어하는 휴대 단말 및 방법과, 이를 제공하는 상기 입력 유닛 및 방법
JP6094198B2 (ja) 2012-12-17 2017-03-15 カシオ計算機株式会社 携帯型電子装置、通信システム、報知動作制御方法、及び、プログラム
CN103869960B (zh) * 2012-12-18 2018-02-23 富泰华工业(深圳)有限公司 触感反馈系统及其提供触感反馈的方法
US9223403B2 (en) 2012-12-19 2015-12-29 Panasonic Intellectual Property Management Co., Ltd. Tactile input and output device
US9202350B2 (en) 2012-12-19 2015-12-01 Nokia Technologies Oy User interfaces and associated methods
US9128523B2 (en) * 2012-12-20 2015-09-08 Amazon Technologies, Inc. Dynamically generating haptic effects from audio data
US9213478B2 (en) * 2012-12-21 2015-12-15 Business Objects Software Visualization interaction design for cross-platform utilization
US9432323B2 (en) 2012-12-21 2016-08-30 Blackberry Limited Method, system and apparatus for providing notifications for different workspaces
US9323327B2 (en) * 2012-12-22 2016-04-26 Intel Corporation System and method for providing tactile feedback
US9285880B2 (en) 2012-12-26 2016-03-15 Panasonic Intellectual Property Management Co., Ltd. Touch panel device and method of controlling a touch panel device
AU2013368441B2 (en) 2012-12-29 2016-04-14 Apple Inc. Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
CN105144057B (zh) 2012-12-29 2019-05-17 苹果公司 用于根据具有模拟三维特征的控制图标的外观变化来移动光标的设备、方法和图形用户界面
CN105027418B (zh) 2012-12-31 2017-11-17 Lg电子株式会社 用于生成振动的装置和方法
US9417740B2 (en) 2013-01-03 2016-08-16 Nokia Technologies Oy Capacitive sensing apparatus with a shield electrode
KR20140090318A (ko) 2013-01-07 2014-07-17 삼성전자주식회사 햅틱 기반 카메라 운용 지원 방법 및 이를 지원하는 단말기
US9098991B2 (en) 2013-01-15 2015-08-04 Fitbit, Inc. Portable monitoring devices and methods of operating the same
US9088668B1 (en) 2013-01-24 2015-07-21 Amazon Technologies, Inc. Configuring notification intensity level using device sensors
US9699130B2 (en) 2013-01-24 2017-07-04 International Business Machines Corporation User interface with recipient status indication
KR20140095712A (ko) 2013-01-25 2014-08-04 삼성전자주식회사 알림 제어 방법 및 그 전자 장치
KR20140098384A (ko) 2013-01-31 2014-08-08 삼성전자주식회사 복수의 터치스크린을 가지는 휴대 장치 및 복수의 터치스크린을 가지는 휴대 장치의 사운드 출력방법
KR102087005B1 (ko) 2013-01-31 2020-03-11 삼성전자 주식회사 페이지 검색 방법 및 이를 지원하는 단말기
US10775888B2 (en) 2013-02-15 2020-09-15 Facebook, Inc. Method and system for integrating haptic feedback into portable electronic devices
US20140232679A1 (en) 2013-02-17 2014-08-21 Microsoft Corporation Systems and methods to protect against inadvertant actuation of virtual buttons on touch surfaces
US9961639B2 (en) 2013-02-19 2018-05-01 Thomson Licensing Method and apparatus for notifying missed events
US10504339B2 (en) 2013-02-21 2019-12-10 Immersion Corporation Mobile device with instinctive alerts
KR102104910B1 (ko) 2013-02-28 2020-04-27 삼성전자주식회사 입력 유닛에 촉각 피드백을 제공하는 휴대 장치 및 그 방법
US8754757B1 (en) 2013-03-05 2014-06-17 Immersion Corporation Automatic fitting of haptic effects
US9854084B2 (en) 2013-03-06 2017-12-26 Google Llc Contextual alarm and notification management
US10795528B2 (en) 2013-03-06 2020-10-06 Nuance Communications, Inc. Task assistant having multiple visual displays
US9189098B2 (en) * 2013-03-14 2015-11-17 Immersion Corporation Systems and methods for syncing haptic feedback calls
US9436282B2 (en) * 2013-03-14 2016-09-06 Immersion Corporation Contactor-based haptic feedback generation
US9632986B2 (en) 2013-03-14 2017-04-25 Aol Inc. Systems and methods for horizontally paginating HTML content
US20140267076A1 (en) 2013-03-15 2014-09-18 Immersion Corporation Systems and Methods for Parameter Modification of Haptic Effects
US9471200B2 (en) 2013-03-15 2016-10-18 Apple Inc. Device, method, and graphical user interface for organizing and presenting a collection of media items
US20160063496A1 (en) 2013-03-15 2016-03-03 Vijay Kumar Royyuru Remote Secure Transactions
KR101666393B1 (ko) 2013-03-27 2016-10-14 한국전자통신연구원 음향효과를 이용한 촉각효과 재생 장치 및 방법
US20140292668A1 (en) * 2013-04-01 2014-10-02 Lenovo (Singapore) Pte. Ltd. Touch input device haptic feedback
US20140292706A1 (en) 2013-04-01 2014-10-02 Lenovo (Singapore) Pte. Ltd. Non-visual touch input targeting
KR102115397B1 (ko) 2013-04-01 2020-05-26 삼성전자주식회사 휴대 장치 및 휴대 장치의 재생목록 표시 방법
US9507495B2 (en) 2013-04-03 2016-11-29 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9997032B2 (en) 2013-04-09 2018-06-12 Immersion Corporation Offline haptic conversion system
JP6131091B2 (ja) 2013-04-22 2017-05-17 シャープ株式会社 情報処理装置および制御プログラム
US9075435B1 (en) 2013-04-22 2015-07-07 Amazon Technologies, Inc. Context-aware notifications
JP6297787B2 (ja) 2013-04-25 2018-03-20 京セラ株式会社 携帯電子機器
EP2989525B1 (en) 2013-04-26 2019-09-25 Immersion Corporation Simulation of tangible user interface interactions and gestures using array of haptic cells
US9939900B2 (en) 2013-04-26 2018-04-10 Immersion Corporation System and method for a haptically-enabled deformable surface
US20140329567A1 (en) 2013-05-01 2014-11-06 Elwha Llc Mobile device with automatic volume control
US20140331162A1 (en) 2013-05-06 2014-11-06 Sap Ag Quick time-related data entry
US20140340316A1 (en) 2013-05-14 2014-11-20 Microsoft Corporation Feedback for Gestures
JP6157215B2 (ja) 2013-05-23 2017-07-05 キヤノン株式会社 表示制御装置及びその制御方法
US9274603B2 (en) * 2013-05-24 2016-03-01 Immersion Corporation Method and apparatus to provide haptic feedback based on media content and one or more external parameters
KR102161230B1 (ko) 2013-05-28 2020-09-29 삼성전자주식회사 멀티미디어 콘텐츠 검색을 위한 사용자 인터페이스 방법 및 장치
US20140358709A1 (en) 2013-05-31 2014-12-04 Mastercard Asia Pacific Pte. Ltd. Card Present Transaction Authentication by Short Messaging Service
DE102013210522A1 (de) 2013-06-06 2014-12-11 Aktiebolaget Skf Wälzlager
JP6093659B2 (ja) 2013-06-24 2017-03-08 シャープ株式会社 情報処理装置、および情報処理プログラム
US9804675B2 (en) 2013-06-27 2017-10-31 Elwha Llc Tactile feedback generated by non-linear interaction of surface acoustic waves
US9729730B2 (en) 2013-07-02 2017-08-08 Immersion Corporation Systems and methods for perceptual normalization of haptic effects
JP2015015600A (ja) 2013-07-04 2015-01-22 シャープ株式会社 携帯端末、制御方法
US10359857B2 (en) 2013-07-18 2019-07-23 Immersion Corporation Usable hidden controls with haptic feedback
US9124720B2 (en) 2013-08-19 2015-09-01 Lisa Marie West Driving cannot text noncontrolling cell phone app system and method
US20150054727A1 (en) 2013-08-23 2015-02-26 Immersion Corporation Haptically enabled viewing of sporting events
US9514620B2 (en) 2013-09-06 2016-12-06 Immersion Corporation Spatialized haptic feedback based on dynamically scaled values
US9652945B2 (en) 2013-09-06 2017-05-16 Immersion Corporation Method and system for providing haptic effects based on information complementary to multimedia content
US9898085B2 (en) 2013-09-06 2018-02-20 Immersion Corporation Haptic conversion system using segmenting and combining
JP6667987B2 (ja) 2013-09-06 2020-03-18 イマージョン コーポレーションImmersion Corporation 触覚フィードバックを提供するための制御トラックを変換する方法及び装置
US9558637B2 (en) 2013-09-10 2017-01-31 Immersion Corporation Systems and methods for performing haptic conversion
JP6127853B2 (ja) 2013-09-13 2017-05-17 富士通株式会社 情報処理装置、方法及びプログラム
US20150078586A1 (en) 2013-09-16 2015-03-19 Amazon Technologies, Inc. User input with fingerprint sensor
US9892200B2 (en) 2013-09-18 2018-02-13 Ebay Inc. Location-based and alter-ego queries
US9553872B2 (en) 2013-09-20 2017-01-24 Verizon Patent And Licensing Inc. Method and system for providing zero sign on user authentication
US9213408B2 (en) 2013-10-08 2015-12-15 Immersion Corporation Generating haptic effects while minimizing cascading
US9430796B1 (en) 2013-10-16 2016-08-30 Google Inc. Direct purchase from user-received advertisement
GB2519558A (en) 2013-10-24 2015-04-29 Ibm Touchscreen device with motion sensor
CN104599121B (zh) 2013-10-30 2017-04-12 腾讯科技(深圳)有限公司 一种信息传输方法、装置和系统
US9189932B2 (en) 2013-11-06 2015-11-17 Andrew Kerdemelidis Haptic notification apparatus and method
KR101504237B1 (ko) 2013-11-15 2015-03-19 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9639158B2 (en) * 2013-11-26 2017-05-02 Immersion Corporation Systems and methods for generating friction and vibrotactile effects
US9671826B2 (en) 2013-11-27 2017-06-06 Immersion Corporation Method and apparatus of body-mediated digital content transfer and haptic feedback
US9411422B1 (en) * 2013-12-13 2016-08-09 Audible, Inc. User interaction with content markers
GB2521225A (en) 2013-12-16 2015-06-17 Vicast Ltd A method and apparatus for cataloguing data items
KR102225031B1 (ko) 2014-01-14 2021-03-09 엘지전자 주식회사 단말기 및 그 동작 방법
US9766852B2 (en) 2014-01-15 2017-09-19 Lenovo (Singapore) Pte. Ltd. Non-audio notification of audible events
US10503256B2 (en) * 2014-01-29 2019-12-10 Micro Focus Llc Force feedback
US10726018B2 (en) 2014-02-10 2020-07-28 Microsoft Technology Licensing, Llc Semantic matching and annotation of attributes
EP2908236A1 (en) 2014-02-13 2015-08-19 Samsung Electronics Co., Ltd Electronic device and index display method thereof
US9836123B2 (en) * 2014-02-13 2017-12-05 Mide Technology Corporation Bussed haptic actuator system and method
US10534900B2 (en) 2014-02-21 2020-01-14 Samsung Electronics Co., Ltd. Electronic device
KR102102647B1 (ko) 2014-02-21 2020-04-21 엘지전자 주식회사 무선 리시버 및 그 제어 방법
JP2015166890A (ja) * 2014-03-03 2015-09-24 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
KR102335217B1 (ko) 2014-03-05 2021-12-03 삼성전자 주식회사 전류 또는 전력 소모량을 이용한 애플리케이션 프로세서의 구동 방법 및 모바일 장치
US10417570B2 (en) 2014-03-06 2019-09-17 Verizon Patent And Licensing Inc. Systems and methods for probabilistic semantic sensing in a sensory network
JP2015170173A (ja) 2014-03-07 2015-09-28 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6381240B2 (ja) 2014-03-14 2018-08-29 キヤノン株式会社 電子機器、触感制御方法及びプログラム
US9639231B2 (en) 2014-03-17 2017-05-02 Google Inc. Adjusting information depth based on user's attention
CN106104426B (zh) 2014-03-21 2020-04-03 意美森公司 用于基于力的对象操纵和触觉检测的系统、方法和计算机可读介质
CN104932681B (zh) 2014-03-21 2019-09-20 意美森公司 触觉效果的自动调整
JP2015185137A (ja) * 2014-03-26 2015-10-22 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
KR102243680B1 (ko) 2014-04-07 2021-04-23 엘지전자 주식회사 투명 플렉서블 디스플레이 장치 및 그 장치의 제어 방법
KR20150118813A (ko) 2014-04-15 2015-10-23 삼성전자주식회사 햅틱 정보 운용 방법 및 이를 지원하는 전자 장치
US10162505B2 (en) 2014-04-17 2018-12-25 Blackberry Limited System and method for enabling customized notifications on an electronic device
JP6322830B2 (ja) 2014-05-09 2018-05-16 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
CN110009315A (zh) 2014-05-15 2019-07-12 阿里巴巴集团控股有限公司 一种支付方法、支付页面的展示方法及装置
KR102204554B1 (ko) 2014-05-27 2021-01-19 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
EP3108351B1 (en) 2014-05-30 2019-05-08 Apple Inc. Activity continuation between electronic devices
US9733880B2 (en) 2014-05-30 2017-08-15 Immersion Corporation Haptic notification manager
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9588586B2 (en) 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US9648062B2 (en) 2014-06-12 2017-05-09 Apple Inc. Systems and methods for multitasking on an electronic device with a touch-sensitive display
US20140320402A1 (en) 2014-07-14 2014-10-30 Immersion Corporation Self calibration for haptic devices
US9710063B2 (en) 2014-07-21 2017-07-18 Immersion Corporation Systems and methods for determining haptic effects for multi-touch input
WO2016017978A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Device and method for performing functions
US20160036996A1 (en) 2014-08-02 2016-02-04 Sony Corporation Electronic device with static electric field sensor and related method
WO2016022204A1 (en) 2014-08-02 2016-02-11 Apple Inc. Context-specific user interfaces
DE202015005999U1 (de) 2014-08-26 2015-11-26 Apple Inc. Benutzerschnittstelle zum Einschränken von Meldungen und Alarmen
TWI676127B (zh) 2014-09-02 2019-11-01 美商蘋果公司 關於電子郵件使用者介面之方法、系統、電子器件及電腦可讀儲存媒體
US9830782B2 (en) 2014-09-02 2017-11-28 Apple Inc. Haptic notifications
US9659482B2 (en) 2014-09-02 2017-05-23 Apple Inc. Context-based alerts for an electronic device
KR102096146B1 (ko) 2014-09-02 2020-04-28 애플 인크. 가변 햅틱 출력을 위한 시맨틱 프레임워크
US9612722B2 (en) 2014-10-31 2017-04-04 Microsoft Technology Licensing, Llc Facilitating interaction between users and their environments using sounds
GB2532766A (en) 2014-11-27 2016-06-01 Ibm Interaction with a graph for device control
KR101666532B1 (ko) * 2014-12-01 2016-10-14 김정훈 실시간 진동 피드백을 제공하는 진동 마우스
US10764424B2 (en) 2014-12-05 2020-09-01 Microsoft Technology Licensing, Llc Intelligent digital assistant alarm system for application collaboration with notification presentation
KR102230523B1 (ko) 2014-12-08 2021-03-19 신상현 이동 단말기
CN104536643B (zh) 2014-12-10 2018-05-29 广东欧珀移动通信有限公司 一种图标拖动方法及终端
US9665960B1 (en) 2014-12-22 2017-05-30 Amazon Technologies, Inc. Image-based item location identification
GB2533572A (en) 2014-12-22 2016-06-29 Nokia Technologies Oy Haptic output methods and devices
US9851805B2 (en) 2014-12-24 2017-12-26 Immersion Corporation Systems and methods for haptically-enabled holders
US9466188B2 (en) 2014-12-24 2016-10-11 Immersion Corporation Systems and methods for haptically-enabled alarms
DE102015200036A1 (de) * 2015-01-05 2016-07-07 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung in einem Kraftfahrzeug zur Eingabe von Daten mit zwei Eingabearten und haptischer Rückkopplung
US9794402B2 (en) 2015-01-12 2017-10-17 Apple Inc. Updating device behavior based on user behavior
US9619034B2 (en) * 2015-02-25 2017-04-11 Immersion Corporation Overlaying of haptic effects
US9600094B2 (en) * 2015-03-04 2017-03-21 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for directing motion of a writing device
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9542037B2 (en) * 2015-03-08 2017-01-10 Apple Inc. Device, method, and user interface for processing intensity of touch contacts
US9788138B2 (en) 2015-04-03 2017-10-10 Snaptrack, Inc. Methods and systems of allocating application functions to motion-correlated devices
US10466861B2 (en) 2015-04-21 2019-11-05 Apple Inc. Adaptive user interfaces
WO2016171848A1 (en) 2015-04-23 2016-10-27 Thomson Licensing Vibration signatures for intelligent alerts
KR102307303B1 (ko) 2015-05-20 2021-09-30 엘지전자 주식회사 이동단말기 및 그 제어방법
US9844984B2 (en) 2015-05-22 2017-12-19 General Motors Llc Vehicle tire gauge systems
KR102423184B1 (ko) 2015-05-29 2022-07-21 삼성전자주식회사 화면 출력 방법 및 이를 지원하는 전자 장치
US20160357354A1 (en) 2015-06-04 2016-12-08 Apple Inc. Condition-based activation of a user interface
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9658704B2 (en) 2015-06-10 2017-05-23 Apple Inc. Devices and methods for manipulating user interfaces with a stylus
US10055048B2 (en) 2015-07-31 2018-08-21 Apple Inc. Noise adaptive force touch
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10034129B1 (en) 2015-08-24 2018-07-24 Groupon, Inc. Mobile proximity based messages
US9928029B2 (en) 2015-09-08 2018-03-27 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
UA118951U (uk) 2015-09-17 2017-09-11 Микола Сергійович Лещенко Спосіб представлення контенту користувачу
KR20180044877A (ko) 2015-09-22 2018-05-03 임머숀 코퍼레이션 압력-기반 햅틱들
KR101708319B1 (ko) 2015-10-12 2017-02-20 엘지전자 주식회사 와치 타입 단말기
US20170185729A1 (en) 2015-11-18 2017-06-29 Srinidhi Boray Methods and systems of a hyperbolic-dirac-net-based bioingine platform and ensemble of applications
KR102521214B1 (ko) 2016-01-19 2023-04-13 삼성전자주식회사 사용자 인터페이스를 표시하는 방법 및 이를 지원하는 전자 장치
DK201670737A1 (en) 2016-06-12 2018-01-22 Apple Inc Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback
DK179823B1 (en) 2016-06-12 2019-07-12 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK
DK201670720A1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs
DK179278B1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, methods and graphical user interfaces for haptic mixing
US11036387B2 (en) 2017-05-16 2021-06-15 Apple Inc. Devices, methods, and graphical user interfaces for navigating between user interfaces and interacting with control objects
DK201770372A1 (en) 2017-05-16 2019-01-08 Apple Inc. TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES
US10365719B2 (en) 2017-07-26 2019-07-30 Google Llc Haptic feedback of user interface scrolling with synchronized visual animation components
US10712824B2 (en) 2018-09-11 2020-07-14 Apple Inc. Content-based tactile outputs
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186152A1 (en) * 2007-02-02 2008-08-07 Electronics & Telecommunications Research Institute Haptic experience service method and system
US20160062467A1 (en) * 2010-12-28 2016-03-03 Microsoft Technology Licensing, Llc Touch screen control
CN102651920A (zh) * 2011-02-24 2012-08-29 腾讯科技(深圳)有限公司 基于移动通信终端的操作提示方法及移动通信终端
CN103503428A (zh) * 2011-03-11 2014-01-08 诺基亚公司 在不同事件提供不同报警
US20120319938A1 (en) * 2011-06-20 2012-12-20 Immersion Corporation Haptic theme framework
CN104508618A (zh) * 2012-05-09 2015-04-08 苹果公司 用于针对在用户界面中执行的操作提供触觉反馈的设备、方法和图形用户界面
CN104685444A (zh) * 2012-09-25 2015-06-03 诺基亚技术有限公司 具有触觉反馈的方法和显示设备
US20140201066A1 (en) * 2013-01-14 2014-07-17 Xerox Corporation System and method for enabling transactions on an associated network
CN104375633A (zh) * 2013-08-12 2015-02-25 意美森公司 用于触觉摆弄的系统和方法
CN105095705A (zh) * 2015-05-19 2015-11-25 努比亚技术有限公司 一种信息处理方法及装置

Also Published As

Publication number Publication date
EP3291057B1 (en) 2020-05-06
CN107797655A (zh) 2018-03-13
US9678571B1 (en) 2017-06-13
EP3291056B1 (en) 2020-05-06
EP4047455B1 (en) 2024-03-13
US20200241644A1 (en) 2020-07-30
US10620708B2 (en) 2020-04-14
AU2017213578B1 (en) 2017-09-07
EP3293612B1 (en) 2022-04-27
AU2017216453B1 (en) 2017-09-07
EP4328733A2 (en) 2024-02-28
US11662824B2 (en) 2023-05-30
AU2019202429A1 (en) 2019-05-02
CN107797657B (zh) 2019-08-27
US20190332179A1 (en) 2019-10-31
AU2022205027A1 (en) 2022-07-28
EP4047455A1 (en) 2022-08-24
AU2020294270B2 (en) 2022-07-21
CN107797657A (zh) 2018-03-13
AU2022205027B2 (en) 2024-01-18
EP3293612A1 (en) 2018-03-14
CN110764617B (zh) 2021-11-02
CN107870690B (zh) 2019-09-03
CN107870690A (zh) 2018-04-03
DK201670720A1 (en) 2018-03-26
US9690383B1 (en) 2017-06-27
EP3291056A1 (en) 2018-03-07
CN110794967B (zh) 2022-03-11
US9753541B1 (en) 2017-09-05
AU2020294270A1 (en) 2021-01-28
US10372221B2 (en) 2019-08-06
CN110794967A (zh) 2020-02-14
US20220244782A1 (en) 2022-08-04
AU2017261484A1 (en) 2017-11-30
AU2017261484B2 (en) 2019-05-16
CN107797655B (zh) 2019-11-01
EP4328733A3 (en) 2024-04-24
US20190138103A1 (en) 2019-05-09
AU2017216471B1 (en) 2017-09-07
US20180067557A1 (en) 2018-03-08
US10175762B2 (en) 2019-01-08
US10901514B2 (en) 2021-01-26
US20210117005A1 (en) 2021-04-22
US11221679B2 (en) 2022-01-11
EP3291057A1 (en) 2018-03-07
AU2019202429B2 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
CN110764617B (zh) 用于生成触觉输出的设备、方法和图形用户界面
CN108897420B (zh) 用于响应于手势在显示状态之间过渡的设备、方法和图形用户界面
CN110622112A (zh) 用于提供home按钮替换的设备、方法和图形用户界面
CN110825165A (zh) 用于在与强度敏感按钮交互期间提供反馈的方法和设备
EP3518079B1 (en) Devices, methods, and graphical user interfaces for providing feedback during interaction with an intensity-sensitive button
WO2018048547A1 (en) Devices, methods, and graphical user interfaces for generating tactile outputs
DK179802B1 (en) Devices, methods and graphical user interfaces for generating tactile outputs

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