CN107690619B - 用于处理触敏表面多个区域上触摸输入的设备和方法 - Google Patents

用于处理触敏表面多个区域上触摸输入的设备和方法 Download PDF

Info

Publication number
CN107690619B
CN107690619B CN201680027899.3A CN201680027899A CN107690619B CN 107690619 B CN107690619 B CN 107690619B CN 201680027899 A CN201680027899 A CN 201680027899A CN 107690619 B CN107690619 B CN 107690619B
Authority
CN
China
Prior art keywords
touch
area
touch input
user interface
software application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680027899.3A
Other languages
English (en)
Other versions
CN107690619A (zh
Inventor
B·D·派内
J·E·德鲁蒙德
B·E·尼尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN201910864393.3A priority Critical patent/CN110568965B/zh
Publication of CN107690619A publication Critical patent/CN107690619A/zh
Application granted granted Critical
Publication of CN107690619B publication Critical patent/CN107690619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • G06F3/041661Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving using detection at multiple resolutions, e.g. coarse and fine scanning; using detection within a limited area, e.g. object tracking window
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

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

Abstract

本发明公开了一种电子设备,该电子设备在显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于第二软件应用程序的第二区域,在触敏显示器上接收第一触摸输入,所述第一触摸输入来源于对应于所述第一区域的第一位置并且延伸到对应于所述第二区域的第二位置。所述第一区域包括非边界区域和边界区域。响应于接收到所述第一触摸输入,当所述第一位置对应于所述第一区域的非边界区域时,所述设备利用所述第一软件应用程序处理所述第一触摸输入。当所述第一位置对应于所述第一区域的边界区域时,所述设备用所述第二软件应用程序有条件地处理所述第一触摸输入。

Description

用于处理触敏表面多个区域上触摸输入的设备和方法
技术领域
本文整体涉及具有触敏表面的电子设备,包括但不限于具有包括多个区域的触敏表面的电子设备。
背景技术
近年来,将触敏表面用作计算机和其他电子计算设备的输入设备已显著增多。示例性触敏表面包括触摸板和触摸屏显示器。此类表面广泛地用于操纵显示器上的用户界面对象。
示例性操纵包括调整一个或多个用户界面对象的位置和/或尺寸或激活按钮或打开由用户界面对象表示的文件/应用程序,以及将元数据与一个或多个用户界面对象相关联或以其他方式操纵用户界面。示例性用户界面对象包括数字图像、视频、文本、图标、控制元件诸如按钮和其他图形。在某些情况下,用户将需要对以下各项中的用户界面对象执行此类操纵:文件管理程序(例如,来自Apple Inc.(Cupertino,California)的Finder);图像管理应用程序(例如,来自Apple Inc.(Cupertino,California)的Aperture、iPhoto、Photos);数字内容(例如,视频和音乐)管理应用程序(例如,来自Apple Inc.(Cupertino,California)的iTunes);绘图应用程序;展示应用程序(例如,来自Apple Inc.(Cupertino,California)的Keynote);文字处理应用程序(例如,来自Apple Inc.(Cupertino,California)的Pages);网站创建应用程序(例如,来自Apple Inc.(Cupertino,California)的iWeb);盘编辑应用程序(例如,来自Apple Inc.(Cupertino,California)的iDVD);或电子表格应用程序(例如,来自Apple Inc.(Cupertino,California)的Numbers)。
但是,用于处理与多个应用程序的用户界面接触的触摸输入的方法既烦琐又低效。例如,对于从第一应用程序用户界面移动到第二应用程序用户界面的触摸输入,用第一应用程序处理该触摸输入的一部分并且用第二应用程序处理该触摸输入的一部分可能使用户感到混乱并对用户造成严重的认知负担。此外,如果执行了无意的操作,则用户需要提供附加的输入来撤销此类操作。因此,这些方法花费比所需时间更长的时间,从而浪费能量。这后一种考虑在电池驱动设备中特别重要。
发明内容
因此,所描述的实施方案为电子设备提供了更快、更有效的方法和界面,用于处理在多个应用程序用户界面上移动的触摸输入。此类方法和界面任选地补充或替换用于处理在多个应用程序用户界面上移动的触摸输入的常规方法。此类方法和界面减小了来自用户输入的数量、程度和/或性质,并且产生更有效的人机界面。另外,此类方法减小了处理触摸输入消耗的处理功率、节省功率、减少不必要/无关/重复的输入,并且可能减少内存使用。对于电池驱动设备,此类方法和界面节省了电池功率并增加了两次电池充电之间的时间。
所公开的设备减少或消除了与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本计算机、平板计算机或手持设备)。在一些实施方案中,该设备是个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,该设备具有触摸板。在一些实施方案中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,该设备具有图形用户界面(GUI)、一个或多个处理器、存储器和一个或多个模块、被存储在存储器中以用于执行多个功能的程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括图像编辑、绘图、展示、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、笔记记录和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。另选地,或除此之外,用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在具有触敏显示器的电子设备处执行一种方法。该方法包括在显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与第一软件应用程序不同的第二软件应用程序的第二区域,在触敏显示器上接收第一触摸输入,该第一触摸输入来源于触敏显示器上对应于所述用户界面的第一区域的第一位置并且延伸到触敏显示器上对应于所述用户界面的第二区域的第二位置。该方法包括响应于接收到所述第一触摸输入,根据确定第一位置对应于第一区域的非边界区域,使用第一软件应用程序处理第一触摸输入,其中第一区域的非边界区域被包括在第一区域中并远离所述用户界面中的第二区域定位,并且根据确定第一位置对应于第一区域的边界区域,使用第二软件应用程序有条件地处理第一触摸输入,其中第一区域的边界区域被包括在第一区域中并定位在第一区域的非边界部分和所述用户界面中的第二区域之间。
根据一些实施方案,电子设备包括被配置为显示用户界面并接收接触的触敏显示器单元,以及与该触敏显示器单元耦接的处理单元。所述处理单元被配置为:在启用显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与第一软件应用程序不同的第二软件应用程序的第二区域,接收来自触敏显示器单元的第一触摸输入,该第一触摸输入来源于触敏显示器单元上对应于所述用户界面的第一区域的第一位置并且延伸到触敏显示器单元上对应于所述用户界面的第二区域的第二位置。所述处理单元被进一步配置为:响应于接收到所述第一触摸输入,根据确定第一位置对应于第一区域的非边界区域,使用第一软件应用程序处理第一触摸输入,其中第一区域的非边界区域被包括在第一区域中并远离所述用户界面中的第二区域定位,并且根据确定第一位置对应于第一区域的边界区域,使用第二软件应用程序有条件地处理第一触摸输入,其中第一区域的边界区域被包括在第一区域中并定位在第一区域的非边界部分和所述用户界面中的第二区域之间。
根据一些实施方案,电子设备包括触敏显示器、一个或多个处理器、存储器以及一个或多个程序;所述一个或多个程序被存储在存储器中并被配置为由一个或多个处理器执行,并且所述一个或多个程序包括用于执行或导致执行本文所述方法中任一方法的操作的指令。在一些实施方案中,所述电子设备包括一个或多个传感器,用于检测与触敏表面的接触的强度。在一些实施方案中,所述电子设备包括一个或多个传感器,用于检测来自与所述电子设备相关联的触笔的信号。根据一些实施方案,计算机可读存储介质(例如,非暂态计算机可读存储介质,或另选地,暂态计算机可读存储介质)已在其中存储有指令,这些指令在被具有触敏显示器的电子设备执行时,使得该设备执行或导致执行本文所述方法中任一方法的操作。根据一些实施方案,电子设备上的图形用户界面包括以上述方法中的任一方法所显示的元件中的一者或多者,所述元件中的一者或多者响应于输入而被更新,该电子设备具有触敏显示器、存储器以及用于执行存储在存储器中的一个或多个程序的一个或多个处理器,如本文所述方法中的任一方法所述。根据一些实施方案,电子设备包括:触敏显示器,以及用于执行或导致执行本文所述方法中任一方法的操作的装置。根据一些实施方案,在具有触敏显示器的电子设备中使用的信息处理设备包括用于执行或导致执行本文所述方法中任一方法的操作的装置。
因此,为具有触敏显示器的电子设备提供更快、更高效的方法和界面,来处理在多个应用程序用户界面上移动的触摸输入,从而提高此类设备的效能、效率和用户满意度。此类方法和界面可补充或替换用于处理在多个应用程序用户界面上移动的触摸输入的常规方法。
附图说明
为了更好地理解各种所描述的实施方案,应当结合以下附图参考下面的具体实施方式,在附图中,类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。
图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图4是根据一些实施方案的示例性电子触笔的框图。
图5A至图5B示出了根据一些实施方案的触笔相对于触敏表面的定位状态。
图6A示出了根据一些实施方案的便携式多功能设备上的应用程序菜单的示例性用户界面。
图6B示出了根据一些实施方案的具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图6C至图6E示出了根据一些实施方案的具有触敏显示器的多功能设备的示例性用户界面。
图7A至图7U示出了根据一些实施方案的用于处理在多个应用程序用户界面上移动的触摸输入的示例性用户界面。
图8A至图8D是示出根据一些实施方案的处理在多个应用程序用户界面上移动的触摸输入的方法的流程图。
图9是根据一些实施方案的电子设备的功能框图。
具体实施方式
许多电子设备具有能够同时显示多个软件应用程序的用户界面的图形用户界面。在两个应用程序用户界面彼此相邻地显示的情况下,用户在打算接触第二应用程序用户界面时可能会接触第一应用程序用户界面,并且在打算接触第一应用程序用户界面时可能会接触第二应用程序用户界面。例如,用户在使用触摸输入(例如,手指输入或触笔输入)在绘图应用程序用户界面上靠近该绘图应用程序用户界面的边框绘图时,可能会绘出边框并导致触摸输入离开该绘图应用程序用户界面。如果绘出边框导致无意的操作,诸如改变相邻应用程序用户界面(例如,web浏览器应用程序)和/或撤销该绘图应用程序用户界面中绘制的笔画,则用户可能会感到沮丧。在另一个示例中,用户在想要向web浏览器应用程序提供触摸输入(例如,边缘轻扫手势)时,可能会首先无意地接触绘图应用程序用户界面,从而在该绘图应用程序用户界面中留下笔画。由于执行了此类无意的操作,所以需要撤销此类无意的操作并再次提供用户输入,直到执行所需的操作为止,这可能既烦琐又低效。
在下文描述的实施方案中,通过接收从一个应用程序用户界面(例如,绘图应用程序用户界面)移动到另一个应用程序用户界面(例如,web浏览器应用程序用户界面)的触摸输入,来实现用于处理触摸输入的改进方法。基于触摸输入是来源于一个应用程序用户界面的非边界区域还是边界区域,来对触摸输入进行不同处理。该方法减少了无意的操作,从而消除了对额外的单独步骤的需要,这些额外的单独步骤用于撤销无意的操作并提供用户输入,直到执行所需的操作为止。
下面,图1A至图1B、图2和图3提供了对示例性设备的描述。图4提供了对示例性电子触笔的描述。图5A至图5B示出了触笔相对于触敏表面的定位状态。图6A至图6E以及图7A至图7U示出了用于处理在多个应用程序用户界面上移动的触摸输入的示例性用户界面。图8A至图8D示出了处理在多个应用程序用户界面上移动的触摸输入的方法的流程图。图7A至图7U中的用户界面用于示出图8A至图8D中的过程。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外明确指示。还应当理解,如本文所用的术语“和/或”是指并且涵盖相关联地列出的项目中的一者或多者的任何以及全部可能的组合。还应当理解,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时指定的是存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他的特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、用于此类设备的用户界面和用于使用此类设备的相关联过程的实施方案。在一些实施方案中,该设备是还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.(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上生成触觉输出(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触摸板355上生成触觉输出)的一个或多个触觉输出发生器163。这些部件任选地通过一根或多根通信总线或信号线103进行通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备部件与用户的对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与设备或设备部件的物理特征的所感知改变对应。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“松开点击”、“按下点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将生成典型(或普通)用户的所描述的感官知觉。
应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实现。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如一个或多个CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可被用于将设备的输入外围设备和输出外围设备耦接到存储器102和一个或多个CPU 120。该一个或多个处理器120运行或执行被存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能并处理数据。
在一些实施方案中,外围设备接口118、一个或多个CPU 120、和存储器控制器122任选地在单个芯片诸如芯片104上实现。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路108接收和发送也被叫做电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络以及其他设备进行通信,这些网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS)、和/或短消息服务(SMS))、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
音频电路110、扬声器111和麦克风113提供用户和设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听见的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据,并将音频数据传输到外围设备接口118以进行处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如,触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。所述一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到所述其他输入或控制设备。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的实施方案中,一个或多个输入控制器160任选地与以下各项中的任一者耦接(或不与以下各项中的任一者耦接):键盘、红外线端口、USB端口、触笔和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至触敏显示器系统112。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频以及它们的任意组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部视觉输出对应于用户界面对象。
触敏显示器系统112具有基于触觉/触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一些实施方案中,触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。
触敏显示器系统112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任一种,以及其他接近传感器阵列或用于确定与触敏显示器系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,所述多种触摸感测技术包括但不限于电容式技术、电阻式技术、红外线技术和表面声波技术。在一些实施方案中,使用投射式互电容感测技术,诸如在来自Apple Inc.(Cupertino,California)的iPod中发现的技术。
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示器系统112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(LED))以及与便携式设备中电力的生成、管理和分配相关联的任何其他部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出与I/O子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于在用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出了与I/O子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻式应变仪、电容式力传感器、电气式力传感器、压电式力传感器、光学力传感器、电容式触敏表面或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的后部上,与位于设备100的前部上的触摸屏显示器系统112相背对。
设备100任选地还包括一个或多个接近传感器166。图1A示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与I/O子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
设备100任选地还包括一个或多个触觉输出发生器163。图1A示出了与I/O子系统106中的触觉反馈控制器161耦接的触觉输出发生器。一个或多个触觉输出发生器163任选地包括一个或多个电声设备诸如扬声器或其他音频部件,和/或将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合物、压电致动器、静电致动器或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。在一些实施方案中,一个或多个触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的后部上,与位于设备100的前部上的触敏显示器系统112相背对。
设备100任选地还包括用于获取关于设备的位置(例如,姿态)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(IMU)的一部分)。图1A示出了与外围设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任选地与I/O子系统106中的输入控制器160耦接。在一些实施方案中,基于对从一个或多个加速度计接收的数据的分析,在触摸屏显示器上以纵向视图或横向视图显示信息。设备100可选地包括用于获取关于设备100的位置的信息的GPS(或GLONASS或其他全球导航系统)接收器(未示出)。
在一些实施方案中,存储于存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、定位模块(或指令集)131、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135、应用程序(或指令集)136和/或接触信息分配模块185。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图1A和图3中所示。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备位置和/或姿态的位置和/或定位信息。
操作系统126(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与来自AppleInc.(Cupertino,California)的一些设备、iPod设备和设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块130包括软件部件以用于执行与(例如通过手指或触笔)接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件,其在本文中也叫做“触摸已开始”事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪跨触敏表面的移动(例如,检测一个或多个手指拖动事件,其在本文中也叫做“触摸已移动”事件),以及确定接触是否已停止(例如,检测手指抬离事件或者接触断开,其在本文中也叫做“触摸已结束”事件)。下面相对于图6C至图6D描述这些操作。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触和/或触笔接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。因此,任选地通过检测特定的接触图案来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。作为另一个示例,在触敏表面上检测手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
定位模块131结合加速度计167、陀螺仪168和/或磁力仪169任选地检测关于设备的定位信息,诸如在特定参考系中设备的姿态(滚转、俯仰和/或偏航)。定位模块130包括用于执行与检测设备位置以及检测设备位置改变相关的各种操作的软件部件。在一些实施方案中,定位模块131使用从正与设备一起使用的触笔接收的信息来检测关于触笔的定位信息,诸如检测触笔相对于该设备的定位状态以及检测触笔定位状态的改变。
图形模块132包括用于在触敏显示器系统112或其他显示器上呈现和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还接收坐标数据和其他图形属性数据,然后生成屏幕图像数据以输出至显示控制器156。
触觉反馈模块133包括用于生成指令(例如,由触觉反馈控制器161使用)的各种软件部件,以响应于用户与设备100的交互而使用一个或多个触觉输出发生器163在设备100上的一个或多个位置处产生触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供在各种应用程序中使用的这种信息(例如,提供至电话138以便在基于位置的拨号中使用,提供至相机143作为图片/视频元数据,以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序)。
应用程序136任选地包括以下模块(或指令集),或者其子集或超集:
·联系人模块137(有时称为通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于采集静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5和由用户获取的其他桌面小程序,以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·视频和音乐播放器模块152,其任选地由视频播放器模块和音乐播放器模块构成;
·记事本模块153;
·地图模块154;
·在线视频模块155;和/或
·绘图模块175。
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、展示应用程序、支持JAVA的应用程序、加密、数字版权管理、语音识别和语音复制。
结合触敏显示系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括用于管理通讯录或联系人列表(例如被存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中)的可执行指令,包括:将一个或多个姓名添加到通讯录;从通讯录删除一个或多个姓名;使一个或多个电话号码、一个或多个电子邮件地址、一个或多个物理地址或其他信息与姓名相关联;使图像与姓名相关联;对姓名归类和分类;提供电话号码和/或电子邮件地址以发起和/或促成通过电话138、视频会议139、电子邮件140、或IM 141的通信;等等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一者。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括用于根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、传输相应的即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、Apple推送通知服务(APNs)或IMPS)、接收即时消息,以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、APNs或IMPS发送的消息)两者。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154和音乐播放器模块146,健身支持模块142包括用于以下操作的可执行指令:创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与(运动设备和智能手表中的)健身传感器进行通信;接收健身传感器数据;校准用于监测健身的传感器;选择健身音乐并进行播放;以及显示、存储和传输健身数据。
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)或以其他方式对静态图像和/或视频图像进行操纵、加标签、删除、展示(例如,在数字幻灯片或相册中)和存储的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括用于根据用户指令来浏览互联网(包括搜索、链接到、接收和显示网页或其部分,以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和词典桌面小程序149-5),或者由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于(例如,在触敏显示器系统112上,或者在无线连接或经由外部端口124连接的外部显示器上)显示、展示或以其他方式回放视频的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,记事本模块153包括用于根据用户指令来创建和管理记事本、待办事项等的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;与特定位置处或附近的商店及其他兴趣点有关的数据;以及其他基于位置的数据)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,在触摸屏112上,或者在无线连接或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如H.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送至特定在线视频的链接。
接触信息分配模块185包括用于分配(例如,发送)接触信息和/或运动信息(例如,以下类型信息中的一者或多者:接触是否已发生,接触的强度,是否存在接触的移动,接触是否已停止,与检测到的接触图案对应的手势等)到一个或多个应用程序136(例如,浏览器模块147和/或绘图模块175)的软件部件。在一些实施方案中,接触信息分配模块185与接触/运动模块130集成(例如,被包括在所述接触/运动模块中)。在一些实施方案中,接触信息分配模块185与操作系统126集成(例如,被包括在所述操作系统中)。
上文所识别的模块和应用程序中的每一者对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上文所识别的模块和数据结构的子集。此外,存储器102任选地存储上文未描述的附加的模块和数据结构。
在一些实施方案中,设备100是这样一种设备,即在该设备上预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行。通过使用触摸屏和/或触摸板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地通过触摸屏和/或触摸板来执行的所述预定义的一组功能任选地包括在用户界面之间导航。在一些实施方案中,触摸板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或其他物理输入控制设备,而不是触摸板。
图1B是根据一些实施方案示出用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用于确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用于确定要将事件信息递送到的应用程序视图191。
在一些实施方案中,应用程序内部状态192包括附加的信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好被该应用程序显示的信息的用户界面状态信息、用于使用户能够返回到应用程序136-1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示器系统112上作为多点触摸手势的一部分的用户触摸)的信息。外围设备接口118传输其从I/O子系统106或传感器诸如接近传感器166、一个或多个加速度计167、一个或多个陀螺仪168、一个或多个磁力仪169和/或麦克风113(通过音频电路110)接收的信息。外围设备接口118从I/O子系统106接收的信息包括来自触敏显示器系统112或触敏表面的信息。
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施方案中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的何处发生的软件过程。视图由用户可在显示器上看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,在本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地与在应用程序的程序化或视图分级结构内的程序化水平对应。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被认为是正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,该初始触摸开始基于触摸的手势。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有在分级结构中组织的多个视图时,命中视图确定模块172将命中视图识别为应对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个视图或哪些视图应当接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图才应当接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图都是活跃参与的视图,因此确定所有活跃参与的视图都应当接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但在分级结构中较高的视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应的事件接收器模块182检索。
在一些实施方案中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在另一个实施方案中,事件分类器170是独立的模块,或者是存储在存储器102中的另一个模块(诸如接触/运动模块130)的一部分。
在一些实施方案中,应用136-1包括多个事件处理程序190和一个或多个应用视图191,其中每个应用视图包括用于处理发生在应用的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用视图191包括多个事件识别器180。在其他实施方案中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块诸如用户界面工具包(未示出)或应用程序136-1从中继承方法和其他属性的更高水平的对象。在一些实施方案中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个包括一个或多个相应的事件处理程序190。另外,在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者包括在相应的应用程序视图191中。
如本文所用,触摸事件是指设备生成的信号或设备生成的数据(例如,由设备100生成或更新的信号或数据对象),用于指示触摸输入的状态或状态的改变,诸如触摸输入的开始(例如,接触触敏表面)、移动(例如,跨触敏表面移动)或结束(例如,抬离)。虽然触摸事件与触敏表面上的物理触摸(例如,用手指和/或触笔进行的触摸)相关联,但是如本文所述的触摸事件与所述物理触摸不同。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件递送指令188(其任选地包括子事件递送指令)的至少一个子集。
事件接收器182接收来自事件分类器170的事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并基于该比较,确定事件或子事件,或确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,对事件1(187-1)的定义是在所显示对象上的双击。例如,双击包括在所显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬离(触摸结束)、所显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬离(触摸结束)。在另一个示例中,对事件2(187-2)的定义是在所显示对象上的拖动。例如,拖动包括在所显示对象上的预先确定时长的触摸(或接触)、触摸跨触敏显示器系统112的移动,以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,对相应事件187的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列是否确实对应于或不对应于事件识别器的事件类型。
当相应的事件识别器180确定子事件系列不与事件定义186中的任何事件匹配时,该相应的事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理正在进行的基于触摸的手势的子事件。
在一些实施方案中,相应的事件识别器180包括具有指示事件递送系统应该如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标志和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应的事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所识别的事件相关联的标志,并且与该标志相关联的事件处理程序190获取该标志并执行预定义的过程。
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息而无需激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件系列相关联的事件处理程序或递送到活跃参与的视图。与子事件系列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中使用的电话号码进行更新,或者对视频播放器模块145中使用的视频文件进行存储。在一些实施方案中,对象更新器177创建和更新在应用程序136-1中使用的对象。例如,对象更新器177创建新用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132以显示在触敏显示器上。
在一些实施方案中,一个或多个事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178,或者具有对该数据更新器、该对象更新器和该GUI更新器的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应的应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述讨论还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地结合单次或多次键盘按压或保持的鼠标移动和鼠标按钮按压;触摸板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;所检测到的眼部移动;生物特征输入;和/或这些的任意组合任选地被用作与限定要识别的事件的子事件对应的输入。
图2示出了根据一些实施方案的具有触摸屏(例如,图1A的触敏显示器系统112)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在这些实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中未按比例绘制)或一个或多个触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“home”按钮、或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。另选地,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的GUI中的软键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预先确定的时间空间来使设备通电/断电;通过按下按钮并在经过预先确定的时间空间之前释放按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语言输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统、或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互连的一根或多根通信总线320。通信总线320任选地包括将系统部件互连并且控制系统部件之间的通信的电路(有时称为芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触摸板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器163)、传感器359(例如,类似于以上参考图1A所述的传感器112、164、165、166、167、168和169的触敏传感器、光学传感器、接触强度传感器、接近传感器、加速度传感器、姿态和/或磁传感器)。存储器370包括高速随机存取存储器,诸如DRA6M、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离一个或多个CPU 310定位的一个或多个存储设备。在一些实施方案中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件中的每一个元件任选地被存储在一个或多个先前提到的存储器设备中。上文所识别的模块中的每一个模块对应于用于执行上述功能的指令集。上文所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上文所识别的模块和数据结构的子集。此外,存储器370任选地存储上文未描述的附加的模块和数据结构。
图4是根据一些实施方案的示例性电子触笔203的框图。电子触笔203有时简称为触笔。触笔203包括存储器402(其任选地包括一个或多个计算机可读存储介质)、存储器控制器422、一个或多个处理单元(CPU)420、外围设备接口418、RF电路408、输入/输出(I/O)子系统406,以及其他输入或控制设备416。触笔203任选地包括外部端口424和一个或多个光学传感器464。触笔203任选地包括一个或多个强度传感器465,用于检测触笔203在设备100上(例如,当触笔203与触敏表面诸如设备100的触敏显示器系统112一起使用时)或其他表面(例如,桌子表面)上的接触的强度。触笔203任选地包括一个或多个触觉输出发生器463,用于在触笔203上生成触觉输出。这些部件任选地通过一根或多根通信总线或信号线403进行通信。
在一些实施方案中,上文讨论的术语“触觉输出”是指将由用户借助其触感来察觉的下述位移:装置(例如,装置100)的附件(例如,触笔203)相对于该附件的先前位置的物理位移,附件的部件相对于该附件的另一部件的物理位移,或者所述部件相对于该附件的质心的位移。例如,在附件或附件部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与附件或附件部件的物理特征的所感知改变对应。例如,部件(例如,触笔203的外壳)的移动任选地被用户解释为物理致动按钮的“点击”。在一些情况下,用户将感觉到触感,诸如“点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触笔相关联的物理致动按钮没有移动时。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“点击”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将生成典型(或普通)用户的所描述的感官知觉。
应当理解,触笔203仅是电子触笔的一个示例,并且触笔203任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图4中所示的各种部件在硬件、软件、固件或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器402任选地包括高速随机存取存储器,并且任选地还包括非易失性存储器,诸如一个或多个闪存存储器设备或其他非易失性固态存储器设备。触笔203的其他部件(诸如一个或多个CPU 420和外围设备接口418)对存储器402的访问任选地由存储器控制器422来控制。
外围设备接口418可被用于将触笔的输入外围设备和输出外围设备耦接到存储器402和一个或多个CPU 420。所述一个或多个处理器420运行或执行存储在存储器402中的各种软件程序和/或指令集,以执行触笔203的各种功能并处理数据。
在一些实施方案中,外围设备接口418、一个或多个CPU 420以及存储器控制器422任选地在单个芯片诸如芯片404上实现。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路408接收和发送也被称为电磁信号的RF信号。RF电路408将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与设备100或300、通信网络和/或其他通信设备进行通信。RF电路408任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、用户身份模块(SIM)卡、存储器等。RF电路408任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS)、和/或短消息服务(SMS)),或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
I/O子系统406将触笔203上的输入/输出外围设备诸如其他输入或控制设备416与外围设备接口418耦接。I/O子系统406任选地包括光学传感器控制器458、强度传感器控制器459、触觉反馈控制器461,以及用于其他输入或控制设备的一个或多个输入控制器460。所述一个或多个输入控制器460从其他输入或控制设备416接收电信号/将电信号发送到所述其他输入或控制设备。其他输入或控制设备416任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、点击轮等。在一些另选的实施方案中,一个或多个输入控制器460任选地与以下各项中的任一者耦接(或不与以下各项中的任一者耦接):红外线端口和/或USB端口。
触笔203还包括用于为各种部件供电的电力系统462。电力系统462任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(LED))以及与便携式设备和/或便携式附件中电力的生成、管理和分配相关联的任何其他部件。
触笔203任选地还包括一个或多个光学传感器464。图4示出了与I/O子系统406中的光学传感器控制器458耦接的光学传感器。一个或多个光学传感器464任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器464从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。
触笔203任选地还包括一个或多个接触强度传感器465。图4示出了与I/O子系统406中的强度传感器控制器459耦接的接触强度传感器。一个或多个接触强度传感器465任选地包括一个或多个压阻式应变仪、电容式力传感器、电气式力传感器、压电式力传感器、光学力传感器、电容式触敏表面或其他强度传感器(例如,用于测量表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器465从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触笔203的顶端并置排列或邻近。
触笔203任选地还包括一个或多个接近传感器466。图4示出了与外围设备接口418耦接的接近传感器466。另选地,接近传感器466与I/O子系统406中的输入控制器460耦接。在一些实施方案中,接近传感器确定触笔203到电子设备(例如,设备100)的接近度。
触笔203任选地还包括一个或多个触觉输出发生器463。图4示出了与I/O子系统406中的触觉反馈控制器461耦接的触觉输出发生器。一个或多个触觉输出发生器463任选地包括一个或多个电声设备诸如扬声器或其他音频部件,和/或将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合物、压电致动器、静电致动器或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。一个或多个触觉输出发生器463从触觉反馈模块433接收触觉反馈生成指令,并且在触笔203上生成能够由触笔203的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触笔203的长度(例如,笔身或外壳)并置排列或邻近,并且任选地通过竖直地(例如,在平行于触笔203的长度的方向上)或侧向地(例如,在正交于触笔203的长度的方向上)移动触笔203来生成触觉输出。
触笔203任选地还包括用于获取关于触笔203的位置和定位状态的信息的一个或多个加速度计467、陀螺仪468和/或磁力仪470(例如,作为惯性测量单元(IMU)的一部分)。图4示出了与外围设备接口418耦接的传感器467、469和470。另选地,传感器467、469和470任选地与I/O子系统406中的输入控制器460耦接。触笔203任选地包括用于获取关于触笔203的位置的信息的GPS(或者GLONASS或其他全球导航系统)接收器(未示出)。
在一些实施方案中,存储于存储器402中的软件部件包括操作系统426、通信模块(或指令集)428、接触/运动模块(或指令集)430、定位模块(或指令集)431和全球定位系统(GPS)模块(或指令集)435。此外,在一些实施方案中,存储器402存储设备/全局内部状态457,如图4中所示。设备/全局内部状态457包括以下各项中的一者或多者:传感器状态,包括从触笔的各种传感器和其他输入或控制设备416获得的信息;定位状态,包括关于触笔相对于设备(例如,设备100)的位置(例如,位置、取向、倾斜、滚转和/或距离,如图5A和图5B中所示)的信息;以及关于触笔位置的位置信息(例如,由GPS模块435确定)。
操作系统426(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、电力管理等)的各种软件部件和/或驱动器,并且有利于各种硬件部件和软件部件之间的通信。
通信模块428任选地促进通过一个或多个外部端口424与其他设备进行通信,并且还包括用于处理由RF电路408和/或外部端口424所接收的数据的各种软件部件。外部端口424(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与来自Apple Inc.(Cupertino,California)的一些设备、iPod 设备和设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块430任选地检测与触笔203和触笔203的其他触敏设备(例如,触笔203的按钮或其他触敏部件)的接触。接触/运动模块430包括用于执行与检测接触(例如,使用触敏显示器诸如设备100的触摸屏112,或使用另一表面诸如桌子表面检测触笔的顶端)相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测触摸按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪该移动(例如,跨设备100的触摸屏112),以及确定接触是否已停止(例如,检测抬离事件或接触断开)。在一些实施方案中,接触/运动模块430从I/O子系统406接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。如上所述,在一些实施方案中,与检测接触相关的这些操作中的一者或多者由设备使用接触/运动模块130(除了使用接触/运动模块430的触笔之外,或代替该触笔)来执行。
接触/运动模块430任选地检测由触笔203进行的手势输入。用触笔203完成的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。因此,任选地通过检测特定的接触图案来检测手势。例如,检测单击手势包括检测触摸按下事件,然后在与触摸按下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测抬离事件。作为另一个示例,检测轻扫手势包括检测触摸按下事件,然后检测一个或多个触笔拖动事件,随后检测抬离事件。如上所述,在一些实施方案中,手势检测由设备使用接触/运动模块130(除了使用接触/运动模块430的触笔之外,或代替该触笔)来执行。
定位模块431结合加速度计467、陀螺仪468和/或磁力仪469任选地检测关于触笔的定位信息,诸如在特定参考系中触笔的姿态(滚转、俯仰和/或偏航)。定位模块431结合加速度计467、陀螺仪468和/或磁力仪469,任选地检测触笔移动手势,诸如触笔的轻拂、轻击和滚转。定位模块431包括用于执行与在特定参考系中检测触笔位置以及检测触笔位置改变相关的各种操作的软件部件。在一些实施方案中,定位模块431检测触笔相对于设备的定位状态,并且检测触笔相对于设备的定位状态的改变。如上所述,在一些实施方案中,设备100或300使用定位模块131确定触笔相对于设备的定位状态以及触笔定位状态的改变(除了使用定位模块431的触笔之外,或代替该触笔)。
触觉反馈模块433包括用于生成指令的各种软件部件,所述指令由一个或多个触觉输出发生器463使用以便响应于用户与触笔203的交互而在触笔203上的一个或多个位置处产生触觉输出。
GPS模块435确定触笔的位置并提供在各种应用程序中使用的这种信息(例如,提供至提供基于位置服务的应用程序,诸如用于寻找丢失的设备和/或附件的应用程序)。
上文所识别的模块和应用程序中的每一者对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器402任选地存储上文所识别的模块和数据结构的子集。此外,存储器402任选地存储上文未描述的附加的模块和数据结构。
图5A至图5B示出了根据一些实施方案的触笔203相对于触敏表面(例如,设备100的触摸屏112)的定位状态。在一些实施方案中,触笔203的定位状态对应于(或指示):触笔的顶端(或其他代表性部分)在触敏表面上的投影的位置(例如,(x,y)位置504,图5A),触笔相对于触敏表面的取向(例如,取向506,图5A),触笔相对于触敏表面的倾斜(例如,倾斜512,图5B)和/或触笔相对于触敏表面的距离(例如,距离514,图5B)。在一些实施方案中,触笔203的定位状态对应于(或指示)触笔的俯仰、偏航和/或滚转(例如,触笔相对于特定参考系的姿态,所述特定参考系诸如触敏表面(例如,触摸屏112)或地面)。在一些实施方案中,定位状态包括一组定位参数(例如,一个或多个定位参数)。在一些实施方案中,根据从触笔203发送到电子设备(例如,设备100)的一个或多个测量值来检测定位状态。例如,触笔测量触笔的倾斜(例如,倾斜512,图5B)和/或取向(例如,取向506,图5A),并将测量值发送到设备100。在一些实施方案中,替代根据来自触笔203的一个或多个测量值来检测定位状态的做法或与该做法结合,根据来自触笔中的一个或多个电极且由触敏表面(例如,设备100的触摸屏112)感测的原始输出来检测定位状态。例如,触敏表面接收来自触笔中的一个或多个电极的原始输出,并且基于该原始输出(任选地,结合由触笔基于由触笔生成的传感器测量值所提供的定位状态信息)计算触笔的倾斜和/或取向。
图5A示出了根据一些实施方案的从触敏表面(例如,设备100的触摸屏112)正上方的视角观察的相对于该触敏表面的触笔203。在图5A中,z轴594指出页面外(即,在正交于触摸屏112的平面的方向上),x轴590平行于触摸屏112的第一边缘(例如,长度),y轴592平行于触摸屏112的第二边缘(例如,宽度),并且y轴592垂直于x轴590。
图5A示出了触笔203在(x,y)位置504处的顶端。在一些实施方案中,触笔203的顶端是触笔的终点,其被配置用于确定触笔到触敏表面(例如,触摸屏112)的接近度。在一些实施方案中,触笔顶端在触敏表面上的投影为正交投影。换句话说,触笔顶端在触敏表面上的投影是从触笔顶端到触敏表面的正交于该触敏表面的表面的一条线的尽头处的点(例如,(x,y)位置504,如果触笔直接沿着正交于触敏表面的路径移动,则触笔的顶端将在该位置处触摸该触敏表面)。在一些实施方案中,触摸屏112左下角处的(x,y)位置是位置(0,0)(例如,(0,0)位置502),并且触摸屏112上的其他(x,y)位置是与触摸屏112的左下角相比较的位置。另选地,在一些实施方案中,(0,0)位置定位在触摸屏112的另一位置处(例如,在触摸屏112的中心),并且其他(x,y)位置是与触摸屏112的(0,0)位置相比较的位置。
此外,图5A示出了具有取向506的触笔203。在一些实施方案中,取向506是触笔203在触摸屏112上的投影(例如,以下两者的正交投影:触笔203的长度或与触笔203的两个不同点在触摸屏112上的投影之间的线对应的线)的取向。在一些实施方案中,取向506是与平行于触摸屏112的平面中的至少一条轴相比较的取向。在一些实施方案中,取向506是与平行于触摸屏112的平面中的单条轴(例如,轴508,从轴508开始的顺时针旋转角度涉及的范围从0度至360度,如图5A中所示)相比较的取向。另选地,在一些实施方案中,取向506是与平行于触摸屏112的平面中的一对轴(例如,如图5A中所示的x轴590和y轴592,或与触摸屏112上所显示的应用程序相关联的一对轴)相比较的取向。
在一些实施方案中,在触敏显示器(例如,设备100的触摸屏112)上显示指示(例如,指示516)。在一些实施方案中,指示516示出了在触笔触摸触敏显示器之前触笔将触摸(或标记)触敏显示器的位置。在一些实施方案中,指示516是正在触敏显示器上绘制的标记的一部分。在一些实施方案中,指示516与正在触敏显示器上绘制的标记分开,并且对应于虚拟的“笔尖”或指示标记将在触敏显示器上绘制的位置的其他元件。
在一些实施方案中,指示516根据触笔203的定位状态显示。例如,在某些情况下,指示516从(x,y)位置504移位(如图5A和图5B中所示),而在其他情况下,指示516不从(x,y)位置504移位(例如,当倾斜512为零度时,指示516显示在(x,y)位置504处或附近)。在一些实施方案中,指示516根据触笔的定位状态显示,具有变化的颜色、尺寸(或半径或面积)、不透明度和/或其他特征。在一些实施方案中,所显示的指示说明触敏显示器上玻璃层的厚度,以便将该指示移动“到”触敏显示器的“像素上”,而不是“在”覆盖像素的“玻璃上”显示该指示。
图5B示出了根据一些实施方案的从触敏表面(例如,设备100的触摸屏112)侧面的视角观察的相对于该触敏表面的触笔203。在图5B中,z轴594在正交于触摸屏112的平面的方向上指向,x轴590平行于触摸屏112的第一边缘(例如,长度),y轴592平行于触摸屏112的第二边缘(例如,宽度),并且y轴592垂直于x轴590。
图5B示出了具有倾斜512的触笔203。在一些实施方案中,倾斜512是相对于触敏表面的表面的法线(也简称为触敏表面的法线)(例如,法线510)的角度。如图5B中所示,当触笔垂直/正交于触敏表面时(例如,当触笔203平行于法线510)时,倾斜512为零;并且随着触笔倾斜得更接近平行于触敏表面,该倾斜增大。
此外,图5B示出了触笔203相对于触敏表面的距离514。在一些实施方案中,距离514是在正交于触敏表面的方向上从触笔203的顶端到触敏表面的距离。例如,在图5B中,距离514是从触笔203的顶端到(x,y)位置504的距离。
尽管本文使用术语“x轴”、“y轴”和“z轴”来说明特定图中的某些方向,但是应当理解,这些术语不是指绝对方向。换句话说,“x轴”可以是任何相应的轴,并且“y轴”可以是与x轴不同的特定轴。通常,x轴垂直于y轴。类似地,“z轴”不同于“x轴”和“y轴”,并且通常既垂直于“x轴”也垂直于“y轴”。
此外,图5B示出了滚转518,这是围绕触笔203的长度(长轴)的旋转。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图6A示出了根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面600包括以下元件,或者其子集或超集:
·一种或多种无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信号强度指示符602;
·时间604;
·蓝牙指示符605;
·电池状态指示符606;
·具有常用应用程序的图标的托盘608,所述图标诸如:
○电话模块138的被标记为“电话”的图标616,该图标任选地包括未接来电或语音留言的数量的指示符614;
○电子邮件客户端模块140的被标记为“邮件”的图标618,该图标任选地包括未读电子邮件的数量的指示符610;
○浏览器模块147的被标记为“浏览器”的图标620;和
○视频和音乐播放器模块152(也称为iPod(Apple Inc.的商标)模块152)的被标记为“iPod”的图标622;以及
·其他应用程序的图标,诸如:
○IM模块141的被标记为“消息”的图标624;
○日历模块148的被标记为“日历”的图标626;
○图像管理模块144的被标记为“相片”的图标628;
○相机模块143的被标记为“相机”的图标630;
○在线视频模块155的被标记为“在线视频”的图标632;
○股市桌面小程序149-2的被标记为“股市”的图标634;
○地图模块154的被标记为“地图”的图标636;
○天气桌面小程序149-1的被标记为“天气”的图标638;
○闹钟桌面小程序169-6的被标记为“时钟”的图标640;
○健身支持模块142的被标记为“健身支持”的图标642;
○记事本模块153的被标记为“记事本”的图标644;和
○设置应用程序或模块的图标646,该图标提供对设备100及其各种应用程序136的设置的访问。
应当指出的是,图6A中示出的图标标签仅仅是示例性的。例如,在一些实施方案中,视频和音乐播放器模块152的图标622被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图6B示出了具有与显示器650分开的触敏表面651(例如,平板或触摸板355,图3)的设备(例如,设备300,图3)上的示例性用户界面。设备300还任选地包括用于检测触敏表面651上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个),和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的示例中的许多示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图6B中所示。在一些实施方案中,触敏表面(例如,图6B中的651)具有与显示器(例如,650)上的主轴(例如,图6B中的653)对应的主轴(例如,图6B中的652)。根据这些实施方案,设备检测在与显示器上的相应位置对应的位置处与触敏表面651的接触(例如,图6B中的660和662)(例如,在图6B中,660对应于668并且662对应于670)。这样,在触敏表面(例如,图6B中的651)与多功能设备的显示器(例如,图6B中的650)分开时,由设备在触敏表面上检测到的用户输入(例如,接触660和662以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、手指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)代替。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)来代替。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,而不是对接触的检测,以及之后的停止检测接触)来代替。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
图6C至图6E示出了根据一些实施方案的具有触敏显示器112的多功能设备100的示例性用户界面。
图6C示出了在触敏显示器112上检测到接触605。接触605最初在位置605-A处被检测到(例如,手指按下),随后从位置605-A移动到位置605-B,并且在位置605-B处不再被检测到(例如,手指抬起)。
图6D示出了对应于图6C中所示的接触605的触摸事件。响应于在触敏显示器112上检测到接触605(例如,接触605的初始接触),接触/运动模块130(图1A)生成对应于位置605-A的触摸已开始事件672。响应于检测到接触605在触敏显示器112上的移动,接触/运动模块130生成触摸已移动事件674,这些触摸已移动事件描述或以其他方式对应于接触605(以及任选地,接触605的其他状态信息)在触敏显示器112上沿着从位置605-A到位置605-B的路径的位置。响应于检测到接触605已在触敏显示器112上不再被检测到,接触/运动模块130生成对应于位置605-B的触摸已结束事件676。
图6E示出了对应于图6C中的接触605的触摸事件。在图6E中,接触/运动模块130在接触605从位置605-A移动到位置605-B期间生成触摸取消事件678(例如,根据预定义的标准)。如本文所用,触摸取消事件也称为触摸已取消事件。在一些实施方案中,在生成触摸取消事件之后,无论接触605是保持在触敏显示器112上、是跨触敏显示器112移动,还是不再保持在触敏显示器112上,均不相对于接触605生成触摸事件。在图6E中,无论接触605是否继续移动到位置605-B,接触/运动模块130都不生成触摸已移动事件,并且无论接触605是否在位置605-B处不再被检测到(例如,从位置605-B抬离),接触/运动模块130都不生成触摸已结束事件。
在图6D和图6E中,触摸已开始事件(例如,672)用实线椭圆以图形方式表示,触摸已移动事件(例如,674)用虚线椭圆以图形方式表示,触摸已结束事件(例如,676)用带阴影椭圆以图形方式表示,而触摸取消事件(例如,678)用三角形以图形方式表示。类似的图形表示将用于说明图7A至图7U中的触摸事件的类型。
用户界面和相关联的过程
现在将注意力转向可在具有显示器、触敏表面和用于检测与触敏表面的接触的强度的一个或多个传感器的电子设备诸如便携式多功能设备100或设备300上实现的用户界面(“UI”)和相关联过程的实施方案。
图7A至图7U示出了根据一些实施方案的用于处理触摸输入的示例性用户界面。这些图中的用户界面用于示出下文描述的过程,包括图8A至图8D中的过程。尽管将参考触摸屏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器650分开的触敏表面651上的输入,如图6B中所示。这里公开的实施方案解决了如何最好地确定应当在何处递送触摸事件的技术难题,特别是当对应的触摸输入在一个应用程序或视图的显示区域中开始,但穿越到另一个应用程序或视图的显示区域上时,以便最好地实现用户可能的意图。例如,一个选项将是始终保持与其触摸按下的应用程序或视图相关联的触摸输入,但是随后将没有办法在同一显示器上启用对并排显示的应用程序的边缘轻扫,此外这将使触摸输入的处理对初始触摸位置非常敏感。另一个选项将是当触摸跨两个应用程序或视图之间的边界时,始终将对触摸事件的递送从一个应用程序或视图切换到另一个应用程序或视图,但这将导致边界处的抖动行为。下文描述的实施方案通过智能地确定哪个应用程序或视图提供触摸事件并且平滑地处理从一个显示区域过渡到另一个显示区域的触摸输入,来改进对此类情况下的触摸输入的处理。
图7A示出了用户界面600包括第一区域702和第二区域704。在图7A中,第一区域702对应于绘图应用程序(例如,图1A中的绘图模块175),并且第二区域704对应于浏览器应用程序(例如,图1A中的浏览器模块147)。第一区域702包括绘图应用程序的用户界面,并且第二区域704包括浏览器应用程序的用户界面。在图7A中,第二区域704包括对特定网页的显示。在一些实施方案中,第一区域702与第二区域704接触(例如,相邻或接界)(例如,图7U)。在一些实施方案中,第一区域702与第二区域704分离(例如,不相邻、不接触或不接界),如图7A中所示。
图7A还示出了第一区域702包括远离第二区域704定位的非边界区域706。在图7A中,第一区域702还包括定位在非边界区域706和第二区域704之间的边界区域708。在一些实施方案中,边界区域708与非边界区域706接触,如图7A中所示。在一些实施方案中,边界区域708限定第一区域702的边缘(例如,边界区域708限定第一区域702的右边缘)。
图7B至图7D示出了根据一些实施方案的与边缘轻扫手势相关联的操作。
图7B示出了与来源于第二区域704的左边缘并且朝向第二区域704的右侧移动的触摸输入对应的触摸事件705(例如,针对第二区域704的边缘轻扫手势)。触摸事件705包括对应于第二区域704的左边缘的触摸已开始事件705-1,触摸已移动事件705-2和705-3,以及触摸已结束事件705-4。
图7C至图7D示出了响应于触摸事件705-1至705-4(或对应于触摸事件705-1至705-4的触摸输入),第二区域704得到更新。在图7C和图7D中,对特定网页的显示被替换为对先前网页的显示,该替换通过过渡动画来实现(例如,对特定网页的显示朝向第二区域704的右侧滑动,并展现先前的网页)。
然而,当第一区域702和第二区域704彼此相邻定位时,用户可能会在第一区域702中开始触摸输入(例如,通过无意地接触第一区域702)。此外,要求用户恰好从第二区域704的边缘开始触摸输入需要用户付出大量努力并高度集中精神。
图7E至图7U中示出的方法和界面提供了对有意或意外地在多个应用程序用户界面上移动的触摸输入的有效处理。此类方法和界面任选地补充或替换用于处理在多个应用程序用户界面上移动的触摸输入的常规方法。此类方法和界面减轻了对用户造成的认知负担,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
图7E至图7F示出了根据一些实施方案的与来源于第一区域702的非边界区域706并且延伸到第二区域704(然后返回到第一区域702)的触摸输入对应的触摸事件。该触摸事件包括对应于第一区域702的边界区域706的触摸已开始事件707-1,触摸已移动事件707-2至707-10(包括对应于第一区域702的边界区域708的触摸已移动事件707-2和707-3,对应于第一区域702和第二区域704之间的位置的触摸已移动事件707-4,对应于第二区域704的触摸已移动事件707-5至707-8,对应于第一区域702的边界区域708的触摸已移动事件707-9,和对应于第一区域702的非边界区域706的触摸已移动事件707-10),以及对应于第一区域702的非边界区域706的触摸已结束事件707-11。
图7F示出了响应于触摸事件707-1至707-11(或对应于触摸事件707-1至707-11的触摸输入),第一区域702得到更新。在图7F中,在第一区域702中示出的绘图应用程序的用户界面中,沿着与触摸事件707-1至707-11对应的触摸输入的路径显示了一条或多条线。
当触摸输入来源于第一区域702的非边界区域706时,假定用户打算使用该触摸输入与第一区域702交互。因此,即便该触摸输入离开第一区域702并进入第二区域704,也不更新第二区域704。在图7F中,虽然触摸事件707-5至707-8对应于第二区域704,但触摸事件707-5至707-8不被第二应用程序处理。因此,图7F示出了第二区域704不响应于触摸事件707-1至707-11而更新。
图7G至图7H示出了在与第一应用程序相关联的区域中开始并且继续进入与第二应用程序相关联的区域中的触摸输入的示例,但是由于该触摸输入在与第一应用程序相关联的区域的边界区域中开始并且从未进入与第一应用程序相关联的区域的非边界区域,所以该触摸输入被设备解释为在与用户打算与其交互的应用程序(即,第二应用程序)相关联的区域之外不经意地开始。结果是,针对该触摸输入在第一应用程序的边界区域中的那部分的触摸事件被忽略或取消,而对应于该触摸输入在与第二应用程序相关联的区域中的那部分的触摸事件被递送到第二应用程序以进行处理。这样,设备的用户不必避免触摸与第一应用程序相关联的区域,只要用户的触摸输入不过分不准确到进入与第一应用程序相关联的区域的非边界区域,就可相对于第二应用程序执行边缘手势等。
更具体地,图7G至图7H示出了根据一些实施方案的与来源于第一区域702的边界区域708并且延伸到第二区域704的触摸输入对应的触摸事件。该触摸事件包括对应于第一区域702的非边界区域706的触摸已开始事件709-1,对应于第一区域702的非边界区域706的触摸已移动事件709-2,对应于第一区域702的非边界区域706的右边缘的触摸取消事件709-3,对应于第二区域704的左边缘的触摸已开始事件709-4,对应于第二区域704的触摸已移动事件709-5和709-6,以及对应于第二区域704的触摸已结束事件709-7。
触摸已开始事件709-1响应于用触摸屏112检测到触摸输入的初始接触而生成(例如,通过接触/运动模块130)。触摸已移动事件709-2响应于检测到触摸输入的移动而生成(例如,通过接触/运动模块130)。触摸取消事件709-3响应于检测到在不与第一区域702对应的位置处检测到触摸输入(例如,触摸输入已离开第一区域702)而生成(例如,通过接触/运动模块130)。触摸取消事件709-3被发送(例如,通过接触/运动模块130和/或接触信息分配模块185)到与第一区域702对应的第一应用程序。在一些实施方案中,触摸取消事件709-3发起由对应于第一区域702的触摸事件(例如,触摸事件709-1和709-2)触发的撤销操作和/或放弃用与第一区域702相关联的第一软件应用程序处理随后的触摸事件(例如,触摸事件709-4至709-7)。触摸已开始事件709-4响应于检测到在与第二区域704对应的位置处检测到触摸输入而生成(例如,通过接触/运动模块130)。触摸已移动事件709-5和709-6响应于检测到触摸输入的移动而生成(例如,通过接触/运动模块130)。触摸已结束事件709-6响应于检测到触摸输入的抬离而生成(例如,通过接触/运动模块130)。
图7H示出了响应于触摸事件709-1至709-7(特别是触摸事件709-4至709-7),第二区域704得到更新(例如,对特定网页的显示被替换为对先前网页的显示)。
图7I至图7L还示出了根据一些实施方案的与来源于第一区域702的边界区域708并且延伸到第二区域704的触摸输入对应的触摸事件。
图7I示出了与来源于第一区域702的边界区域708并且朝向第二区域704延伸的触摸输入对应的触摸事件。该触摸事件包括触摸已开始事件709-1和触摸已移动事件709-2。在图7I中,根据触摸事件709-1和709-2来更新第一区域702(例如,在第一区域702中示出的绘图应用程序的用户界面中,沿着触摸输入从对应于触摸事件709-1的位置到对应于触摸事件707-2的位置的路径显示线712)。
图7J示出了附加的触摸事件709-3至709-7响应于触摸输入的后续移动(例如,触摸输入延伸到第二区域704)而生成(例如,通过接触/运动模块130)。响应于触摸输入(或对应的触摸事件)朝向第一区域702的右边缘的后续移动,线712朝向第一区域702的该边缘延伸。
图7K示出了根据一些实施方案的响应于触摸事件709-4至709-7而显示的用户界面600。响应于触摸事件709-4至709-7,第二区域704得到更新(例如,对特定网页的显示被替换为对先前网页的显示)。此外,线712保留在第一区域702中(例如,触摸取消事件709-3使得多功能设备100放弃根据随后的触摸事件诸如触摸事件709-4至709-7更新第一区域702)。
图7L示出了根据一些实施方案的响应于触摸事件709-4至709-7而显示的另选用户界面600。响应于触摸事件709-4至709-7,第二区域704得到更新(例如,对特定网页的显示被替换为对先前网页的显示),如图7K中所示。然而,图7L与图7K的不同之处在于,线712停止显示(例如,线712响应于触摸取消事件709-3而被去除)。
图7M示出了与来源于第一区域702的边界区域708,进入第一区域702的非边界区域706并且随后进入第二区域704的触摸输入对应的触摸事件。该触摸事件包括对应于第一区域702的边界区域708的触摸已开始事件711-1,对应于第一区域702的非边界区域706的触摸已移动事件711-2至711-5,对应于第一区域702的边界区域708的触摸已移动事件711-6和711-7,对应于第二区域704的触摸已移动事件711-8至711-12,对应于第一区域702的边界区域708的触摸已移动事件711-13和711-14,以及对应于第一区域702的边界区域708的触摸已结束事件711-15。
图7M还示出了响应于触摸事件711-1至711-15,在第一区域702中示出的绘图应用程序的用户界面中,沿着与触摸事件711-1至711-15对应的触摸输入的路径显示一条或多条线。在图7M中,第二区域704不响应于触摸事件711-1至711-15而更新。
图7N至图7S示出了根据一些实施方案的来源于第一区域702和第二区域704之间的位置的触摸输入。需注意,图7N至图7S示出了对在第一区域702和第二区域704之间的与第一应用程序和第二应用程序相关联的第三区域714(有时称为死区)中开始的触摸输入的响应的示例。在其他实施方案中,响应于在第三区域714中开始的触摸输入(例如,触摸手势符合预定义的标准),设备可执行其他动作。
图7N示出了与来源于第一区域702和第二区域704之间的第三区域714并且朝向第二区域704延伸的触摸输入对应的触摸事件713(例如,触摸已开始事件),该触摸事件如图7N中示出的箭头所指示,在第三区域714中开始并向右延伸到第二区域704中。为简明起见,在图7N中省略了随后的触摸事件,诸如对应于第二区域704的触摸已移动事件和触摸已结束事件。
图7O示出了响应于来源于第三区域714并且朝向第二区域704延伸的触摸输入(或对应的触摸事件)而显示的用户界面600。另选地,第一区域702和/或第二区域704响应于来源于第三区域714并且朝向第二区域704延伸的触摸输入(或对应的触摸事件)而调整尺寸。
图7P示出了响应于来源于第三区域714并且朝向第二区域704延伸的触摸输入(或对应的触摸事件)而显示的另选用户界面600。在图7P中,第二区域704被调整尺寸,并且第一区域702保持不变(例如,第一区域702的尺寸不因来源于第三区域714并且朝向第二区域704延伸的触摸输入而改变)。
图7Q示出了包括第一区域702和第二区域704的用户界面600。图7Q还示出了与来源于第一区域702和第二区域704之间的第三区域714并且朝向第二区域704延伸的触摸输入对应的触摸事件715(例如,触摸已开始事件)。为简明起见,在图7N中省略了随后的触摸事件,诸如对应于第二区域704的触摸已移动事件和触摸已结束事件。
图7R示出了响应于来源于第三区域714并且朝向第二区域704延伸的触摸输入(或对应的触摸事件)而显示的用户界面600。在图7R中,第一区域702和第二区域704根据触摸输入移动(例如,第一区域702和第二区域704根据正朝向触摸屏112的右侧移动的触摸输入而朝向触摸屏112的右侧移动)。
图7S示出了响应于来源于第三区域714并且朝向第二区域704延伸的触摸输入(或对应的触摸事件)而显示的另选用户界面600。在图7S中,第二区域704根据触摸输入移动(例如,第二区域704根据正朝向触摸屏112的右侧移动的触摸输入而朝向触摸屏112的右侧移动),并且第一区域702保持不变(例如,第一区域702的位置不因来源于第三区域714并且朝向第二区域704延伸的触摸输入而改变)。
图7T示出了其中第一区域702与第二区域704接触的用户界面600的示例。因此,在图7T中,用户界面600不在第一区域702和第二区域704之间包括第三区域714。无论如何,来源于第一区域702并且延伸到第二区域704的触摸输入以与上文相对于图7B至图7S所述类似的方式得到处理。为简明起见,本文不再重复此类细节。
尽管图7B至图7T示出了与来源于第一区域702(例如,非边界区域706或边界区域708)并且延伸到第二区域704的触摸输入相关联的操作,但是来源于第二区域704并且延伸到第一区域702的触摸输入以类似的方式得到处理。尽管在图7B至图7T中未示出,但是第二区域704通常包括非边界区域和边界区域,并且来源于第二区域704并延伸到第一区域702的触摸输入基于该触摸输入是来源于第二区域704的非边界区域还是第二区域704的边界区域,以及任选地,该触摸输入是否已进入第二区域704的非边界区域,来加以处理。为简明起见,本文省略了此类细节。
图7U示出了在触摸屏112上检测到的多点并发触摸输入。在图7U中,对应于第一区域702上的触摸输入的触摸已开始事件717以及对应于第二区域704上的触摸输入的触摸已开始事件719和721在触摸屏112上被同时检测到。为简明起见,在图7U中省略了随后的触摸事件,诸如触摸已移动事件和触摸已结束事件。对应于第一区域702的触摸已开始事件717和随后的触摸事件被发送到对应于第一区域702的第一软件应用程序并且由该应用程序处理(例如,根据触摸屏112的第一区域702上的触摸输入绘制一条线)。对应于第二区域704的触摸已开始事件719和721以及随后的触摸事件被发送到对应于第二区域704的第二软件应用程序并且由该应用程序处理(例如,对特定网页的显示根据由对应于触摸已开始事件719的第一触摸输入和对应于触摸已开始事件721的第二触摸输入的分离运动所表示的捏合打开手势而放大)。
尽管图7A至图7U示出了具有对应于绘图应用程序的区域和对应于web浏览器应用程序的区域的用户界面600的示例,但是本领域的普通技术人员将理解,图7A至图7U中所示的方法可使用具有对应于不同应用程序和/或应用程序的不同组合的区域(例如,第一区域对应于web浏览器应用程序,并且第二区域对应于绘图应用程序;第一区域对应于地图应用程序,并且第二区域对应于电子邮件应用程序,等等)的用户界面实施。例如,当第二区域对应于电子邮件应用程序时,发送到电子邮件应用程序的边缘轻扫手势发起替换显示(例如,用电子邮件列表的显示替换电子邮件的显示,或者用电子邮件帐户列表的显示替换电子邮件列表的显示)。为简明起见,本文省略了此类细节。
图8A至图8D示出了根据一些实施方案的处理在多个应用程序用户界面上移动的触摸输入的方法800的流程图。方法800是在具有触敏显示器的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)处执行的。在一些实施方案中,显示器不是触摸屏显示器,并且触敏表面不与显示器集成。方法800中的一些操作任选地被组合,并且/或者一些操作的顺序任选地被改变。
如下所述,方法800提供了一种直观的方式来处理在多个应用程序用户界面上移动的触摸输入。该方法减轻了用户处理在多个应用程序用户界面上移动的触摸输入时的认知负担,从而创建更有效的人机界面。对于电池驱动的电子设备,使用户能够更快且更有效地处理在多个应用程序用户界面上移动的触摸输入不但节省了电力,而且增加了电池充电之间的时间。
在显示(802)用户界面(例如,在触敏显示器上)时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与第一软件应用程序不同的第二软件应用程序的第二区域(例如,图7A中的区域702和704),设备在触敏显示器上接收第一触摸输入,该第一触摸输入来源于触敏显示器上对应于所述用户界面的第一区域的第一位置并且延伸到触敏显示器上对应于所述用户界面的第二区域的第二位置(804)。在一些实施方案中,第二区域在用户界面中相邻于第一区域显示。例如,如图7E中所示,设备接收由触摸事件707表示并且由对应于用户界面600的第一区域702中的位置的触摸已开始事件707-1发起的触摸输入。在该示例中,触摸输入包括在用户界面600的第二区域704中的一个或多个触摸事件(例如,触摸事件707-6)。
响应于接收到第一触摸输入,根据确定第一位置对应于第一区域的非边界区域(例如,第一区域的非边界区域被包括在第一区域中并远离用户界面中的第二区域定位),设备使用第一软件应用程序处理第一触摸输入(806)。例如,如图7E中所示,第一区域702包括非边界区域706和边界区域708。在图7F中,第一触摸输入(例如,包括触摸事件707)来源于与第一区域702的非边界区域706中的触摸事件707-1对应的位置,相应地,所述触摸输入由与区域702对应的第一软件应用程序(例如,绘图应用程序)处理。在该示例中,针对触摸输入在区域702内检测到的部分,在绘图应用程序中绘制了一条线。在一些实施方案中,非边界区域是第一区域的排除了边界区域的剩余区域。
根据确定第一位置对应于第一区域的边界区域(例如,第一区域的边界区域被包括在第一区域中并定位在第一区域的非边界部分和用户界面中的第二区域之间),设备使用第二软件应用程序有条件地处理第一触摸输入(808)。例如,如图7G中所示,设备接收由触摸事件709表示的触摸输入。该触摸输入来源于与第一区域702的边界区域708中的触摸已开始事件709-1对应的位置。在该示例中,触摸输入前进到第二区域704中(例如,如至少触摸事件709-7所示)。图7H示出了对应于区域704的软件应用程序的响应行为。例如,对应于区域704的软件应用程序是web浏览器应用程序,并且对检测到图7G的触摸输入的响应行为是显示先前查看的网页。在一些实施方案中,边界区域在视觉上有别于第一区域。在一些实施方案中,边界区域从第一区域的顶部朝向第一区域的底部竖直地延伸(或从第一区域的顶部竖直地延伸到第一区域的底部)。在一些实施方案中,边界区域具有预定义的宽度(例如,第一区域宽度的2%、3%、5%、10%、15%或20%,或者预定义数量的像素)。
在一些实施方案中,响应于接收到第一触摸输入并且根据确定第一位置对应于第一区域的边界区域且第一触摸输入尚未进入触敏显示器上第一区域的非边界区域(例如,自被检测到以来,第一触摸输入从未移动到第一区域的非边界区域中),设备使用第二软件应用程序处理第一触摸输入(810)。例如,如图7G和图7H中所示,由触摸事件709表示的触摸输入来源于第一区域702的边界区域708中的位置,并且不进入区域702的非边界区域706。在该示例中,图7H示出了使用对应于区域704的第二软件应用程序(例如,web浏览器应用程序)来处理该触摸输入。
在一些实施方案中,响应于接收到第一触摸输入并且根据确定第一位置对应于第一区域的边界区域且第一触摸输入已进入触敏显示器上第一区域的非边界区域,设备使用第一软件应用程序处理第一触摸输入(812)。例如,如图7M中所示,由触摸事件711表示的触摸输入来源于第一区域702的边界区域708中的位置(例如,对应于触摸事件711-1的位置),进入非边界区域706(例如,如至少由对应于触摸事件711-4的位置所见),并且该触摸输入由第一软件应用程序处理。任选地,设备阻止第二软件应用程序处理第一触摸输入(例如,即便第一触摸输入移动到第二区域中,第一触摸输入也继续由第一软件应用程序处理)。例如,在图7M中,尽管触摸输入随后移动到第二区域704,但是该触摸输入也不被第二软件应用程序处理(例如,在对应于第二区域704的位置处的触摸事件,诸如触摸事件711-8至711-12,不发起更新第二区域704中的用户界面)。
在一些实施方案中,响应于在触敏显示器上的第一位置处检测到第一触摸输入,设备发送触摸已开始事件到第一软件应用程序(814,图8B)。在一些实施方案中,继发送触摸已开始事件到第一软件应用程序之后并且响应于在触敏显示器上对应于用户界面的第二区域的第三位置处检测到第一触摸输入,设备发送触摸取消事件到第一软件应用程序并发送触摸已开始事件到第二软件应用程序(816)。例如,图7G示出了设备发送触摸已开始事件709-1到第一软件应用程序(例如,绘图应用程序),并且随后响应于在对应于第二区域704的位置处检测到触摸输入,发送触摸取消事件709-3到第一软件应用程序(例如,绘图应用程序)并发送触摸已开始事件709-4到第二软件应用程序(例如,web浏览器应用程序)。由于在这些实施方案中,触摸取消事件直到在对应于用户界面的第二区域的第三位置处检测到第一触摸输入时才发送到第一软件应用程序,所以设备在触摸输入离开第一区域时(只要触摸输入不进入第二区域)放弃生成触摸取消事件。在一些实施方案中,发送到第二软件应用程序的触摸已开始事件被识别为新触摸的“触摸已开始”事件。在一些实施方案中,发送到第二软件应用程序的触摸已开始事件被识别为同一触摸的“触摸已开始”事件。
在一些实施方案中,响应于在触敏显示器上的第一位置处检测到第一触摸输入,设备发送触摸已开始事件到第一软件应用程序(814)。在一些实施方案中,继发送触摸已开始事件到第一软件应用程序之后,响应于检测到第一触摸输入已离开触敏显示器上的用户界面的第一区域,设备发送触摸取消事件到第一软件应用程序,并且响应于检测到第一触摸输入已进入触敏显示器上的用户界面的第二区域,发送触摸已开始事件到第二软件应用程序(818)。例如,图7G示出了设备发送触摸已开始事件709-1到第一软件应用程序(例如,绘图应用程序),随后响应于检测到触摸输入离开第一区域702,发送触摸取消事件709-3到第一软件应用程序,并且响应于检测到触摸输入进入第二区域704,发送触摸已开始事件709-4到第二软件应用程序。
在一些实施方案中,发送到第二软件应用程序的触摸已开始事件包括将该触摸已开始事件识别为边缘触摸事件的信息(例如,图7J中的触摸已开始事件709-4为边缘触摸事件)(820)。在一些实施方案中,触摸事件对象(例如,包括触摸事件的信息的数据结构)包括指示对应的触摸事件是否为边缘触摸事件的边缘属性,并且设置触摸事件对象的边缘属性以指示对应的触摸事件为边缘触摸事件。在一些实施方案中,致使触摸已开始事件(其被识别为边缘事件或边缘轻扫事件)被发送到第二软件应用程序的第一触摸输入发起用第二页(例如,前一页)替换对第一页(例如,当前页)的显示(例如,在web浏览器中)。在一些实施方案中,第二应用程序将边缘轻扫事件解释为当触摸接触从设备的边缘移动到触摸屏显示器上时发生的事件。因此,即便第一触摸输入跨设备上的虚拟边缘移动,也指令第二应用程序将第一触摸输入解释为边缘轻扫输入(例如,如同从设备的边缘出现)。
在一些实施方案中,触摸取消事件从与第一软件应用程序和第二软件应用程序不同(并且在一些实施方案中是分开的)的第三软件应用程序发送(822)。例如,与第一软件应用程序(例如,绘图模块175)和第二软件应用程序(例如,浏览器模块147)不同的接触信息分配模块185(图1A)将触摸取消事件发送到第一软件应用程序(例如,绘图模块175)和/或第二软件应用程序(例如,浏览器模块147)。
在一些实施方案中,用户界面在第一区域和第二区域之间包括(824,图8C)第三区域(例如,图7N中的第三区域714),该第三区域不同于第一区域和第二区域(例如,第一区域702和第二区域704)。在一些实施方案中,第三区域在本文中也称为死区。
在一些实施方案中,设备在触敏显示器上接收第二触摸输入(例如,边缘移动手势),该第二触摸输入与第一触摸输入不同且分开并且来源于触敏显示器上对应于第三区域的位置并且朝向触敏显示器上与用户界面的第一区域或第二区域对应的位置移动(826)。在一些实施方案中,响应于接收到第二触摸输入,设备根据第二触摸输入移动与第三区域相邻的第一区域的边界(例如,与第三区域接触的第一区域的边界),并且/或者根据第二触摸输入移动与第三区域相邻的第二区域的边界(例如,与第三区域接触的第二区域的边界)。例如,图7N示出了检测到来源于用户界面600的第三区域714的触摸输入713。在该示例中,触摸输入713朝向第二区域704移动。图7O示出了响应于接收到朝向第二区域704移动的触摸输入713而对第一区域702的边界和第二区域704的边界的移动。在一些实施方案中,响应于接收到第二触摸输入,设备根据第二触摸输入移动与第三区域相邻的第一区域的边界,而不根据第二触摸输入移动与第三区域相邻的第二区域的边界。在一些实施方案中,响应于接收到第二触摸输入,设备根据第二触摸输入移动与第三区域相邻的第二区域的边界,而不根据第二触摸输入移动与第三区域相邻的第一区域的边界。例如,在图7P中,已移动与第三区域714相邻的第二区域704的边界,而未移动与第三区域714相邻的第一区域702的边界。在一些实施方案中,根据第二触摸输入移动与第三区域相邻的第一区域的边界包括根据第二触摸输入调整第一区域的尺寸,或另选地,根据第二触摸输入移动第一区域。在一些实施方案中,根据第二触摸输入移动与第三区域相邻的第二区域的边界包括根据第二触摸输入调整第二区域的尺寸(例如,如图7P中所示),或另选地,根据第二触摸输入移动第二区域(例如,如图7R和图7S中所示)。
在一些实施方案中,设备在触敏显示器上接收第二触摸输入,该第二触摸输入与第一触摸输入不同且分开并且来源于触敏显示器上对应于第一区域或第二区域的边缘的边缘处理位置并且朝向触敏显示器上与用户界面的第一区域或第二区域对应的位置移动;并且响应于接收到第二触摸输入,设备根据第二触摸输入移动与第三区域相邻的第一区域的边界,并且/或者根据第二触摸输入移动与第三区域相邻的第二区域的边界。
在一些实施方案中,在显示用户界面时,设备在触敏显示器上接收多点并发触摸输入,该多点并发触摸输入包括用户界面的第一区域中的一个或多个触摸输入和用户界面的第二区域中的一个或多个触摸输入(828)。例如,图7U示出了对应于在第一区域702中检测到的触摸已开始事件717的触摸输入,以及对应于在第二区域704中检测到的触摸已开始事件719和721的附加触摸输入。响应于接收到多点并发触摸输入,设备使用与第一软件应用程序和第二软件应用程序不同的第三软件应用程序(例如,图1A中的接触信息分配模块185)处理包括第一区域中的一个或多个触摸输入和第二区域中的一个或多个触摸输入的多点并发触摸输入;发送与用户界面的第一区域中的一个或多个触摸输入对应的一个或多个触摸事件到第一软件应用程;以及发送与用户界面的第二区域中的一个或多个触摸输入对应的一个或多个触摸事件到第二软件应用程序(830)。例如,第三软件应用程序发送触摸已开始事件717到第一软件应用程序(例如,绘图应用程序)并且发送触摸已开始事件719和721到第二软件应用程序(例如,web浏览器应用程序)。在一些实施方案中,发送与用户界面的第一区域中的一个或多个触摸输入对应的一个或多个触摸事件到第一软件应用程序包括:放弃发送与用户界面的第一区域中的一个或多个触摸输入对应的一个或多个触摸事件到第二软件应用程序。在一些实施方案中,发送与用户界面的第二区域中的一个或多个触摸输入对应的一个或多个触摸事件到第二软件应用程序包括:放弃发送与用户界面的第二区域中的一个或多个触摸输入对应的一个或多个触摸事件到第一软件应用程序。在一些实施方案中,第三软件应用程序被配置为执行多个操作,诸如生成触摸事件、将原始触摸输入的坐标改变为特定于应用程序的坐标,等等(例如,结合图1A中的接触/运动模块130)。
在一些实施方案中,在检测到第一触摸输入已进入触敏显示器上的用户界面的第二区域之前,设备使用第一软件应用程序处理第一触摸输入(832)。例如,如图7I中所示,由触摸事件709表示的触摸输入在第一区域702中被检测到,并且由对应于第一区域702的第一应用程序处理(例如,针对该触摸输出在区域702内的检测到的部分绘制一条线)。在一些实施方案中,在检测到第一触摸输入已离开触敏显示器上的用户界面的第一区域之前,设备使用第一软件应用程序处理第一触摸输入。
在一些实施方案中,使用第一软件应用程序处理第一触摸输入包括(834)根据第一触摸输入更新用户界面的第一区域(例如,在用户界面的第一区域702中显示一个或多个用户界面对象,诸如笔画712,如图7I中所示)。
在一些实施方案中,响应于检测到第一触摸输入已进入触敏显示器上的用户界面的第二区域,设备撤销在检测到第一触摸输入已进入触敏显示器上的用户界面的第二区域之前作出的对用户界面的第一区域的更新(836)。在一些实施方案中,根据第一触摸输入来更新用户界面的第一区域包括根据第一触摸输入在用户界面的第一区域中显示一个或多个用户界面对象,诸如笔画;并且撤销所述更新包括停止在用户界面的第一区域中显示(例如,从触敏显示器移除)所述一个或多个用户界面对象。例如,图7L示出了设备根据由触摸事件709表示的触摸输入(如早前在图7I和7J中所示),撤销对用户界面600的第一区域702的更新(例如,删除图7K中所示的绘制线)。在一些实施方案中,根据第一触摸输入来更新用户界面的第一区域包括滚动用户界面的第一区域中所显示的内容(例如,不滚动用户界面的第二区域),并且撤销对用户界面的第一区域的更新包括回滚用户界面的第一区域中所显示的内容。
在一些实施方案中,响应于检测到第一触摸输入已进入触敏显示器上的用户界面的第二区域,当在用户界面的第二区域中检测到第一触摸输入时设备停止根据第一触摸输入进一步更新用户界面的第一区域(838)。结果是,用户界面的第一区域不进一步响应于第一触摸输入而改变。在一些实施方案中,当第一触摸输入位于用户界面的第二区域中时,用户界面的第一区域不进一步响应于第一触摸输入而改变。例如,图7J和图7K示出了当在区域704中检测到触摸事件709时,设备停止根据由触摸事件709表示的触摸输入进一步更新用户界面600的第一区域702。
应当理解,对图8A至-图8D中的操作进行描述的特定顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。为简明起见,此处不再重复这些细节。
根据一些实施方案,图9示出了根据各种所描述的实施方案的原理进行配置的电子设备900的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图9中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图9中所示,电子设备900包括被配置为显示用户界面并接收接触的触敏显示器单元904,以及与触敏显示器单元904耦接的处理单元902。在一些实施方案中,处理单元902包括:显示启用单元906、输入接收单元908、输入处理单元910、触摸事件发送单元912、用户管理单元914、软件应用程序管理单元916和确定单元918。在一些实施方案中,电子设备900还包括被配置为生成传感器信号并且与处理单元902和触敏显示器单元904耦接的一个或多个传感器单元920。在一些实施方案中,一个或多个传感器单元920包括用于检测来自与电子设备相关联的触笔的信号的一个或多个传感器单元。在一些实施方案中,一个或多个传感器单元920包括被配置为检测与触敏显示器单元904的接触的强度的一个或多个传感器单元。
处理单元902被配置为:在启用用户界面的显示(例如,使用显示启用单元906和/或触敏显示器单元904)时,所述用户界面对包括对应于第一软件应用程序的第一区域和对应于与第一软件应用程序不同的第二软件应用程序的第二区域,从触敏显示器单元904接收第一触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904),该第一触摸输入来源于触敏显示器单元904上对应于用户界面的第一区域的第一位置并且延伸到触敏显示器单元904上对应于用户界面的第二区域的第二位置;并且响应于接收到第一触摸输入:根据确定第一位置对应于第一区域的非边界区域(例如,使用确定单元918),使用第一软件应用程序(例如,使用软件应用程序管理单元916选择)处理第一触摸输入(例如,使用输入处理单元910),其中第一区域的非边界区域被包括在第一区域中并远离用户界面中的第二区域定位;并且根据确定第一位置对应于第一区域的边界区域(例如,使用确定单元918),使用第二软件应用程序(例如,使用软件应用程序管理单元916选择)有条件地处理第一触摸输入(例如,使用输入处理单元910),其中第一区域的边界区域被包括在第一区域中并定位在第一区域的非边界部分和用户界面中的第二区域之间。
在一些实施方案中,处理单元902被进一步配置为:响应于接收到第一触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904)并且根据确定第一位置对应于第一区域的边界区域且第一触摸输入尚未进入触敏显示器单元904上的第一区域的非边界区域(例如,使用确定单元918),使用第二软件应用程序(例如,使用软件应用程序管理单元916选择)处理第一触摸输入(例如,使用输入处理单元910和/或触敏显示器单元904)。
在一些实施方案中,处理单元902被进一步配置为:响应于接收到第一触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904)并且根据确定第一位置对应于第一区域的边界区域且第一触摸输入已进入触敏显示器单元904上的第一区域的非边界区域(例如,使用确定单元918),使用第一软件应用程序(例如,使用软件应用程序管理单元916选择)处理第一触摸输入(例如,使用输入处理单元910)。
在一些实施方案中,处理单元902被进一步配置为:响应于在触敏显示器单元904上的第一位置处检测到第一触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904),发送触摸已开始事件到第一软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916),继发送触摸已开始事件到第一软件应用程序之后,并且响应于在触敏显示器单元904上对应于用户界面的第二区域的第三位置处检测到第一触摸输入:发送触摸取消事件到第一软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)并且发送触摸已开始事件到第二软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)。
在一些实施方案中,处理单元902被进一步配置为:响应于在触敏显示器单元904上的第一位置处检测到第一触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904),发送触摸已开始事件到第一软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916),并且继发送触摸已开始事件到第一软件应用程序之后:响应于检测到第一触摸输入已离开触敏显示器单元904上的用户界面的第一区域(例如,使用输入接收单元908和/或触敏显示器单元904),发送触摸取消事件到第一软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916);并且响应于检测到第一触摸输入已进入触敏显示器单元904上的用户界面的第二区域(例如,使用输入接收单元908和/或触敏显示器单元904),发送触摸已开始事件到第二软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)。
在一些实施方案中,发送到第二软件应用程序(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)的触发已开始事件包括将该触摸已开始事件识别为边缘触摸事件的信息。在一些实施方案中,触摸取消事件是从与第一软件应用程序和第二软件应用程序不同的第三软件应用程序发送(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)的。
在一些实施方案中,用户界面在第一区域和第二区域之间包括与第一区域和第二区域不同的第三区域。
在一些实施方案中,处理单元902被进一步配置为:从触敏显示器单元904接收第二触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904),该第二触摸输入与第一触摸输入不同且分开并且来源于触敏显示器单元904上对应于第三区域的位置并且朝向触敏显示器单元904上对应于用户界面的第一区域或第二区域的位置移动;并且响应于接收到第二触摸输入:根据第二触摸输入移动与第三区域相邻的第一区域的边界(例如,使用用户界面管理单元914和/或触敏显示器单元904);并且/或者根据第二触摸输入移动与第三区域相邻的第二区域的边界(例如,使用用户界面管理单元914和/或触敏显示器单元904)。
在一些实施方案中,处理单元902被进一步配置为:在启用对用户界面的显示时:在触敏显示器单元904上接收多点并发触摸输入(例如,使用输入接收单元908和/或触敏显示器单元904),该多点并发触摸输入包括用户界面的第一区域中的一个或多个触摸输入和用户界面的第二区域中的一个或多个触摸输入;并且响应于接收到多点并发触摸输入:使用与第一软件应用程序和第二软件应用程序不同的第三软件应用程序处理包括第一区域中的一个或多个触摸输入和第二区域中的一个或多个触摸输入的多点并发触摸输入(例如,使用输入处理单元910);发送与用户界面的第一区域中的一个或多个触摸输入对应的一个或多个触摸事件(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)到第一软件应用程序;并且发送与用户界面的第二区域中的一个或多个触摸输入对应的一个或多个触摸事件(例如,使用触摸事件发送单元912和/或软件应用程序管理单元916)到第二软件应用程序。
在一些实施方案中,处理单元902被进一步配置为:在检测到第一触摸输入已进入触敏显示器单元904上的用户界面的第二区域之前,使用第一软件应用程序(例如,使用软件应用程序管理单元916选择)处理第一触摸输入(例如,使用输入处理单元910)。在一些实施方案中,使用第一软件应用程序处理第一触摸输入(例如,使用输入处理单元910和/或软件应用程序管理单元916)包括根据第一触摸输入更新用户界面的第一区域(例如,使用显示启用单元906和/或用户界面管理单元914)。
在一些实施方案中,处理单元902被进一步配置为:响应于检测到第一触摸输入已进入触敏显示器单元904上的用户界面的第二区域(例如,使用输入接收单元908、触敏显示器单元904和/或确定单元918),撤销在检测到第一触摸输入已进入触敏显示器单元904上的用户界面的第二区域(例如,使用输入接收单元908、触敏显示器单元904和/或确定单元918)之前作出的对用户界面的第一区域的更新(例如,使用显示启用单元906和/或用户界面管理单元914)。
在一些实施方案中,处理单元902被进一步配置为:响应于检测到第一触摸输入已进入触敏显示器单元904上的用户界面的第二区域(例如,使用输入接收单元908和/或触敏显示器单元904),当在用户界面的第二区域中检测到第一触摸输入时(例如,使用输入接收单元908和/或触敏显示器单元904)停止根据第一触摸输入进一步更新用户界面的第一区域(例如,使用显示启用单元906和/或用户界面管理单元914)。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
上文参考图8A至图8D所述的操作任选地由图1A至图1B或图9中所描绘的部件来实现。例如,输入接收操作804、输入处理操作806和触摸事件发送操作814任选地由事件分类器170、事件识别器180和事件处理程序180来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序180。事件处理程序180任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态182。在一些实施方案中,事件处理程序180访问相应的GUI更新器178来更新应用程序所显示的内容。类似地,本领域的普通技术人员会清楚地知道基于图1A至图1B中所描绘的部件可如何实现其他过程。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的示例性讨论并非旨在是穷尽的,也并非旨在将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

Claims (39)

1.一种方法,包括:
在具有触敏显示器的电子设备处:
在显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与所述第一软件应用程序不同的第二软件应用程序的第二区域:
在所述触敏显示器上接收第一触摸输入,所述第一触摸输入来源于所述触敏显示器上对应于所述用户界面的所述第一区域的第一位置并且延伸到所述触敏显示器上对应于所述用户界面的所述第二区域的第二位置;以及,
响应于接收到所述第一触摸输入:
根据确定所述第一位置对应于所述第一区域的非边界区域,使用所述第一软件应用程序处理所述第一触摸输入,其中所述第一区域的所述非边界区域被包括在所述第一区域中并远离所述用户界面中的所述第二区域定位;以及
根据确定所述第一位置对应于所述第一区域的边界区域且所述第一触摸输入尚未进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第二软件应用程序处理所述第一触摸输入,其中所述第一区域的所述边界区域被包括在所述第一区域中并定位在所述第一区域的所述非边界区域和所述用户界面中的所述第二区域之间。
2.根据权利要求1所述的方法,包括:
响应于接收到所述第一触摸输入并且根据确定所述第一位置对应于所述第一区域的所述边界区域且所述第一触摸输入已进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第一软件应用程序处理所述第一触摸输入。
3.根据权利要求1所述的方法,包括:
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后并且响应于在所述触敏显示器上对应于所述用户界面的所述第二区域的第三位置处检测到所述第一触摸输入:
发送触摸取消事件到所述第一软件应用程序;以及
发送触摸已开始事件到所述第二软件应用程序。
4.根据权利要求1所述的方法,包括:
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后:
响应于检测到所述第一触摸输入已离开所述触敏显示器上的所述用户界面的所述第一区域,发送触摸取消事件到所述第一软件应用程序;以及
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,发送触摸已开始事件到所述第二软件应用程序。
5.根据权利要求3所述的方法,其中发送到所述第二软件应用程序的所述触摸已开始事件包括将所述触摸已开始事件识别为边缘触摸事件的信息。
6.根据权利要求3所述的方法,其中所述触摸取消事件是从与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序发送的。
7.根据权利要求1所述的方法,其中所述用户界面在所述第一区域和所述第二区域之间包括与所述第一区域和所述第二区域不同的第三区域。
8.根据权利要求7所述的方法,包括:
在所述触敏显示器上接收第二触摸输入,所述第二触摸输入与所述第一触摸输入不同且分开并且来源于所述触敏显示器上对应于所述第三区域的位置并且朝向所述触敏显示器上与所述用户界面的所述第一区域或所述第二区域对应的位置移动;以及
响应于接收到所述第二触摸输入:
根据所述第二触摸输入移动与所述第三区域相邻的所述第一区域的边界;并且/或者
根据所述第二触摸输入移动与所述第三区域相邻的所述第二区域的边界。
9.根据权利要求1所述的方法,还包括:
在显示所述用户界面时:
在所述触敏显示器上接收多点并发触摸输入,所述多点并发触摸输入包括所述用户界面的所述第一区域中的一个或多个触摸输入和所述用户界面的所述第二区域中的一个或多个触摸输入;以及
响应于接收到所述多点并发触摸输入:
使用与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序处理包括所述第一区域中的所述一个或多个触摸输入和所述第二区域中的所述一个或多个触摸输入的所述多点并发触摸输入;
发送与所述用户界面的所述第一区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第一软件应用程序;以及
发送与所述用户界面的所述第二区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第二软件应用程序。
10.根据权利要求1所述的方法,包括:
在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前,使用所述第一软件应用程序处理所述第一触摸输入。
11.根据权利要求10所述的方法,其中:
使用所述第一软件应用程序处理所述第一触摸输入包括根据所述第一触摸输入更新所述用户界面的所述第一区域。
12.根据权利要求11所述的方法,还包括:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,撤销在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前作出的对所述用户界面的所述第一区域的更新。
13.根据权利要求11所述的方法,还包括:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,当在所述用户界面的所述第二区域中检测到所述第一触摸输入时停止根据所述第一触摸输入进一步更新所述用户界面的所述第一区域。
14.一种电子设备,包括:
触敏显示器;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下操作的指令:
在显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与所述第一软件应用程序不同的第二软件应用程序的第二区域:
在所述触敏显示器上接收第一触摸输入,所述第一触摸输入来源于所述触敏显示器上对应于所述用户界面的所述第一区域的第一位置并且延伸到所述触敏显示器上对应于所述用户界面的所述第二区域的第二位置;以及
响应于接收到所述第一触摸输入:
根据确定所述第一位置对应于所述第一区域的非边界区域,使用所述第一软件应用程序处理所述第一触摸输入,其中所述第一区域的所述非边界区域被包括在所述第一区域中并远离所述用户界面中的所述第二区域定位;以及
根据确定所述第一位置对应于所述第一区域的边界区域且所述第一触摸输入尚未进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第二软件应用程序处理所述第一触摸输入,其中所述第一区域的所述边界区域被包括在所述第一区域中并定位在所述第一区域的所述非边界区域和所述用户界面中的所述第二区域之间。
15.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有触敏显示器的电子设备执行时,使得所述设备:
在显示用户界面时,所述用户界面包括对应于第一软件应用程序的第一区域和对应于与所述第一软件应用程序不同的第二软件应用程序的第二区域:
在所述触敏显示器上接收第一触摸输入,所述第一触摸输入来源于所述触敏显示器上对应于所述用户界面的所述第一区域的第一位置并且延伸到所述触敏显示器上对应于所述用户界面的所述第二区域的第二位置;以及
响应于接收到所述第一触摸输入:
根据确定所述第一位置对应于所述第一区域的非边界区域,使用所述第一软件应用程序处理所述第一触摸输入,其中所述第一区域的所述非边界区域被包括在所述第一区域中并远离所述用户界面中的所述第二区域定位;以及
根据确定所述第一位置对应于所述第一区域的边界区域且所述第一触摸输入尚未进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第二软件应用程序处理所述第一触摸输入,其中所述第一区域的所述边界区域被包括在所述第一区域中并定位在所述第一区域的所述非边界区域和所述用户界面中的所述第二区域之间。
16.根据权利要求15所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后并且响应于在所述触敏显示器上对应于所述用户界面的所述第二区域的第三位置处检测到所述第一触摸输入:
发送触摸取消事件到所述第一软件应用程序;以及
发送触摸已开始事件到所述第二软件应用程序。
17.根据权利要求15所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备::
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后:
响应于检测到所述第一触摸输入已离开所述触敏显示器上的所述用户界面的所述第一区域,发送触摸取消事件到所述第一软件应用程序;以及
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,发送触摸已开始事件到所述第二软件应用程序。
18.根据权利要求16所述的非暂态计算机可读存储介质,其中发送到所述第二软件应用程序的所述触摸已开始事件包括将所述触摸已开始事件识别为边缘触摸事件的信息。
19.根据权利要求16所述的非暂态计算机可读存储介质,其中所述触摸取消事件是从与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序发送的。
20.根据权利要求15所述的非暂态计算机可读存储介质,其中所述用户界面在所述第一区域和所述第二区域之间包括与所述第一区域和所述第二区域不同的第三区域。
21.根据权利要求20所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
在所述触敏显示器上接收第二触摸输入,所述第二触摸输入与所述第一触摸输入不同且分开并且来源于所述触敏显示器上对应于所述第三区域的位置并且朝向所述触敏显示器上与所述用户界面的所述第一区域或所述第二区域对应的位置移动;以及
响应于接收到所述第二触摸输入:
根据所述第二触摸输入移动与所述第三区域相邻的所述第一区域的边界;并且/或者
根据所述第二触摸输入移动与所述第三区域相邻的所述第二区域的边界。
22.根据权利要求15所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
在显示所述用户界面时:
在所述触敏显示器上接收多点并发触摸输入,所述多点并发触摸输入包括所述用户界面的所述第一区域中的一个或多个触摸输入和所述用户界面的所述第二区域中的一个或多个触摸输入;以及
响应于接收到所述多点并发触摸输入:
使用与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序处理包括所述第一区域中的所述一个或多个触摸输入和所述第二区域中的所述一个或多个触摸输入的所述多点并发触摸输入;
发送与所述用户界面的所述第一区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第一软件应用程序;以及
发送与所述用户界面的所述第二区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第二软件应用程序。
23.根据权利要求15所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前,使用所述第一软件应用程序处理所述第一触摸输入。
24.根据权利要求23所述的非暂态计算机可读存储介质,其中:
使用所述第一软件应用程序处理所述第一触摸输入包括根据所述第一触摸输入更新所述用户界面的所述第一区域。
25.根据权利要求24所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,撤销在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前作出的对所述用户界面的所述第一区域的更新。
26.根据权利要求24所述的非暂态计算机可读存储介质,其中所述一个或多个程序中的指令包括指令,当所述指令由具有触敏显示器的电子设备执行时,使得所述设备:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,当在所述用户界面的所述第二区域中检测到所述第一触摸输入时停止根据所述第一触摸输入进一步更新所述用户界面的所述第一区域。
27.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于接收到所述第一触摸输入并且根据确定所述第一位置对应于所述第一区域的所述边界区域且所述第一触摸输入尚未进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第二软件应用程序处理所述第一触摸输入。
28.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于接收到所述第一触摸输入并且根据确定所述第一位置对应于所述第一区域的所述边界区域且所述第一触摸输入已进入所述触敏显示器上的所述第一区域的所述非边界区域,使用所述第一软件应用程序处理所述第一触摸输入。
29.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后并且响应于在所述触敏显示器上对应于所述用户界面的所述第二区域的第三位置处检测到所述第一触摸输入:
发送触摸取消事件到所述第一软件应用程序;以及
发送触摸已开始事件到所述第二软件应用程序。
30.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于在所述触敏显示器上的所述第一位置处检测到所述第一触摸输入,发送触摸已开始事件到所述第一软件应用程序;以及
继发送所述触摸已开始事件到所述第一软件应用程序之后:
响应于检测到所述第一触摸输入已离开所述触敏显示器上的所述用户界面的所述第一区域,发送触摸取消事件到所述第一软件应用程序;以及
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,发送触摸已开始事件到所述第二软件应用程序。
31.根据权利要求29所述的电子设备,其中发送到所述第二软件应用程序的所述触摸已开始事件包括将所述触摸已开始事件识别为边缘触摸事件的信息。
32.根据权利要求29所述的电子设备,其中所述触摸取消事件是从与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序发送的。
33.根据权利要求14所述的电子设备,其中所述用户界面在所述第一区域和所述第二区域之间包括与所述第一区域和所述第二区域不同的第三区域。
34.根据权利要求33所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
在所述触敏显示器上接收第二触摸输入,所述第二触摸输入与所述第一触摸输入不同且分开并且来源于所述触敏显示器上对应于所述第三区域的位置并且朝向所述触敏显示器上与所述用户界面的所述第一区域或所述第二区域对应的位置移动;以及
响应于接收到所述第二触摸输入:
根据所述第二触摸输入移动与所述第三区域相邻的所述第一区域的边界;并且/或者
根据所述第二触摸输入移动与所述第三区域相邻的所述第二区域的边界。
35.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
在显示所述用户界面时:
在所述触敏显示器上接收多点并发触摸输入,所述多点并发触摸输入包括所述用户界面的所述第一区域中的一个或多个触摸输入和所述用户界面的所述第二区域中的一个或多个触摸输入;以及
响应于接收到所述多点并发触摸输入:
使用与所述第一软件应用程序和所述第二软件应用程序不同的第三软件应用程序处理包括所述第一区域中的所述一个或多个触摸输入和所述第二区域中的所述一个或多个触摸输入的所述多点并发触摸输入;
发送与所述用户界面的所述第一区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第一软件应用程序;以及
发送与所述用户界面的所述第二区域中的所述一个或多个触摸输入对应的一个或多个触摸事件到所述第二软件应用程序。
36.根据权利要求14所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前,使用所述第一软件应用程序处理所述第一触摸输入。
37.根据权利要求36所述的电子设备,其中:
使用所述第一软件应用程序处理所述第一触摸输入包括根据所述第一触摸输入更新所述用户界面的所述第一区域。
38.根据权利要求37所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,撤销在检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域之前作出的对所述用户界面的所述第一区域的更新。
39.根据权利要求37所述的电子设备,其中所述一个或多个程序包括用于以下操作的指令:
响应于检测到所述第一触摸输入已进入所述触敏显示器上的所述用户界面的所述第二区域,当在所述用户界面的所述第二区域中检测到所述第一触摸输入时停止根据所述第一触摸输入进一步更新所述用户界面的所述第一区域。
CN201680027899.3A 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法 Active CN107690619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910864393.3A CN110568965B (zh) 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562172003P 2015-06-05 2015-06-05
US62/172,003 2015-06-05
US14/866,231 US9846535B2 (en) 2015-06-05 2015-09-25 Devices and methods for processing touch inputs over multiple regions of a touch-sensitive surface
US14/866,231 2015-09-25
PCT/US2016/033530 WO2016196042A1 (en) 2015-06-05 2016-05-20 Devices and methods for processing touch inputs over multiple regions of a touch-sensitive surface

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910864393.3A Division CN110568965B (zh) 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法

Publications (2)

Publication Number Publication Date
CN107690619A CN107690619A (zh) 2018-02-13
CN107690619B true CN107690619B (zh) 2019-09-10

Family

ID=56119757

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910864393.3A Active CN110568965B (zh) 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法
CN201680027899.3A Active CN107690619B (zh) 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910864393.3A Active CN110568965B (zh) 2015-06-05 2016-05-20 用于处理触敏表面多个区域上触摸输入的设备和方法

Country Status (5)

Country Link
US (2) US9846535B2 (zh)
EP (2) EP3447622B1 (zh)
CN (2) CN110568965B (zh)
AU (2) AU2016270042B2 (zh)
WO (1) WO2016196042A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846535B2 (en) * 2015-06-05 2017-12-19 Apple Inc. Devices and methods for processing touch inputs over multiple regions of a touch-sensitive surface
US10261679B2 (en) 2015-09-21 2019-04-16 Knowlio, Inc. Digital resource management system
US20170118135A1 (en) 2015-10-26 2017-04-27 Knowlio, Inc. Responsive Action in a Resource Management System
US10740424B2 (en) 2016-04-12 2020-08-11 Knowlio, Inc. Smooth navigation between resources in a digital resource management system
USD837239S1 (en) * 2016-07-06 2019-01-01 Fujifilm Corporation Digital camera display panel with transitional graphical user interface
JP6784115B2 (ja) * 2016-09-23 2020-11-11 コニカミノルタ株式会社 超音波診断装置及びプログラム
DK179979B1 (en) 2017-05-16 2019-11-27 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR TOUCH INPUT PROCESSING
EP3593235A1 (en) * 2017-05-16 2020-01-15 Apple Inc. Devices, methods, and graphical user interfaces for touch input processing
US10239345B2 (en) * 2017-05-25 2019-03-26 Sony Corporation Smart marker
JP2019109803A (ja) * 2017-12-20 2019-07-04 コニカミノルタ株式会社 タッチパネル共用支援装置、タッチパネル共用方法、およびコンピュータプログラム
JP7192214B2 (ja) * 2018-02-19 2022-12-20 コニカミノルタ株式会社 表示装置、表示装置の制御方法、およびプログラム
CN111356979B (zh) * 2018-05-25 2023-12-29 苹果公司 具有动态显示界面的便携式计算机
US11756691B2 (en) * 2018-08-01 2023-09-12 Martin Reimann Brain health comparison system
USD923637S1 (en) * 2018-08-31 2021-06-29 Butterfly Network, Inc. Display panel or portion thereof with graphical user interface
USD903694S1 (en) * 2018-08-31 2020-12-01 Butterfly Network, Inc. Display panel or portion thereof with graphical user interface
KR20210015489A (ko) * 2019-08-02 2021-02-10 삼성전자주식회사 휠 입력을 처리하는 전자 장치 및 이의 동작 방법
CN112578982A (zh) * 2019-09-29 2021-03-30 华为技术有限公司 一种对电子设备的操作方法及电子设备
WO2022060370A1 (en) * 2020-09-21 2022-03-24 Hewlett-Packard Development Company, L.P. Responsive actions based on spatial input data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6903723B1 (en) * 1995-03-27 2005-06-07 Donald K. Forest Data entry method and apparatus
US7477240B2 (en) 2001-09-21 2009-01-13 Lenovo Singapore Pte. Ltd. Input apparatus, computer apparatus, method for identifying input object, method for identifying input object in keyboard, and computer program
WO2006073272A1 (en) 2005-01-05 2006-07-13 Jaewoo Ahn Method and apparatus for inputting character through pointing device
US20090174679A1 (en) * 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US8645827B2 (en) * 2008-03-04 2014-02-04 Apple Inc. Touch event model
KR101685145B1 (ko) * 2010-06-09 2016-12-09 엘지전자 주식회사 이동 단말기 및 그 제어방법
GB2487425A (en) 2011-01-21 2012-07-25 Inq Entpr Ltd Gesture input on a device a first and second touch sensitive area and a boundary region
US20120299968A1 (en) 2011-05-27 2012-11-29 Tsz Yan Wong Managing an immersive interface in a multi-application immersive environment
US10353566B2 (en) * 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
EP2741201A3 (en) * 2012-12-06 2017-05-17 Samsung Electronics Co., Ltd Display device and method of controlling the same
JP6215534B2 (ja) 2013-01-07 2017-10-18 サターン ライセンシング エルエルシーSaturn Licensing LLC 情報処理装置及び情報処理方法、並びにコンピューター・プログラム
CN103106000B (zh) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 多焦点窗口的实现方法及通信终端
KR102102157B1 (ko) * 2013-03-29 2020-04-21 삼성전자주식회사 복수 어플리케이션을 실행하는 디스플레이 장치 및 그 제어 방법
WO2015026101A1 (ko) * 2013-08-22 2015-02-26 삼성전자 주식회사 디스플레이 장치의 애플리케이션 실행 방법 및 그 디스플레이 장치
US9846535B2 (en) 2015-06-05 2017-12-19 Apple Inc. Devices and methods for processing touch inputs over multiple regions of a touch-sensitive surface

Also Published As

Publication number Publication date
CN107690619A (zh) 2018-02-13
EP3447622A1 (en) 2019-02-27
WO2016196042A1 (en) 2016-12-08
CN110568965B (zh) 2023-05-30
AU2019200701A1 (en) 2019-02-21
US20180107361A1 (en) 2018-04-19
US20160357388A1 (en) 2016-12-08
EP3304263B1 (en) 2018-12-26
EP3304263A1 (en) 2018-04-11
AU2019200701B2 (en) 2020-05-07
CN110568965A (zh) 2019-12-13
AU2016270042B2 (en) 2018-11-15
EP3447622B1 (en) 2020-06-24
US9846535B2 (en) 2017-12-19
US10474350B2 (en) 2019-11-12
AU2016270042A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
CN107690619B (zh) 用于处理触敏表面多个区域上触摸输入的设备和方法
CN107797658B (zh) 用于触觉混合的设备、方法和图形用户界面
US20220060775A1 (en) Video recording and replay
CN108351750B (zh) 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面
CN104471521B (zh) 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
CN104903835B (zh) 用于针对多接触手势而放弃生成触觉输出的设备、方法和图形用户界面
CN108762605B (zh) 设备配置用户界面
CN104903834B (zh) 用于在触摸输入到显示输出关系之间过渡的设备、方法和图形用户界面
CN106605196B (zh) 远程相机用户界面
US11938376B2 (en) User interfaces for group workouts
CN106416210B (zh) 设备之间电话呼叫路由的方法、电子设备和计算机可读存储介质
CN105144057B (zh) 用于根据具有模拟三维特征的控制图标的外观变化来移动光标的设备、方法和图形用户界面
CN109844711A (zh) 用于向设备上显示的内容加注释的统一注释层的设备、方法和图形用户界面
CN105264479B (zh) 用于对用户界面分级结构进行导航的设备、方法和图形用户界面
CN104487927B (zh) 用于选择用户界面对象的设备、方法和图形用户界面
CN109196455A (zh) 用于carplay的应用程序快捷方式
CN109690445A (zh) 特殊锁定模式用户界面
CN107491258A (zh) 用于在分屏模式下操纵窗口的设备、方法和图形用户界面
CN107924277A (zh) 用于通过物理手势操纵用户界面的设备、方法和图形用户界面
CN109219796A (zh) 实时视频上的数字触摸
CN107636594A (zh) 用于处理触摸输入的设备和方法
CN107430488A (zh) 基于活动的阈值和反馈
CN108369574A (zh) 智能设备识别
CN108052264A (zh) 用于移动和放置用户界面对象的设备、方法和图形用户界面
CN109791465A (zh) 用于对文本进行注释的设备、方法和图形用户界面

Legal Events

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