用于处理触摸接触的强度的设备、方法和用户界面与流程

文档序号:11333597阅读:430来源:国知局
用于处理触摸接触的强度的设备、方法和用户界面与流程

本发明整体涉及具有触敏表面的电子设备,包括但不限于具有触敏表面和用于检测触敏表面上的接触的强度的传感器的电子设备。



背景技术:

触敏表面作为计算机和其他电子计算设备的输入设备的使用在近年来显著增长。示例性触敏表面包括触摸板和触摸屏显示器。此类表面广泛地用于操纵显示器上的用户界面对象。

除了触摸板和触摸屏显示器上存在或不存在接触(或触摸)之外,还可使用接触的强度来操控显示器上的用户界面对象。

然而,处理接触的强度可能会麻烦而且效率低下。例如,处理接触的强度需要复杂的指令,这可能导致计算负荷增大、软件应用程序大小增大、以及功耗增大。这些给在电子设备中使用接触的强度带来显著的负担。



技术实现要素:

因此,电子设备需要具有更快、更有效的方法和界面,以用于处理触摸输入。此类方法和界面任选地补充或替换用于处理触摸输入的常规方法。此类方法和界面减少了来自用户的输入的数量、程度和/或属性,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省功率并且增加电池两次充电之间的时间间隔。

借助所公开的设备可减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本电脑、平板电脑、或手持设备)。在一些实施方案中,该设备是个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,该设备具有触摸板。在一些实施方案中,该设备具有触敏显示器(也被称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,该设备具有图形用户界面(gui)、一个或多个处理器、存储器、和一个或多个模块、被存储在存储器中的用于执行多个功能的程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与gui进行交互。在一些实施方案中,这些功能任选地包括图像编辑、绘图、呈现、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息、健身支持、数字摄影、数字视频记录、web浏览、数字音乐播放、笔记记录、和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。

根据一些实施方案,在具有触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备上执行方法。该方法包括:在触敏表面上检测触摸输入;响应于在触敏表面上检测到触摸输入,确定触敏表面上的触摸输入的强度;以及根据触敏表面上的触摸输入的强度以及一个或多个预选强度阈值,确定触摸输入的强度级。从多个预定义强度级选择触摸输入的强度级。该方法还包括基于触摸输入的强度级来处理触摸输入。

根据一些实施方案,在具有触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备上执行方法。该电子设备存储第一软件应用程序。该方法包括:在触敏表面上检测第一触摸输入;响应于在触敏表面上检测到第一触摸输入,确定由第一触摸输入在触敏表面上施加的第一强度;从多个预定义强度模型标识符识别第一强度模型标识符;根据由第一触摸输入在触敏表面上施加的第一强度和与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数;以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息。该第一触摸信息包括第一强度模型标识符和第一触摸表征参数。

根据一些实施方案,在具有触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备上执行方法。该电子设备存储第一软件应用程序。该方法包括:在触敏表面的第一触摸区域上检测第一触摸输入;从多个预定义强度模型标识符识别与触敏表面的第一触摸区域相关联的第一强度模型标识符;响应于在触敏表面的第一触摸区域上检测到第一触摸输入:确定由第一触摸输入在触敏表面的第一触摸区域上施加的第一强度;根据由第一触摸输入在触敏表面上施加的第一强度和与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数;以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息。第一触摸信息包括第一触摸表征参数。该方法还包括在触敏表面的第二触摸区域上检测第二触摸输入。该触敏表面的第二触摸区域不同于触敏表面的第一触摸区域。该方法还包括:从多个预定义强度模型标识符识别与触敏表面的第二触摸区域相关联的第二强度模型标识符;以及响应于在触敏表面的第二触摸区域上检测到第二触摸输入:确定由第二触摸输入在触敏表面的第二触摸区域上施加的第二强度;根据由第二触摸输入在触敏表面上施加的第二强度和与第二强度模型标识符相关联的一个或多个阈值,确定第二触摸表征参数;以及在确定第二触摸表征参数之后,向第一软件应用程序发送第二触摸信息。该第二触摸信息包括第二触摸表征参数。

根据一些实施方案,在具有触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备上执行方法。该方法包括:在触敏表面上检测触摸输入;并且响应于检测到触摸输入:根据确定触摸输入位于触敏表面上的与多个不同强度模型中的第一强度模型相关联的位置处,根据由触摸输入在触敏表面上施加的强度以及第一强度模型来处理触摸输入;以及根据确定触摸输入位于触敏表面上的与不同于第一强度模型的第二强度模型相关联的位置处,根据由触摸输入在触敏表面上施加的强度以及第二强度模型来处理触摸输入。

根据一些实施方案,在具有显示器、触敏表面、和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备上执行方法。该电子设备存储第一软件应用程序。该方法包括:显示包括两个或更多个显示区域(包括第一显示区域和第二显示区域)的用户界面;以及在显示用户界面时:检测由触摸输入在触敏表面上的与第一显示区域对应的第一位置处施加的第一强度;检测触摸输入跨触敏表面从触敏表面上的第一位置到触敏表面上的与第二显示区域对应的第二位置的移动;在检测触摸输入从触敏表面上的第一位置到触敏表面上的第二位置的移动之后,检测由触摸输入在触敏表面上的第二位置处施加的第二强度;以及响应于检测到由触摸输入在触敏表面上的第二位置处施加的第二强度:根据确定第一强度不满足第一强度阈值,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度;以及根据确定第一强度满足第一强度阈值,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度。

根据一些实施方案,在与多个输入设备进行通信的电子设备处执行一种方法,该多个输入设备包括被配置为响应于输入来生成触觉输出的第一输入设、以及被配置为生成触觉输出的第二输入设备。该方法包括接收对由多个输入设备中的相应输入设备检测到的输入的指示,以及响应于接收到对输入的指示,向在设备上运行的应用程序提供用于描述该输入的信息,使得该应用程序能够对输入作出反应。该方法还包括接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应,以及响应于接收到对来自应用程序的输入的反应,使得生成相应触觉输出。根据确定该反应由第一输入设备触发,基于对来自应用程序的输入的反应而在第一输入设备处生成相应触觉输出,以及根据确定该反应由第二输入设备触发,基于对来自应用程序的输入的反应而在第二输入设备处生成相应触觉输出。

根据一些实施方案,一种电子设备包括显示器、被配置为响应于输入来生成触觉输出的第一输入设备、被配置为生成触觉输出的第二输入设备、一个或多个处理器、存储器、以及一个或多个程序,其中该一个或多个程序被存储在存储器中并被配置为由该一个或多个处理器执行。一个或多个程序包括指令,该指令用于接收对由多个输入单元中的相应输入单元检测到的输入的指示,以及响应于接收到对输入的指示,向在设备上运行的应用程序提供用于描述该输入的信息,使得该应用程序能够对输入作出反应。一个或多个程序还包括用于接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应,以及响应于接收到对来自应用程序的输入的反应使得生成相应触觉输出的指令。根据确定该反应由第一输入设备触发,基于对来自应用程序的输入的反应而在第一输入设备处生成相应触觉输出,以及根据确定该反应由第二输入设备触发,基于对来自应用程序的输入的反应而在第二输入设备处生成相应触觉输出。

根据一些实施方案,一种非暂态计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当由具有显示器、被配置为响应于输入来生成触觉输出的第一输入设备、以及被配置为生成触觉输出的第二输入设备的电子设备执行时使得设备执行前述方法或本文所述的其他方法中的任一方法。

根据一些实施方案,在与被配置为响应于输入来生成触觉输出的一个或多个输入设备进行通信的电子设备处执行一种方法。该方法包括接收对由一个或多个输入设备中的相应输入设备检测到的输入的指示,以及响应于接收到对输入的指示,向在设备上运行的应用程序提供用于描述该输入的信息,使得该应用程序能够对输入作出反应。该方法还包括接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应。响应于接收到对来自应用程序的输入的反应,该电子设备执行一组操作,将针对反应的输入时间与针对反应的输出时间进行比较。相对于该比较,针对反应的输入时间对应于相应输入设备检测到输入的时间,并且针对反应的输出时间对应于与反应对应的触觉输出被配置为在相应输入设备处生成的时间。响应于接收到对来自应用程序的输入的反应而执行的该组操作还包括确定是否已满足触觉输出标准,其中该触觉输出标准包括在输入时间少于输出时间之前的预先确定量的时间时满足的标准,并根据确定已满足触觉输出标准,使得在相应输入设备处生成与来自应用程序的反应对应的触觉输出。另一方面,响应于接收到对来自应用程序的输入的反应而执行的该组操作包括:根据确定尚未满足触觉输出标准,放弃在相应输入设备处生成与来自应用程序的反应对应的触觉输出。

根据一些实施方案,一种电子设备包括显示器、被配置为响应于输入来生成触觉输出的一个或多个输入设备、一个或多个处理器、存储器、以及一个或多个程序,其中一个或多个程序被存储在存储器中并被配置为由该一个或多个处理器执行。一个或多个程序包括用于接收对由一个或多个输入设备中的相应输入设备检测到的输入的指示,以及响应于接收到对输入的指示而向在设备上运行的应用程序提供用于描述该输入的信息使得该应用程序能够对输入作出反应的指令。一个或多个程序还包括用于接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应,以及响应于接收到对来自应用程序的输入的反应而执行包括将针对反应的输入时间与针对反应的输出时间进行比较的一组操作的指令。相对于该比较,针对反应的输入时间对应于相应输入设备检测到输入的时间,并且针对反应的输出时间对应于与反应对应的触觉输出被配置为在相应输入设备处生成的时间。响应于接收到对来自应用程序的输入的反应而执行的该组操作还包括确定是否已满足触觉输出标准,其中该触觉输出标准包括在输入时间少于输出时间之前的预先确定量的时间时满足的标准,并根据确定已满足触觉输出标准,使得在相应输入设备处生成与来自应用程序的反应对应的触觉输出。另一方面,响应于接收到对来自应用程序的输入的反应而执行的该组操作包括:根据确定尚未满足触觉输出标准,放弃在相应输入设备处生成与来自应用程序的反应对应的触觉输出。

根据一些实施方案,一种非暂态计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当由具有显示器、被配置为响应于输入来生成触觉输出的一个或多个输入设备的电子设备执行时使得该设备执行前述方法或本文所述的其他方法中的任一方法。

根据一些实施方案,一种电子设备包括接收接触的触敏表面单元;利用触敏表面单元来检测接触的强度的一个或多个传感器单元;以及与触敏表面单元和一个或多个传感器单元耦接的处理单元。该处理单元被配置为:在触敏表面单元上检测触摸输入;响应于在触敏表面单元上检测到触摸输入,确定触敏表面单元上的触摸输入的强度;以及根据触敏表面单元上的触摸输入的强度以及一个或多个预选的强度阈值,确定触摸输入的强度级,其中触摸输入的强度级是从多个预定义强度级选择的;并基于触摸输入的强度级来处理触摸输入。

根据一些实施方案,一种电子设备包括:接收接触的触敏表面单元;利用触敏表面单元来检测接触的强度的一个或多个传感器单元;以及与触敏表面单元和一个或多个传感器单元耦接的处理单元。该处理单元被配置为:在触敏表面单元上检测第一触摸输入;响应于在触敏表面单元上检测到第一触摸输入,确定由第一触摸输入在触敏表面单元上施加的第一强度;从多个预定义强度模型标识符识别第一强度模型标识符;根据由第一触摸输入在触敏表面单元上施加的第一强度和与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数;以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息,其中该第一触摸信息包括第一强度模型标识符和第一触摸表征参数。

根据一些实施方案,一种电子设备包括:被配置为显示触敏表面单元以接收接触的显示单元;利用触敏表面单元来检测接触的强度的一个或多个传感器单元;以及与触敏表面单元和一个或多个传感器单元耦接的处理单元。该处理单元被配置为:在触敏表面单元的第一触摸区域上检测第一触摸输入;从多个预定义强度模型标识符识别与触敏表面单元的第一触摸区域相关联的第一强度模型标识符;以及响应于在触敏表面单元的第一触摸区域上检测到第一触摸输入:确定触敏表面单元的第一触摸区域上的第一触摸输入的第一强度;根据由第一触摸输入在触敏表面单元上施加的第一强度和与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数;以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息,其中第一触摸信息包括第一触摸表征参数。该处理单元还被配置为:在触敏表面单元的第二触摸区域上检测第二触摸输入,其中触敏表面单元的第二触摸区域不同于触敏表面单元的第一触摸区域;从多个预定义强度模型标识符识别与触敏表面单元的第二触摸区域相关联的第二强度模型标识符;并且响应于在触敏表面单元的第二触摸区域上检测到第二触摸输入:确定由第二触摸输入在触敏表面单元的第二触摸区域上施加的第二强度;根据由第二触摸输入在触敏表面单元上施加的第二强度和与第二强度模型标识符相关联的一个或多个阈值,确定第二触摸表征参数;以及在确定第二触摸表征参数之后,向第一软件应用程序发送第二触摸信息,其中第二触摸信息包括第二触摸表征参数。

根据一些实施方案,一种电子设备包括接收接触的触敏表面单元;利用触敏表面单元来检测接触的强度的一个或多个传感器单元;以及与触敏表面单元和一个或多个传感器单元耦接的处理单元。该处理单元被配置为:触敏表面单元上检测触摸输入;并且响应于检测到触摸输入:根据确定触摸输入位于触敏表面单元上的与多个不同强度模型中的第一强度模型相关联的位置处,根据由触摸输入在触敏表面单元上施加的强度以及第一强度模型来处理触摸输入;以及根据确定触摸输入位于触敏表面单元上的与不同于第一强度模型的第二强度模型相关联的位置处,根据由触摸输入在触敏表面单元上施加的强度以及第二强度模型来处理触摸输入。

根据一些实施方案,一种电子设备包括:被配置为显示用户界面的显示单元;接收接触的触敏表面单元;利用触敏表面单元来检测接触的强度的一个或多个传感器单元;以及与显示单元、触敏表面单元和一个或多个传感器单元耦接的处理单元。该处理单元被配置为:在显示单元上启用对包括两个或更多个显示区域(包括第一显示区域和第二显示区域)的用户界面的显示;以及在显示用户界面时:检测由触摸输入在触敏表面单元上的与第一显示区域对应的第一位置处施加的第一强度;检测触摸输入跨触敏表面单元从触敏表面单元上的第一位置到触敏表面单元上的与第二显示区域对应的第二位置的移动;在检测触摸输入从触敏表面上的第一位置到触敏表面上的第二位置的移动之后,检测由触摸输入在触敏表面单元上的第二位置处施加的第二强度;以及响应于检测到由触摸输入在触敏表面单元上的第二位置处施加的第二强度:根据确定第一强度不满足第一强度阈值,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度;以及根据确定第一强度满足第一强度阈值,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度。

根据一些实施方案,一种电子设备包括:被配置为显示用户界面的显示单元;以及多个输入单元,该多个输入单元包括被配置为响应于输入来生成触觉输出的第一输入单元,以及被配置为生成触觉输出的第二输入单元。该电子设备还包括:被配置为接收对由多个输入单元中的相应输入单元检测到的输入的指示的输入指示接收单元;以及信息提供单元,该信息提供单元被配置为响应于接收到对输入的指示而向运行于电子设备上的应用程序提供用于描述输入的信息,使得应用程序能够对输入作出反应。该电子设备还包括:被配置为接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应的反应接收单元;以及被配置为响应于接收到对来自应用程序的输入的反应而使得生成相应触觉输出的致使单元。根据确定该反应由第一输入单元触发,基于对来自该应用程序的输入的反应来在第一输入单元处生成相应触觉输出;并根据确定该反应由第二输入单元触发,基于对来自该应用程序的输入的反应来在第二输入单元处生成相应触觉输出。

根据一些实施方案,一种电子设备包括:被配置为显示用户界面分级结构的显示单元;以及被配置为响应于输入来生成触觉输出的一个或多个输入单元。该电子设备还包括:被配置为接收对由一个或多个输入单元中的相应输入单元检测到的输入的指示的输入指示接收单元;以及被配置为响应于接收到对输入的指示而向在电子设备上运行的应用程序提供用于描述该输入的信息使得该应用程序能够对输入作出反应的信息提供单元。该电子设备还包括:被配置为接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应的反应接收单元;以及被配置为响应于接收到对来自应用程序的输入的反应而使得执行包括将针对反应的输入时间与针对反应的输出时间进行比较的一组操作的致使单元。相对于该比较,针对反应的输入时间对应于相应输入设备检测到输入的时间,并且针对反应的输出时间对应于与反应对应的触觉输出被配置为在相应输入设备处生成的时间。响应于接收到对来自应用程序的输入的反应而执行的该组操作还包括确定是否已满足触觉输出标准,其中该触觉输出标准包括在输入时间少于输出时间之前的预先确定量的时间时满足的标准,并根据确定已满足触觉输出标准,使得在相应输入设备处生成与来自应用程序的反应对应的触觉输出。另一方面,响应于接收到对来自应用程序的输入的反应而执行的该组操作包括:根据确定尚未满足触觉输出标准,放弃在相应输入设备处生成与来自应用程序的反应对应的触觉输出。

根据一些实施方案,电子设备包括触敏表面、用于检测与触敏表面的接触的强度的一个或多个传感器、任选的显示器、一个或多个处理器、以及存储器。该存储器存储被配置为由一个或多个处理器执行的一个或多个程序。该一个或多个程序包括用于执行或使得执行本文所述的方法中的任一方法的操作的指令。根据一些实施方案,计算机可读存储介质在其中存储有指令,该指令当由具有触敏表面、以及用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备执行时使得该设备执行或使得执行本文所述的方法中的任一方法的操作。根据一些实施方案,具有显示器、触敏表面、用于检测与触敏表面的接触的强度的一个或多个传感器、存储器、以及执行被存储在存储器中的一个或多个程序的一个或多个处理器的电子设备上的图形用户界面包括在本文所述的方法中的任何一方法中所显示的元素中的一个或多个元素,该一个或多个元素响应于输入而被更新,如本文所述的方法中的任一方法所描述的。根据一些实施方案,一种电子设备包括:触敏表面、检测与触敏表面的接触的强度的一个或多个传感器、任选的显示器,以及用于执行或使得执行本文所述的方法中的任一方法的操作的装置。根据一些实施方案,在具有触敏表面、用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的显示器的电子设备中使用的信息处理设备包括用于执行或使得执行本文所述的方法中的任一方法的操作的装置。

根据一些实施方案,上述输入设备中的至少一个输入设备具有触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器。此外,在一些实施方案中,前述方法中的任一方法包括在显示器上显示电子设备的用户界面,以及在输入设备中的一个输入设备的触敏表面上检测输入(或输入的序列)。任选地,前述方法中的任一方法包括检测在触敏表面上连续检测到的相应接触的特征的变化。

因此,为具有显示器、被配置为响应于输入来生成触觉输出的一个或多个输入设备(例如,包括具有触敏表面的一个或多个输入设备,以及检测与触敏表面的接触的强度的一个或多个传感器)的电子设备提供了更快速、更有效的方法和界面,以用于根据所选择的操作模式来执行操作,由此提高了有效性、效率以及用户对此类设备的满意度。此类方法和界面可补充或替换用于执行根据所选择的操作模式的操作的常规方法。

附图说明

为了更好地理解本发明的各种所描述的实施方案,应该结合以下附图参考下面的具体实施方式,在附图中,类似的附图标号在所有附图中指示对应的部分。

图1a是示出了根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。

图1b是示出了根据一些实施方案的用于事件处理的示例性部件的框图。

图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。

图3a是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。

图3b是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。

图3c是根据一些实施方案的具有触敏表面的示例性多功能设备的透视图。

图3d是根据一些实施方案的结合与多功能设备分开的触敏表面的输入设备的透视图。

图3e是根据一些实施方案的包括触控板的示例性多功能设备的框图。

图3f是示出了根据一些实施方案的示例性多功能设备的架构的简化框图。

图3g是示出了根据一些实施方案的由示例性多功能设备使用的数据结构的框图。

图4a示出了根据一些实施方案的便携式多功能设备上的应用程序的菜单的示例性用户界面。

图4b示出了根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。

图4c-图4e示出了根据一些实施方案的示例性动态强度阈值。

图5a-图5tt示出了根据一些实施方案的用于处理触摸输入的示例性用户界面。

图6a-图6c是示出了根据一些实施方案的基于触摸输入的强度级来处理触摸输入的方法的流程图。

图6d是示出了根据一些实施方案的处理包括触摸输入的强度级的触摸信息的方法的流程图。

图7a-图7c是示出了根据一些实施方案的基于强度模型标识符来处理触摸输入的方法的流程图。

图7d是示出了根据一些实施方案的基于强度模型标识符来处理触摸信息的方法的流程图。

图8a-图8c是示出了根据一些实施方案的基于不同的强度模型来处理不同区域中的触摸输入的方法的流程图。

图9a-图9d是示出了根据一些实施方案的基于位置相关的强度模型来处理触摸输入的方法的流程图。

图10a-图10d是示出了根据一些实施方案的基于触摸输入的锁定来处理触摸输入的方法的流程图。

图11a-图11c是示出了根据一些实施方案的将触觉输出路由到多个输入设备中的一个输入设备的方法的流程图。

图12a-图12c是示出了根据一些实施方案的在相应输入设备处有条件地取消或放弃生成触觉输出的方法的流程图。

图13-图19是根据一些实施方案的电子设备的功能框图。

图20a示出了根据一些实施方案的用于示例性手势的级区域。

图20b-图20e示出了根据一些实施方案的示例性强度模型。

具体实施方式

很多电子设备具有用户界面,在用户界面中,响应于使用一个或多个输入设备而执行的手势而任选地执行多个操作。在很多上下文中,除了在显示器上为用户提供视觉反馈之外,为了使用户知道电子设备对那些手势怎样作出响应,有利的是提供触觉输出或触觉反馈。例如,此类触觉反馈可通知用户手势何时满足用于执行特定操作的标准和/或可通知用户手势何时违反预定义的标准(例如,用于执行特定操作,或更一般地,用于使用特定应用程序或操控用户界面)。下述实施方案改善了用于响应于由相应输入设备检测到的所接收的输入而提供触觉反馈的方法。例如,下述一些实施方案具有与对描述输入的信息作出响应的应用程序分开的一个或多个部件,以用于处理输入并将输入路由到应用程序,以用于接收对来自该应用程序的输入的用于指示要响应于该输入来生成触觉输出的反应,并以用于随后确定如何实施或以其他方式处理从该应用程序所接收的反应。

根据一些实施方案,响应于检测到触摸输入,该电子设备基于触摸输入的强度级来处理触摸输入。更具体地,该设备(例如,在接触强度模块处)确定触摸输入的强度级,使得与接触强度模块分开的软件应用程序不需要自己确定触摸输入的强度级。

根据一些实施方案,响应于检测到触摸输入,该电子设备(例如,在接触强度模块处)确定针对该触摸输入的触摸表征参数,并向与接触强度模块分开的软件应用程序发送该触摸表征参数,使得该软件应用程序不需要直接处理针对触摸输入的原始数据。更具体地,该电子设备使用强度模型来确定触摸表征参数。

根据强度模型被映射到触敏表面不同区域的一些实施方案,响应于触摸输入,该电子设备使用与触摸输入的位置对应的强度模型来确定触摸表征参数。更具体地,针对不同的区域来使用不同的强度模型。

根据一些实施方案,响应于检测到触摸输入的移动,该电子设备确定该触摸输入是否被锁定到用户界面的特定区域。如果触摸输入被锁定,则该电子设备基于与锁定区域相关联的强度模型来处理该触摸输入。如果触摸输入未被锁定,则该电子设备基于与触摸输入(或光标)的当前位置相关联的强度模型来处理该触摸输入。

根据电子设备与多个输入设备(包括被配置为响应于输入来生成触觉输出的第一输入设备,以及被配置为生成触觉输出的第二输入设备)进行通信的一些实施方案,响应于接收到对来自应用程序的输入的反应,该设备使得在与触发反应的输入所接收自的输入设备相同的输入设备处生成相应触觉输出。根据确定该反应由第一输入设备触发,基于对来自应用程序的输入的反应而在第一输入设备处生成相应触觉输出,以及根据确定该反应由第二输入设备触发,基于对来自应用程序的输入的反应而在第二输入设备处生成相应触觉输出。

根据该电子设备与一个或多个输入设备进行通信的一些实施方案,该输入设备被配置为响应于输入来生成触觉输出,响应于接收到对来自应用程序的输入的反应,该设备执行一组操作。该组操作包括根据确定尚未满足触觉输出标准,有条件地取消或放弃生成与来自该应用程序的反应对应的触觉输出。该触觉输出标准包括在输入时间少于输出时间之前的预先确定量的时间时满足的标准。

下面,图1a-图1b、图2和图3a-图3g示出了示例性设备。图4a-图4b和图5a-图5tt示出了用于处理触摸输入的示例性用户界面。图6a-图6c示出了根据一些实施方案的基于触摸输入的强度级来处理触摸输入的方法的流程图。图6d是示出了根据一些实施方案的处理包括触摸输入的强度级的触摸信息的方法的流程图。图7a-7c示出了根据一些实施方案的基于强度模型标识符来处理触摸输入的方法的流程图。图7d是示出了根据一些实施方案的基于强度模型标识符来处理触摸信息的方法的流程图。图8a-图8c示出了根据一些实施方案的基于不同的强度模型来处理不同区域中的触摸输入的方法的流程图。图9a-图9d示出了根据一些实施方案的基于与触摸输入的位置相关联的强度模型来处理触摸输入的方法的流程图。图10a-图10d示出了根据一些实施方案的基于触摸输入是否被锁定到特定区域来处理触摸输入的方法的流程图。图11a-图11c是示出了根据一些实施方案的将触觉输出路由到多个输入设备中的一个输入设备的方法的流程图。图12a-图12c是示出了根据一些实施方案的在相应输入设备处有条件地取消或放弃生成触觉输出的方法的流程图。图5a-图5tt中的用户界面被用于例示图6a-图6d、图7a-图7d、图8a-图8c、图9a-图9d、图10a-图10d、图11a-图11c和图12a-图12c中的过程。

示例性设备

现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的彻底理解。然而,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述熟知的方法、过程、部件、电路和网络,从而不会不必要地模糊实施方案的各个方面。

还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元素,但是这些元素不应受到这些术语限制。这些术语只是用于将一个元素与另一元素区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。

在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或其分组。

如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。

本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备是还包含其他功能诸如pda和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自appleinc.(cupertino,california)的设备、ipod设备、和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在下面的论述中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户界面设备,诸如物理键盘、鼠标、和/或操纵杆。

该设备通常支持各种应用程序,诸如以下应用程序中的一个或多个应用程序:笔记记录应用程序、绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。

在设备上执行的各种应用程序任选地使用至少一个共用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地从一种应用程序调整和/或变化至下一种应用程序,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。

现在关注具有触敏显示器的便携式设备的实施方案。图1a是示出了根据一些实施方案的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(cpu)120、外围设备接口118、rf电路108、音频电路110、扬声器111、麦克风113、输入/输出(i/o)子系统106、其他输入或控制设备116、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100(例如,触敏表面,诸如设备100的触敏显示器系统112)上的接触的强度的一个或多个强度传感器165。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触摸板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。

如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。

应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1a中所示的各种部件在硬件、软件、固件或它们的任何组合中实施,包括一个或多个信号处理电路和/或专用集成电路。

存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如cpu120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。

外围设备接口118可被用于将设备的输入外围设备和输出外围设备耦接到cpu120和存储器102。一个或多个处理器120运行或执行被存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能并处理数据。

在一些实施方案中,外围设备接口118、cpu120和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他实施方案中,它们任选地被实施在分开的芯片上。

rf(射频)电路108接收和发送也被叫做电磁信号的rf信号。rf电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。rf电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(sim)卡、存储器等等。rf电路108任选地通过无线通信来与网络以及其他设备进行通信,该网络为诸如互联网(也被称为万维网(www))、内联网、和/或无线网络(诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man))。该无线通信任选地使用多种通信标准、协议和技术中的任一者,包括但不限于全球移动通信系统(gsm)、增强型数据gsm环境(edge)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)、演进纯数据(ev-do)、hspa、hspa+、双单元hspa(dc-hspda)、长期演进(lte)、近场通信(nfc)、宽带码分多址(w-cdma)、码分多址(cdma)、时分多址(tdma)、蓝牙、无线保真(wi-fi)(例如,ieee802.11a、ieee802.11ac、ieee802.11ax、ieee802.11b、ieee802.11g和/或ieee802.11n)、互联网协议语音(voip)、wi-max、电子邮件协议(例如,互联网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息处理存在协议(xmpp)、用于即时消息和存在利用扩展的会话发起协议(simple)、即时消息和存在服务(imps))和/或短消息服务(sms),或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。

音频电路110、扬声器111和麦克风113提供用户和设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听见的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据,并将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或rf电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。

i/o子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。i/o子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、以及用于其他输入或控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到其他输入或控制设备116。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等等。在一些另选的实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、usb端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的增大/减小按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。

触敏显示器系统112提供设备与用户之间的输入界面和输出界面。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至触敏显示器系统112。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频、和它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部视觉输出对应于用户界面对象。

触敏显示器系统112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器、或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页、或图像)的交互。在一些示例性实施方案中,触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。

触敏显示器系统112任选地使用lcd(液晶显示器)技术、lpd(发光聚合物显示器)技术或led(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示器系统112接触的一个或多个点的其他元素来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的和表面声波技术。在一些示例性实施方案中,使用投射式互电容感测技术,诸如从appleinc.(cupertino,california)的、ipod中发现的技术。

触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏的视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等等来与触敏显示器系统112接触。在一些实施方案中,将用户界面设计为通过基于手指的接触和手势来工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令,以用于执行用户所期望的动作。

在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。

设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(ac))、再充电系统、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(led))、和与便携式设备中电力的生成、管理和分配相关联的任何其他部件。

设备100任选地还包括一个或多个光学传感器164。图1a示出与i/o子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也叫做相机模块),一个或多个光学传感器164任选地捕获静态图像或视频。在一些实施方案中,光学传感器位于设备100的与设备的前部上的触敏显示器系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如用于自拍、用于在用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。

设备100任选地还包括一个或多个接触强度传感器165。图1a示出了与i/o子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触摸屏显示系统112相背对的后部上。

设备100任选地还包括一个或多个接近传感器166。图1a示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与i/o子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。

设备100任选地还包括一个或多个触觉输出发生器167。图1a示出了与i/o子系统106中的触觉反馈控制器161耦接的触觉输出发生器。触觉输出发生器167任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合物、压电致动器、静电致动器或、其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。在一些实施方案中,触觉输出发生器167从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示器系统112相背对的后部上。

设备100任选地还包括一个或多个加速度计168。图1a示出了与外围设备接口118耦接的加速度计168。另选地,加速度计168任选地与i/o子系统106中的输入控制器160耦接。在一些实施方案中,基于对从一个或多个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备100任选地除了加速度计168之外还包括磁力仪(未示出)和gps(或glonass或其他全球导航系统)接收器(未示出),以用于获取关于设备100的位置和取向(例如,纵向或横向)的信息。

在一些实施方案中,被存储在存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(gps)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图1a和图3a-图3b中所示。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和其他输入或控制设备116获得的信息;和关于设备位置和/或姿态的位置和/或定位信息。

操作系统126(例如,ios、darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。

通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由rf电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(usb)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线lan等)进行耦接。在一些实施方案中,外部端口是与appleinc.(cupertino,california)的一些ipod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与appleinc.(cupertino,california)的一些ipod设备中所使用的lightning连接器相同或类似和/或兼容的lightning连接器。

接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如通过手指或通过触笔)接触检测相关的各种操作的各种软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),该接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。

接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。因此,任选地通过检测特定接触图案来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。作为另一个示例,在触敏表面上检测到手指轻扫手势包括检测到手指按下事件,然后检测到一个或多个手指拖动事件,并且随后检测到手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案任选地为触笔检测轻击、轻扫、拖动或其他手势。

图形模块132包括用于在触敏显示器系统112或其他显示器上呈现和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。

在一些实施方案中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收指定待显示的图形的一个或多个代码,在必要的情况下还接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。

触觉反馈模块133包括用于生成指令(例如,由触觉反馈控制器161使用)的各种软件部件,以响应于用户与设备100的交互而使用触觉输出发生器167在设备100上的一个或多个位置处生成触觉输出。

任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、im141、浏览器147、和需要文本输入的任何其他应用程序)中输入文本的软键盘。

gps模块135确定设备的位置,并且提供该信息以在各种应用程序中使用(例如,提供给电话138以用于基于位置的拨号、提供给相机143作为照片/视频元数据、以及提供给提供基于位置的服务诸如天气桌面小程序、本地黄页桌面小程序、和地图/导航桌面小程序的应用程序)。

应用程序136任选地包括以下模块(或指令集)或者其子集或超集:

·联系人模块137(有时称为地址簿或联系人列表);

·电话模块138;

·视频会议模块139;

·电子邮件客户端模块140;

·即时消息(im)模块141;

·健身支持模块142;

·用于静态图像和/或视频图像的相机模块143;

·图像管理模块144;

·浏览器模块147;

·日历模块148;

·桌面小程序模块149,其任选地包括以下中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5和由用户获得的其他桌面小程序,以及用户创建的桌面小程序149-6;

·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;

·搜索模块151;

·视频和音乐播放器模块152,其任选地由视频播放器模块和音乐播放器模块构成;

·记事本模块153;

·地图模块154;和/或

·在线视频模块155。

任选地被存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持java的应用程序、加密、数字权限管理、语音识别和语音复制。

结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,联系人模块137包括用于管理地址簿或联系人列表(例如,被存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中)的可执行指令,包括:将一个或多个姓名添加到地址簿;从地址簿删除一个或多个姓名;使一个或多个电话号码、一个或多个电子邮件地址、一个或多个物理地址或其他信息与姓名相关联;使图像与姓名相关联;对姓名归类和分类;提供电话号码和/或电子邮件地址以发起和/或促进通过电话138、视频会议139、电子邮件140或im141进行通信;等等。

结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电话模块138包括用于以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行对话、以及当对话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一者。

结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、执行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。

结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。

结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于以下操作的可执行指令:输入与即时消息对应的字符序列,修改先前输入的字符,传输相应的即时消息(例如,使用短消息服务(sms)或多媒体消息服务(mms)协议以用于基于电话的即时消息,或者使用xmpp、simple、apple推送通知服务(apns)或imps以用于基于互联网的即时消息),接收即时消息,以及查看所接收的即时消息。在一些实施方案中,所传输和/或所接收的即时消息任选地包括图形、照片、音频文件、视频文件、和/或mms和/或增强消息服务(ems)中所支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例如,使用sms或mms发送的消息)和基于互联网的消息(例如,使用xmpp、simple、apns或imps发送的消息)两者。

结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、gps模块135、地图模块154和音乐播放器模块146,健身支持模块142包括用于以下操作的可执行指令:创建健身(例如具有时间、距离、和/或卡路里燃烧目标);与(运动设备和智能手表中的)健身传感器进行通信;接收健身传感器数据;校准用于监视健身的传感器;选择健身音乐并进行播放;以及显示、存储和传输健身数据。

结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中,修改静态图像或视频的特征,和/或从存储器102删除静态图像或视频。

结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134和相机模块143,图像管理模块144包括用于以下操作的可执行指令:排列、修改(例如,编辑),或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像。

结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收和显示网页或其部分以及链接到网页的附件和其他文件)的可执行指令。

结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。

结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、和词典桌面小程序149-5)、或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,桌面小程序包括html(超文本标记语言)文件、css(层叠样式表)文件、和javascript文件。在一些实施方案中,桌面小程序包括xml(可扩展标记语言)文件、和javascript文件(例如,yahoo!桌面小程序)。

结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。

结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索标准(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频、和/或其他文件的可执行指令。

结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、rf电路108和浏览器模块147,视频和音乐播放器模块152包括用于允许用户下载和回放以一种或多种文件格式诸如mp3或aac文件存储的所录制的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触敏显示器系统112上或在无线地或经由外部端口124连接的外部显示器上)的可执行指令。在一些实施方案中,设备100任选地包括mp3播放器,诸如ipod(appleinc.的商标)的功能。

结合触敏显示器系统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(图3a或图3b)包括事件分类器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中使用的对象。例如,对象更新器176创建新用户界面对象或更新用户界面对象的位置。gui更新器178更新gui。例如,gui更新器178准备显示信息,并且将显示信息发送到图形模块132以用于触敏显示器上的显示。

在一些实施方案中,事件处理程序190包括数据更新器176、对象更新器177、和gui更新器178,或者具有对数据更新器176、对象更新器177、和gui更新器178的访问权限。在一些实施方案中,数据更新器176、对象更新器177和gui更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。

应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地利用鼠标移动和鼠标按钮按压,任选地结合单次或多次键盘按压或保持;触摸板上的接触移动,例如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛运动;生物测定输入;和/或它们的任意组合作为对应于子事件的输入,定义要识别的事件。

图2示出了根据一些实施方案的具有触摸屏(例如,图1a的触敏显示器系统112)的便携式多功能设备100。触摸屏任选地在用户界面(ui)200内显示一个或多个图形。在这些实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中未按比例绘制)或一个或多个触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。

设备100任选地还包括一个或多个物理按钮,诸如“home”按钮或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。另选地,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的gui中的软键。

在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(sim)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预定义的时间间隔来使设备通电/断电;通过按下按钮并在经过预定义的时间间隔之前释放按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。

图3a是根据一些实施方案的具有显示器340和触敏表面355的示例性多功能设备300的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型电脑、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。

设备300通常包括一个或多个处理单元(在本文中也叫做cpu和处理器)310、一个或多个网络或其他通信接口360、存储器370和用于使这些部件互连的一条或多条通信总线320。通信总线320任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时叫做芯片组)。

设备300包括具有显示器340的输入/输出(i/o)接口330,在一些实施方案中该显示器是触摸屏显示器。在一些实施方案中,i/o界面330通过外围设备接口(图3a中未示出)而被耦接到一个或多个处理单元310和/或存储器370。i/o接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触摸板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1a所述的一个或多个触觉输出发生器167)、接触强度传感器359(类似于以上参考图1a所述的一个或多个接触强度传感器165)、和/或其他传感器361(例如,光学传感器、加速度传感器、接近传感器、和/或触敏传感器)。

存储器370包括高速随机存取存储器诸如dram、sram、ddrram或其他随机存取固态存储器设备;并且任选地包括非易失性存储器诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离一个或多个cpu310定位的一个或多个存储设备。

在一些实施方案中,存储器370存储与便携式多功能设备100(图1a)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1a)的存储器102任选地不存储这些模块。

在一些实施方案中,操作系统126包括一个或多个设备模块127(也被称为设备驱动器)。一个或多个设备模块127包括软件部件,该软件部件操作或控制被包括在多功能设备300中的或与多功能设备300进行通信的特定硬件设备(例如,图3a中所示的触摸板355、触觉输出发生器357、强度传感器359、和其他传感器361、和/或图3b中所示的触控板332及其部件)。

图3a中上述的元素中的每个元素任选地被存储在先前提到的存储器设备中的一个或多个存储器设备中。上述模块中的每个模块对应于用于执行上述功能的指令集。上述模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子集。此外,存储器370任选地存储上面未描述的附加模块和数据结构。

图3b是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备300的框图。图3b类似于图3a,除了图3b中的多功能设备300包括通过外部端口124(例如,使用usb端口或任何其他有线通信协议)而被耦接到外围设备接口118的触控板332。作为另外一种选择,触控板332可通过rf电路108(例如,使用蓝牙或任何其他形式的无线通信协议)而被耦接到外围设备接口118。在一些实施方案中,触控板332位于设备300的外壳外部。相比之下,触摸板355通常与设备300的外壳集成。在一些实施方案中,触控板332与设备300的外壳集成。在一些实施方案中,除了触摸板355(和/或一个或多个触觉输出发生器357)之外,设备300还包括触控板332。在一些实施方案中,替代触摸板355(和/或一个或多个触觉输出发生器357),设备300包括触控板332。

触控板332包括触敏表面334。在一些实施方案中,触控板332包括用于检测触敏表面334上的接触的强度的一个或多个强度传感器336。在一些实施方案中,触控板332包括一个或多个触觉输出发生器338。在一些实施方案中,触控板332包括用于处理来自触敏表面334和一个或多个强度传感器336(如果包括的话)的信号并用于控制一个或多个触觉输出发生器338(如果包括的话)的操作的一个或多个处理器342。在一些实施方案中,一个或多个处理器342包括上文相对于图1a所述的强度传感器控制器159和/或触觉反馈控制器161。在一些实施方案中,一个或多个处理器342被配置为检测触敏表面334上的接触(以及接触的任何移动或中断)并将所检测到的接触转换成预定义的用户输入诸如预定义的触摸手势,用户输入被软件应用程序处理,以发起与在触敏显示器系统112上所显示的用户界面对象(例如,一个或多个软键、图标、网页、或图像)的交互。在一些实施方案中,触摸板355还包括触敏表面、以及类似于触控板332的一个或多个处理器342的一个或多个处理器。

触控板332包括通过外围设备接口118来向一个或多个处理单元310传送信息和/或从一个或多个处理单元310和/或外围设备接口118接收指令的通信模块344。

在一些实施方案中,触控板332包括其他传感器346,诸如接近传感器、加速度计等。

图3c是根据一些实施方案的具有触敏表面的示例性多功能设备300的透视图。如图3c中所示,设备300可以是膝上型计算机。设备300包括外壳302、显示器340、触摸板355、鼠标350、一个或多个外部端口124、以及一个或多个输入或控制设备116(例如,通电/断电按钮)。外壳302形成设备300外部的至少一部分。在一些实施方案中,外壳302至少部分地围绕特定部件,诸如设备300的cpu310和存储器370。

在一些实施方案中,图3c中所示的多功能设备包括如图3a中所示的一个或多个触觉输出发生器357。

图3d是根据一些实施方案的结合与多功能设备分开的触敏表面的输入设备332(例如,触控板)的透视图。在一些实施方案中,输入设备332包括触敏表面334以及以下各项中的一者或多者:一个或多个强度传感器336、一个或多个触觉输出发生器338、一个或多个处理器342、通信模块344、和传感器346,如图3b中所示。在一些实施方案中,使用无线或有线通信协议(例如,通过设备300的外部端口124)来将输入设备332耦接到图3c中所示的设备300。

图3e是根据一些实施方案的包括触控板(例如,图3b中的触控板332)的示例性多功能设备的简化框图。

触控板332包括以下各项中的一者或多者:触敏表面334、一个或多个强度传感器336、一个或多个触觉输出发生器338、以及通信模块344,如上文相对于图3e所述。在触控板332包括一个或多个处理器342的实施方案中的一些实施方案中,触控板332包括固件348,该固件包括指令,以供一个或多个处理器342执行以处理来自触敏表面334和/或强度传感器336的信号并操作触觉输出发生器338。在一些实施方案中,一个或多个处理器342处理来自触敏表面334和/或强度传感器336的原始信号并向处理器310传输经处理的信息(例如,接触的坐标和接触的强度等),以用于进一步的处理(例如,根据操作系统126、设备驱动程序127和/或应用程序136),诸如识别触摸手势以及对接触强度进行归一化。在一些实施方案中,经由外围设备接口118来从通信模块344向处理器310发送处理过的信息。在一些实施方案中,由处理器342向处理器310传输经处理的信息,而无需从触敏表面334和/或强度传感器336发送原始信号。在一些实施方案中,一个或多个处理器342进一步处理经处理的信息,以获得映射信息(例如,针对所识别的手势、归一化强度等的信息),并向处理器310发送映射的信息。这减少了处理器310的工作负荷。在一些实施方案中,处理器310是多功能处理单元(例如,cpu、apu等),并且处理器342是专用处理单元(例如,专用集成电路(asic))和/或现场可编程门阵列(fpga),其可比多功能处理单元更有功率效率。

在一些实施方案中,处理器310使用通信模块128,并且然后使用设备驱动程序127来处理通过外围设备接口118所接收的信息。例如,基于触敏表面334所测量的信号的信息被路由到与触敏表面334对应的设备驱动程序,并且基于由一个或多个强度传感器336所测量的信号的信息被路由到与一个或多个强度传感器336对应的设备驱动程序。在一些实施方案中,与触控板332对应的单个设备驱动程序包括用于处理基于触敏表面334所测量的信号的信息以及基于由一个或多个强度传感器336所测量的信号的信息的指令。

在一些实施方案中,处理器310(例如,根据应用程序136)向触控板332发送指令,以使用与触觉输出发生器338对应的设备驱动程序来生成触觉输出。

在一些实施方案中,设备驱动程序127与操作系统126分开,如图3e中所示。在一些实施方案中,设备驱动程序127被包括在操作系统126中。在一些实施方案中,通信模块128与操作系统126分开。在一些实施方案中,通信模块128包括被在操作系统126中。

图3f是示出了根据一些实施方案的示例性多功能设备的架构的简化框图。

设备的硬件(例如,电子电路)352处于架构的基础层级处。硬件352可包括各种硬件接口部件,诸如图1a、图3a和/或图3b中所示的部件。例如,硬件352包括上文相对于图1a、图3a、图3b和图3e所述的触敏表面334、以及一个或多个强度传感器336。该架构的其他元素(348、126、356和136)中的至少一些元素为软件过程或软件过程的一部分,其处理从硬件352所接收的输入并生成各种输出,这些输出通过硬件用户界面(例如,显示器、扬声器、设备振动致动器等中的一者或多者)来呈现。

固件348用于与硬件352进行通信。在一些实施方案中,固件348包括设备驱动程序。固件348用于接收并处理从硬件352接收的输入数据。在一些实施方案中,硬件352和固件348的至少一部分是在触控板332中实现的。

在一些实施方案中,操作系统(“os”)126与固件348进行通信。os126可处理从固件348所接收的原始输入数据或经处理的数据。

应用编程接口(“api”)356是用于和os126(或图3e的设备驱动程序127)进行通信的软件过程。在一些实施方案中,api356被包括在设备的操作系统中,但处于高于其内核os的层级。api356被设计成供运行于本文所述的电子设备或装置上的应用程序136使用。应用程序软件136包括一个或多个应用程序136(图1a、图3a和图3b)。

尽管架构中的每层都可利用其下方的层,但并非总是需要这样。例如,在一些实施方案中,应用程序136可直接与os126进行通信。在一些实施方案中,应用程序136和api356不能直接访问固件348或硬件352,因为这些层被视为私有的。应用程序136通常直接调用api356,api356继而访问os126、固件348和硬件352。

图3g是示出了根据一些实施方案的由示例性多功能设备使用的数据结构的框图。

在图3g中,应用程序136与接触运动模块130进行通信。在一些实施方案中,接触运动模块130在os126中实现。在一些实施方案中,接触运动模块130与os126分开。在一些实施方案中,接触运动模块130在固件348中实现(图3e)。

在一些实施方案中,接触运动模块130包括事件分类器170(图1b)。在一些实施方案中,接触强度模块130包括检测触敏表面上的接触的强度的接触强度模块175。

在一些实施方案中,接触运动模块130存储多个强度模型454。在一些实施方案中,多个强度模型454(例如,两个或更多个强度模型,或者三个或更多强度模型)由接触强度模块175使用。多个强度模型454中的相应强度模型包括以下各项中的一者或多者,或其超集或子集:

·强度模型标识符456,该强度模型标识符识别(通常唯一地识别)强度模型(参见附录a以了解示例性强度模型和对应的强度模型标识符);

·使用信息458-1,该使用信息包括识别被配置用于进行使用的对应强度模型所针对的条件和/或对应强度模型被禁止使用所针对的条件的信息(例如,对于由应用程序身份487所识别的特定应用程序和/或对于用户界面和/或触敏表面的特定区域488),和/或与对应强度模型相关联的一个或多个优先级489;以及

·强度阈值464,其在下文中被更详细地描述。

在一些实施方案中,强度阈值464包括用于一个或多个强度级(例如,466-1,466-2等)的一个或多个强度阈值。例如,强度阈值464包括用于进入相应强度级的激活阈值468-1。在一些实施方案中,强度阈值464包括用于从相应强度级退出的释放阈值468-2。在一些实施方案中,用于相应强度级的释放阈值468-2与用于相应强度级的激活阈值468-1相同。在一些实施方案中,用于相应强度级的释放阈值468-2与用于相应强度级的激活阈值468-1不同。在一些实施方案中,强度阈值464包括一个或多个过渡强度阈值468-3。例如,强度阈值464可包括与激活阈值468-1相关联的过渡强度阈值,其用于指示特定强度的接触处于从激活阈值468-1开始的过渡范围中。除此之外或另选地,强度阈值464可包括与释放阈值468-2相关联的过渡强度阈值,其用于指示特定强度的接触处于从释放阈值468-2开始的过渡范围中。在一些实施方案中,强度阈值464包括触觉输出参数468-2,其指示是否要生成接触的强度与强度阈值中的一个强度阈值交叉的触觉输出,如果要生成触觉输出,生成什么类型的触觉输出(例如,强度、持续时间和触觉输出的波形)。

在一些实施方案中,应用程序136向接触运动模块130(尤其是接触运动模块130的接触强度模块175)发送的信息包括以下各项中的一者或多者或其子集或超集:

·别要由接触强度模块175使用的强度模型的强度模型标识符490;

·识别特定强度模型要用于的区域的跟踪区域492;

·发起由接触运动模块130控制的一个或多个触觉输出发生器来生成触觉输出的触觉输出触发器494;

·识别发送信息的应用程序136的应用程序身份496;以及

·识别将使用所识别的强度模型和/或生成触觉输出的输入设备(例如,触摸板或触控板)的设备标识符498。

在一些实施方案中,由接触运动模块130(尤其是接触运动模块130的接触强度模块175)发送的信息包括以下各项中的一者或多者或其子集或超集:

·指示输入设备(例如,触摸板或触控板)是否被配置为提供强度信息的可用性信息474;

·表征参数476,诸如强度级478和/或一个或多个进度值480(例如,级进度值482和过渡进度值484);

·指示接触强度模块175使用的强度模型(例如,用于确定表征参数476)的强度模型标识符485;

·识别强度信号所接收自的输入设备(例如,以用于确定表征参数476)的设备标识符486;以及

·其他触摸信息(例如,手势类型、接触次数、时间戳等)。

至和/或来自接触运动模块130的这些信息不需要同时传输。例如,在一些实施方案中,由接触强度模块175来与表征参数476分开发送可用性信息474。在另一个示例中,在一些实施方案中,与跟踪区域492分开传输触觉输出触发器494。

在一些实施方案中,通过应用编程接口356(图3f)来传输在应用程序136和接触/运动模块130之间交换的信息。

尽管图3g示出了接触运动模块130和应用程序136之间的通信,但接触运动模块130可与多个不同的被配置为接收接触信息(例如,包括接触信息的触摸事件)的应用程序136(例如,接触模块137、电话模块138、视频会议模块139、电子邮件客户端模块140、即时消息模块141、健身支持模块142、相机模块143、图像管理模块144、浏览器模块147、日历模块148、桌面小程序模块149、搜索模块151、视频和音乐播放器模块152、绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、电子表格模块390)进行通信。在一些实施方案中,接触运动模块130还与第三方应用程序进行通信。在一些实施方案中,接触运动模块130针对多个应用程序来控制如何解释按压输入(例如,改变强度阈值)。这样允许在多个应用程序之间一致地解释按压输入(例如,提供一致的触控板配置和/或提供一致的触觉输出)。

现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“ui”)的实施方案。

图4a示出了根据一些实施方案的用于便携式多功能设备100上的应用程序的菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元素或者其子集或超集:

·一个或多个无线通信(诸如蜂窝信号和wi-fi信号)的一个或多个信号强度指示器402;

·时间404;

·蓝牙指示器405;

·电池状态指示器406;

·具有针对常用应用程序的图标的托盘408,该图标诸如:

○电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音留言的数量的指示器414;

○电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示器410;

○浏览器模块147的被标记为“浏览器”的图标420;和

○视频和音乐播放器模块152(也称为ipod(appleinc.的商标)模块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,图3a或图3b)的设备(例如,设备300,图3a或图3b)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个),和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器357。

图4b示出了具有与显示器450分开的触敏表面451(例如,平板或触摸板355,图3a或图3b)的设备(例如,设备300,图3a或图3b)上的示例性用户界面。将参考检测与显示器分开的触敏表面上的输入的设备来给出接下来的多个示例,如图4b所示。在一些实施方案中,触敏表面(例如,图4b中的451)具有与显示器(例如,450)上的主轴(例如,图4b中的453)对应的主轴(例如,图4b中的452)。根据这些实施方案,设备利用与显示器(例如,在图4b中,460对应于468并且462对应于470)上的相应位置对应的位置处的触敏表面451来检测接触(例如,图4b中的460和462)。这样,在触敏表面(例如,图4b中的451)与显示器(例如,图4b中的450)是分开时,由设备在触敏表面上所检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操控显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。

另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。

如本文所用,术语“焦点选择器”是指指示用户正与其进行交互的用户界面的当前部分的输入元素。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3a或图3b中的触摸板355或图4b中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调整。在包括实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1a中的触敏显示器系统112或图4a中的触摸屏112)的一些具体实施中,在触摸屏上所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,通过接触的按压输入)时,该特定用户界面元素根据所检测到的输入而被调整。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据用户界面的不同区域之间的焦点移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制以便传送与用户界面的用户期望的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是在设备的显示器上示出的其他用户界面元素)。

如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触或触笔接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均或者加和),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触面积的尺寸和/或其变化、邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已超过强度阈值(例如,强度阈值以与替代物测量对应的单位来描述)。在一些具体实施中,接触力或压力的替代测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值是以压力的单位进行测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件诸如旋钮或按钮)的实际面积有限的尺寸更小的设备上本来不能容易地访问的附加设备功能。

在一些实施方案中,接触/运动模块130使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备100的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设置为预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点击来一次调节多个强度阈值)的软件设置。

如说明书和权利要求中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特征强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬起之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值可包括第一强度阈值和第二强度阈值。在该示例中,特征强度未超过第一阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,并且特征强度超过第二阈值的接触导致第三操作。在一些实施方案中,使用特征强度和一个或多个强度阈值之间的比较来确定是否要执行一个或多个操作(例如,是否执行相应选项或放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。

在一些实施方案中,识别手势的一部分,以用于确定特征强度。例如,触敏表面可接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结束位置(例如拖动手势),在该结束位置处,接触的强度增加。在该示例中,接触在结束位置处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,仅结束位置处的轻扫接触部分)。在一些实施方案中,可在确定接触的特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法、和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以用于确定特征强度。

下文描述的用户界面图(例如,图5a-图5tt)任选地包括各种强度图,这些强度图示出触敏表面上的接触相对于一个或多个强度阈值(例如,接触检测强度阈值it0、闭锁强度阈值itl、激活强度阈值ita、和/或一个或多个其他强度阈值)的当前强度。该强度图通常不是所显示的用户界面的一部分,但是被提供以帮助解释该附图。在一些实施方案中,轻按压强度阈值(例如,低强度阈值)对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标的按钮或触控板相关联的操作。在一些实施方案中,深按压强度阈值(例如,高强度阈值)对应于这样的强度:在该强度下设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值it0,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有说明,否则这些强度阈值在不同组的用户界面附图之间是一致的。

在一些实施方案中,设备对设备所检测到的输入的响应取决于基于输入期间的接触强度的标准。例如,对于一些“轻按压”输入,在输入期间超过第一强度阈值的接触的强度触发第一响应。在一些实施方案中,设备对设备所检测到的输入的响应基于两种标准,包括在输入期间的接触强度标准和基于时间的标准。例如,对于一些“深按压”输入而言,仅在满足第一强度阈值和满足第二强度阈值之间过去一延迟时间时,输入期间接触的强度超过大于轻按压的第一强度阈值的第二强度阈值才会触发第二响应。该延迟时间的持续时间通常少于200ms(例如,根据第二强度阈值的大小,为40ms、100ms、或120ms,延迟时间随着第二强度阈值增大而增加)。这个延迟时间帮助避免意外的深按压输入。作为另一个示例,对于一些“深按压”输入,在满足第一强度阈值之后会出现敏感度降低的时间段。在这个敏感度降低的时间段期间,提高第二强度阈值。第二强度阈值的这种暂时增大还有助于避免意外的深按压输入。对于其他深按压输入,对检测到深按压输入的响应不取决于基于时间的标准。

在一些实施方案中,输入的强度阈值和/或对应输出中的一者或多者基于一个或多个因素而变化,诸如用户设置、接触运动、输入定时、应用程序运行、施加强度的速率、并发输入的数量、用户历史、环境因素(例如,环境噪音)、焦点选择器位置等。示例性因素在美国专利申请no.14/399,606和no.14/624,296中有所描述,这些美国专利申请全文以引用方式并入本文。

例如,图4c示出了动态强度阈值480,该动态强度阈值部分基于触摸输入476的随时间变化的强度而随时间变化。动态强度阈值480是两个分量的和,第一分量474在初始检测到触摸输入476过去预定义延迟时间p1之后随时间衰减,并且第二分量478随时间成为触摸输入476的强度的拖尾。第一分量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,即使在触摸输入490的强度低于另一个强度阈值例如强度阈值il时,也能够(例如,在时间494)触发与强度阈值id相关联的响应。

接触特征强度从低于轻按压强度阈值的强度增大到介于轻按压强度阈值与深按压强度阈值之间的强度有时被称为“轻按压”输入。接触特征强度从低于深按压强度阈值的强度增大到高于深按压强度阈值的强度有时被称为“深按压”输入。接触特征强度从低于接触检测强度阈值it0的强度增大到介于接触检测强度阈值it0与轻按压强度阈值itl之间的强度有时被称为检测到触摸表面上的接触。接触特征强度从高于接触检测强度阈值it0的强度减小到低于接触检测强度阈值it0的强度有时被称为检测到接触从触摸表面抬起。在一些实施方案中,it0为零。在一些实施方案中,it0大于零。在一些例示中,阴影圆或椭圆用于表示触敏表面上的接触的强度。在一些例示中,没有阴影的圆或椭圆用于表示触敏表面上的相应接触,而无需指定相应接触的强度。

在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入的强度阈值而检测到相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入的强度阈值来执行相应操作(例如,在相应按压输入的“向下冲程”上执行相应操作)。在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入的强度阈值以及该接触的强度随后减小到低于按压输入的强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。

在一些实施方案中,设备采用强度滞后以避免有时称为“抖动”的意外输入,其中设备限定或选择与按压输入的强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入的强度阈值低x个强度单位,或滞后强度阈值是按压输入的强度阈值的75%、90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入的强度阈值以及该接触的强度随后减小到低于对应于按压输入的强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值来执行相应操作(例如,在相应按压输入的“向上冲程”上执行相应操作)。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入的强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。

为了容易解释,任选地,响应于检测到以下情况而触发对响应于与按压输入的强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触的强度增大到高于按压输入的强度阈值、接触的强度从低于滞后强度阈值的强度增大到高于按压输入的强度阈值的强度、接触的强度减小到低于按压输入的强度阈值、或接触的强度减小到低于与按压输入的强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。如上所述,在一些实施方案中,触发这些响应还取决于满足基于时间的标准(例如,在满足第一强度阈值和满足第二强度阈值之间过去延迟时间)。

用户界面和相关联的过程

现在转向可在电子设备上实现的用户界面(“ui”)和相关联的过程的实施方案,该电子设备诸如便携式多功能设备100或具有显示器、触敏表面、以及用于检测与触敏表面的接触的强度的一个或多个传感器的设备300。

图5a-图5tt示出了根据一些实施方案的用于处理触摸输入的示例性用户界面。这些图中的用户界面用于例示下文描述的过程,包括下文相对于图6a-图6c所述的方法600、下文相对于图6d所述的方法650、下文相对于图7a-图7c所述的方法700、下文相对于图7d所述的方法750、下文相对于图8a-图8c所述的方法800、下文相对于图9a-图9d所述的方法900、下文相对于图10a-图10d所述的方法1000、下文相对于图11a-图11c所述的方法1100、以及下文相对于图12a-图12c所述的方法1200。尽管将参考分开于显示器450的触敏表面451上的输入给出以下一些示例,但在一些实施方案中,该设备检测触摸屏显示器(其中组合了触敏表面和显示器)上的输入,如图4a中所示。

图5a示出了在设备(例如,设备300、100)的显示器450(例如,显示器340、触摸屏112)上显示的应用程序的窗口506。窗口506所关联的应用程序是显示内容的应用程序,诸如电子邮件应用程序。内容诸如文档508被显示在窗口506中。文档508任选地包括嵌入内容、随附内容和/或指向其他内容的链接(为方便起见,下文统称为“嵌入内容”)。嵌入内容任选地由文档图标510表示。例如,文档508包括文档图标510-1和510-2,该文档图标中的每一者对应于在文档508中嵌入的相应嵌入内容(例如,文档)。与图标510-1和510-2对应的相应文档与相应应用程序相关联。例如,图标510-1任选地对应于呈现应用程序相关联的呈现文档。与图标510相关联的文档任选地为文字处理文档、电子表格、呈现、图画、图形或图像、音频文件、视频文件、文本文档或可移植文档格式文档(有时称为pdf)。

在显示器450上还显示光标502。光标502是焦点选择器的示例。用户可通过移动触敏表面451上的接触而在显示器450上(例如,使用设备的触敏表面451)移动光标502,以将焦点移动到在显示器450上显示的元素(例如,用户界面对象、图标、链接等)。图5a示出了接触504在触敏表面451上的向下并且向左的移动,使得设备在显示器504上向下并且向左移动光标502。

图5a还示出了接触504的强度低于第一强度阈值(例如,“it1”)。在一些实施方案中,基于确定接触504的强度低于第一强度阈值,认为接触504处于0级。级进度值指示接触504的归一化强度,其中与第一强度阈值对应的强度被认为对应于0级的100%(或1)级进度值,并且与基础强度阈值或检测强度阈值(例如,“it0”)对应的强度被认为对应于0级的0%(或0)级进度值。在接触504的强度从低于第一强度阈值的值增大并接近第一强度阈值时,该级进度值向100%增大。

在接触504的强度从低于第一强度阈值的强度增大到高于第一强度阈值的强度时,该设备展开图标510-1,以示出将图标510-1转换成预览界面512的动画(图5d)。根据确定接触504的强度满足(例如,高于)第一强度阈值,认为接触504处于1级。针对1级来更新级进度值。在一些实施方案中,与第一强度阈值对应的强度被认为对应于1级的0%(或0)级进度值,并且与第二强度阈值(例如,“it2”)对应的强度被认为对应于1级的100%(或1)级进度值。

图5b示出响应于检测到接触504的强度增大到高于第一强度阈值,该设备显示将图标510-1转换成预览界面512的动画(图5d)。在一些实施方案中,使用接触504的级进度值来发起动画(例如,响应于确定接触504的级进度值满足预定义标准而发起动画)。在一些实施方案中,使用接触504的过渡进度值来发起动画(例如,响应于确定接触504的过渡进度值满足预定义标准而发起动画)(未示出)。

图5c示出响应于检测到接触504的强度进一步增大,该设备显示进一步展开的图标510。接触504仍然被认为处于1级,并且级进度值进一步增大。

图5c还示出过渡进度值已从0%增大。过渡进度值指示接触504位于距强度阈值(例如,第二强度阈值)的预定义强度范围内。在一些情况下,过渡进度值还指示在归一化强度下级过渡(例如,从1级到2级)需要多少附加强度。在一些实施方案中,强度范围由指示强度范围一端的过渡范围强度阈值(本文也称为过渡强度阈值)和指示发生级过渡的强度的激活强度阈值定义。在图5c中,从1级过渡到2级的过渡强度阈值与2级的释放强度阈值“it2r”相同。然而,过渡强度阈值不需要与释放强度阈值相同。

图5d示出接触504的强度已增大到高于第二强度阈值(例如,“it2”)。根据确定接触504的强度满足(例如,高于)第二强度阈值,认为接触504处于2级。作为响应,显示预览界面512。针对2级来更新接触504的级进度值。在一些实施方案中,与第二强度阈值对应的强度被认为对应于2级的0%(或0)级进度值,并且与第三强度阈值(例如,“it3”)对应的强度被认为对应于2级的100%(或1)级进度值。

图5e示出了接触504的强度的进一步增大。接触504尚未满足第三强度阈值,并且仍然保留在2级中。增大级进度值和过渡进度值。

图5f示出接触504的强度已减小到低于第二强度阈值(例如,“it2”),但保持高于2级的释放强度阈值(例如,“it2r”)。根据确定接触504的强度不满足(例如,保持高于)2级释放强度阈值,认为接触504保持在2级中。因此,预览界面512保留在显示器上。在图5f中,级进度值为2级的0%,因为接触504的强度低于第二强度阈值。过渡进度值指示接触504的强度在距2级的释放强度阈值预定义强度范围内。

图5g示出接触504的强度已进一步减小到低于2级的释放强度阈值。根据确定接触504的强度满足(例如,低于)2级的释放强度阈值,认为接触504处于1级中。停止显示预览界面512(图5f),并且根据接触504的强度来显示用于示出从图标510-1到预览界面512的过渡的动画。

图5h示出在一些实施方案中,释放强度阈值与激活强度阈值相同(例如,“it1”=“it1r”)。因此,图5h中未分开示出释放强度阈值。

图5i示出接触504的强度已显著增大到满足第三强度阈值(例如,“it3”)。根据确定接触504的强度满足第三强度阈值,认为接触504处于3级中。作为响应,预览界面512被放大到填充窗口506。

图5j示出强度阈值已改变。例如,在一些实施方案中,该设备确定先前使用的强度阈值对于用户而言过低(例如,用户往往频繁应用高强度接触,或者被发现应用低强度接触困难),并更新强度阈值(例如,增大强度阈值中的至少一个强度阈值和/或减小强度阈值中的至少一个强度阈值)。在一些实施方案中,软件应用程序(例如,用户界面应用程序,诸如电子邮件应用程序)基于用户交互和/或内部操作来确定强度阈值(例如,以避免与其他功能冲突,诸如可访问性)。在一些实施方案中,强度阈值与特定强度模型相关联。因此,该设备从第一强度模型(例如,“正常用户”强度模型)切换到与第一强度模型不同的第二强度模型(例如,“高强度用户”强度模型),以使用不同的强度阈值。

在图5j中,尽管接触504的强度已从图5i改变,但由于强度阈值的变化,仍然认为接触504处于2级中。因此,预览界面512停止填充窗口506(例如,预览界面512从图5i中所示的放大的预览界面512减小)。

图5k示出接触504的强度已从高于2级释放强度阈值(“it2r-2”)减小到低于2级释放强度阈值。根据确定接触504的强度满足(例如,低于)2级的释放强度阈值,认为接触504处于1级中。作为响应,利用示出预览界面512和图标510-1之间过渡的动画来替代预览界面512。

图5l示出接触504的强度已进一步减小到低于1级的先前释放强度阈值(例如,“it1r”)并高于1级的当前释放强度阈值(例如,“it1r-2”)。根据确定接触504的强度不满足(例如,保持高于)1级的当前释放强度阈值,认为接触1处于1级。如果要使用先前的释放强度阈值,根据确定接触504的强度满足1级的先前释放强度阈值,将认为接触504处于0级中。

图5m示出停止在触敏表面451上检测接触504。在图5m中,重置强度阈值,使得使用先前的强度阈值。例如,在一些实施方案中,在从触敏表面451提起接触时,强度阈值的改变截止(或者另选地,接触强度下降到低于检测强度阈值it0)。

图5n-图5o示出在触敏表面451上检测到后续接触514并根据已重置的强度阈值来处理接触514。

图5p-图5r示出在触敏表面451上未检测到接触时(或在检测接触516之前),强度阈值被改变。图5p-图5r还示出根据改变的强度阈值来处理接触516。

在一些实施方案中,针对相应区域来预定义或预选择强度阈值。例如,在图5s中,图标510-1与包括第一组强度阈值的第一强度模型相关联,并且电子邮件图标(例如,546-1到546-7)与不同于第一强度模型并包括第二组强度阈值的第二强度模型相关联。图5s还示出了被显示的第二软件应用程序(例如,绘图应用程序)的用户界面518的至少一部分。在图5s中,第二软件应用程序的用户界面518与不同于第一强度模型和第二强度模型并且包括第三组强度阈值的第三强度模型相关联。

图5t示出同时显示第一软件应用程序(例如,电子邮件应用程序)的用户界面中的包括图标510-1和510-2的至少一部分以及第二软件应用程序(例如,绘图应用程序)的用户界面518的至少一部分。

图5t还示出接触520从触敏表面451上的第一位置520-a跨触敏表面451(例如,同时保持触敏表面451上的接触)移动到触敏表面451上的第二位置520-b。图5t还示出了光标502从显示器450上的第一位置502-a到显示器450上的第二位置502-b的对应移动。在图5t中,触敏表面451上的第一位置520-a对应于显示器450上的第一位置502-a,并且触敏表面451上的第二位置520-b对应于显示器450上的第二位置502-b。

图5u示出了接触520从触敏表面451上的第二位置520-b跨触敏表面451到触敏表面451上的第一位置520-a的移动,以及光标502从显示器450上的第二位置502-b到显示器450上的第一位置502-a的对应移动。

图5v-图5w示出在第一位置522-a处检测到后续的接触522,并且接触522的强度增大。在图5v-图5w中,根据包括第一组强度阈值的第一强度模型(例如,与显示器上的图标510-1或第一位置502-a相关联的强度模型)来处理接触522。

图5x示出接触522的强度减小(例如,低于针对显示器上的第一位置502-a的任何激活强度阈值)并跨触敏表面451移动到触敏表面451上的第二位置522-b。图5x还示出了光标502从显示器451上的第一位置502-a到显示器450上的第二位置502-b的对应移动。

图5y-图5z示出在触敏表面451上的第二位置522-b处检测到接触524,并且接触524的强度增大。在图5y-图5z中,根据不同于第一强度模型并且包括第二组强度阈值的第二强度模型(例如,与显示器上的第二软件应用程序的用户界面518或第二位置502-b相关联的强度模型)来处理接触524。

图5aa示出接触524的强度减小(例如,低于针对显示器上的第二位置502-b的任何激活强度阈值)并跨触敏表面451移动到触敏表面451上的第三位置524-c。图5aa还示出了光标502从显示器451上的第二位置502-b到显示器450上的第三位置502-c的对应移动。第三位置502-c被认为对应于第一软件应用程序的用户界面和第二软件应用程序的用户界面518的重叠区域。

图5bb示出了在触敏表面451上的第三位置526处检测到接触526。在一些实施方案中,根据第二强度模型(例如,与用户界面518相关联,该用户界面518为图5bb中的最上方的前景用户界面)来处理接触526。然而,在一些其他实施方案中,基于第一强度模型的优先级和第二强度模型的优先级(例如,选择第一强度模型,因为第一强度模型的优先级高于第二强度模型)根据第一强度模型(即使在显示器450上未显示图标510-2)来处理接触526。在一些实施方案中或在一些环境中,如图5cc所示,在用户界面518上方显示第一软件应用程序的用户界面。

图5dd示出在触敏表面451上的第三位置528-c处检测到接触528。在一些实施方案中,根据第一强度模型(例如,与用户界面518相关联,该用户界面518为图5dd中的最上方的前景用户界面)来处理接触528。然而,在一些其他实施方案中,基于第一强度模型的优先级和第二强度模型的优先级,根据第二强度模型(即使第二软件应用程序的用户界面518被显示器上的第三位置502-c处的第一软件应用程序的用户界面覆盖)来处理接触528。尽管在图5bb-图5cc所示的操作期间,第一强度模型的优先级比第二强度模型的优先级更高,但可实时更新优先级。例如,第一软件应用程序和/或第二软件应用程序可发送请求以在特定显示器或用户界面区域中根据第二强度模型来处理任何接触,在该示例中其包括第三位置528-c,并且作为结果,使用第二强度模型(例如,由接触运动模块130,图3g)来处理第三位置528-c处的接触。

图5ff-图5jj示出了根据一些实施方案的与手写识别(例如,手写字符、手绘图形等)相关联的用户界面。

图5ff示出了被手写输入工具区域540(例如,字符输入工具区域)部分覆盖的文字处理软件应用程序的用户界面。如图5ff-图5jj中所示的,手写输入工具区域540包括多个选择区域(例如,532-1到532-8的至少一些)和手写输入区域530(例如,字符输入区域)。显示器450上的相应选择区域(例如,532-1)对应于触敏表面451上的区域(例如,534-1)。此外,显示器450上的手写输入区域530对应于触敏表面451上的区域542。在一些实施方案中,显示器450上的相应选择区域(例如,532-1)与限定两个或更多个强度级的强度模型相关联(例如,指示检测到接触但未激活对应的用户界面元素的状态,以及指示检测到接触并且已激活对应的用户界面元素的状态)。在一些实施方案中,针对与相应选择区域相关联的强度模型来启用触觉输出。例如,按压输入(具有充分大的强度)来触发用于指示按压输入的强度足以激活对应的用户界面元素的触觉输出。

图5ff还示出在触敏表面451的区域542中检测到接触536并沿特定路径跨触敏表面451移动。在一些实施方案中,触敏表面451的区域542与具有抑制触觉输出的单个级的强度模型相关联。这样防止触觉输出干扰触敏表面上的用户书写/绘图。在一些实施方案中,对于初始在触敏表面451的区域542上检测到的接触,即使接触跨触敏表面451移动到与相应选择区域(例如,532-1)对应的区域(例如,534-1),也抑制触觉输出。下文相对于图5kk-图5tt来进一步描述该“锁定“特征。

在一些实施方案中,对于从区域542开始的接触,即使在接触移动到与显示器上的选择区域对应的位置时,也抑制触觉输出。

图5gg示出在手写输入区域530中显示与接触536的特定路径对应的图形元素544。在一些实施方案中,在接触536遵循特定路径时,图形元素544的宽度沿其路径基于触敏表面451的区域542中的接触536的一个或多个所测量的特征而改变。在一些实施方案中,基于接触536的强度和/或速度来确定宽度。在一些实施方案中,在接触536的强度增大时,宽度增大。在一些实施方案中,在接触536的速度增大时,宽度减小。

图5gg还示出了被显示的多个选择区域532-5到532-8。选择区域532-5到532-8中的每个选择区域包括基于图形元素544选择的字符。例如,根据(例如,最佳地匹配)图形元素544的形状(例如,其最佳地匹配图形元素544的形状的一个或多个特征)来选择选择区域532-5到532-8中的字符。

图5hh示出在触敏表面451上的与选择区域532-8对应的区域534-8上检测到接触538。使用与区域534-8相关联的强度模型来处理接触538。例如,在接触538的强度跨过与区域534-8相关联的强度模型的一个或多个阈值时,生成触觉输出。在图5hh中,在文字处理软件应用程序的用户界面中显示选择区域532-8中所示的字符(并插入到文字处理软件应用程序的文档中)。

图5ii示出了上文相对于图5ff所述的触敏表面451上的接触536的路径。在图5ii中,触敏表面451的右侧所示为强度图示,其示出了在接触536遵循触敏表面451上的路径时接触536随时间变化的强度。该图示出接触536的强度从低于绘图强度阈值itd开始,增大到高于绘图强度阈值,并下降到低于绘图强度阈值。在一些实施方案中,一旦接触536的强度满足(高于)绘图强度阈值,即使接触536的强度下降到绘图强度阈值以下,也继续处理接触536。例如,接触强度低于绘图强度阈值的路径的一部分用于扩展或更新图形元素544。然而,在一些实施方案中,接触536的强度需要满足绘图强度阈值以发起对图形元素的显示。

图5jj示出了在触敏表面451上遵循路径前行时,停止检测接触536。图5jj还示出了在触敏表面451上检测到接触538,从而继续沿路径前行。例如,在触敏表面451上绘制路径时,可稍微提起接触536,并迅速返回与触敏表面451接触,以完成路径。在一些实施方案中,与触敏表面451短暂失去接触会被忽略,并且接触536的路径和接触544的路径被合并,以形成单个连续路径。在一些实施方案中,基于提起接触536和检测到接触544满足预定义时间标准(例如,小于0.1秒、0.2秒、0.5秒等)之间的时间间隔来执行两条路径的合并。在一些其他实施方案中,单独保持接触536的路径和接触544的路径。在一些实施方案中,响应于确定接触544的强度满足绘图强度阈值(例如,并不是接触544仅接触触敏表面451)而发起接触544的路径。

尽管上文相对于识别手写字符描述了图5ff-图5jj,但可使用类似的方法、设备和用户界面来识别不同类型(例如,识别形状或形状和字符/字母的组合)的手绘内容(有时被称为或包括手写内容)。

此外,尽管图5ff-图5jj示出了具有多个选择区域的手写输入工具区域的用户界面,但在一些实施方案中,使用没有任何选择区域的绘图区域。例如,在不需要字符识别(或形状识别)时,可省略多个选择区域。在一些实施方案中,针对整个手写输入工具区域使用单个强度模型。

图5kk-图5tt示出了根据一些实施方案的对触摸输入的锁定。

图5kk示出了包括软件应用程序(例如,电子邮件应用程序)的用户界面的窗口506。窗口506中的用户界面包括多个区域(例如,电子邮件区域546-1到546-7,图标510-1和510-2)。这些区域中的一些区域与不同的强度模型相关联。例如,图标510-1与第一强度模型相关联,并且区域546-7与不同于第一强度模型的第二强度模型相关联。

图5ll示出了在触敏表面451上的与显示器450上的图标510-1对应的位置548-a处检测到接触548。在图5ll中,图标510-1在视觉上被区分,以指示在触敏表面451上检测到接触548。

图5mm-图5pp示出了与接触的移动相关联的操作,而无需根据一些实施方案而被锁定到用户界面的区域。

图5mm示出了接触548的强度已增大,并且图标510-1进一步在视觉上被区分,以指示接触548强度增大。

图5nn示出了接触548的强度已减小,并且图标510-1在视觉上被区分,以指示接触548强度减小。图5nn还示出了接触548跨触敏表面451向触敏表面451上的位置548-b的移动,以及光标502向显示器450上的区域546-7的对应移动。在接触548移动到触敏表面451上的位置548-b之前,接触548的强度未满足图标510-1的锁定强度阈值(例如,“itl”)。

图5oo示出了响应于光标502移动到显示器450上的区域546-7,消除图标510-1的视觉区分,对区域546-7在视觉上进行区分,以指示在与显示器450上的区域546-7对应的位置548-b处检测到接触548。

图5pp示出了接触548的强度已增大到高于针对区域546-7的激活强度阈值(例如,“ita”)。作为响应,对区域546-7在视觉上进行区分,以指示区域546-7已被激活。此外,消除先前被激活的区域546-2的视觉区分。图5pp还示出窗口506被更新,以示出与区域546-7对应的电子邮件7的内容。

图5qq-图5tt示出了与接触的移动相关联的操作,同时接触根据一些实施方案而被锁定到用户界面的区域。

图5qq示出了接触548的强度已增大到满足针对区域510-1的锁定强度阈值(例如,“itl”)。图5qq还示出了进一步对图标510-1在视觉上进行区分,以指示光标502被锁定到图标510-1。

图5rr示出了接触548跨触敏表面451向触敏表面451上的位置548-b移动,同时保持强度高于针对图标510-1的锁定强度阈值(例如,“itl”),以及光标502向显示器450上的区域546-7的对应移动。在图5rr中,尽管接触548的强度将满足针对区域546-7的激活强度阈值(例如,“ita”),但因为光标502被锁定到图标510-1,所以区域546-7未被激活。

图5ss示出接触548的强度已被进一步增大,以满足针对图标510-1的激活强度阈值(例如,“ita”),即使在光标502位于区域546-7中时也激活图标510-1。

图5tt示出了响应于接触548的强度满足针对图标510-1的激活强度阈值(例如,“ita”),激活图标510-1。在图5tt中,响应于接触548的强度满足针对图标510-1的激活强度阈值(例如,“ita”),显示预览界面512。

图6a-图6c示出了根据一些实施方案的基于触摸输入的强度级来处理触摸输入的方法600的流程图。方法600在具有触敏表面用于检测与触敏表面的接触的强度的和一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。在一些实施方案中,电子设备包括显示器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法600中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

如下所述,方法600简化了对触摸输入的处理。该方法减轻了软件应用程序的计算负担,由此形成了更有效的电子设备。此外,软件应用程序的大小减小,由此占据更少的存储空间和存储器。

该设备在触敏表面上检测(602)触摸输入(例如,接触504,图5b)。

响应于在触敏表面上检测到触摸输入,该设备确定(604)触敏表面上的触摸输入(例如,由触摸输入施加的力)的强度(例如,接触504的强度,图5b)。

根据触敏表面上的触摸输入的强度以及一个或多个预选的强度阈值,该设备确定(606)触摸输入的强度级。例如,在图5b中,确定接触504处于1级中。从多个预定义强度级(例如,1、2和3级)中选择触摸输入的强度级。在一些实施方案中,多个预定义强度级包括三个或更多不同的强度级。在一些实施方案中,多个预定义强度级包括三个或更多个不重叠的强度级。

在一些实施方案中,确定触摸输入的强度级包括将触摸输入的强度与一个或多个预选强度阈值进行比较。在一些实施方案中,确定触摸输入的强度级取决于触摸输入的先前强度级。例如,如果触摸输入已处于2级中,则将触摸输入的强度与针对3级的激活强度阈值进行比较,以确定触摸输入是否过渡到3级,并与针对2级的释放强度阈值进行比较,以确定触摸输入是否过渡到1级。在一些实施方案中,确定触摸输入的强度级是由接触运动模块130执行的(图3g)(例如,接触运动模块130中的接触强度模块175)。

在一些实施方案中,根据触敏表面上触摸输入的强度、一个或多个预定义强度阈值和上述基于时间的标准来确定触摸输入的强度级。如上所述,对于一些“深按压”输入而言,仅在满足第一强度阈值和满足第二强度阈值之间过去一延迟时间时,输入期间接触强度超过大于轻按压的第一强度阈值的第二强度阈值才会触发第二响应。

在一些实施方案中,该设备存储(608)第一软件应用程序(例如,电子邮件客户端模块140,图3a)。触摸输入的强度级是由不同于第一软件应用程序并且月第一软件应用程序分开的接触强度模块(例如,嵌入触敏输入设备中的固件诸如触控板,其包括触摸表面、操作系统等)来确定的。例如,在图3g中,接触/运动模块130中的接触强度模块175向应用程序136发送触摸信息472,在一些实施方案中,该触摸信息472包括强度级478。

在一些实施方案中,该设备从接触强度模块向第一软件应用程序发送(610)用于识别触摸输入的强度级的触摸信息(例如,在图3g中,从接触强度模块175向应用程序136发送包括强度级478的触摸信息472)。

在一些实施方案中,该设备从接触强度模块发送(612,图6b)信息,该信息指示触摸输入的强度可用于第一软件应用程序(例如,可用性信息474,图3g)。

在一些实施方案中,该设备重复(614)确定触摸输入的强度、确定触摸输入的强度级的操作,并在触敏表面上检测到触摸输入时发送触摸信息。在一些实施方案中,以预定义间隔(或预定义的频率)来重复操作。例如,该设备在触敏表面上保持接触时,重复此类操作。

在一些实施方案中,该设备基于与所确定的强度级相关联的强度范围来确定(616)触摸输入的一个或多个基于强度的进度值;并向第一软件应用程序发送触摸信息(例如,图3g中的触摸信息472)。该触摸信息包括触摸输入的一个或多个基于强度的进度值(例如,级进度值482和过渡进度值484)、以及识别触摸输入的强度级(例如,强度级478)的信息。

在一些实施方案中,触摸输入的一个或多个基于强度的进度值包括(618)触摸输入的过渡进度值(例如,过渡进度值484,图3g)。在一些实施方案中,过渡进度值指示过渡到与所确定的强度级相邻的强度级所需的归一化强度。

在一些实施方案中,触摸输入的一个或多个基于强度的进度值包括(620)触摸输入的级进度值(例如,级进度值482,图3g)。在一些实施方案中,级进度值指示基于触摸输入的强度和针对所确定的强度级的预定义强度阈值的归一化强度。

在一些实施方案中,响应于检测到触摸输入,该设备确定(622)触摸输入在触敏表面上施加的第一强度(例如,图5c中接触504的强度)。根据确定触摸输入在触敏表面上施加的第一强度不满足针对第二强度级的级激活强度阈值,该设备确定触摸输入处于与第二强度级不同的第一强度级中(例如,在图5c中,接触504保持在1级中)。在一些实施方案中,第二强度级相邻于第一强度级。在一些实施方案中,该方法包括向第一软件应用程序发送用于识别触摸输入的第一强度级的第一触摸信息。在确定触摸输入处于第一强度级中之后,该设备确定触摸输入在触敏表面上施加的第二强度(例如,图5d中接触504的强度)。第二强度不同于第一强度。在一些实施方案中,该设备确定触摸输入在触敏表面上施加的强度已从第一强度改变为第二强度。根据确定触摸输入在触敏表面上施加的第二强度满足针对第二强度级的级激活强度阈值(例如,接触504的强度高于图5d中的“it2”),该设备确定触摸输入处于第二强度级中(例如,在图5d中,接触504保持在2级中)。

在一些实施方案中,在确定触摸输入处于第二强度级中之后,该设备确定(624,图6c)触摸输入在触敏表面上施加的第三强度(例如,图5f中接触504的强度)。第三强度不同于第二强度。根据确定第三强度不满足不同于针对第二强度级的级激活强度阈值(例如,图5f中的“it2”)的针对第二强度级的级释放强度阈值(例如,接触504的强度高于图5f中的“it2r”),该设备确定触摸输入保持在第二强度级中(例如,接触504保持在图5f中的2级中)。在确定触摸输入保持在第二强度级中之后,该设备确定触摸输入在触敏表面上施加的第四强度(例如,图5g中接触504的强度)。第四强度不同于第三强度。根据确定第四强度满足针对第二强度级的级释放强度阈值(例如,图5f中的“it2r”),该设备确定触摸输入处于第一强度级中(例如,图5g中接触504处于1级中)。

在一些实施方案中,在确定触摸输入保持于第二强度级中之后,该设备确定(626)触摸输入在触敏表面上施加的第三强度(例如,图5i中接触504的强度)。第三强度不同于第二强度。根据确定第三强度满足不同于针对第二强度级的级激活强度阈值的针对第三强度级的级激活阈值(例如,图5i中的“it3”),该设备确定触摸输入处于第三强度级中(例如,接触504处于图5i中的3级中)。

在一些实施方案中,在确定触摸输入处于第三强度级中之后,该设备确定(628)触摸输入在触敏表面上施加的第四强度(例如,图5f中接触504的强度)。第四强度不同于第三强度。根据确定第四强度满足不同于针对第三强度级的级激活强度阈值的针对第三强度级的级释放强度阈值(例如,图5f中的接触504的强度低于“it3r”),该设备确定触摸输入处于第二强度级中。

在一些实施方案中,该设备从多个预定义强度模型标识符(例如,附录a中描述的示例性强度模型和对应的强度模型标识符)识别(630,图6a)强度模型标识符。从与所识别的强度模型标识符对应的多个强度级选择触摸输入的强度级。

该设备基于触摸输入的强度级来处理(632)触摸输入(例如,生成触觉输出)。

应当理解,对图6a-图6c中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法650、700、750、800、900、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文相对于图6a-图6c描述的方法600。例如,上文参考方法600描述的触摸输入处理任选地具有本文参考本文所述其他方法(例如,方法650、700、750、800、900、1000、1100和1200)描述的基于触摸表征参数进行触摸输入处理的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

另外,本领域的普通技术人员将认识到根据上述教导内容,许多修改和变型是可能的。

例如,根据一些实施方案,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器)。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。该方法包括,响应于在触敏表面上检测到触摸输入,确定触敏表面上的触摸输入的强度;以及根据触敏表面上的触摸输入的强度和一个或多个预选的强度阈值,确定触摸输入的过渡进度值。该方法还包括基于触摸输入的过渡进度值来处理触摸输入。

对于另一个示例,根据一些实施方案,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器)。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。该方法包括响应于在触敏表面上检测到触摸输入,确定触敏表面上的触摸输入的强度;以及根据触敏表面上的触摸输入的强度和一个或多个预选的强度阈值,确定触摸输入的级进度值。该方法还包括基于触摸输入的级进度值来处理触摸输入。

图6d示出了根据一些实施方案的基于触摸输入的强度级来更新用户界面的方法650的流程图。方法650在具有显示器、触敏表面、和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法650中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

该设备在显示器上显示(652)用户界面(例如,图5a中显示的电子邮件应用程序的用户界面)。

在显示用户界面时,该设备在第一软件应用程序处从不同于第一软件应用程序的接触强度模块接收(654)用于识别触敏表面上的所检测到的触摸输入的强度级的触摸信息(例如,应用程序136从接触强度模块175接收触摸信息472)。

该设备根据至少触摸输入的强度级来更新(656)用户界面(例如,图5b中示出了动画)。

在一些实施方案中,该设备显示(658)与向或从触摸输入的预定义强度状态的过渡对应的动画,该动画对应于触摸输入的基于强度的进度值。例如,图5a-图5d中所示的动画对应于接触504的级进度值。在一些实施方案中,在第一软件应用程序处从接触强度模块接收的触摸信息还识别触摸输入的基于强度的进度值。

应当理解,对图6d中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、700、750、800、900、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文相对于图6d描述的方法650。例如,以上参考方法650所述的强度等级任选地具有参考本文所述的其他方法(例如,方法600、700、800、900、1000、1100和1200)所述的强度等级的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

图7a-图7c示出了根据一些实施方案的基于强度模型标识符来处理触摸输入的方法700的流程图。方法700在具有触敏表面用于检测与触敏表面的接触的强度的和一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。该电子设备存储第一软件应用程序。在一些实施方案中,电子设备包括显示器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法700中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

如下所述,方法700简化了对触摸输入的处理。该方法减轻了软件应用程序的计算负担,由此形成了更有效的电子设备。此外,减小了软件应用程序的大小,由此占据更少的存储空间和存储器。

该设备在触敏表面上检测(702)第一触摸输入(例如,图5a中的接触504)。

响应于在触敏表面上检测到第一触摸输入,该设备确定(704)由第一触摸输入在触敏表面上施加的第一强度(例如,图5a中的接触504的强度)。

该设备从多个预定义强度模型标识符识别(706)第一强度模型标识符。

在一些实施方案中,识别第一强度模型标识符包括(708)将第一软件应用程序识别为对应于触摸输入并将由第一软件应用程序注册(或用于或对应于其)的强度模型标识符识别为第一强度模型标识符。例如,该设备可在强度模型454(图3g)中识别使用信息458,并识别由第一软件应用程序注册的强度模型标识符。

在一些实施方案中,响应于在触敏表面上检测到第一触摸输入,该设备根据由第一触摸输入在触敏表面上施加的强度以及与第一强度模型标识符相关联的一个或多个阈值来生成(710)触觉输出(例如,在接触的强度跨过强度阈值中的一个强度阈值时生成触觉输出)。在一些实施方案中,触觉输出可由接触强度模块或第一软件应用程序生成(例如,接触强度和/或第一软件应用程序可向一个或多个触觉输出发生器发送指令,以发起对触觉输出的生成)。

根据第一触摸输入在触敏表面上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值,该设备确定(712)第一触摸表征参数(例如,强度级、过渡进度或级进度)。在一些实施方案中,基于历史用户动作来调节强度阈值。例如,如果用户反复施加超过特定标准的高强度,则针对用户来增大强度阈值。

在一些实施方案中,该设备根据所识别的强度模型标识符来从多组阈值选择(714)一组阈值(例如,强度阈值),并根据所选择的一组阈值来确定触摸表征参数。例如,可使用图5j中所示的该组阈值(例如,与第一强度模型标识符相关联)或图5k中所示的该组阈值(例如,与第二强度模型标识符相关联)来确定触摸表征参数。

在一些实施方案中,该设备根据所识别的强度模型标识符来识别(716)一个或多个(或者,两个或多个)强度范围,并根据一个或多个所识别的强度范围来确定触摸表征参数。例如,可使用强度范围来替代或补充使用强度阈值,以确定一个或多个触摸表征参数。

在确定第一触摸表征参数之后,该设备向第一软件应用程序发送(718,图7b)第一触摸信息。第一触摸信息包括第一强度模型标识符和第一触摸表征参数(例如,在图3g中,触摸信息472包括强度模型标识符485和表征参数476)。

在一些实施方案中,向第一软件应用程序发送(720)强度事件流,每个强度事件对应于由触摸输入在对应时间施加的强度。

在一些实施方案中,该设备从第一软件应用程序接收(722)一个或多个指令,以生成触觉输出(例如,触觉输出触发器494,图3g)。响应于从软件应用程序接收到一个或多个指令,该设备根据来自软件应用程序的一个或多个指令来生成触觉输出。

在一些实施方案中,在继续在触敏表面上检测第一触摸输入时,该设备接收(724)一个或多个指令,以使用与不同于第一强度模型标识符的第二强度模型标识符对应的强度模型(例如,来自第一软件应用程序)。例如,在图3g中,应用程序136发送强度模型标识符490,该强度模型标识符要由接触强度模块175用于显示器上的指定位置范围(例如,跟踪区域492)。在接收到一个或多个指令以使用与第二强度模型标识符对应的强度模型之后,该设备确定由第一触摸输入在触敏表面上施加的第二强度,并基于第二强度模型标识符来处理第一触摸输入。例如,在图5s中,图标510-1和电子邮件图标546-1与不同强度模型相关联,并且第一触摸输入一旦在触敏表面上被移动到与电子邮件图标546-1对应的位置,便基于与电子邮件图标546相关联的强度模型(例如,第二强度模型)而被处理。在一些实施方案中或在一些环境中,第一强度和第二强度是相同的。即使第一强度和第二强度相同,该设备也可基于强度模型中的强度阈值以不同方式作出响应。在一些实施方案中或在一些环境中,第二强度不同于第一强度。

在一些实施方案中,该设备确定已停止在触敏表面上检测第一触摸输入(例如,完全提起第一触摸输入或强度减小到低于检测阈值),并检测后续的触摸输入。该设备基于后续触摸输入的位置来识别第二强度模型标识符(例如,触敏表面451上的位置或显示器450上的对应位置)。

在一些实施方案中,在继续在触敏表面上检测第一触摸输入时,在基于第二强度模型标识符来处理第一触摸输入之后,该设备接收(726,图7c)一个或多个指令,以使用与不同于第一强度模型标识符和第二强度模型标识符的第三强度模型标识符对应的强度模型(例如,来自第一软件应用程序)。在接收到一个或多个指令以使用与第三强度模型标识符对应的强度模型之后,该设备确定由第一触摸输入在触敏表面上施加的第三强度,并基于第三强度模型标识符来处理第一触摸输入。在一些实施方案中,第三强度对应于第二强度。在一些实施方案中,第三强度和第二强度是相同的。

在一些实施方案中,该设备确定(728)已停止在触敏表面上检测第一触摸输入。在确定已停止在触敏表面上检测第一触摸输入之后,该设备检测触敏表面上的与第一触摸输入分开的第二触摸输入,并基于第一强度模型标识符来处理第二触摸输入。例如,如图5l-图5n中所示的,第二强度模型在提起第一触摸输入时截止(例如,该设备切换回到第一强度模型)。在一些实施方案中,该设备基于第二触摸输入的位置来选择第一强度模型标识符。

在一些实施方案中,基于第二强度模型标识符来处理触摸输入包括(730)根据由触摸输入在触敏表面上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值,确定第二触摸表征参数(例如,图5j中的强度级、级进度值和/或过渡进度值)。第二触摸表征参数不同于第一触摸表征参数。例如,触摸表征参数(例如,级、过渡进度、级进度等)已改变,因为不论触摸输入的强度是否改变,强度模型标识符(和对应的强度模型)均已改变。处理触摸输入还包括在确定第二触摸表征参数之后向第一软件应用程序发送第二触摸信息。该第二触摸信息包括第二强度模型标识符和第二触摸表征参数。

在一些实施方案中,基于第二强度模型标识符来处理触摸输入包括(732)根据第二强度未能满足与第二强度模型标识符相关联的一个或多个阈值而放弃生成触觉输出。该电子设备(例如,电子设备的触敏表面)被配置为根据第二强度满足与第一强度模型标识符相关联的一个或多个阈值的至少一个阈值而生成触觉输出。例如,如图5l中所示,在接触504的强度下降到低于先前释放强度阈值it1r但保持高于当前释放强度阈值it1r-2时,即使如果使用先前释放强度阈值it1r该设备将生成触觉输出,该设备也放弃生成触觉输出。

在一些实施方案中,在检测到第一触摸输入之后,该设备接收(734,图7b)一个或多个指令,以使用与不同于第一强度模型标识符的第二强度模型标识符对应的强度模型(例如,来自第一软件应用程序)。在接收到一个或多个指令以使用与第二强度模型标识符对应的强度模型之后,该设备在触敏表面上检测第二触摸输入;以及响应于在触敏表面上检测到第二触摸输入,确定由第二触摸输入在触敏表面上施加的第二强度。该设备还基于第二强度模型标识符来处理第二触摸输入。

应当理解,对图7a-图7c中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、750、800、900、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文相对于图7a-7c描述的方法700。例如,以上参考方法700所述的触摸表征参数任选地具有参考本文所述的其他方法(例如,方法600、650、750、800、900、1000、1100和1200)的强度级的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

另外,本领域的普通技术人员将认识到根据上述教导内容,许多修改和变型是可能的。

例如,根据一些实施方案,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器),并且该电子设备存储第一软件应用程序。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。使用除第一软件应用程序中的指令之外的指令(例如,使用接触强度模块)来执行该方法。该方法包括在触敏表面上检测触摸输入;并且响应于在触敏表面上检测到触摸输入,确定由触摸输入在触敏表面上施加的强度。该方法还包括针对触摸输入来从多组阈值选择一组阈值。该多组阈值的至少一组阈值包括多个阈值。该方法还包括根据所选择的一组阈值来确定触摸输入的触摸表征参数;以及向第一软件应用程序发送触摸信息。该触摸信息包括触摸表征参数。

在一些实施方案中,基于行为标识符来选择该组阈值。

在一些实施方案中,基于触摸输入的位置来选择该组阈值。在一些实施方案中,基于触摸输入的位置来选择行为标识符。

根据一些实施方案,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器),并且该电子设备存储第一软件应用程序。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。使用除第一软件应用程序中的指令之外的指令(例如,使用接触强度模块)来执行该方法。该方法包括在触敏表面上检测触摸输入;并且响应于在触敏表面上检测到触摸输入,确定由触摸输入在触敏表面上施加的强度。该方法还包括针对触摸输入来从多组强度范围选择一组强度范围。在一些实施方案中,该多组强度范围的至少一组强度范围包括多个强度范围。该方法还包括根据所选择的一组强度范围来确定触摸输入的触摸表征参数;以及向第一软件应用程序发送触摸信息。该触摸信息包括触摸表征参数。

图7d示出了根据一些实施方案的基于触摸表征参数来更新用户界面的方法750的流程图。方法750在具有显示器、触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,该显示器与触敏表面是分开的。方法750中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

该设备显示(752)第一软件应用程序的用户界面。

该设备注册(754)多个预定义力模型标识符的第一强度模型标识符。

在一些实施方案中,该设备注册(756)多个预定义力模型标识符的第二强度模型标识符。相对于第一软件应用程序的用户界面的第一区域来注册第一强度模型标识符,并且相对于第一软件应用程序的用户界面的不同于第一软件应用程序的用户界面的第一区域的第二区域来注册第二强度模型标识符。在一些实施方案中,第一区域和第二区域可重叠,但仍然不同。

在一些实施方案中,该设备在显示第一软件应用程序的用户界面时,同时显示(758)第二软件应用程序的用户界面,并注册多个预定义力模型标识符中的第三强度模型标识符。相对于第二软件应用程序的用户界面的不同于第一软件应用程序的用户界面的第一区域的区域来注册第三强度模型标识符。

在该注册之后,该设备接收(760)包括第一强度模型标识符和触摸表征参数的触摸信息;并且响应于接收到触摸信息,该设备根据触摸表征参数来更新(762)第一软件应用程序的用户界面。

应当理解,对图7d中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、800、900、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文相对于图7d描述的方法750。例如,以上参考方法750所述的触摸表征参数任选地具有参考本文所述的其他方法(例如,方法600、650、700、800、900、1000、1100和1200)所述的触摸表征参数的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

另外,本领域的普通技术人员将认识到根据上述教导内容,许多修改和变型是可能的。

例如,根据一些实施方案,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器),并且该电子设备存储第一软件应用程序。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。该方法包括注册多个预定义强度模型标识符中的第一强度模型标识符和第二强度模型标识符;并且在注册之后,接收包括相应强度模型标识符和触摸表征参数的触摸信息。相应强度模型标识符是第一强度模型标识符或第二强度模型标识符。该方法还包括根据触摸表征参数和相应力模型标识符来更新第一软件应用程序的用户界面。

图8a-图8c示出了根据一些实施方案的基于不同的强度模型来处理不同区域中的触摸输入的方法800的流程图。方法800在具有触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。在一些实施方案中,该设备存储第一软件应用程序。在一些实施方案中,该设备包括显示器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法800中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

如下所述,方法800简化了对触摸输入的处理。该方法减轻了软件应用程序的计算负担,由此形成了更有效的电子设备。此外,减小了软件应用程序的大小,由此占据更少的存储空间和存储器。

在一些实施方案中,在检测到第一触摸输入之前,该设备显示(802)包括第一显示区域和第二显示区域的用户界面(例如,第一软件应用程序的用户界面以及第二软件应用程序的用户界面,如图5t中所示)。第一显示区域对应于触敏表面的第一触摸区域,并且第二显示区域对应于触敏表面的第二触摸区域(例如,在图5t中,第一软件应用程序的用户界面对应于触敏表面451上的位置502-a,并且第二软件应用程序的用户界面对应于触敏表面451上的位置502-b),

在一些实施方案中,第一显示区域对应于(804)第一软件应用程序的用户界面,并且第二显示区域对应于第二软件应用程序的用户界面(例如,如图5t中所示)。在一些实施方案中,第一显示区域和第二显示区域都对应于第一软件应用程序(例如,图5s中的图标510-1和电子邮件图标546-7)。

该设备在触敏表面的第一触摸区域上检测(806)第一触摸输入(例如,图5v中的接触522)。

该设备从多个预定义强度模型标识符(例如,如图5w中所示,与具有强度阈值it1、it2和it3等的强度模型对应的强度模型标识符)识别(808)与触敏表面的第一触摸区域相关联的第一强度模型标识符。

响应于在触敏表面的第一触摸区域上检测到第一触摸输入,该设备确定(810)由第一触摸输入在触敏表面的第一触摸区域上施加的第一强度(例如,图5w中接触522的强度)。

根据由第一触摸输入在触敏表面上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值,该设备确定(812)第一触摸表征参数(例如,级、过渡进度或级进度)。

在确定第一触摸表征参数之后,该设备向第一软件应用程序发送(814)第一触摸信息(例如,在图3g中,从接触运动模块130发送触摸信息472)。该第一触摸信息包括第一触摸表征参数。

该设备在触敏表面的第二触摸区域上检测(816,图8b)第二触摸输入(例如,图5y中的接触524)。该触敏表面的第二触摸区域不同于触敏表面的第一触摸区域。

该设备从多个预定义强度模型标识符(例如,如图5y中所示,对应于具有强度阈值it1和it1r的强度模型的强度模型标识符)识别(818)与触敏表面的第二触摸区域相关联的第二强度模型标识符。

响应于在触敏表面的第二触摸区域上检测到第二触摸输入,该设备确定(820)由第二触摸输入在触敏表面的第二触摸区域上施加的第二强度(例如,图5z中接触524的强度)。

根据由第二触摸输入在触敏表面上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值,该设备确定(822)第二触摸表征参数(例如,级、过渡进度或级进度)。

在确定第二触摸表征参数之后,该设备向第一软件应用程序发送(824)第二触摸信息(例如,在图3g中,从接触运动模块130发送触摸信息472)。该第二触摸信息包括第二触摸表征参数。

在一些实施方案中,响应于在触敏表面的第一触摸区域上检测到第一触摸输入,该设备由根据第一触摸输入在触敏表面上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值来生成(826)第一触觉输出(例如,在接触522的强度跨过图5w中的强度阈值it1时生成触觉输出)。响应于在触敏表面的第二触摸区域上检测到第二触摸输入,该设备根据由第二触摸输入在触敏表面上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值来生成第二触觉输出(例如,在接触524的强度跨过图5z中强度阈值it1时生成触觉输出)。

在一些实施方案中,第一触摸区域的至少一部分与第二触摸区域的至少一部分重叠(828,图8c)。例如,如图5aa中所示,第一软件应用程序的用户界面和第二软件应用程序的用户界面至少部分地重叠。因此,对应的触摸区域也至少部分地重叠。

在一些实施方案中,该设备在触敏表面的与第一触摸区域和第二触摸区域的重叠对应的重叠触摸区域上检测(830)第三触摸输入(例如,图5bb中的接触526)。该设备针对重叠的触摸区域在第一强度模型标识符和第二强度模型标识符之间选择强度模型标识符;并响应于在重叠的触摸区域上检测到第三触摸输入,确定由第三触摸输入在触敏表面的重叠触摸区域上施加的第三强度。根据由第三触摸输入在触敏表面的重叠触摸区域上施加的第三强度以及与选择的强度模型标识符相关联的一个或多个阈值,该设备确定第三触摸表征参数(例如,级、过渡进度或级进度)。在确定第三触摸表征参数之后,该设备向第一软件应用程序发送第三触摸信息。该第三触摸信息包括第三触摸表征参数。例如,如果选择第一强度模型(与第一软件应用程序相关联),则基于第一强度模型(例如,图5bb)处理接触526的强度。如果选择第二强度模型(与第二软件应用程序相关联),则基于第二强度模型(例如,图5cc)处理接触526的强度。

在一些实施方案中,第一强度模型标识符和第二强度模型标识符两者与适用于重叠触摸区域的优先级相关联(832),并基于针对重叠触摸区域的第一强度模型标识符的优先级和第二强度模型标识符的优先级来选择强度模型标识符(例如,图3g中的每个相应强度模型456-1、456-2和456-3的优先级489)。在一些实施方案中,明确地分配强度模型的优先级(例如,将优先级存储在专用数据字段中,诸如图3g中的优先级489)。在一些实施方案中,强度模型的优先级由其在强度模型的列表或组内的位置来指示(例如,位于图3g中的强度模型454中的第一位置的强度模型比位于强度模型454中的第二位置的强度模型具有更高的优先级)。

在一些实施方案中,该设备放弃(834)根据第三强度以及与尚未在第一强度模型标识符和第二强度模型标识符之间选择的强度模型标识符相关联的一个或多个阈值来确定触摸表征参数。例如,在图5cc中,根据第一强度模型确定触摸表征参数,该设备放弃根据第二强度模型来确定触摸表征参数。

在一些实施方案中,已针对重叠区域选择(836)第一强度模型标识符。在检测第三触摸输入之后,该设备在触敏表面的重叠区域上检测第四触摸输入(例如,接触528,图5dd)。该设备(例如,基于来自软件应用程序的一个或多个指令)针对重叠触摸区域选择第二强度模型标识符。响应于在重叠触摸区域上检测到第四触摸输入,该设备确定由第四触摸输入在触敏表面的重叠触摸区域上施加的第四强度。根据由第四触摸输入在触敏表面的重叠触摸区域上施加的第四强度以及与第二强度模型标识符相关联的一个或多个阈值,该设备确定第四触摸表征参数(例如,图5ee中接触528的强度级、级进度值、和/或过渡进度值)。在确定触摸表征参数之后,该设备向第一软件应用程序发送第四触摸信息。该第四触摸信息包括第四触摸表征参数。

应当理解,对图8a至-图8d中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、750、900、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文相对于图8a-图8d描述的方法800。例如,以上参考方法800所述的触摸表征参数任选地具有参考本文所述的其他方法(例如,方法600、650、700、750、900、1000、1100和1200)所述的触摸表征参数的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

另外,本领域的普通技术人员将认识到根据上述教导内容,许多修改和变型是可能的。

例如,在一些实施方案中,在具有触敏表面的电子设备处执行一种方法。该电子设备包括用于检测与触敏表面的接触的强度的一个或多个传感器(例如,触敏表面包括用于检测与触敏表面的接触的强度的一个或多个传感器),并且该电子设备存储第一软件应用程序。在一些实施方案中,触敏表面与显示器集成。在一些实施方案中,触敏表面与显示器是分开的。该方法包括显示包括第一显示区域和不同于第一显示区域的第二显示区域的用户界面,在显示用户界面时,在触敏表面上的与第一显示区域对应的位置处检测第一触摸输入(例如,在用户界面中的第一显示区域上方显示光标时)。该方法还包括响应于在触敏表面上的与第一显示区域对应的位置处检测到第一触摸输入,确定由第一触摸输入在触敏表面上施加的第一强度;根据由第一触摸输入在触敏表面上施加的第一强度以及与第一显示区域相关联的第一组一个或多个阈值,确定第一触摸表征参数(例如,级、过渡进度或级进度);以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息。该第一触摸信息包括第一触摸表征参数。该方法还包括在触敏表面上的与第二显示区域对应的位置处检测第二触摸输入;以及响应于在触敏表面上的与第二显示区域对应的位置处检测到第二触摸输入,确定由第二触摸输入在触敏表面上施加的第二强度;根据由第二触摸输入在触敏表面上施加的第二强度以及与第二显示区域相关联的一个或第二组多个阈值,确定第二触摸表征参数(例如,级、过渡进度或级进度);以及在确定第二触摸表征参数之后,向第一软件应用程序发送第二触摸信息。该第二触摸信息包括第二触摸表征参数。

图9a-图9d示出了根据一些实施方案的基于基于位置的强度模型来处理触摸输入的方法900的流程图。方法900在具有触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。在一些实施方案中,该设备包括显示器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法900中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

如下所述,方法900简化了对触摸输入的处理。该方法减轻了软件应用程序的计算负担,由此形成了更有效的电子设备。此外,减小了软件应用程序的大小,由此占据更少的存储空间和存储器。

该设备在触敏表面上检测(902)触摸输入(例如,图5ff中的接触536或图5hh中的接触538)。

响应于检测到触摸输入,该设备根据确定触摸输入位于触敏表面上的与多个不同强度模型中的第一强度模型相关联的位置处,根据由触摸输入在触敏表面上施加的强度以及第一强度模型来处理(904)触摸输入(例如,而无需根据第二强度模型来处理触摸输入)。该设备根据确定触摸输入位于触敏表面上的与不同于第一强度模型的第二强度模型相关联的位置处,根据由触摸输入在触敏表面上施加的强度以及第二强度模型来处理(906)触摸输入(例如,而无需根据第一强度模型来处理触摸输入)。例如,在图5ff中,根据确定在区域542中检测到接触536,基于第一强度模型来处理接触536(而无需基于与区域534-8相关联的第二强度模型来处理接触536)。在图5hh中,根据确定在区域534-8中检测到接触538,基于第二强度模型来处理接触538(而无需基于与区域542相关联的第一强度模型来处理接触538)。

在一些实施方案中,该设备根据由触摸输入施加的强度来处理(908)触摸输入,并且第一强度模型包括向用户界面应用程序(例如,第一软件应用程序)提供接触强度信息,而无需生成针对触摸输入的触觉输出(例如,向图3g中的应用程序136提供图5ff中的接触536的级进度值,以用于确定图形元素诸如笔画的宽度,并针对区域542中的接触来抑制触觉输出)。根据由触摸输入施加的强度以及第二强度模型来处理触摸输入包括针对触摸输入来有条件地生成触觉输出(例如,在图5hh中,在强度跨针对区域534-8的特定强度阈值时生成触觉输出)。

在一些实施方案中,在触摸输入期间,该电子设备(910,图9b)在触敏表面上检测归因于触摸输入的相应强度的施加。根据由触摸输入在触敏表面上施加的强度以及第一强度模型来处理触摸输入包括向用户界面应用程序提供第一触摸输入状态信息,该第一触摸输入状态信息指示触摸输入已在触敏表面上施加相应强度,而无需针对触摸输入来生成触觉输出(例如,向图3g中所示的应用程序136提供图5ff中的接触536的级进度值,以用于确定图形元素诸如笔画的宽度,并针对区域542中的接触来抑制触觉输出)。根据由触摸输入在触敏表面上施加的强度以及第二强度模型来处理触摸输入包括向用户界面应用程序提供第二触摸输入状态信息,该第二触摸输入状态信息指示触摸输入已在触敏表面上施加相应强度并且针对触摸输入来生成触觉输出(例如,图5hh中接触538的级进度值、过渡进度值,或已激活对应用户界面元素的离散指示)。

在一些实施方案中,第一触摸输入状态信息包括(912)触摸输入的强度的连续可变表示(例如,随着触摸输入的强度变化而改变的值,诸如级进度值或过度进度值)。第二触摸输入状态信息包括触摸输入的强度在与用户界面元素的激活对应的值范围内的指示,该用户界面元素对应于触敏表面上的与第二强度模型相关联的位置(例如,只要触摸输入的强度维持在预定义强度值范围内,便不会随着触摸输入的强度的变化而改变并指示是否已选择按钮或其他示能表示的离散指示)。

在一些实施方案中,该设备在触敏表面的第一触摸区域(例如,非触觉反馈区域)上检测(914)第一触摸输入(例如,图5ff中的接触536)。该设备还从多个预定义强度模型标识符识别与触敏表面的第一触摸区域相关联的第一强度模型标识符(例如,第一强度模型标识符对应于第一强度模型)。响应于在触敏表面第一触摸区域上检测到第一触摸输入,该设备确定由第一触摸输入在触敏表面第一触摸区域上施加的第一强度;以及根据由第一触摸输入在触敏表面上施加的第一强度以及第一强度模型标识符来处理第一触摸输入,并放弃针对第一触摸输入来生成触觉输出(例如,在图5gg中显示与接触536的移动对应的图形元素)。该设备在触敏表面的第二触摸区域(例如,触觉反馈区域)上检测第二触摸输入(例如,图5hh中的接触538)。该触敏表面的第二触摸区域不同于触敏表面的第一触摸区域。该设备从多个预定义强度模型标识符识别与触敏表面的第二触摸区域相关联的第二强度模型标识符(例如,第二强度模型标识符对应于第二强度模型)。响应于在触敏表面的第二触摸区域上检测到第二触摸输入,该设备确定由第二触摸输入在触敏表面的第二触摸区域上施加的第二强度;以及根据由第二触摸输入在触敏表面上施加的第二强度和第二强度模型标识符,处理第二触摸输入(例如,向文档中插入对应字符,如图5hh中所示),并且根据第二触摸输入和与第二强度模型标识符相关联的一个或多个模型参数针对第二触摸输入来有条件地生成触觉输出(例如,第二强度模型中的一个或多个模型参数)。

在一些实施方案中,针对第二触摸输入来有条件地生成触觉输出包括(916,图9c)根据确定第二触摸输入未能满足与和第二强度模型标识符相关联的一个或多个模型参数对应的一个或多个标准,放弃针对第二触摸输入来生成触觉输出。例如,在一些实施方案中,在触摸输入不跨强度阈值时,不生成触觉输出。

在一些实施方案中,第一强度模型标识符指示(918)将不在触敏表面的第一触摸区域上针对触摸输入来生成触觉输出。

在一些实施方案中,该电子设备存储(920)第一软件应用程序,并且在电子设备显示第一软件应用程序的用户界面(例如,如图5ff-图5jj中所示,文字处理软件应用程序的用户界面)时,检测第一用户输入和第二用户输入。

在一些实施方案中,第一软件应用程序的用户界面包括(922)手写输入工具区域(例如,字符输入工具区域)(例如,图5ff中的手写输入工具区域540)。在一些实施方案中,手写输入工具区域与第一软件应用程序的用户界面不同,并且手写输入工具区域覆盖第一软件应用程序的用户界面(例如,文字处理软件应用程序的用户界面)。在一些实施方案中,手写输入工具区域与第一软件应用程序的用户界面分开。

在一些实施方案中,手写输入工具区域包括(924)多个选择区域,并且一个或多个选择区域中的至少相应选择区域对应于触敏表面的第二触摸区域(例如,触觉反馈区域)。例如,在图5jj中,选择区域532-1对应于触摸区域534-1。在一些实施方案中,一个或多个选择区域共同对应于第二触摸区域。

在一些实施方案中,手写输入工具区域包括(926)手写输入区域,并且该手写输入区域对应于触敏表面的第一触摸区域(例如,潜在的非触觉反馈区域)。例如,在图5ff中,手写输入区域530对应于区域542。

在一些实施方案中,响应于在触敏表面的第一触摸区域上检测到第一触摸输入,该设备根据第一触摸输入来在手写输入区域中显示(928)一个或多个图形元素(例如,笔画,诸如图5gg中的544)。

在一些实施方案中,响应于在触敏表面的第一触摸区域(例如,潜在的非触觉反馈区域)上检测到第一触摸输入,该设备在多个选择区域中显示(930,图9d)多组字符(例如,图5gg中选择区域532-5到532-8中的字符)。基于手写输入区域中的一个或多个所显示的图形元素来选择相应组字符,并且在相应选择区域中显示相应组字符(例如,与所显示的笔画对应的字符,诸如汉语、韩语和日语字符)。响应于在与相应选择区域对应的位置处在触敏表面的第二触摸区域上检测到第二用户输入,该设备选择相应组字符(例如,在图5hh中,响应于区域534-8中的接触538,选择对应选择区域532-8中的字符)。在一些实施方案中,响应于在与相应选择区域对应的位置处在触敏表面的第二触摸区域上检测到第二用户输入并在选择相应组字符之后,该设备在第一软件应用程序的用户界面中的除手写输入工具区域之外处显示相应一组字符(例如,在图5hh中,响应于区域534-8上的接触538,向文档中插入对应选择区域532-8中的字符)。

在一些实施方案中,处理在触敏表面的第一触摸区域上检测到的第一触摸输入包括(932)确定第一触摸输入已满足绘图强度阈值;并且根据确定第一触摸输入已超过绘图强度阈值,根据第一触摸输入来在手写输入区域中显示一个或多个图形元素。一个或多个图形元素中的相应图形元素的第一终端区域对应于已确定第一触摸输入满足绘图强度阈值的位置。例如,如图5ii中所示,响应于接触536的强度满足绘图强度阈值itd,发起图形元素的绘制。

在一些实施方案中,处理在触敏表面的第一触摸区域上检测到的第一触摸输入包括(934)在继续在触敏表面上检测第一触摸输入时,继续根据第一触摸输入来更新手写输入区域中的一个或多个图形元素,而不管第一触摸输入是否已停止满足绘图强度阈值。例如,如图5ii中所示,一旦发起图形元素的绘制,即使接触536的强度下降到绘图强度阈值以下,也继续绘图。

在一些实施方案中,处理在触敏表面的第一触摸区域上检测到的第一触摸输入包括(936)检测到已停止在触敏表面上检测第一触摸输入并检测到第一触摸输入已在停止在触敏表面上检测第一触摸输入之后的预定义时间间隔内恢复与触敏表面接触。处理第一触摸输入还包括响应于第一触摸输入在停止在触敏表面上检测第一触摸输入之后的预定义时间间隔内恢复与触敏表面接触,根据第一触摸输入来更新手写输入区域中的一个或多个图形元素。例如,如图5jj中所示,即使在遵循触敏表面451上的路径时接触536中断与触敏表面451接触,并且后续接触544继续该路径,也将接触536和接触544的路径作为单个路径进行处理。

应当理解,对图9a-图9d中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、750、800、1000、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文参考图9a-图9d描述的方法900。例如,以上参考方法900所述的强度模型任选地具有参考本文所述的其他方法(例如,方法600、650、700、750、800、1000、1100和1200)所述的强度模型的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

图10a-图10d示出了根据一些实施方案基于触摸输入的锁定处理触摸输入的方法1000的流程图。方法1000在具有触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的电子设备(例如,图3a或图3b中的设备300,或者图1a中的便携式多功能设备100)处执行。该设备存储第一软件应用程序。在一些实施方案中,该设备包括显示器。在一些实施方案中,显示器是触摸屏显示器,并且触敏表面在显示器上或与显示器集成。在一些实施方案中,显示器与触敏表面是分开的。方法1000中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。

如下所述,方法1000简化了对触摸输入的处理。该方法减轻了软件应用程序的计算负担,由此形成了更有效的电子设备。此外,减小了软件应用程序的大小,由此占据更少的存储空间和存储器。

该设备显示(1002)包括两个或更多个显示区域的用户界面,该两个或更多个显示区域包括第一显示区域和第二显示区域(例如,图5kk中的图标510-1和电子邮件图标546-7)。

在显示用户界面时,该设备检测(1004)由触摸输入在触敏表面上的与第一显示区域对应的第一位置处施加的第一强度(例如,图5ll中接触548的强度)。

在一些实施方案中,响应于检测到由触摸输入施加的第一强度,该设备根据与第一显示区域相关联的一个或多个强度阈值来处理(1006)第一强度(例如,在图5ll中,根据与图标510-1相关联的强度阈值来处理接触548的强度)。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第一强度包括(1008)显示与由触摸输入施加的强度从先前强度到第一强度的变化对应的动画(例如,从检测到第一强度之前检测的强度到第一强度)(例如,图5mm中将图标510-1从视觉上区分开)。例如,该设备显示用于指示用户正在与第一显示区域中的特定控件进行交互的锁定前动画,诸如接近焦点选择器的第一显示区域中的第一按钮外观的变化。任选地以取决于接触的强度的变化率或接触的强度的量值的速率来呈现该锁定前动画,以便向用户提供关于他们朝向激活按钮或锁定到按钮上的进度的反馈。

该设备检测(1010)触摸输入跨触敏表面的从触敏表面上的第一位置到触敏表面上的与第二显示区域对应的第二位置的移动(例如,在第一显示区域上方显示光标时)(例如,图5nn中接触548的移动)。在一些实施方案中,在检测到由触摸输入在第一位置处施加的第一强度之后,检测触摸输入跨触敏表面的从触敏表面上的第一位置到触敏表面上的第二位置的移动。

在一些实施方案中,响应于检测到触摸输入的从触敏表面上的第一位置到触敏表面上的第二位置的移动,该设备显示(1012)与由触摸输入施加的强度的变化对应的动画(例如,从检测到第一强度之前检测的强度到第一强度)。例如,该设备显示,用于指示用户正在与第二显示区域中的特定控件进行交互的锁定前动画,诸如接近焦点选择器的第二显示区域中第二按钮外观的变化。任选地,以独立于接触强度的变化速率的速率来呈现该锁定前动画,从而使动画保持在激活前动画中的与当前接触的强度对应的当前点。

在检测到触摸输入从触敏表面上的第一位置到触敏表面上的第二位置的移动之后,该设备检测(1014)由触摸输入在触敏表面上的第二位置处施加的第二强度(例如,图5oo中接触548的强度)。

响应于检测到由触摸输入在触敏表面的第二位置处施加的第二强度,该设备根据确定第一强度不满足第一强度阈值(例如,锁定强度阈值),根据与第二显示区域相关联的一个或多个强度阈值来处理(1016,图10b)第二强度(例如,在图5pp中,基于与电子邮件图标546-7相关联的强度阈值来处理接触548)。

在一些实施方案中,该第一强度阈值不同于(1018)激活强度阈值。在一些实施方案中,该设备在触敏表面上的与第一显示区域对应的位置处检测触摸输入;并响应于检测到该触摸输入,确定由触摸输入在触敏表面上施加的强度。根据确定由触摸输入在触敏表面上施加的强度满足激活强度阈值,该设备发起对第一软件元素的激活(例如,向第一软件元素发送一个或多个指令,以激活第一软件元素)。

在一些实施方案中,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度包括(1020)显示与由触摸输入在触敏表面上施加的强度的变化对应的动画(例如,从第一强度到第二强度)。例如,该设备在第二显示区域中显示用于指示如果接触强度增大到高于按钮激活强度阈值则将激活第二显示区域中的按钮的与用户界面元素对应的激活前动画,诸如按钮按压动画。任选地以取决于接触的强度的变化速率或接触的强度的量值的速率来呈现该激活前动画,以便向用户提供关于他们朝向激活按钮的进度的反馈。

在一些实施方案中,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度包括(1022)激活与第二显示区域相关联的第二控件(例如,在接触满足激活标准时,该激活标准包括在接触超过针对第二控件的激活强度阈值时满足的标准)。

响应于检测到由触摸输入在触敏表面的第二位置处施加的第二强度,该设备根据确定第一强度满足第一强度阈值,根据与第一显示区域相关联的一个或多个强度阈值来处理(1024)第二强度(例如,在图5ss中,基于与图标510-1相关联的强度阈值来处理接触548)。

在一些实施方案中,与第一显示区域相关联的一个或多个强度阈值不同于(1026,图10c)与第二显示区域相关联的一个或多个强度阈值(例如,第一显示区域和第二显示区域两者与不同的强度模型相关联)。

在一些实施方案中,与第一显示区域相关联的一个或多个强度阈值与(1028)和第二显示区域相关联的一个或多个强度阈值相同(例如,第一显示区域和第二显示区域两者与相同的强度模型相关联)。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度包括(1030)显示与由触摸输入在触敏表面上施加的强度的变化对应的动画(例如,从第一强度到第二强度)。例如,该设备在第一显示区域中显示用于指示如果接触强度增大到高于按钮激活强度阈值则将激活第一显示区域中的按钮的与用户界面元素对应的激活前动画,诸如按钮按压前动画。任选地以取决于由触摸输入施加的强度的变化速率或由触摸输入施加的强度的量值的速率来呈现该激活前动画,以便向用户提供关于他们朝向激活按钮的进度的反馈。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度包括(1032)激活与第一显示区域相关联的第一控件(例如,在接触满足激活标准时,该激活标准包括在接触超过针对第二控件的激活强度阈值时满足的标准)。

在一些实施方案中,该设备根据确定第一强度满足不同于第一强度阈值的报告强度阈值,向第一软件应用程序发送(1034,图10b)第一触摸信息。第一触摸信息包括与第一强度对应的一个或多个触摸参数。在一些实施方案中,第一强度阈值需要比报告强度阈值更高的强度。在一些实施方案中,该方法包括根据确定第一强度不满足报告强度阈值,放弃发送第一触摸信息。该设备根据确定第二强度满足报告强度阈值来向第一软件应用程序发送第二触摸信息。第二触摸信息包括与第二强度对应的一个或多个触摸参数。

在一些实施方案中,两个或更多个显示区域中的第一显示区域与第一软件应用程序的第一软件元素相关联(1036,图10d),并且两个或更多个显示区域中的第二显示区域与第二软件应用程序的第二软件元素相关联。

在一些实施方案中,根据确定第一强度不满足第一强度阈值(例如,在第一显示区域上未锁定),向第二软件元素发送(1038)第二触摸信息,而无需向第一软件元素发送第二触摸信息。

在一些实施方案中,根据确定第一强度满足第一强度阈值(例如,在第一显示区域上锁定),向第一软件元素发送(1040)第二触摸信息,而无需向第二软件元素发送第二触摸信息。

在一些实施方案中,根据确定第一强度满足报告强度阈值,向第一软件元素发送(1042)第一触摸信息。在一些实施方案中,向第一软件元素发送第一触摸信息,而无需向第二软件元素发送第一触摸信息。

在一些实施方案中,响应于检测到触摸输入,该设备在第一强度满足第一强度阈值之前根据第一触摸信息使用第一软件应用程序来更新(1044,图10b)用户界面。在一些实施方案中,根据第一触摸信息使用第一软件应用程序来更新用户界面包括显示用于指示检测到触摸输入的动画。例如,可使用该动画来通知用户实现锁定所需的强度。在一些实施方案中,根据第一触摸信息使用第一软件应用程序来更新用户界面包括显示用于指示由触摸输入在触敏表面上施加的强度增大和/或减小的动画。

应当理解,对图10a-图10d中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、750、800、900、1100和1200)描述的其他过程的细节同样以类似的方式适用于上文参考图10a-图10d描述的方法1000。例如,以上参考方法1000所述的强度阈值任选地具有参考本文所述的其他方法(例如,方法600、650、700、750、800、900、1100和1200)所述的强度阈值的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。

图11a-图11c是示出了由电子设备执行以用于在与电子设备进行通信的多个输入设备之间路由触觉输出的的方法1100的流程图。在一些实施方案中,该电子设备包括一个或多个输入设备(例如,触摸屏显示器或触控板)。如下所述,该方法1100向与从其接收用于触发由电子设备执行的应用程序所进行的反应的输入的输入设备相同的输入设备提供在本文被称为触觉输出的触觉反馈。该方法使得能够和/或促进对可在其那里生成触觉输出的多个输入设备的使用,并使得可由电子设备执行的宽范围的应用程序能够使用触觉反馈。该方法还通过提供触觉反馈减轻了在结合应用程序执行操作时的用户的认知负担,该触觉反馈促进了对电子设备以及应用程序的高效使用,由此形成更有效的人机界面。对于电池驱动的电子设备,使用户能够更快且更有效地根据所选择的操作模式来执行操作,这节省了功率并且增加了电池两次充电之间的时间间隔。

任选地但典型地,该设备在作为设备的一部分或与设备进行通信的显示器上显示(1102)电子设备的用户界面。图5a-图5s中示出了由电子设备显示此类用户界面的示例。在一些实施方案中,用户界面包括具有第一显示区域和第二显示区域的两个或更多个显示区域。典型地,在执行方法1100的整个过程中,继续显示用户界面,但例如响应于电子设备用户的输入,用户界面的内容可改变。此外,该设备与多个输入设备进行通信,该多个输入设备包括被配置为响应于输入来生成触觉输出的第一输入设备(例如,具有第一触敏表面的第一输入设备,该第一触敏表面包括器用于检测与第一触敏表面的接触的强度的一个或多个传感)和被配置为生成触觉输出的第二输入设备(例如,第二输入设备具有第二触敏表面,该第二触敏表面包括用于检测与第二触敏表面的接触强度的一个或多个传感器)。第一输入设备的非限制性示例是触控板和触敏显示器,并且第二输入设备的非限制性示例是触控板和触敏显示器。

该设备接收(1104)对由多个输入设备中的相应输入设备检测到的输入的指示。在一些实施方案中,触摸输入可以是人的手指作出的手指触摸输入或触笔触摸输入。响应于接收到对输入的指示,该设备向运行在该设备上的应用程序提供(1106)用于描述输入的信息,使得应用程序能够对输入作出反应。例如,向应用程序提供用于指定一个或多个接触的移动(如果有的话)、位置、强度等的触摸事件。在一些实施方案中,向应用程序提供的触摸事件包括多个列表,诸如以下列表中的一个或多个列表:由与该设备进行通信的输入设备当前检测到的所有触摸的列表、与应用程序的特定视图相关联的所有触摸的列表、以及变化的触摸的列表,包括自从向应用程序提供先前触摸事件以后至少一个参数或方面(例如,位置和/或强度)已改变的触摸。

该设备接收(1108)对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应。例如,在一些环境中,该输入包括(1110)横向移动,而应用程序的反应包括跨显示器来移动图形用户界面对象。

响应于接收到对来自应用程序的输入的反应,该设备使得(1112)生成相应触觉输出。更具体地,根据确定(1114)该反应由第一输入设备触发,基于对来自该应用程序的输入的反应来在第一输入设备(例如,触摸屏显示器340,图3b)处生成相应触觉输出;以及根据确定(1116)该反应由第二输入设备(例如,触控板332,图3b)触发,基于对来自该应用程序的输入的反应来在第二输入设备处生成相应触觉输出。

在一些实施方案中,响应于接收到对来自应用程序的输入的反应,该设备确定(1118)多个输入设备中的哪个输入设备触发来自应用程序的反应。例如,在图3b的上下文中,其包括触控板332和触敏显示器340两者,该设备确定触控板和触敏显示器中的哪一者触发来自应用程序的反应。在一些实施方案中,该确定是由应用程序作出的。例如,在一些环境中,可从两个或更多个输入设备同时或在重叠时间段期间接收输入,并且该应用程序可确定哪个输入设备触发反应。继续该示例,来自输入设备中的一个输入设备的输入可由该应用程序用于选择操作模式或选择选项,而来自输入设备中的另一个输入设备的输入触发反应,并且该应用程序作出该确定。

更具体地并与上文所述一致,在一些实施方案中,在第一输入设备触发反应时,在第一输入设备处生成(1120)触觉输出,而无需使得在第二输入设备处生成任何触觉输出,并且在第二输入设备触发反应时,在第二输入设备处生成(1122)触觉输出,而无需使得在第一输入设备处生成任何触觉输出。

在一些实施方案中,描述输入的信息包括(1124)针对相应设备的相应标识符,对输入的反应包括针对相应设备的相应标识符,并且确定反应由第一输入设备触发包括确定(1126)相应标识符是针对第一输入设备的标识符。类似地,确定反应由第二输入设备触发包括确定(1128)相应标识符是针对第二输入设备的标识符。此外,在一些实施方案中,相应标识符是(1130)描述输入的输入事件(例如,触摸事件)的一部分。因此,在此类实施方案中,初始处理来自输入设备的输入并生成或使得生成触觉输出的模块以及对此类输入作出响应的应用程序针对与该设备进行通信的每个输入设备来利用不同的标识符。在一些实施方案中,这促进了将触觉反馈路由到被确定触发来自应用程序的反应的输入设备(例如,参见1118)。

在一些实施方案中,该设备被配置为(1132)根据一个或多个强度模型而使得响应于输入设备上的接触的强度的变化而在多个输入设备处生成触觉输出。例如,上文参考方法600、700、800、900和1000更详细地描述了这种情况。此外,在一些环境中,生成(1134)相应触觉输出,而无需参考一个或多个强度模型。下文是此类环境的非限制性示例组。在一个示例中,由应用程序请求的触觉反馈对触觉输入的横向移动进行响应,其将一个对象移动到与另一个对象相邻、接近、在上方或部分在上方,并且触觉反馈涉及横向移动,但不涉及与触觉输入对应的接触的强度。在无需参考一个或多个强度模型的情况下生成相应触觉输出的另一个示例是导致该应用程序调节对象的位置的触摸输入的移动,例如将对象“猛吸”到由网格或导向件限定的水平位置和/或垂直位置。在无需参考一个或多个强度模型的情况下生成相应触觉输出的另一个示例是违反预定义规则或条件的触摸输入的移动(例如,被应用程序解释为将对象移动到另一个对象上方的指令的触摸输入的移动,违反规则),或者满足预定义规则或条件的移动(例如,被应用程序解释为将对象移动到另一个对象上方的指令的触摸输入的移动,由此发起或启用动作,诸如将对象添加到集合,改变被移动对象或另一对象的属性等。)

应当理解,对图11a-图11c中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、750、800、900、1000和1200)描述的其他过程的细节同样以类似的方式适用于上文参考图11a-图11c描述的方法1100。例如,上文参考方法1100所描述的接触、用户界面对象、触觉输出、强度阈值和焦点选择器任选地具有本文中参考本文描述的其他方法(例如,方法600、650、700、750、800、900、1000和1200)所描述的接触、用户界面对象、触觉输出、强度阈值和焦点选择器的一个或多个特征。为了简明起见,此处不再重复这些细节。

图12a-图12c是示出了由与被配置为响应于输入来生成触觉输出的一个或多个输入设备进行通信的电子设备执行的方法1200的流程图,其中该设备根据确定尚未满足触觉输出标准,有条件地取消或放弃生成与来自应用程序的反应对应的触觉输出。该触觉输出标准包括在输入时间少于输出时间之前预定量时间时满足的标准(有时称为定时标准或延迟标准)。在一些实施方案中,该电子设备包括一个或多个输入设备(例如,触摸屏显示器或触控板)。

方法1200使得能够和/或促进使用可为其生成触觉输出的复杂应用程序,并使得可由电子设备执行的宽范围的应用程序能够使用触觉反馈。该方法还通过向触觉反馈将直观有意义的环境提供对触觉反馈的供应的限制并在触觉反馈可能对用户导致混淆甚至提供错误信息(由于导致应用程序反应的输入和会生成触觉输出的时间之间的延迟)的环境中放弃提供触觉反馈,而减轻了在结合应用程序执行操作时用户的认知负担。

在非限制性示例中,由应用程序针对输入来生成反应可被以下各项中的一者或多者延迟:连接性问题、在同一设备或另一设备上执行的停滞处理、对另一应用程序或模块的失败过程调用或潜在大量环境中的任一种环境。在至少一些情况下,在延迟导致由相应输入设备检测到输入的输入时间和应用程序反应的输出时间之间的时间差超过预先确定的时间量时,该方法放弃生成与来自应用程序的反应对应的触觉输出。

因此,方法1200促进了高效使用电子设备和应用程序,由此形成了更有效的人机界面。对于电池驱动的电子设备,使用户能够更快且更有效地根据所选择的操作模式来执行操作,这节省了功率并且增加了电池两次充电之间的时间间隔。

任选地但典型地,该设备在作为设备一部分或与设备进行通信的显示器上显示(1202)电子设备的用户界面。图5a-图5s中示出了由电子设备显示此类用户界面的示例。在一些实施方案中,用户界面包括具有第一显示区域和第二显示区域的两个或更多个显示区域。典型地,在执行方法1200的整个过程中,继续显示用户界面,但例如响应于电子设备用户的输入,用户界面的内容可改变。此外,该设备与多个输入设备进行通信,该多个输入设备包括被配置为响应于输入来生成触觉输出的第一输入设备(例如,具有第一触敏表面的第一输入设备,该第一触敏表面包用于检测与第一触敏表面的接触的强度的括一个或多个传感器)和被配置为生成触觉输出的第二输入设备(例如,第二输入设备具有第二触敏表面,该第二触敏表面包括用于检测与第二触敏表面的接触的强度的)一个或多个传感器。一个或多个输入设备的输入设备的非限制性示例是触控板或触敏显示器。

该设备接收(1204)对由一个或多个输入设备中的相应输入设备检测到的输入的指示。在一些实施方案中,触摸输入可以是人的手指作出的手指触摸输入或触笔触摸输入。响应于接收到对输入的指示,该设备向运行在该设备上的应用程序提供(1206)用于描述输入的信息,使得应用程序能够对输入作出反应。例如,向应用程序提供用于指定一个或多个接触的移动(如果有的话)、位置、强度等的触摸事件。在一些实施方案中,向应用程序提供的触摸事件包括多个列表,诸如以下列表中的一个或多个列表:由与该设备进行通信的输入设备当前检测到的所有触摸的列表、与应用程序的特定视图相关联的所有触摸的列表、以及变化的触摸的列表,包括自从向应用程序提供先前触摸事件以后至少一个参数或方面(例如,位置和/或强度)已改变的触摸。

该设备接收(1208)对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应。例如,在一些环境中,该输入包括移动,并且对应用程序的反应包括跨显示器来移动图形用户界面对象。

响应于接收到对来自应用程序的输入的反应,该设备执行(1210)一组操作,包括将针对反应的输入时间与针对反应的输出时间比较(1212),其中针对反应的输入时间对应于由相应输入设备检测到输入的时间,并且针对反应的输出时间对应于与反应对应的触觉输出被配置为在相应输入设备处生成的时间。换句话讲,该比较操作将针对由相应输入设备检测到的输入的输入时间与针对反应的输出时间进行比较。由设备执行的该组操作还包括确定(1214)是否满足触觉输出标准,其中触觉输出标准包括在输入时间少于输出时间之前的预先确定量的时间时满足的标准,根据确定已满足触觉输出标准,在相应输入设备处,使得生成(1216)与来自该应用程序的反应对应的触觉输出,以及根据确定尚未满足触觉输出标准,放弃在相应输入设备处生成(1218)与来自应用程序的反应对应的触觉输出。在一些实施方案中,该触觉输出标准还包括触觉输出路由标准,以使得能够在检测到使得触觉输出将被生成的输入的设备处生成触觉输出(例如,如上文参考方法1100更详细所述)。

在一些实施方案中,响应于从相应输入设备接收到对输入的指示,由设备存储(1222)针对反应的输入时间(例如,针对由相应输入设备检测到的输入的输入时间)。因此,该设备监视输入时间,以确保在相应输入设备处不生成旧的触觉输出。

在一些实施方案中,针对反应的输入时间与对输入的响应是从应用程序接收(1220)的(例如,由相应输入设备检测到的针对输入的输入时间)。因此,在这些实施方案中,该应用程序监视输入时间并向设备提供输入时间信息,以确保在相应输入设备处不生成旧的触觉输出。

在一些实施方案中,针对反应的输出时间是(1224)针对反应的触觉输出将由设备调度的时间。因此,在至少一些此类实施方案中,该输出时间是不久将来的经计算的不久将来的时间,为将生成触觉输出的时间、或安排要生成触觉输出的时间。后面的时间未必相同,因为在一些实施方案中,实际的触觉输出生成时间可能不是完全可预测或可安排的。

在一些实施方案中,针对反应的输出时间是(1226)该应用程序请求在相应输入设备处生成触觉输出的时间。在这些实施方案中,输出时间由该应用程序张贴、转移或以其他方式传送其生成触觉输出的请求的时间来确定。

在一些实施方案中,该设备被配置为(1230)根据一个或多个强度模型来使得响应于输入设备上的接触的强度的变化而在多个输入设备处生成触觉输出。例如,上文参考方法600、700、800、900和1000更详细地描述了这种情况。此外,在一些环境中,生成(1234)相应触觉输出,而无需参考一个或多个强度模型。上文相对于方法1100的操作1132描述了此类环境的非限制性组示例。

在一些实施方案中,用于确定是否已满足触觉输出标准的预先确定量的时间在正常操作模式中具有第一值,并且在可访问性操作模式中具有大于第一值的第二值。在这些实施方案中,在可访问性模式中,对用户输入的更慢反应时间可被接受,因为响应于一个或多个输入设备处的用户输入,触觉输出更慢。

应当理解,对图12a-图12c中的操作进行描述的特定顺序仅仅是示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600、650、700、750、800、900、1000和1100)描述的其他过程的细节同样以类似的方式适用于上文参考图12a-图12c描述的方法1200。例如,上文参考方法1200所描述的接触、用户界面对象、触觉输出、强度阈值和焦点选择器任选地具有本文中参考本文描述的其他方法(例如,方法600、650、700、750、800、900、1000和1100)所描述的接触、用户界面对象、触觉输出、强度阈值和焦点选择器的一个或多个特征。为了简明起见,此处不再重复这些细节。

上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1a和图3a-图3b所描述)或特定于应用程序的芯片。

根据一些实施方案,图13示出根据各种所述实施方案的原理进行配置的一种电子设备1300的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件、固件或它们的组合来实现。本领域的技术人员应当理解,图13中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图13中所示,电子设备1300包括:被配置为接收接触的触敏表面单元1304;以及被配置为检测与触敏表面单元1304的接触的强度的一个或多个传感器单元1306。该处理单元1308与触敏表面单元1304和一个或多个传感器单元1306耦接。在一些实施方案中,电子设备1300包括被配置为显示用户界面的显示单元1302,并且处理单元1308与该显示单元1302耦接。在一些实施方案中,该处理单元1310包括检测单元1310、确定单元1312、识别单元1314、触摸输入处理单元1316、发送单元1318、和重复单元1320。

该处理单元1308被配置为:检测触敏表面单元1304上的触摸输入(例如,利用检测单元1310和/或触敏表面单元1304);响应于在触敏表面单元1304上检测到触摸输入,确定触敏表面单元1304上的触摸输入的强度(例如,利用确定单元1312、触敏表面单元1304和/或传感器单元1306);以及根据触敏表面单元1304上的触摸输入的强度以及一个或多个预选的强度阈值,确定触摸输入的强度级(例如,利用确定单元1312),其中触摸输入的强度级是从多个预定义强度级选择的;并基于触摸输入的强度级来处理触摸输入(例如,利用触摸输入处理单元1316)。

在一些实施方案中,该电子设备1300存储第一软件应用程序,并且触摸输入的强度级是由与第一软件应用程序不同且分开的接触强度模块来确定的。

在一些实施方案中,该处理单元1308被配置为从接触强度模块向第一软件应用程序发送用于识别触摸输入的强度级的触摸信息(例如,利用发送单元1318)。

在一些实施方案中,该该处理单元1308被配置为从接触强度模块发送用于指示触摸输入的强度可用于第一软件应用程序的信息(例如,利用发送单元1318)。

在一些实施方案中,在触敏表面单元1304上检测触摸输入时,该处理单元1308被配置为重复用于确定触摸输入的强度、确定触摸输入的强度级、以及发送触摸信息的操作(例如,利用重复单元1320、确定单元1312、发送单元1318和/或触敏表面单元1304)。

在一些实施方案中,该处理单元1308被配置为基于与所确定的强度级相关联的强度范围来确定触摸输入的一个或多个基于强度的进度值(例如,利用确定单元1312);以及(向第一软件应用程序发送触摸信息例如,利用发送单元1318),其中该触摸信息包括触摸输入的一个或多个基于强度的进度值以及势识别触摸输入的强度级的信息。

在一些实施方案中,触摸输入的一个或多个基于强度的进度值包括触摸输入的过渡进度值。

在一些实施方案中,触摸输入的一个或多个基于强度的进度值包括触摸输入的级进度值。

在一些实施方案中,该处理单元1308被配置为响应于检测到触摸输入,确定由触摸输入在触敏表面单元1304上施加的第一强度(例如,利用确定单元1312);根据确定由触摸输入在触敏表面单元1304上施加的第一强度不满足针对第二强度级的级激活强度阈值,确定该触摸输入处于与第二强度级不同的第一强度级中(例如,利用确定单元1312);在确定触摸输入处于第一强度级中之后,确定由触摸输入在触敏表面单元1304上施加的第二强度(例如,利用确定单元1312),其中第二强度不同于第一强度;并根据确定由触摸输入在触敏表面单元1304上施加的第二强度满足针对第二强度级的级激活强度阈值,确定触摸输入处于第二强度级中(例如,利用确定单元1312)。

在一些实施方案中,该处理单元1308被配置为在确定触摸输入处于第二强度级之后,确定由触摸输入在触敏表面单元1304上施加的第三强度(例如,利用确定单元1312),其中第三强度不同于第二强度;根据确定第三强度不满足不同于针对第二强度级的级激活强度阈值的针对第二强度级的级释放强度阈值,确定该触摸输入保持在第二强度级中(例如,利用确定单元1312);在确定触摸输入保持在第二强度级中之后,确定由触摸输入在触敏表面单元1304上施加的第四强度(例如,利用确定单元1312),其中第四强度不同于第三强度;并根据确定第四强度满足针对第二强度级的级释放强度阈值,确定触摸输入处于第一强度级中(例如,利用确定单元1312)。

在一些实施方案中,该处理单元1308被配置为在确定触摸输入保持在第二强度级中之后,确定由触摸输入在触敏表面单元1304上施加的第三强度(例如,利用确定单元1312),其中第三强度不同于第二强度;并根据确定第三强度满足不同于针对第二强度级的级激活强度阈值的针对第三强度级的级激活阈值,确定触摸输入处于第三强度级中(例如,利用确定单元1312)。

在一些实施方案中,该处理单元1308被配置为在确定触摸输入处于第三强度级中之后,确定iyou触摸输入在触敏表面单元1304上施加的第四强度(例如,利用确定单元1312),其中第四强度不同于第三强度;并根据确定第四强度满足与针对第三强度级的级激活阈值不同的针对第三强度级的级释放强度阈值,确定触摸输入处于第二强度级中(例如,利用确定单元1312)。

在一些实施方案中,该处理单元1308被配置为从多个预定义强度模型标识符识别强度模型标识符,(例如,利用识别单元1314)其中触摸输入的强度级是从与所识别的强度模型标识符对应的多个强度级选择的。

根据一些实施方案,图14示出了根据各种所述实施方案的原理进行配置的电子设备1400的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件、固件或它们的组合来实现。本领域的技术人员应当理解,图14中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图14所示,电子设备1400包括:被配置为显示用户界面的显示单元1402;被配置为接收接触的触敏表面单元1404;被配置为检测与触敏表面单元1404的接触的强度的一个或多个传感器单元1406;一个或多个触觉输出单元1408;以及与显示单元1402、触敏表面单元1404、一个或多个传感器单元1406和一个或多个触觉输出单元1408耦接的处理单元1408。在一些实施方案中,处理单元1410包括:检测单元1412、确定单元1414、识别单元1416、生成单元1418、选择单元1420、发送单元1422、接收单元1424、处理单元1426、和放弃单元1428。

该处理单元1410被配置为:在触敏表面单元1404上检测第一触摸输入(例如,利用确定单元1414和/或触敏表面单元1404);响应于在触敏表面单元1404上检测到第一触摸输入,确定由第一触摸输入在触敏表面单元1404上施加的第一强度(例如,利用确定单元1414、触敏表面单元1404和/或传感器单元1406);从多个预定义强度模型标识符识别第一强度模型标识符(例如,利用识别单元1416);根据由第一触摸输入在触敏表面单元1404上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数(例如,利用确定单元1414);以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息(例如,利用发送单元1422),其中第一触摸信息包括第一强度模型标识符和第一触摸表征参数。

在一些实施方案中,该处理单元1410被配置为响应于在触敏表面单元1404上检测到第一触摸输入,根据由第一触摸输入在触敏表面单元1404上施加的强度以及与第一强度模型标识符相关联的一个或多个阈值来生成触觉输出(例如,利用生成单元1418和/或触觉输出单元1408)。

在一些实施方案中,该处理单元1410被配置为:从第一软件应用程序接收一个或多个指令(例如,利用接收单元1424),以生成触觉输出;以及响应于从软件应用程序接收到一个或多个指令,根据来自软件应用程序的一个或多个指令来生成触觉输出(例如,利用生成单元1418和/或触觉输出单元1408)。

在一些实施方案中,该处理单元1410被配置为在继续在触敏表面单元1404上检测第一触摸输入时:接收一个或多个指令以使用与不同于第一强度模型标识符的第二强度模型标识符对应的强度模型(例如,利用接收单元1424);在接收到一个或多个指令以使用与第二强度模型标识符的对应强度模型之后:确定由第一触摸输入在触敏表面单元1404上施加的第二强度(例如,利用确定单元1414、触敏表面单元1404和/或传感器单元1406);并基于第二强度模型标识符来处理第一触摸输入(例如,利用处理单元1426)。

在一些实施方案中,该处理单元1410被配置为在继续在触敏表面单元1404上检测第一触摸输入时:在基于第二强度模型标识符来处理第一触摸输入之后,接收一个或多个指令以使用与不同于第一强度模型标识符和第二强度模型标识符的第三强度模型标识符对应的强度模型(例如,利用接收单元1424);在接收到一个或多个指令以使用与第三强度模型标识符对应的强度模型之后:确定由第一触摸输入在触敏表面单元1404上施加的第三强度(例如,利用确定单元1414、触敏表面单元1404和/或传感器单元1406);并基于第三强度模型标识符来处理第一触摸输入(例如,利用处理单元1426)。

在一些实施方案中,该处理单元1410被配置为:确定已停止在触敏表面单元1404上检测第一触摸输入(例如,利用确定单元1414);在确定已停止在触敏表面单元1404上检测第一触摸输入之后:在触敏表面单元1404上检测与第一触摸输入分开的第二触摸输入(例如,利用检测单元1412和/或触敏表面单元1404);以及基于第一强度模型标识符来处理第二触摸输入(例如,利用处理单元1426)。

在一些实施方案中,基于第二强度模型标识符来处理触摸输入包括:根据由触摸输入在触敏表面单元1404上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值,确定第二触摸表征参数(例如,利用确定单元1414),其中第二触摸表征参数不同于第一触摸表征参数;在确定第二触摸表征参数之后,向第一软件应用程序发送第二触摸信息(例如,利用发送单元1422),其中第二触摸信息包括第二强度模型标识符和第二触摸表征参数。

在一些实施方案中,基于第二强度模型标识符来处理触摸输入包括:根据第二强度未能满足与第二强度模型标识符相关联的一个或多个阈值,放弃生成触觉输出(例如,利用放弃单元1428、生成单元1418和/或触觉输出单元1408),其中电子设备被配置为根据第二强度满足与第一强度模型标识符相关联的一个或多个阈值中的至少一个阈值而生成触觉输出。

在一些实施方案中,该处理单元1410被配置为:在检测到第一触摸输入之后,接收一个或多个指令以使用与不同于第一强度模型标识符的第二强度模型标识符对应的强度模型(例如,利用接收单元1424);在接收到一个或多个指令以使用与第二强度模型标识符对应的强度模型之后:在触敏表面单元1404上检测第二触摸输入(例如,利用检测单元142和/或触敏表面单元1404);响应于在触敏表面单元1404上检测到第二触摸输入,确定由第二触摸输入在触敏表面单元1404上施加的第二强度(例如,利用确定单元1414、触敏表面单元1404和/或传感器单元1406);并基于第二强度模型标识符来处理第二触摸输入(例如,利用处理单元1426)。

在一些实施方案中,该处理单元1410被配置为向第一软件应用程序发送强度事件流(例如,利用发送单元1422),每个强度事件对应于触摸输入在对应时间施加的强度。

在一些实施方案中,该处理单元1410被配置为)根据所识别的强度模型标识符来从多组阈值选择一组阈值(例如,利用选择单元1420,并根据所选择的一组阈值来确定触摸表征参数(例如,利用确定单元1414)。

在一些实施方案中,该处理单元1410被配置为根据所识别的强度模型标识符识别一个或多个强度范围(例如,利用识别单元1416),并根据一个或多个所识别的强度范围来确定触摸表征参数(例如,利用确定单元1414)。

在一些实施方案中,识别第一强度模型标识符包括将第一软件应用程序识别为对应于触摸输入并将由第一软件应用程序注册的强度模型标识符识别为第一强度模型标识符(例如,利用识别单元1416)。

根据一些实施方案,图15示出了根据各种所描述的实施方案的原理配置的电子设备1500的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件、固件或它们的组合来实现。本领域的技术人员应当理解,图15中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图15所示,电子设备1500包括:被配置为显示用户界面的显示单元1502;被配置为接收接触的触敏表面单元1504;被配置为检测与触敏表面单元1504的接触的强度的一个或多个传感器单元1506;一个或多个触觉输出单元1508;以及与显示单元1502、触敏表面单元1504、一个或多个传感器单元1506、以及一个或多个触觉输出单元1508耦接的处理单元1508。在一些实施方案中,该处理单元1510包括检测单元1512、识别单元1514、确定单元1516、发送单元1518、生成单元1520、选择单元1522、放弃单元1524、和显示启用单元1526。

该处理单元1510被配置为:在触敏表面单元1504的第一触摸区域上检测第一触摸输入(例如,利用检测单元1512和/或触敏表面单元1504);从多个预定义强度模型标识符识别与触敏表面单元1504的第一触摸区域相关联的第一强度模型标识符(例如,利用识别单元1514);响应于在触敏表面单元1504的第一触摸区域上检测到第一触摸输入:确定由第一触摸输入在触敏表面单元1504的第一触摸区域上施加的第一强度(例如,利用确定单元1516、触敏表面单元1504和/或传感器单元1506);根据由第一触摸输入在触敏表面单元1504上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值,确定第一触摸表征参数(例如,利用确定单元1516);以及在确定第一触摸表征参数之后,向第一软件应用程序发送第一触摸信息(例如,利用发送单元1518),其中第一触摸信息包括第一触摸表征参数;检测触敏表面单元1504上的第二触摸区域的第二触摸输入(例如,利用检测单元1512和/或触敏表面单元1504),其中触敏表面单元1504的第二触摸区域不同于触敏表面单元1504的第一触摸区域;从多个预定义强度模型标识符识别与触敏表面单元1504的第二触摸区域相关联的第二强度模型标识符(例如,利用识别单元1514);以及响应于在触敏表面单元1504的第二触摸区域上检测到第二触摸输入:确定由第二触摸输入在触敏表面单元1504的第二触摸区域上施加的第二强度(例如,利用确定单元1516、触敏表面单元1504和/或传感器单元1506);根据由第二触摸输入在触敏表面单元1504上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值,确定第二触摸表征参数(例如,利用确定单元1516);在确定第二触摸表征参数之后,向第一软件应用程序发送第二触摸信息(例如,利用发送单元1518),其中第二触摸信息包括第二触摸表征参数。

在一些实施方案中,该处理单元1510被配置为在检测到第一触摸输入之前,启用对包括第一显示区域和第二显示区域的用户界面的显示(例如,利用显示启用单元1526和/或显示单元1502),其中第一显示区域对应于第一触摸区域,并且第二显示区域对应于第二触摸区域。

在一些实施方案中,第一显示区域对应于第一软件应用程序的用户界面,并且第二显示区域对应于第二软件应用程序的用户界面。

在一些实施方案中,该处理单元1510被配置为:响应于在触敏表面单元1504的第一触摸区域上检测到第一触摸输入,根据由第一触摸输入在触敏表面单元1504上施加的第一强度以及与第一强度模型标识符相关联的一个或多个阈值,生成第一触觉输出(例如,利用生成单元1520和/或触觉输出单元1508);并且响应于在触敏表面单元1504的第二触摸区域上检测到第二触摸输入,根据第二触摸输入在触敏表面单元1504上施加的第二强度以及与第二强度模型标识符相关联的一个或多个阈值来生成第二触觉输出(例如,利用生成单元1520和/或触觉输出单元1508)。

在一些实施方案中,第一触摸区域的至少一部分与第二触摸区域的至少一部分重叠。

在一些实施方案中,该处理单元1510被配置为:在触敏表面单元1504的对应于第一触摸区域和第二触摸区域重叠的重叠触摸区域上检测第三触摸输入(例如,利用检测单元1512和/或触敏表面单元1504);(例如,利用选择单元1522)针对重叠的触摸区域在第一强度模型标识符和第二强度模型标识符之间选择强度模型标识符;以及响应于在重叠的触摸区域上检测到第三触摸输入:确定由第三触摸输入在触敏表面单元1504的重叠触摸区域上施加的第三强度(例如,利用确定单元1516、触敏表面单元1504和/或传感器单元1506);根据由第三触摸输入在触敏表面单元1504的重叠触摸区域上施加的第三强度以及与所选择的强度模型标识符相关联的一个或多个阈值,确定第三触摸表征参数(例如,利用确定单元1516);以及在确定第三触摸表征参数之后,向第一软件应用程序发送第三触摸信息(例如,利用发送单元1518),其中第三触摸信息包括第三触摸表征参数。

在一些实施方案中,第一强度模型标识符和第二强度模型标识符两者与适用于重叠触摸区域的优先级相关联,并基于针对重叠触摸区域的第一强度模型标识符和第二强度模型标识符的优先级来选择强度模型标识符。

在一些实施方案中,该处理单元1510被配置为放弃根据第三强度以及与尚未在第一强度模型标识符和第二强度模型标识符之间选择的强度模型标识符相关联的一个或二个阈值来确定触摸表征参数(例如,利用放弃单元1524和/或确定单元1516)。

在一些实施方案中,针对重叠区域来选择(例如,由选择单元1518)第一强度模型标识符,该处理单元1510被配置为:在检测到第三触摸输入之后,在触敏表面单元1504的重叠区域上检测第四触摸输入(例如,利用检测单元1512和/或触敏表面单元1504);并选择针对重叠触摸区域的第二强度模型标识符(例如,利用选择单元1522);以及响应于在重叠触摸区域上检测到第四触摸输入:确定由第四触摸输入在触敏表面单元1504的重叠触摸区域上施加的第四强度(例如,利用确定单元1516、触敏表面单元1504和/或传感器单元1506);根据由第四触摸输入在触敏表面单元1504的重叠触摸区域上施加的第四强度以及与第二强度模型标识符相关联的一个或多个阈值,确定第四触摸表征参数(例如,利用确定单元1516);以及在确定触摸表征参数之后,向第一软件应用程序发送第四触摸信息(例如,利用发送单元1518),其中第四触摸信息包括第四触摸表征参数。

根据一些实施方案,图16示出了根据各种所描述的实施方案的原理配置的电子设备1600的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件、固件或它们的组合来实现。本领域的技术人员应当理解,图16中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图16所示,电子设备1600包括:被配置为显示用户界面的显示单元1602;被配置为接收接触的触敏表面单元1604;被配置为检测与触敏表面单元1604的接触的强度的一个或多个传感器单元1606;一个或多个触觉输出单元1608;以及与显示单元1602、触敏表面单元1604、一个或多个传感器单元1606、以及一个或多个触觉输出单元1608耦接的处理单元1608。在一些实施方案中,该处理单元1610包括:检测单元1612、处理单元1614、提供单元1616、确定单元1618、识别单元1620、生成单元1622、显示启用单元1624、选择单元1626、更新单元1628、和放弃单元1630。

该处理单元1610被配置为:在触敏表面单元1604上检测触摸输入(例如,利用检测单元1612和/或触敏表面单元1604);并且响应于检测到触摸输入:根据确定触摸输入在触敏表面单元1604上的与多个不同强度模型中的第一强度模型相关联的位置处,根据由触摸输入在触敏表面单元1604上施加的强度以及第一强度模型来处理触摸输入(例如,利用处理单元1614);并且根据确定触摸输入在触敏表面单元1604上的与不同于第一强度模型的第二强度模型相关联的位置处,根据由触摸输入在触敏表面单元1604上施加的强度以及第二强度模型来处理触摸输入(例如,利用处理单元1614)。

在一些实施方案中,根据由触摸输入施加的强度以及第一强度模型来处理触摸输入包括向用户界面应用程序提供接触强度信息而无需针对触摸输入来生成触觉输出(例如,利用提供单元1616);并且根据由触摸输入施加的强度以及第二强度模型来处理触摸输入包括针对触摸输入来有条件地生成触觉输出(例如,利用生成单元1622和/或触觉输出单元1608)。

在一些实施方案中,在触摸输入期间,电子设备1600在触敏表面单元1604上检测归因于触摸输入的相应强度的施加(例如,利用检测单元1612、触敏表面单元1604、确定单元1618和/或传感器单元1606)。根据由触摸输入在触敏表面单元1604上施加的强度以及第一强度模型来处理触摸输入包括(例如,利用提供单元1616)向用户界面应用程序提供第一触摸输入状态信息,该第一触摸输入状态信息指示触摸输入已在触敏表面单元1604上施加相应强度而无需针对触摸输入来生成触觉输出;并且根据由触摸输入在触敏表面单元1604上施加的强度以及第二强度模型来处理触摸输入包括向用户界面应用程序提供第二触摸输入状态信息(例如,利用提供单元1616),该第二触摸输入状态信息指示触摸输入已在触敏表面单元1604上施加相应强度,并针对触摸输入来生成触觉输出(例如,利用生成单元1622和/或触觉输出单元1608)。

在一些实施方案中,第一触摸输入状态信息包括触摸输入的强度的连续可变表示;并且第二触摸输入状态信息包括触摸输入的强度在与用户界面元素的激活对应的值范围内的指示,该用户界面元素对应于触敏表面单元1604上的与第二强度模型相关联的位置。

在一些实施方案中,该处理单元1610被配置为在触敏表面单元1604的第一触摸区域上检测第一触摸输入:(例如,利用检测单元1612和/或触敏表面单元1604);从多个预定义强度模型标识符识别与触敏表面单元1604的第一触摸区域相关联的第一强度标识符(例如,利用识别单元1620);响应于在触敏表面单元1604的第一触摸区域上检测到第一触摸输入:确定由第一触摸输入在触敏表面单元1604的第一触摸区域上施加的第一强度(例如,利用确定单元1618、触敏表面单元1604和/或传感器单元1606);根据由第一触摸输入在触敏表面单元1604上施加的第一强度以及第一强度模型标识符:处理第一触摸输入(例如,利用处理单元1614);以及放弃针对第一触摸输入来生成触觉输出(例如,利用放弃单元1630、生成单元1622和/或触觉输出单元1608);在触敏表面单元1604的第二触摸区域上检测第二触摸输入(例如,利用检测单元1612和/或触敏表面单元1604),其中触敏表面单元1604的第二触摸区域不同于触敏表面单元1604的第一触摸区域;从多个预定义强度模型标识符识别与触敏表面单元1604的第二触敏区域相关联的第二强度模型标识符(例如,利用识别单元1620);以及响应于在触敏表面单元1604的第二触摸区域上检测到第二触摸输入:确定由第二触摸输入在触敏表面单元1604的第二触摸区域上施加的第二强度(例如,利用确定单元1618、触敏表面单元1604和/或传感器单元1606);以及根据由第二触摸输入在触敏表面单元1604上施加的第二强度以及第二强度模型标识符:处理第二触摸输入(例如,利用处理单元1614);以及根据第二触摸输入和与第二强度模型标识符相关联的一个或多个模型参数,针对第二触摸输入来有条件地生成触觉输出(例如,利用生成单元1622和/或触觉输出单元1608)。

在一些实施方案中,针对第二触摸输入来有条件地生成触觉输出包括根据确定第二触摸输入未能满足与和第二强度模型标识符相关联的一个或多个模型参数对应的一个或多个标准,放弃针对第二触摸输入来生成触觉输出(例如,利用放弃单元1630、生成单元1622和/或触觉输出单元1608)。

在一些实施方案中,第一强度模型标识符指示将不在触敏表面单元1604的第一触摸区域上针对触摸输入来生成触觉输出。

在一些实施方案中,电子设备1600存储第一软件应用程序,并且在电子设备1600显示第一软件应用程序的用户界面时(例如,利用显示启用单元1624和/或显示单元1602),检测第一用户输入和第二用户输入(例如,利用检测单元1612和/或触敏表面单元1604)。

在一些实施方案中,第一软件应用程序的用户界面包括手写输入工具区域。

在一些实施方案中,手写输入工具区域包括多个选择区域,并且一个或多个选择区域中的至少相应选择区域对应于触敏表面单元1604的第二触摸区域。

在一些实施方案中,手写输入工具区域包括手写输入区域,并且该手写输入区域对应于触敏表面单元1604的第一触摸区域。

在一些实施方案中,该处理单元1610被配置为响应于在触敏表面单元1604的第一触摸区域上检测到第一触摸输入根据第一触摸输入来在手写输入区域中启用对一个或多个图形元素的显示,(例如,利用显示启用单元1624和/或显示单元1602)。

在一些实施方案中,该处理单元1610被配置为响应于在触摸表面单元1604的第一触摸区域上检测到第一触摸输入,在多个选择区域中启用对多组字符的显示(例如,利用显示启用单元1624和/或显示单元1602),其中基于手写输入区域中的一个或多个所显示的图形元素来选择相应组字符,并在相应选择区域中显示相应组字符;并且响应于在触敏表面单元1604的第二触摸区域上的与相应选择区域对应的位置处检测到第二用户输入,选择相应组字符(例如,利用选择单元1626)。

在一些实施方案中,处理在触敏表面单元1604的第一触摸区域上检测到的第一触摸输入包括:确定第一触摸输入满足绘图强度阈值(例如,利用确定单元1618);并且根据确定第一触摸输入超过绘图强度阈值,在手写输入区域中启用对一个或多个图形元素的显示(例如,利用显示启用单元1624和/或显示单元1602),其中一个或多个图形元素中的相应图形元素的第一终端区域对应于已确定第一触摸输入满足绘图强度阈值的位置。

在一些实施方案中,处理在触敏表面单元1604的第一触摸区域上检测到的第一触摸输入包括:在继续在触敏表面单元1604上检测第一触摸输入时,(继续根据第一触摸输入来更新手写输入区域中的一个或多个图形元素例如,利用更新单元1628),而不管第一触摸输入是否已停止满足绘图强度阈值。

在一些实施方案中,处理在触敏表面单元1604的第一触摸区域上检测到的第一触摸输入包括:检测到已停止在触敏表面单元1604上检测第一触摸输入(例如,利用检测单元1612和/或触敏表面单元1604),以及在触敏表面单元1604上停止检测第一触摸输入之后的预定义时间间隔内检测第一触摸输入已恢复与触敏表面单元1604接触(例如,利用检测单元1612和/或触敏表面单元1604);并且响应于在停止在触敏表面单元1604上检测第一触摸输入之后的预定义时间间隔内第一触摸输入已恢复与触敏表面单元1604接触,根据第一触摸输入来更新手写输入区域中的一个或多个图形元素(例如,利用更新单元1628)。

根据一些实施方案,图17示出了根据各种所描述的实施方案的原理配置的电子设备1700的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件、固件或它们的组合来实现。本领域的技术人员应当理解,图17中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图17所示,电子设备1700包括:被配置为显示用户界面的显示单元1702;被配置为接收接触的触敏表面单元1704;被配置为检测与触敏表面单元1704的接触的强度的一个或多个传感器单元1706;以及与显示单元1702、触敏表面单元1704、以及一个或多个传感器单元1706耦接的处理单元1708。在一些实施方案中,该处理单元1710包括:显示启用单元1710、检测单元1712、处理单元1714、激活单元1716、发送单元1718、和更新单元1720。

该处理单元1710被配置为:启用对包括两个或更多个显示区域的用户界面的显示(例如,利用显示启用单元1710和/或显示单元1702),该两个或更多个显示区域包括第一显示区域和第二显示区域;在显示用户界面时:检测由触摸输入在触敏表面单元1704上的第一位置处施加的第一强度(例如,利用检测单元1712、触敏表面单元1704和/或传感器单元1706);检测触摸输入跨触敏表面单元1704从触敏表面单元1704上的第一位置到触敏表面单元1704上的与第二显示区域对应的第二位置的移动(例如,利用检测单元1712和/或触敏表面单元1704);在检测触摸输入从触敏表面单元1704上的第一位置到触敏表面单元1704上的第二位置的移动之后,检测由触摸输入在触敏表面单元1704上的第二位置处施加的第二强度(例如,利用检测单元1712、触敏表面单元1704和/或传感器单元1706);以及响应于检测到由触摸输入在触敏表面单元1704上的第二位置处施加的第二强度:根据确定第一强度不满足第一强度阈值,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度(例如,利用处理单元1714);并且根据确定第一强度满足第一强度阈值,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度(例如,利用处理单元1714)。

在一些实施方案中,该处理单元1708被配置为:根据确定第一强度满足不同于第一强度阈值的报告强度阈值,向第一软件应用程序发送包括与第一强度对应的一个或多个触摸参数的第一触摸信息(例如,利用发送单元1718);以及根据确定第二强度满足报告强度阈值,向第一软件应用程序发送包括与第二强度对应的一个或多个触摸参数的第二触摸信息(例如,利用发送单元1718)。

在一些实施方案中,两个或更多个显示区域中的第一显示区域与第一软件应用程序的第一软件元素相关联,并且两个或更多个显示区域中的第二显示区域与第二软件应用程序的第二软件元素相关联。

在一些实施方案中,根据确定第一强度不满足第一强度阈值,向第二软件元素发送第二触摸信息(例如,利用发送单元1718),而无需向第一软件元素发送第二触摸信息。

在一些实施方案中,根据确定第一强度满足第一强度阈值,向第一软件元素发送第二触摸信息(例如,利用发送单元1718),而无需向第二软件元素发送第二触摸信息。

在一些实施方案中,根据确定第一强度满足报告强度阈值,(例如,利用发送单元1718)向第一软件元素发送第一触摸信息。

在一些实施方案中,该处理单元1708被配置为响应于检测到触摸输入,在第一强度满足第一强度阈值之前,使用第一软件应用程序根据第一触摸信息来更新用户界面(例如,利用更新单元1720)。

在一些实施方案中,第一强度阈值不同于激活强度阈值。

在一些实施方案中,与第一显示区域相关联的一个或多个强度阈值不同于与第二显示区域相关联的一个或多个强度阈值。

在一些实施方案中,与第一显示区域相关联的一个或多个强度阈值和与第二显示区域相关联的一个或多个强度阈值相同。

在一些实施方案中,该处理单元1708被配置为响应于检测到由触摸输入施加的第一强度,根据与第一显示区域相关联的一个或多个强度阈值来处理第一强度(例如,利用处理单元1714)。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第一强度包括启用对与由触摸输入施加的强度从先前强度到第一强度的变化对应的动画的显示(例如,利用显示启用单元1710和/或显示单元1702)。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度包括启用对与由触敏表面单元1704上的触摸输入施加的强度的变化对应的动画的显示(例如,利用显示启用单元1710和/或显示单元1702)。

在一些实施方案中,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度包括启用对与由触敏表面单元1704上的触摸输入施加的强度的变化对应的动画的显示(例如,利用显示启用单元1710和/或显示单元1702)。

在一些实施方案中,该处理单元1708被配置为响应于检测到触摸输入从触敏表面单元1704上的第一位置到触敏表面单元1704上的第二位置的移动,(例如,利用显示启用单元1710和/或显示单元1702)启用对与由触摸输入施加的强度的变化对应的动画的显示(例如,利用显示启用单元1710和/或显示单元1702)。

在一些实施方案中,根据与第一显示区域相关联的一个或多个强度阈值来处理第二强度包括激活与第一显示区域相关联的第一控件(例如,利用激活单元1716)。

在一些实施方案中,根据与第二显示区域相关联的一个或多个强度阈值来处理第二强度包括激活与第二显示区域相关联的第二控件(例如,利用激活单元1716)。

根据一些实施方案,图18示出根据各种所述实施方案的原理进行配置的电子设备1800的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图18中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图18中所示,电子设备1800包括:被配置为为电子设备显示用户界面的显示单元1802;多个输入单元1804,该多个输入单元包括被配置为响应于输入来生成触觉输出的第一输入单元,以及被配置为生成触觉输出的第二输入单元。在一些实施方案中,输入单元1804中的一个或多个输入单元包括一个或多个相应传感器单元1806。电子设备1800还包括耦接至显示单元1802的处理单元1808、输入单元1804、和传感器单元1806。在一些实施方案中,该处理单元1808包括:被配置为接收对由多个输入单元中的相应输入单元检测到的输入的指示的输入指示接收单元1810;以及被配置为响应于接收到对输入的指示而向电子设备上运行的应用程序提供用于描述该输入的信息使得该应用程序能够对输入作出反应的信息提供单元1812。

该处理单元1808还包括:被配置为接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应的反应接收单元1814;以及被配置为响应于接收到对来自应用程序的输入的反应使得生成相应触觉输出的致使单元1816。更具体地,根据确定该反应由第一输入设备触发(参见方法1100的操作1114,图11a-图11c),致使单元1816基于对来自该应用程序的输入的反应在来第一输入设备处生成相应触觉输出;并且根据确定该反应由第二输入设备触发(参见方法1100的操作1116,图11a-图11c),致使单元1816基于对来自该应用程序的输入的反应使得在第二输入设备处生成相应触觉输出。

在一些实施方案中,电子设备1800的处理单元1808被配置为使得电子设备执行上文参考图11a-图11c所述的方法的任一种。

根据一些实施方案,图19示出根据各种所述实施方案的原理进行配置的电子设备1900的功能框图。该设备的功能块任选地由执行各种所描述的实施方案的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图19中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图19所述,电子设备1900包括:被配置为为电子设备显示用户界面的显示单元1902;以及被配置为响应于输入来生成触觉输出的一个或多个输入单元1904。在一些实施方案中,输入单元1904中的一个或多个输入单元包括一个或多个相应传感器单元1906。电子设备1900还包括耦接至显示单元1902的处理单元1908、输入单元1904、和传感器单元1906。在一些实施方案中,处理单元1908包括被配置为接收对由多个输入单元中的相应输入单元检测到的输入的指示的输入指示接收单元1910;以及被配置为响应于接收到对输入的指示而向电子设备上运行的应用程序提供用于描述该输入的信息使得该应用程序能够对输入作出反应的信息提供单元1912。

该处理单元1908还包括:被配置为接收对来自应用程序的输入的用于指示要响应于输入来生成触觉输出的反应的反应接收单元1914;以及被配置为响应于接收到对来自应用程序的输入的反应使得生成相应触觉输出的致使单元1916。更具体地,根据确定该反应由第一输入设备触发(参见方法1100的操作1114,图11a-图11c),致使单元1916基于对来自该应用程序的输入的反应来在第一输入设备处生成相应触觉输出;以及根据确定该反应由第二输入设备触发(参见方法1100的操作1116,图11a-图11c),致使单元1916基于对来自该应用程序的输入的反应使得在第二输入设备处生成相应触觉输出。

在一些实施方案中,电子设备1900的处理单元1908被配置为使得电子设备执行上文参考图11a-图11c所述的方法的任一方法。

以上参考图6a-图6d、图7a-图7d、图8a-图8c、图9a-图9d、图10a-图10d、图11a-图11c和图12a-图12d所述的操作任选地由图1a-图1b和/或图13-图19中所描绘的部件来实现。例如,对于上文参考图11a-图11c所述的操作,接收指示操作1104,提供用于描述输入的信息的操作1106,接收对来自应用程序的输入的反应的操作1108,以及使得生成触觉输出的操作1112任选地由事件分类器170、事件识别器180和事件处理程序190(图1b)或由处理单元1808(图18)实施。事件分类器170中的事件监视器171在触敏显示器112上检测接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应的事件识别器180将事件信息与相应的事件定义186进行比较,并且确定触敏表面上的第一位置处的第一接触是否对应于预定义的事件或子事件,诸如选择用户界面上的一个对象。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地利用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应gui更新器178以更新由应用程序所显示的内容,和/或访问触觉输出发生器167以生成触觉输出。类似地,本领域的普通技术人员会清楚地知道基于在图1a-图1中所示的部件可如何实现其他过程。

对于另一个示例,对于上文参考图12a-图12c所述的操作,接收指示的操作1204,提供用于描述输入的信息的操作1206,接收对来自应用程序的输入的反应的操作1208,以及使得执行操作1210任选地由事件分类器170、事件识别器180和事件处理程序190(图1b)或由处理单元1908(图19)实施。事件分类器170中的事件监视器171在触敏显示器112上检测接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应的事件识别器180将事件信息与相应的事件定义186进行比较,并且确定触敏表面上的第一位置处的第一接触是否对应于预定义的事件或子事件,诸如选择用户界面上的一个对象。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地利用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应gui更新器178以更新由应用程序所显示的内容,和/或访问触觉输出发生器167以生成触觉输出。类似地,本领域的普通技术人员会清楚地知道基于在图1a-图1c中所示的部件可如何实现其他过程。

出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

附录a

示例性强度模型

级进度

在一些实施方案中,流体手势的每个级包括具有支配区域间过渡的特定规则的三个区域。这些区域是“下一个”、“激活”和“释放”。在一些实施方案中,给定以下规则,级以该次序通过各区域进展:

1.任何级可移动到任何更深的激活级或下一级。

2.假设力低于当前的级释放区域(以及跳过的任何更浅的区域),任何级可移动到任何更浅的激活级或释放级。

3.正transitionprogress描述通过下一区域来移动。

4.负transitionprogress描述通过释放区域来移动。

5.在处于下一区域或释放区域中时,transitionprogress为0。

6.stagepressure描述通过激活区域来移动。

7.当力在当前级的激活区域外部时,在低于该区域时,transitionprogress应当为0,或者在高于该区域时为1。

8.对于同一级,可能既在激活和下一区域中或激活和释放区域中。gesturebehavior应当定义这种情况是否适用。

图20a中的图表示出了针对脉动手势的级区域。三个区域a1、a2和a3示出了针对1级的相关区域。在一些实施方案中,区域a1具有级值0,因为该手势正在从0级过渡到1级,并且因此尚未锁定到1级。

强度模型标识符:力

图20b示出了基本的一级强度模型(和对应的手势)。一旦锁定到1级,进度值就立即可变。

强度模型标识符:加速踏板

图20c示出了两级强度模型(和示例性手势),其中在鼠标向下和可变力开始之间存在死区域。在一些实施方案中,针对1级激活进度的力带初始很小。

强度模型标识符:深点击

图20d示出了两级强度模型(和示例性手势),其中有时将第二级称为“深”。在一些实施方案中,这类似于相机快门按钮。每个级都被带围绕,其中规定了动画。此外,一旦设备(和/或设备上的手势输入)达到“深”级,该设备(和/或设备上的手势输入)便保持在“深”级中,直到手势输入结束(例如,释放到采取0)。

强度模型标识符:脉动

图20e示出了两级强度模型(和对应手势),其中有时将第二级称为“深”。这与深手势类似。然而,它与深手势不同的是,手势输入能够在深和正常级之间来回切换。

附录b

可可(cocoa)应用程序框架

可可应用程序框架(也称为应用程序套件或appkit)是内核可可框架中的一个内核可可框架。它为应用程序提供了功能和相关联的api,包括用于图形用户界面(gui)的对象、事件处理机制、应用程序服务和绘图和图像创作设施。

在头中标记更新的api

利用包括对“10_10_3”的援引的装饰来标记头中的新的api。

ns_available_mac(10_10_3),ns_available(10_10_3,<iosrelease>),

ns_class_available(10_10_3,<iosrelease>),

ns_enum_available(10_10_3)

orsometimestheconstruct:

#ifmac_os_x_version_max_allowed>=mac_os_x_version_10_10_3

...

#endif

运行时间版本检查

有几种方式在运行时间检查由可可框架所提供的新特征。一种是动态查找给定的新类别或方法,如果没有则不使用它。另一种是使用全局变量nsappkitversionnumber(或,在foundation中,使用nsfoundationversionnumber):

doublensappkitversionnumber;

#definensappkitversionnumber10_0577

#definensappkitversionnumber10_1620

#definensappkitversionnumber10_2663

#definensappkitversionnumber10_3743

#definensappkitversionnumber10_4824

#definensappkitversionnumber10_5949

#definensappkitversionnumber10_61038

#definensappkitversionnumber10_71138

#definensappkitversionnumber10_81187

#definensappkitversionnumber10_91265

#definensappkitversionnumber10_101343

该变量的一种典型用法是floor()值,并针对nsapplication.h中提供的值进行检查。例如:

在版本说明中还酌情论述了用于版本检查的特殊情况或状况。例如,一些个体头还可声明针对nsappkitversionnumber的版本号,其中在给定更新中有一些错误修正或功能,例如:#definensappkitversionwithsuchandsuchbadbugfix1138.42

后向兼容

在该框架中偶尔使用的一种后向兼容机制是检查构建一种应用所依据的系统的版本,并且如果是更老系统,则修改行为以更加兼容。在预计或发现有不良的不兼容问题的情况下就这样做;在这些备注中下文列出了这些情况中的大部分情况。

典型地,我们检测到通过查看该应用程序所链接的系统的版本、可可、appkit或foundation框架,构建应用程序的情况。因此,作为将您的应用程序重新链接到最新sdk的结果,您可能注意到不同的行为,其中一些行为可能使得不兼容。在这些情况下,因为正在重建应用程序,预计您也会同时解决这些问题。为此,如果您正在对您的应用程序进行小的增量更新以解决几个错误,通常最好的方式是继续在同一构建环境和初始使用的库上构建。

在一些情况下,我们提供可用于得到旧或新行为的默认(偏好)设置,而与应用程序依据什么系统构建无关。提供这些偏好常常是仅仅为了调试;在一些情况下,可使用偏好,通过注册值(在一些地方非常早地这样做,具有[nsuserdefaultsregisterdefaults:])来在全局修改应用程序的行为。

按压事件

一些apple触控板具有报告按压的功能。就像在其之前到来的旋转和放大手势那样,按压手势被报告为新的事件类型nseventtypepressure和新的响应器方法-(void)pressurechangewithevent:(nsevent*)。

备注:新的nseventtypepressure事件仅有64位。

@property(readonly)nseventphasephasens_available_mac(10_7);

nseventtypepressure是流体手势。像所有流体手势那样,其具有描述按压手势流序列的相位。

@property(readonly)nsintegerstagens_available_mac(10_10_3);

按压手势可经过多个级。

0级:最低级。通常,这意味着用户正在施加比实现鼠标向下所需的更小的压力。有效地,在手势结束时,您仅看到对于每个流存在一个0级按压事件。

1级:等价于鼠标向下。在用户施加足以使得触控板也将发出鼠标向下的压力之前,不发布nseventtypepressure事件。

2级:等价于力点击。用户已施加大于鼠标向下所需的很大的附加压力。2级通常应当被用作附加动作的触发器。例如,在按压流过渡到2级时,进行查找。

备注:通常,触控板将在手势在各级之间过渡时致动。

备注:级可能在每次改变时增大或减小多个整数值。例如,在2级时迅速拿开用户的手指可能使得级过渡到0,而没有1级的按压事件。

@property(readonly)floatpressure;

针对当前级的触控板上的按压。对此而言这个值的范围是[0,1]。每个级都具有适于该级的压力曲线。即,对于1级,压力可从[0,1]改变。类似地,对于2级为[0,1]。

备注:应当使用仅一个级的压力。认真考虑该使用情况。如果对于所有情况变量输入都有用,则在1级期间使用按压,因为这是对用户而言最合适的范围。如果仅在利用规则鼠标点击,用户输入必须不能有歧义的少见状况中变量输入有用,则使用2级。尽管如此,通常对于此类情况,使用2级表示这种输入并忽略2级压力。不要尝试组合1级和2级压力以得到更大范围。这样做将会导致用户手指上的不当的应力。

注意:对于重量测量,按压是不合适的。

@property(readonly)cgfloatstagetransitionns_available_mac(10_10_3);

用于级过渡的动画值。正的stagetransition描述接近按压手势的下一级。负的stagetransition描述接近释放当前级。例如,随着用户接近2级,stagetransition将向1增大。在手势过渡到2级的时刻,stagetransition立即返回到0,并将在用户释放触控板上压力时向-1减小,直到手势再次过渡到1级。通常,以动画仅显示正的级过渡值。

注意:stagetransition不匹配压力曲线。存在压力可改变的带,但stagetransition保持在0。stagetransition保持在0,直到手势非常接近级过渡。

@property(readonly)nseventmaskassociatedeventsmaskns_available_mac(10_10_3);

这个属性使得能够在鼠标按下时确定是否应当预计存在来自输入设备的按压。由于按压和鼠标事件是分开的流,因此您有时需要在鼠标按下时立刻作出决策(例如,开始按压)。

示例:

获得按压事件

有3种方式来获得按压事件。

1.超驰nsresponder方法:

-(void)pressurechangewithevent:(nsevent*)event;

2.在跟踪回路中,向eventmask添加nseventmaskpressure。

3.在nsgesturerecognizer子类中,通过超驰该方法:

-(void)pressurechangewithevent:(nsevent*)event;

加载弹簧的拖动和投放

finder弹簧加载特征已被扩展并在更多地方使用。所有应用程序窗口将自动向前弹性活动。选项卡将响应于弹簧加载而激活自身,同时分割的控件和按钮以被配置为对弹簧加载作出响应。

弹簧加载是通过悬停于有弹簧加载功能的目标上方来触发的。通过accessibilitymouse&trackpad系统偏好窗格来控制悬停延迟的长度。

使用压敏触控板,用户还能够通过在拖动期间在触控板上更用力按压来触发弹簧加载。这类似于拖动内部的嵌套点击。在拖动期间,用户可更用力按压。触控板将会致动,在光标下方提供弹簧加载。在用户放松到恰好足以释放嵌套点击时,触控板将会致动并触发弹簧加载而无需丢弃拖动。一旦用户通过压敏触控板来触发弹簧加载,便禁用悬停特征,直到用户开始新的拖放操作。

加载弹簧的控件

分割的控件和按钮可被配置为响应于用户拖动项目而发送其动作。将springloaded设置为yes,并且用户将能够经由拖放期间的用力点击或悬停而与控件进行交互。

@property(getter=isspringloaded)boolspringloadedns_available_mac(10_10_3);//sendsactiononforce-clickorextendedhoverwhiledragging.defaultstono.

加载弹簧的选项卡视图

选项卡视图和选项卡视图控制器现在响应于用力点击或延长的悬停而在用户拖动项目时改变选择。

加速器按钮

对于压敏触控板有新的按钮,被称为“加速器”按钮。这些按钮像连续模式下压按钮那样起作用,因为在它们保持按下时,应用程序通常会对它们作出响应,并且在它们被释放时,响应然后停止。它们的主要特征是能够解释可变压力,从而通过改变它们施加的压力而允许用户直接控制相关动作的速度。这样意在用于以下情况,如控制向前快速移动的速度并退回以回放媒体,用于日历中的每周查看的前进速度,或地图中的缩放速度。

有两种加速器按钮:

*a“规则”类型,其中希望精细粒度的精确度,并且值范围是浮点数字。这里,在未按压时,按钮的值为0,并且在按压时,范围为[1...2)。

具有可配置数量的明确等级(高达5个)的*a“多级”类型。这些按钮还在未按压时呈现值0,但具有从[1...n]的整数值,以指示离散的加速度水平。

新的按钮类型是标准nsmomentarylightbutton的变体,并且利用各种边框样式来工作。对setbuttontype的简单调用是使用它们所需的全部——这将会适当地配置按钮的相关方面。加速器按钮的行为与标准nsbuttons在各个方面有所不同。除了以上的附加api之外,以下是主要的行为区别:

*加速器按钮在被点击时不自动推进其状态,但将在与用户交互时反复改变值并发送动作消息。在鼠标向上时,它们将其值重置为0,并发送最终的动作消息。

*多级加速器按钮的值可被明确设置,以便抑制被加速范围的更低等级。例如,在已以4倍速度快进视频时,使用这个等级:在达到8倍速度等级之前,我们不提供加速消息或反馈。

*与针对其他按钮的标准开/关/混合相比,加速器按钮允许更大的值范围:[0,1.99999...]或[0,5]。

*floatvalue和doublevalue用于针对规则加速器按钮来传达压力等级。

*加速器按钮不支持混合状态。

所有加速器按钮将在未按压时承载状态0,或者在正常按压/点击时承载状态1。在更用力按压时,该状态(和值)将升高到超过1。对于对速度的精细粒度控制,nsbuttontypeaccelerator展现出doublevalue,其范围从初始按压的1到完全按压的(大约)1.999999。这种设计允许doublevalue和integervalue“匹配”,并避免不得不暴露针对该值的分数部分的分开属性。

nsmultilevelacceleratorbutton提供了可配置数量的不同压力等级,在用户达到每个等级时具有触觉反馈。客户端通过改变新的maxstate属性来配置若干个离散等级。对于其他按钮类型而言始终为1,但对于多级加速器按钮默认为2。超出范围[2,5]的值将被固定并使得警告将被记录。超过1的值将向按钮添加附加等级,在达到每个等级时,在有功能的硬件上具有轻致动。控件在与用户交互期间采取这些整数值状态,并在它们改变的任何时候发送动作消息。另外,注意,不论maxstate值为何,达到给定层级所需的压力都保持相同。换句话讲,用于允许层级的压力阈值并非在可用压力范围内均匀分布。

应用程序使用传统的动作处理程序来对加速器按钮作出响应。它们读取控件的状态/integervalue或doublevalue,并配置相关操作的速度以进行匹配。应用程序负责将浮点[0,1.99999]或整数[0,5]值平移成对于其具体使用情况而言适当的速度。

加速器分段控件

分段控件可针对压力敏感性而被配置,这可用于加快用户交互。例如,用户按压越用力,-/+缩放控件可能希望加快缩放。具有周期性间隔的连续控制可加快翻页,因为周期性间隔是基于压力自动调节的。

该控件可具有设置成nssegmentswitchtrackingmomentaryaccelerator的跟踪模式。doublevalueforselectedsegment表示个体区域段将返回而没有任何区段偏移的值,如同其为独立加速器按钮一样。

加速器分段控制行为

短暂加速器分段控制行为基于其连续标记的状态以及硬件是否支持压力敏感性而改变。以下是对每种配置中的行为的描述。

连续暂时加速器,非压敏触控板

将以单元的周期性间隔来发送动作,从而在单元的周期性延迟之后开始。在鼠标向上时,将发送具有selectedsegment=-1的最终动作。

连续暂时加速器,压敏触控板

将以周期性间隔来发送动作,并基于压力来自动调节,从而在单元延迟之后开始。在鼠标向上时,将发送具有selectedsegment=-1的最终动作。在这种配置中,调节的周期性间隔对于加快内容翻页是有用的。

非连续暂时加速器,非压敏触控板

将以doublevalueforselectedsegment=1.0来发送初始动作。在鼠标向上时,将发送具有doublevalueforselectedsegment=0.0和selectedsegment=-1的最终动作。

非连续暂时加速器,压敏触控板

每次压力改变时,都将发送具有doublevalueforselectedsegment=[1.0+pressure]的动作。在鼠标向上时,将发送具有doublevalueforselectedsegment=0.0和selectedsegment=-1的最终动作。在这种配置中,doublevalueforselectedsegment可用于加快动作诸如缩放。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1