CN102763079B - 用自定义控件取代键盘的应用程序编程接口(api) - Google Patents
用自定义控件取代键盘的应用程序编程接口(api) Download PDFInfo
- Publication number
- CN102763079B CN102763079B CN201180009942.0A CN201180009942A CN102763079B CN 102763079 B CN102763079 B CN 102763079B CN 201180009942 A CN201180009942 A CN 201180009942A CN 102763079 B CN102763079 B CN 102763079B
- Authority
- CN
- China
- Prior art keywords
- user interface
- interface controls
- user
- application program
- event
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明揭示一种用于显示用户接口对象的方法及系统。确定用于接收对应用程序的用户输入的用户接口对象,且在显示器上显示所述用户接口对象。根据所述应用程序而控制所述用户接口对象的第一特性集合。所述第一特性集合包括所述用户接口对象的外观及经由所述用户接口对象与所述应用程序的用户交互。根据控制程序而控制所述用户接口的不同于所述第一特性集合的第二特性集合。所述第二特性集合包括所述用户接口对象的显示状态。
Description
技术领域
所揭示的实施例大体来说涉及具有触敏表面的电子装置,且更确切地说,涉及具有显示用户接口的触敏表面的电子装置。
背景技术
近年来,将触敏表面作为计算机及其它电子计算装置的输入装置的使用已显著增加。示范性触敏表面包括触摸板及触摸屏显示器。这些表面广泛用以操纵显示器上的用户接口对象。
一些电子装置(例如,移动电话、便携式游戏控制台等)提供包括屏幕上键盘(还称为软键盘)的用户接口,所述屏幕上键盘允许用户通过触摸显示于触敏显示装置(有时称为触摸屏显示器)上的虚拟按键而将文本键入到用户接口中。通常,屏幕上键盘为由电子装置的操作系统所提供的系统键盘。除了提供系统键盘,装置的操作系统还处置系统键盘的显示行为。应用程序开发人员可能想要创建自定义用户接口,这是因为标准接口不具有应用程序开发人员所需要的视觉外观或功能性。举例来说,在小的屏幕上,屏幕上键盘可能遮蔽所显示应用程序的有价值部分。在另一实例中,游戏开发人员可能想要具有包括游戏相关功能性的自定义游戏接口而非不包括游戏相关功能性的标准用户接口。
用于创建自定义用户接口的现有方法耗时且效率低,这是因为所述方法需要应用程序开发人员指定自定义用户接口的所有方面,包括所述自定义用户接口的显示行为。
发明内容
因此,计算装置需要具有用于根据标准用户接口的显示行为而显示自定义用户接口的更快、更高效的方法及接口。这些方法及接口可补充或取代用于根据标准用户接口的显示行为而显示自定义用户接口的常规方法。这些方法及接口减少用户的认知负担且产生更高效的人机接口。对于电池操作的计算装置,这些方法及接口节省电力且增加电池充电之间的时间。
通过所揭示的装置而减少或消除与用于具有触敏表面的计算装置的用户接口相关联的上述缺点及其它问题。在一些实施例中,所述装置是桌上型计算机。在一些实施例中,所述装置是便携式的(例如,笔记本计算机、平板计算机或手持式装置)。在一些实施例中,所述装置具有触摸板。在一些实施例中,所述装置具有触敏显示器(还称为“触摸屏”或“触摸屏显示器”)。在一些实施例中,所述装置具有图形用户接口(GUI)、一个或一个以上处理器、存储器及存储于存储器中的用于执行多个功能的一个或一个以上模块、程序或指令集。在一些实施例中,用户主要经由触敏表面上的手指接触及手势来与GUI交互。在一些实施例中,所述功能可包括图像编辑、绘图、呈现、文字处理、网站创建、磁盘创作、电子表格制作、玩游戏、打电话、视频会议、发电子邮件、即时消息接发、锻炼支持、数字拍照、数字视频、网络浏览、数字音乐播放,及/或数字视频播放。用于执行这些功能的可执行指令可包括于计算机可读存储媒体或经配置以用于供一个或一个以上处理器执行的其它计算机程序产品中。
根据一些实施例,提供一种用以根据标准系统用户接口的显示行为中的至少一些显示行为而显示自定义用户接口的方法。系统的应用程序编程接口(API)提供允许编程人员取代标准用户接口对象的外观及功能性的功能。结果,所述标准用户接口对象将出现且根据对应于所述自定义用户接口的指令而起作用,同时保留所述标准用户接口的所有其它功能性(例如,显示行为)。这些方法增强用户的体验,这是因为所有用户接口(不管是自定义用户接口还是标准用户接口)均具有与由装置所提供的标准输入接口一致的行为。这些方法还使得编程人员创建自定义用户接口,而无需指定所述自定义用户接口的显示行为中的至少一些显示行为,借此减少应用程序开发时间。
根据一些实施例,在具有一个或一个以上处理器、一触摸屏显示器及存储包括应用程序及控制程序的一个或一个以上程序的存储器的电子装置处执行一种计算机实施的方法。所述方法包括确定用于接收对所述应用程序的用户输入的用户接口对象,及在所述显示器上显示所述用户接口对象。所述方法还包括,根据所述应用程序而控制所述用户接口对象的第一特性集合。所述第一特性集合包括所述用户接口对象的外观及经由所述用户接口对象与所述应用程序的用户交互。所述方法进一步包括,根据所述控制程序而控制所述用户接口对象的不同于所述第一特性集合的第二特性集合,其中所述第二特性集合包括所述用户接口对象的显示状态。
根据一些实施例,一种电子装置包括一触摸屏显示器、一个或一个以上处理器、存储器,及一个或一个以上程序;所述一个或一个以上程序存储于所述存储器中且经配置以由所述一个或一个以上处理器执行,且所述一个或一个以上程序包括用于执行上文所描述的方法中的任一者的操作的指令。根据一些实施例,在具有触摸屏显示器、存储器及用以执行存储于所述存储器中的一个或一个以上程序的一个或一个以上处理器的电子装置上的图形用户接口包括在上文所描述的方法中的任一者中所显示的元件中的一者或一者以上,响应于输入而更新所述元件,如在上述方法的任一者中所描述。根据一些实施例,一种计算机可读存储媒体中存储有指令,所述指令在由具有触摸屏显示器的电子装置执行时使所述装置执行上文所描述的方法中的任一者的操作。根据一些实施例,一种电子装置包括:触摸屏显示器;及用于执行上文所描述的方法中的任一者的操作的装置。根据一些实施例,用于具有触摸屏显示器的电子装置中的信息处理设备包括用于执行上文所描述的方法中的任一者的操作的装置。
根据一些实施例,一种电子装置包括处理单元及耦合到所述处理单元的触摸屏显示单元。所述处理单元经配置以进行以下操作:确定用于接收对应用程序单元的用户输入的用户接口对象,且在所述触摸屏显示单元上显示所述用户接口对象;根据应用程序单元而控制所述用户接口对象的第一特性集合,其中所述第一特性集合包括所述用户接口对象的外观及经由所述用户接口对象与所述应用程序单元的用户交互;及根据控制程序单元而控制所述用户接口对象的不同于所述第一特性集合的第二特性集合,其中所述第二特性集合包括所述用户接口对象的显示状态。
因此,向具有触摸屏显示器的电子装置提供用于根据标准用户接口的显示行为而显示自定义用户接口的更快、更有效的方法及接口,借此增加在使用这些装置的情况下的有效性、效率及用户满意度。这些方法及接口可补充或取代用于根据标准用户接口的显示行为而显示自定义用户接口的常规方法。
附图说明
为了更好地理解本发明的前述实施例以及其额外实施例,应结合下图参考以下具体实施方式,在图中,所有图中相同的参考数字指代对应部分。
图1A及1B为说明根据一些实施例的具有触敏显示器的便携式多功能装置的框图。
图2说明根据一些实施例的具有触摸屏的便携式多功能装置。
图3为根据一些实施例的具有显示器及触敏表面的示范性多功能装置的框图。
图4A及4B说明根据一些实施例的便携式多功能装置上的应用程序的菜单的示范性用户接口。
图4C说明根据一些实施例的具有与显示器分离的触敏表面的多功能装置的示范性用户接口。
图5A及5B说明根据一些实施例的示范性事件处置器系统。
图6说明用于将自定义用户接口与标准系统对象的显示行为相关联的示范性伪码。
图7A到7E说明根据一些实施例的示范性用户接口。
图8A到8B为说明根据一些实施例的方法800的流程图。
图9为根据一些实施例的电子装置的功能框图。
具体实施方式
现在将详细参考实施例,在附图中说明所述实施例的实例。在以下详细描述中,陈述众多具体细节以便提供对本发明的透彻理解。然而,所属领域的技术人员将明白,可在没有这些具体细节的情况下实践本发明。在其它例子中,未详细描述众所周知的方法、程序、组件、电路及网络,以便不会不必要地混淆实施例的各方面。
还将理解,虽然术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开来。举例来说,在不脱离本发明的范围的情况下,可将第一接触称为第二接触,且类似地,可将第二接触称为第一接触。第一接触及第二接触两者均是接触,但不是相同的接触。
本文中用于本发明的描述中的术语仅是出于描述特定实施例的目的且无意限制本发明。如本发明及所附权利要求书的描述中所使用,单数形式“一”及“所述”意在也包括复数形式,除非上下文另有清楚指示。还将理解,如本文中所使用的术语“及/或”指代且涵盖相关联的所列项目中的一者或一者以上的任何及所有可能的组合。将进一步理解,术语“包括”及/或“包含”当用于本说明书中时指定所述特征、整体、步骤、操作、元件及/或组件的存在,而不排除一个或一个以上其它特征、整体、步骤、操作、元件、组件及/或其群组的存在或添加。
如本文中所使用,视上下文而定,术语“如果”可解释为是指“当……时”或“在……后即刻”或“响应于确定”或“响应于检测到”。类似地,视上下文而定,短语“如果确定”或“如果检测到【规定条件或事件】”可解释为是指“在确定后即刻”或“响应于确定”或“在检测到【规定条件或事件】后即刻”或“响应于检测到【规定条件或事件】”。
描述了计算装置、用于这些装置的用户接口及用于使用这些装置的相关联的过程的实施例。在一些实施例中,计算装置是便携式通信装置,例如移动电话,其还含有其它功能,例如PDA及/或音乐播放器功能。便携式多功能装置的示范性实施例包括(不限于)来自加利福尼亚州库比迪诺的苹果公司的iPhone及iPodTouch装置。还可使用其它便携式装置,例如具有触敏表面(例如,触摸屏显示器及/或触摸板)的膝上型或平板计算机。还应理解,在一些实施例中,所述装置不是便携式通信装置,而是具有触敏表面(例如,触摸屏显示器及/或触摸板)的桌上型计算机。
在以下论述中,描述包括显示器及触敏表面的计算装置。然而,应理解,所述计算装置可包括一个或一个以上其它物理用户接口装置,例如物理键盘、鼠标及/或操纵杆。
所述装置支持多种应用程序,例如以下各者中的一者或一者以上:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、磁盘创作应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息接发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字视频相机应用程序、网络浏览应用程序、数字音乐播放器应用程序,及/或数字视频播放器应用程序。
可在所述装置上执行的各种应用程序可使用至少一个共同物理用户接口装置,例如触敏表面。触敏表面的一个或一个以上功能以及所述装置上所显示的对应信息可在不同应用程序中及/或在相应应用程序内受到调整及/或变化。以此方式,所述装置的共同物理架构(例如,触敏表面)可用直观且透明的用户接口来支持多种应用程序。
所述用户接口可包括一个或一个以上软键盘或屏幕上键盘实施例。如本文中使用,“软键盘”及“屏幕上键盘”可互换使用。软键盘实施例可包括在键盘的所显示图标上的标准(QWERTY)及/或非标准的符号配置,例如2006年7月24日申请的美国专利申请案11/459,606“用于便携式电子装置的键盘(KeyboardsForPortableElectronicDevices)”、2006年7月24日申请的美国专利申请案11/459,615“用于便携式电子装置的触摸屏键盘(TouchScreenKeyboardsForPortableElectronicDevices)”以及2009年3月16日申请的美国专利申请案61/210,331“用于具有触摸屏显示器的多功能装置的智能键盘管理(SmartKeyboardManagementforaMultifunctionDevicewithaTouchScreenDisplay)”中描述的那些,其全部内容在此以引用的方式并入。键盘实施例可包括相对于现有物理键盘(例如,打字机的键盘)中的键数目而数目减少的图标(或软键)。此可使得用户更容易地选择键盘中的一个或一个以上图标,且因此,选择一个或一个以上对应符号。所述键盘实施例可为自适应的。举例来说,可根据用户动作(例如,选择一个或一个以上图标及/或一个或一个以上对应符号)来修改所显示的图标。所述装置上的一个或一个以上应用程序可利用共同及/或不同的键盘实施例。因此,可根据所述应用程序中的至少一些应用程序来修整所使用的键盘实施例。在一些实施例中,可根据相应用户来修整一个或一个以上键盘实施例。举例来说,可基于相应用户的文字使用历史(词典编纂、俚语、个性使用)来根据相应用户修整一个或一个以上键盘实施例。在使用软键盘实施例时,可调整键盘实施例中的一些以降低当选择一个或一个以上图标时(以及因此,在选择一个或一个以上符号时)用户发生错误的概率。
现在将注意力导向具有触敏显示器的便携式装置的实施例。图1A及1B是说明根据一些实施例的具有触敏显示器112的便携式多功能装置100的框图。出于便利起见,触敏显示器112有时被称为“触摸屏”,且还可被称作或称为触敏显示器系统。装置100可包括存储器102(其可包括一个或一个以上计算机可读存储媒体)、存储器控制器122、一个或一个以上处理单元(CPU)120、外围设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其它输入或控制装置116及外部端口124。装置100可包括一个或一个以上光学传感器164。这些组件可经由一个或一个以上通信总线或信号线103进行通信。
应了解,装置100仅为便携式多功能装置的一个实例,且装置100可具有比所展示的组件多或少的组件,可组合两个或两个以上组件,或可具有组件的不同配置或布置。图1A及1B中所示的各种组件可以硬件、软件或硬件及软件两者的组合来实施,包括一个或一个以上信号处理及/或专用集成电路。
存储器102可包括高速随机存取存储器且还可包括非易失性存储器,例如一个或一个以上磁盘存储装置、快闪存储器装置,或其它非易失性固态存储器装置。可通过存储器控制器122来控制装置100的其它组件(例如,CPU120及外围设备接口118)对存储器102的存取。
外围设备接口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)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、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以进行处理。可从存储器102检索音频数据且/或通过外围设备接口118将音频数据传输到存储器102及/或RF电路108。在一些实施例中,音频电路110还包括耳机插孔(例如,212,图2)。耳机插孔提供音频电路110与可移除音频输入/输出外围设备(例如,只有输出的头戴式耳机或具有输出(例如,用于一个或两个耳朵的头戴式耳机)及输入(例如,麦克风)两者的耳机)之间的接口。
I/O子系统106将装置100上的输入/输出外围设备(例如,触摸屏112及其它输入控制装置116)耦合到外围设备接口118。I/O子系统106可包括显示器控制器156及用于其它输入或控制装置的一个或一个以上输入控制器160。一个或一个以上输入控制器160从其它输入或控制装置116接收电信号/将电信号发送到其它输入或控制装置116。所述其它输入控制装置116可包括物理按钮(例如,按钮、摇杆按钮等)、拨号盘、滑块开关、操纵杆、点击转盘等。在一些替代实施例中,输入控制器160可耦合到以下各者中的任一者(或不耦合到以下各者):键盘、红外端口、USB端口及例如鼠标等指针装置。所述一个或一个以上按钮(例如,208,图2)可包括用于扬声器111及/或麦克风113的音量控制的升高/降低按钮。所述一个或一个以上按钮可包括按钮(例如,206,图2)。对按钮的快速按压可解开对触摸屏112的锁定或开始在触摸屏上使用手势来将装置解锁的过程,如2005年12月23日申请的美国专利申请案11/322,549“通过在解锁图像上执行手势来将装置解锁(UnlockingaDevicebyPerformingGesturesonanUnlockImage)”中所描述,所述申请案在此以全文引用的方式并入。对按钮(例如,206)的更长时间的按压可使装置100通电或断电。用户可能够自定义所述按钮中的一者或一者以上的功能性。触摸屏112用于实施虚拟或软按钮及一个或一个以上软键盘。
触敏显示器112提供装置与用户之间的输入接口及输出接口。显示器控制器156从触摸屏112接收电信号及/或将电信号发送到触摸屏112。触摸屏112将视觉输出显示给用户。视觉输出可包括图形、文本、图标、视频及其任何组合(统称为“图形”)。在一些实施例中,所述视觉输出中的一些或全部可对应于用户接口对象。
触摸屏112具有触敏表面、基于触觉及/或触觉接触而从用户接受输入的传感器或传感器组。触摸屏112及显示器控制器156(以及存储器102中的任何相关联的模块及/或指令集)检测触摸屏112上的接触(及接触的任何移动或中断),且将所检测的接触转换为与显示于触摸屏112上的用户接口对象(例如,一个或一个以上软键、图标、网页或图像)的交互。在一示范性实施例中,触摸屏112与用户之间的接触点对应于用户的手指。
触摸屏112可使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术,或LED(发光二极管)技术,但在其它实施例中可使用其它显示器技术。触摸屏112及显示器控制器156可使用现在已知或稍后开发的多个触摸感测技术中的任一者来检测接触及其任何移动或中断,所述技术包括(但不限于)电容性、电阻性、红外及表面声波技术,以及用于确定与触摸屏112的一个或一个以上接触点的其它接近度传感器阵列或其它元件。在一示范性实施例中,使用投影互电容感测技术,例如来自加利福尼亚州库比迪诺(Cupertino,California)的苹果公司的iPhone及iPodTouch中出现的技术。
触摸屏112的一些实施例中的触敏显示器可类似于以下美国专利中所描述的多点触敏触摸板:6,323,846(维斯特曼等人)、6,570,557(维斯特曼等人)及/或6,677,932(维斯特曼)及/或美国专利公开案2002/0015024A1,其中的每一者在此以全文引用的方式并入。然而,触摸屏112显示来自便携式装置100的视觉输出,而触敏触摸板不提供视觉输出。
触摸屏112的一些实施例中的触敏显示器可如以下申请案中所描述:(1)2006年5月2日申请的第11/381,313号美国专利申请案“多点触摸表面控制器(MultipointTouchSurfaceController)”;(2)2004年5月6日申请的第10/840,862号美国专利申请案“多点触摸屏(MultipointTouchscreen)”;(3)2004年7月30日申请的第10/903,964号美国专利申请案“用于触敏输入装置的手势(GesturesForTouchSensitiveInputDevices)”;(4)2005年1月31日申请的第11/048,264号美国专利申请案“用于触敏输入装置的手势(GesturesForTouchSensitiveInputDevices)”;(5)2005年1月18日申请的第11/038,590号美国专利申请案“用于触敏输入装置的基于模式的图形用户接口(Mode-BasedGraphicalUserInterfacesForTouchSensitiveInputDevices)”;(6)2005年9月16日申请的第11/228,758号美国专利申请案“触摸屏用户接口上的虚拟输入装置放置(VirtualInputDevicePlacementOnATouchScreenUserInterface)”;(7)2005年9月16日申请的第11/228,700号美国专利申请案“具有触摸屏接口的计算机的操作(OperationOfAComputerWithATouchScreenInterface)”;(8)2005年9月16日申请的第11/228,737号美国专利申请案“激活触摸屏虚拟键盘的虚拟按键(ActivatingVirtualKeysOfATouch-ScreenVirtualKeyboard)”;以及(9)2006年3月3日申请的第11/367,749号美国专利申请案“多功能手持式装置(Multi-FunctionalHand-HeldDevice)”。这些申请案全部以全文引用的方式并入本文中。
触摸屏112可具有超过100dpi的分辨率。在一些实施例中,所述触摸屏具有约160dpi的分辨率。用户可使用任何合适的物体或附属物(例如,触控笔、手指等)来接触触摸屏112。在一些实施例中,用户接口经设计以主要用基于手指的接触及手势来工作,由于手指在触摸屏上的较大接触区域,这可能没有基于触控笔的输入精确。在一些实施例中,所述装置将粗糙的基于手指的输入翻译为精确的指针/光标位置或命令以用于执行用户所需的动作。
在一些实施例中,除了触摸屏之外,装置100可包括用于激活或去激活特定功能的触摸板(未图示)。在一些实施例中,触摸板是装置的触敏区域;不同于触摸屏,触摸板不显示视觉输出。触摸板可为与触摸屏112分开的触敏表面或由触摸屏形成的触敏表面的延伸部分。
在一些实施例中,装置100可包括物理或虚拟转盘(例如,点击转盘)以作为输入控制装置116。用户可通过旋转所述点击转盘或通过移动与点击转盘的接触点(例如,其中接触点的移动量是由其相对于点击转盘的中心点的角位移来测量)而在触摸屏112中所显示的一个或一个以上图形对象(例如,图标)中导航及与所述图形对象交互。所述点击转盘还可用于选择所显示图标中的一者或一者以上。举例来说,所述用户可压下所述点击转盘的至少一部分或相关联的按钮。由用户经由点击转盘提供的用户命令及导航命令可由输入控制器160以及存储器102中的模块及/或指令集中的一者或一者以上处理。对于虚拟点击转盘,所述点击转盘及点击转盘控制器可分别为触摸屏112及显示器控制器156的部分。对于虚拟点击转盘,所述点击转盘可为不透明或半透明对象,其响应于用户与所述装置的交互而在触摸屏显示器上出现及消失。在一些实施例中,虚拟点击转盘显示于便携式多功能装置的触摸屏上且通过用户与触摸屏的接触来操作。
装置100还包括用于向各种组件供电的电力系统162。电力系统162可包括电力管理系统、一个或一个以上电源(例如,电池、交变电流(AC))、再充电系统、电力故障检测电路、电力转换器或反相器、电力状态指示器(例如,发光二极管(LED))及与便携式装置中的电力的产生、管理及分布相关联的任何其它组件。
装置100还可包括一个或一个以上光学传感器164。图1A及1B展示耦合到I/O子系统106中的光学传感器控制器158的光学传感器。光学传感器164可包括电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收光,经由一个或一个以上透镜投射,且将所述光转换为表示图像的数据。结合成像模块143(还称为相机模块),光学传感器164可俘获静态图像或视频。在一些实施例中,光学传感器位于装置100的背部上,与装置的前部上的触摸屏显示器112相反,使得可将触摸屏显示器用作静态及/或视频图像获取的取景器。在一些实施例中,光学传感器位于装置的前部上,使得在用户在触摸屏显示器上查看其它视频会议参与者时可获得用户的用于视频会议的图像。在一些实施例中,光学传感器164的位置可由用户改变(例如,通过旋转装置外壳中的透镜及传感器),以使得可使用单一光学传感器164以及触摸屏显示器来用于视频会议与静态及/或视频图像获取两者。
装置100还可包括一个或一个以上接近度传感器166。图1A及1B展示耦合到外围设备接口118的接近度传感器166。或者,接近度传感器166可耦合到I/O子系统106中的输入控制器160。接近度传感器166可如以下美国专利申请案中所描述而执行:第11/241,839号美国专利申请案,“手持式装置中的接近度检测器(ProximityDetectorInHandheldDevice)”;第11/240,788号美国专利申请案,“手持式装置中的接近度检测器(ProximityDetectorInHandheldDevice)”;第11/620,702号美国专利申请案,“使用环境光传感器来扩增接近度传感器输出(UsingAmbientLightSensorToAugmentProximitySensorOutput)”;第11/586,862号美国专利申请案,“对便携式装置中的用户活动的自动化响应及感测(AutomatedResponseToAndSensingOfUserActivityInPortableDevices)”;以及第11/638,251号美国专利申请案,“用于外围设备的自动配置的方法及系统(MethodsAndSystemsForAutomaticConfigurationOfPeripherals)”,其全文在此以引用的方式并入。在一些实施例中,接近度传感器在多功能装置被放置在用户耳朵附近时(例如,当用户正进行电话呼叫时)关闭并停用触摸屏112。
装置100还可包括一个或一个以上加速计168。图1A及1B展示耦合到外围设备接口118的加速计168。或者,加速计168可耦合到I/O子系统106中的输入控制器160。加速计168可如以下美国专利公开案中所描述而工作:第20050190059号美国专利公开案,“用于便携式电子装置的基于加速度的盗窃检测系统(Acceleration-basedTheftDetectionSystemforPortableElectronicDevices)”;以及第20060017692号美国专利公开案,“用于基于加速计来操作便携式装置的方法及设备(MethodsAndApparatusesForOperatingAPortableDeviceBasedOnAnAccelerometer)”,所述两个公开案以全文引用的方式并入本文中。在一些实施例中,基于对从一个或一个以上加速计接收的数据的分析而以纵向视图或横向视图在触摸屏显示器上显示信息。装置100任选地包括(除了加速计168之外)磁力计(未图示)及GPS(或格洛纳斯(GLONASS)或其它全球导航系统)接收器(未图示),以用于获得关于装置100的位置及定向(例如,纵向或横向)的信息。
在一些实施例中,存储于存储器102中的软件组件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135,及应用程序(或指令集)136。此外,在一些实施例中,存储器102存储装置/全局内部状态157,如图1A、1B及3中所示。装置/全局内部状态157包括以下各者中的一者或一者以上:活动应用程序状态,其指示哪些应用程序(如果有)当前是活动的;显示状态,其指示哪些应用程序、视图或其它信息占据触摸屏显示器112的各个区;传感器状态,其包括从装置的各种传感器及输入控制装置116获得的信息;以及位置信息,其涉及装置的位置及/或空间方位角(attitude)。
操作系统126(例如,Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS或例如VxWorks等嵌入式操作系统)包括用于控制及管理一般系统任务(例如,存储器管理、存储装置控制、电力管理等)的各种软件组件及/或驱动器,且促进各种硬件与软件组件之间的通信。
通信模块128促进经由一个或一个以上外部端口124与其它装置的通信,且还包括用于处置由RF电路108及/或外部端口124接收的数据的各种软件组件。外部端口124(例如,通用串行总线(USB)、FIREWIRE等)适于直接耦合到其它装置或间接经由网络(例如,因特网、无线LAN等)耦合到其它装置。在一些实施例中,外部端口是多引脚(例如,30个引脚)的连接器,其与iPod(苹果公司的商标)装置上所使用的30引脚连接器相同或类似及/或兼容。
接触/运动模块130可检测与触摸屏112(结合显示器控制器156)及其它触敏装置(例如,触摸板或物理点击转盘)的接触。接触/运动模块130包括用于执行与接触的检测相关的各种操作的各种软件组件,所述操作例如为确定是否已发生接触(例如,检测手指向下事件)、确定是否存在接触的移动且跟踪跨越触敏表面的移动(例如,检测一个或一个以上手指拖动事件),以及确定接触是否已停止(例如,检测手指向上事件或接触的中断)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动(其由一系列接触数据表示)可包括确定接触点的速率(量值)、速度(量值及方向),及/或加速度(量值及/或方向上的改变)。可将这些操作应用于单一接触(例如,一根手指接触)或多个同时接触(例如,“多点触摸”/多根手指接触)。在一些实施例中,接触/运动模块130及显示器控制器156检测触摸板上的接触。在一些实施例中,接触/运动模块130及控制器160检测点击转盘上的接触。
接触/运动模块130可检测用户的手势输入。触敏表面上的不同手势具有不同接触模式。因此,可通过检测特定接触模式来检测手势。举例来说,检测手指点按手势包括检测手指向下事件,接着检测在与手指向下事件(例如,在图标的位置处)相同的位置(或大体上相同的位置)处的手指向上(提离)事件。作为另一实例,检测触敏表面上的手指轻扫手势包括检测手指向下事件,接着检测一个或一个以上手指拖动事件,且随后检测手指向上(提离)事件。
图形模块132包括用于在触摸屏112或其它显示器上再现及显示图形的各种已知软件组件,包括用于改变所显示的图形的亮度的组件。如本文中所使用,术语“图形”包括可向用户显示的任何对象,包括(不限于)文本、网页、图标(例如,包括软键的用户接口对象)、数字图像、视频、动画等。
在一些实施例中,图形模块132存储表示将使用的图形的数据。可向每一图形指派一对应的代码。图形模块132从应用程序等接收指定将显示的图形的一个或一个以上代码以及(在需要时)坐标数据及其它图形特性数据,且随后产生屏幕图像数据以输出到显示器控制器156。
可作为图形模块132的组件的文本输入模块134提供软键盘,以用于在各种应用程序(例如,联系人137、电子邮件140、IM141、浏览器147及需要文本输入的任何其它应用程序)中键入文本。
GPS模块135确定装置的位置且提供此信息以供在各种应用程序中使用(例如,提供给电话138以供在基于位置的拨号中使用,提供给相机143以作为图片/视频元数据,且提供给提供基于位置的服务的应用程序(例如,天气小窗口部件、本地黄页小窗口部件及地图/导航小窗口部件))。
应用程序136可包括以下模块(或指令集),或其子集或超集:
·联系人模块137(有时称为地址簿或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息接发(IM)模块141;
·锻炼支持模块;
·用于静态及/或视频图像的相机模块143;
·图像管理模块144;
·视频播放器模块145;
·音乐播放器模块146;
·浏览器模块147;
·日历模块148;
·小窗口部件模块149,其可包括以下中的一者或一者以上:天气小窗口部件149-1、股票小窗口部件、计算器小窗口部件、闹钟小窗口部件、字典小窗口部件149-5及用户所获得的其它小窗口部件,以及用户创建的小窗口部件149-6;
·用于形成用户创建的小窗口部件149-6的小窗口部件创建器模块;
·搜索模块151;
·视频及音乐播放器模块152,其合并视频播放器模块145及音乐播放器模块146;
·便笺模块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或IMPS来用于基于因特网的即时消息)、接收即时消息以及查看所接收的即时消息。在一些实施例中,所传输及/或所接收的即时消息可包括MMS及/或增强型消息接发服务(EMS)中所支持的图形、照片、音频文件、视频文件及/或其它附件。如本文中所使用,“即时消息接发”是指基于电话的消息(例如,使用SMS或MMS发送的消息)及基于因特网的消息(例如,使用XMPP、SIMPLE或IMPS发送的消息)两者。
结合RF电路108、触摸屏112、显示器控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154及音乐播放器模块146,锻炼支持模块包括用以进行以下操作的可执行指令:创建锻炼(例如,用时间、距离及/或卡路里燃烧目标);与锻炼传感器(运动装置)通信;接收锻炼传感器数据;校准用于监视锻炼的传感器;选择并播放用于锻炼的音乐;以及显示、存储及传输锻炼数据。
结合触摸屏112、显示器控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132及图像管理模块144,相机模块143包括用以进行以下操作的可执行指令:俘获静态图像或视频(包括视频流)且将其存储到存储器102中、修改静态图像或视频的特性,或从存储器102删除静态图像或视频。
结合触摸屏112、显示器控制器156、接触模块130、图形模块132、文本输入模块134及相机模块143,图像管理模块144包括用以进行以下操作的可执行指令:布置、修改(例如,编辑)或以其它方式操纵、标记、删除、呈现(例如,以数字幻灯片或相册)以及存储静态及/或视频图像。
结合触摸屏112、显示器控制器156、接触模块130、图形模块132、音频电路110及扬声器111,视频播放器模块145包括用以进行以下操作的可执行指令:显示、呈现或以其它方式回放视频(例如,在触摸屏112上或在外部的经由外部端口124连接的显示器上)。
结合触摸屏112、显示器系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108及浏览器模块147,音乐播放器模块146包括允许用户进行以下操作的可执行指令:下载及回放所记录的音乐及以一种或一种以上文件格式存储的其它声音文件(例如,MP3或AAC文件)。在一些实施例中,装置100可包括MP3播放器的功能性,例如iPod(苹果公司的商标)。
结合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-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及文本输入模块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包括允许用户进行以下操作的可执行指令:存取、浏览、接收(例如,通过串流传输及/或下载)、回放(例如,在触摸屏上或在外部的经由外部端口124连接的显示器上)、发送具有到特定在线视频的链接的电子邮件,以及以其它方式管理呈一种或一种以上文件格式(例如H.264)的在线视频。在一些实施例中,将即时消息接发模块141(而不是电子邮件客户端模块140)用于发送到特定在线视频的链接。在线视频应用的额外描述可在以下文献中找到:2007年6月20日申请的第60/936,562号美国临时专利申请案“用于播放在线视频的便携式多功能装置、方法及图形用户接口(PortableMultifunctionDevice,Method,andGraphicalUserInterfaceforPlayingOnlineVideos)”,及2007年12月31日申请的第11/968,067号美国专利申请案“用于播放在线视频的便携式多功能装置、方法及图形用户接口(PortableMultifunctionDevice,Method,andGraphicalUserInterfaceforPlayingOnlineVideos)”,所述申请案的内容在此以全文引用的方式并入。
如在图3的论述中更详细论述,控制模块190确定用户接口对象的显示行为。
如在图3的论述中更详细论述,用户创建的应用程序191为包括自定义用户接口193及/或附属视图(accessoryview)接口194的应用程序。
如在图5A及5B的论述中更详细论述,事件处置器系统处置控制模块190与用户创建的应用程序191之间的事件消息。
上文所识别的模块及应用程序中的每一者对应于用于执行上文所描述的一个或一个以上功能以及本申请案中所描述的方法(例如,计算机实施的方法及本文中所描述的其它信息处理方法)的可执行指令集。这些模块(即,指令集)无需实施为分离的软件程序、过程或模块,且因此,在各种实施例中,这些模块的各种子集可经组合或另外重新布置。举例来说,视频播放器模块145可与音乐播放器模块146组合为单一模块(例如,视频及音乐播放器模块152,图1B)。在一些实施例中,存储器102可存储上文所识别的模块及数据结构的子集。此外,存储器102可存储未在上文描述的额外模块及数据结构。
在一些实施例中,装置100为其中专门经由触摸屏112及/或触摸板执行所述装置上的预定义的功能集合的操作的装置。通过将触摸屏及/或触摸板用作主要输入控制装置来用于装置100的操作,可减少装置100上的物理输入控制装置(例如,按钮、拨号盘等)的数目。
可专门经由触摸屏及/或触摸板执行的预定义的功能集合包括在用户接口之间的导航。在一些实施例中,触摸板在由用户触摸时会将装置100从可在装置100上显示的任何用户接口导航到主页或根菜单。在这些实施例中,可将触摸板称作“菜单按钮”。在一些其它实施例中,菜单按钮可为物理按钮或其它物理输入控制装置,而非触摸板。
图2说明根据一些实施例的具有触摸屏112的便携式多功能装置100。触摸屏可显示用户接口(UI)200内的一个或一个以上图形。在此实施例以及下文所描述的其它实施例中,用户可通过(例如)用一根或一根以上手指202(在图中未按比例绘制)或一个或一个以上触控笔203(在图中未按比例绘制)来接触或触摸图形而选择图形中的一者或一者以上。在一些实施例中,当用户中断与一个或一个以上图形的接触时,发生对一个或一个以上图形的选择。在一些实施例中,所述接触可包括手势(例如,一个或一个以上点按、一个或一个以上轻扫(从左到右、从右到左、向上及/或向下))及/或已接触装置100的手指的滚转(从右到左、从左到右、向上及/或向下)。在一些实施例中,与图形的无意接触可不选择所述图形。举例来说,当对应于选择的手势是点按时,扫掠过应用程序图标的轻扫手势可不选择对应的应用程序。
装置100还可包括一个或一个以上物理按钮,例如“主页”或菜单按钮204。如先前所描述,菜单按钮204可用于导航到可在装置100上执行的应用程序集合中的任何应用程序136。或者,在一些实施例中,将菜单按钮实施为触摸屏112中的GUI中的软键。
在一个实施例中,装置100包括触摸屏112、菜单按钮204、用于将装置通电/断电及锁定装置的按钮206、音量调节按钮208、订户身份模块(SIM)卡槽210、耳机插孔212及对接/充电外部端口124。按钮206可用于:通过压下按钮并使所述按钮保持于压下状态并持续预定义的时间间隔而对装置通电/断电;通过压下按钮并在预定义的时间间隔已逝去之前释放所述按钮而锁定装置;及/或将所述装置解锁或起始解锁过程。在替代性实施例中,装置100还可经由麦克风113接受口头输入以用于激活或去激活一些功能。
图3是根据一些实施例的具有显示器及触敏表面的示范性多功能装置的框图。装置300无需是便携式的。在一些实施例中,装置300是膝上型计算机、桌上型计算机、平板计算机、多媒体播放器装置、导航装置、教育装置(例如,儿童的学习玩具)、游戏系统或控制装置(例如,家用或工业用控制器)。装置300通常包括一个或一个以上处理单元(CPU)310、一个或一个以上网络或其它通信接口360、存储器370,及用于将这些组件互连的一个或一个以上通信总线320。通信总线320可包括将系统组件互连并控制系统组件之间的通信的电路(有时称为芯片组)。装置300包括输入/输出(I/O)接口330,I/O接口330包含显示器340,显示器340通常为触摸屏显示器。I/O接口330还可包括键盘及/或鼠标(或其它指向装置)350及触摸板355。存储器370包括高速随机存取存储器,例如DRAM、SRAM、DDRRAM或其它随机存取固态存储器装置;且可包括非易失性存储器,例如一个或一个以上磁盘存储装置、光盘存储装置、快闪存储器装置,或其它非易失性固态存储装置。存储器370可任选地包括与CPU310相距遥远的一个或一个以上存储装置。在一些实施例中,存储器370存储类似于便携式多功能装置100(图1A)的存储器102中的程序、模块及数据结构的程序、模块及数据结构,或其子集。在一些实施例中,存储器370或存储器370的计算机可读存储媒体存储以下程序、模块及数据结构或其子集,包括:操作系统126、通信模块128、图形模块132、用户接口模块180、控制模块190、用户创建的应用程序191及事件处置系统197。
操作系统126包括用于处置各种基本系统服务且用于执行硬件相依任务的过程。
通信模块128促进经由一个或一个以上通信网络接口360(有线或无线的)及一个或一个以上通信网络(例如,因特网、其它广域网、局域网、城域网、蜂窝式网络等)的与其它装置的通信。
图形模块132在触摸屏112或其它显示器上显示图形;所述图形包括各种用户接口,例如,屏幕上键盘、虚拟游戏控制器、滑块、选取器(picker)、转盘及虚拟旋钮。
用户接口模块180经由输入装置(例如,触摸屏112、键盘/鼠标350、触摸板355)从用户接收命令。用户接口模块180还在显示装置340中产生用户接口对象。在一些实施例中,用户接口模块180提供屏幕上键盘以用于将文本键入到各种应用程序(例如,联系人137、电子邮件140、IM141、浏览器147,及需要文本输入的任何其它应用程序)。在一些实施例中,用户接口模块180将屏幕上键盘显示行为数据372提供到控制模块190及显示行为数据库361。在一些实施例中,显示行为数据372包括关于用户接口对象的显示行为规则373-1。每一规则373-1指定一事件及对应显示动作。举例来说,规则373-1可指定何时发生旋转装置的事件,对应显示动作正更新所显示的用户接口对象的定向。
用户创建的应用程序191包括自定义用户接口193及附属视图接口194。自定义用户接口由用户创建的应用程序191的编程人员创建,且特定用于所述用户创建的应用程序191。举例来说,自定义用户接口可为虚拟旋钮、虚拟转盘、虚拟游戏控制器、滑块、选取器、选择框及屏幕上键盘。在一些实施例中,自定义用户接口取代标准接口。附属视图接口194为显示对应于图形用户接口的图标的用户接口。附属视图允许编程人员将一个以上用户接口与一字段相关联。举例来说,对于输入字段,用户可使自定义屏幕上键盘、标准屏幕上键盘、字体选取器及符号选取器相关联。与附属视图相关联的用户接口可为标准用户接口(例如,标准屏幕上键盘)或自定义用户接口。编程人员可能想要将多个用户接口与一输入字段相关联以向用户提供多个输入选项。举例来说,对于文本字段,附属视图接口可包括屏幕上键盘、字体选取器及图标选择器(selector)。在此实例中,用户可选择屏幕上键盘,将某一文本输入到所述字段中,选择字体选取器,改变所键入文本的字体且选择图标以将符号插入到所述文本字段中。
显示行为数据库361包括关于用户接口对象的显示行为数据362。在一些实施例中,显示行为数据362包括关于标准接口对象及自定义用户接口对象的行为数据。相应接口对象的显示行为可包括定义事件及动作的规则364的集合。举例来说,对于屏幕上键盘,事件可为旋转装置,且动作可为将屏幕上键盘更新到对应于所述装置的新定向的位置及定向。事件包括关于装置的某种用户动作。举例来说,用户动作可包括旋转装置、选择图标或区域、轻摇装置、非常接近装置或拍打装置。所述动作为对象的对应显示动作。在一些实施例中,动作还包括显示对象的位置。举例来说,动作包括显示对象、隐藏对象及在不同位置及定向处重新显示对象。
在图5A及5B的论述中进一步论述事件处置系统197。事件处置系统197处置控制模块190与用户创建的应用程序191之间的消息。在各种替代实施例中,事件处置系统197(在装置300中)可在控制模块190及/或应用程序191内实施,如本文中所描述。
控制模块190根据标准接口对象的显示行为而显示自定义用户接口。标准用户对象为由用户接口模块180提供到装置300上的一个或一个以上模块的用户接口。标准接口对象并不特定用于任何应用程序。一般来说,用户不能修改标准接口对象。
在一些实施例中,控制模块190检测自定义用户接口是否与标准用户对象的至少一些显示行为相关联。在一些实施例中,结合事件处置系统197,控制模块190检测自定义用户接口是否与标准用户对象的至少一些显示行为相关联。举例来说,控制模块190可从事件处置系统197接收指示应用程序正显示已与标准接口对象的显示行为相关联的自定义用户接口的消息。在一些实施例中,控制模块190检测标准用户对象的外观及功能性是否已由自定义用户接口取代。
在一些实施例中,控制模块190将显示指令发送到应用程序以根据标准用户对象的显示行为而显示自定义用户接口。在一些实施例中,经由事件处置系统197发送显示指令。显示行为可包括:何时显示或隐藏对象,何时显示或隐藏自定义对象,在何处显示对象,及在用户与装置交互时对象如何表现。在一些实施例中,用户交互包括旋转装置、轻摇装置、拍击装置、非常接近装置及接听呼叫。在一些实施例中,控制模块190结合用户接口模块180、事件处置系统197、图形模块132、加速计168、接近度传感器166及接触/运动模块而工作以显示自定义用户接口。在一些实施例中,根据描述于2010年5月28日申请的题为“自动显示及隐藏屏幕上键盘(AutomaticallyHidingandDisplayinganOn-screenKeyboard)”的第12/789,666号美国专利申请案中的用户接口对象的显示行为而显示标准用户接口对象及与标准用户接口对象的至少一些显示行为相关联的自定义用户接口对象。
在一些实施例中,控制模块190从显示行为数据库361或用户接口模块180检索显示行为数据(例如,372、362)。
图3中的上文所识别的元件中的每一者可存储于先前所提及的存储器装置中的一者或一者以上中。上文所识别的模块中的每一者对应于用于执行上文所描述的功能的指令集。上文所识别的模块或程序(即,指令集)无需实施为分离的软件程序、程序或模块,且因此在各种实施例中可组合或以其它方式重新布置这些模块的各种子集。在一些实施例中,存储器370可存储上文所识别的模块及数据结构的子集。此外,存储器370可存储上文未描述的额外模块及数据结构。
现将注意力导向可在便携式多功能装置100上实施的用户接口(“UI”)的实施例。
图4A及4B说明根据一些实施例的便携式多功能装置100上的应用程序的菜单的示范性用户接口。类似用户接口可实施于装置300上。在一些实施例中,用户接口400A包括以下元件,或其子集或超集:
·用于例如蜂窝式及Wi-Fi信号等无线通信的信号强度指示器402;
·时间404;
·蓝牙指示器405;
·电池状态指示器406;
·具有频繁使用的应用程序的图标的任务栏(tray)408,例如:
ο电话138,其可包括未接电话或语音邮件消息的数目的指示器414;
ο电子邮件客户端140,其可包括未读电子邮件的数目的指示器410;
ο浏览器147;以及
ο音乐播放器146;以及
·用于其它应用程序的图标,例如:
οIM141;
ο图像管理144;
ο相机143;
ο视频播放器145;
ο天气149-1;
ο股票149-2;
ο锻炼支持142;
ο日历148;
ο计算器149-3;
ο闹钟149-4;
ο字典149-5;以及
ο用户创建的小窗口部件149-6。
在一些实施例中,用户接口400B包括以下元件,或其子集或超集:
·402、404、405、406、141、148、144、143、149-3、149-2、149-1、149-4、410、414、138、140及147,如上文所描述;
·地图154;
·便笺153;
·设定412,其提供对装置100及其各种应用程序136的设定的存取,如下文进一步所描述;
·视频及音乐播放器模块152,也称作iPod(苹果公司的商标)模块152;以及
·在线视频模块155,也称作YouTube(谷歌公司的商标)模块155。
图4C说明具有与显示器450(例如,触摸屏显示器112)分开的触敏表面451(例如,平板或触摸板355,图3)的装置(例如,装置300,图3)上的示范性用户接口。虽然将参考触摸屏显示器112(其中触敏表面及显示器经组合)上的输入来给出以下许多实例,但在一些实施例中,所述装置检测与显示器分开的触敏表面上的输入,如图4C中所示。在一些实施例中,触敏表面(例如,图4C中的451)具有对应于显示器(例如,450)上的主轴线(例如,图4C中的453)的主轴线(例如,图4C中的452)。根据这些实施例,所述装置在对应于显示器上的相应位置的位置(例如,在图4C中,460对应于468且462对应于470)处检测与触敏表面451的接触(例如,图4C中的460及462)。以此方式,当触敏表面与显示器分开时,触敏表面(例如,图4C中的451)上的由装置检测到的用户输入(例如,接触460及462)由所述装置用以操纵多功能装置的显示器(例如,图4C中的450)上的用户接口。应理解,类似方法可用于本文中所描述的其它用户接口。
另外,虽然主要参考手指输入(例如,手指接触、手指点按手势、手指轻扫手势)来给出以下实例,但应理解,在一些实施例中,手指输入中的一者或一者以上可被来自另一输入装置的输入(例如,基于鼠标的输入或触控笔输入)取代。举例来说,轻扫手势可被鼠标点击(例如,替代接触)接着是光标沿着轻扫路径的移动(例如,替代接触的移动)来取代。作为另一实例,点按手势可被在光标位于点按手势的位置上时的鼠标点击取代(例如,替代检测接触接着停止检测接触)。类似地,当同时检测到多个用户输入时,应理解,可同时使用多个计算机鼠标,或可同时使用鼠标及手指接触。
图5A为说明根据一些实施例的用于事件处置系统197的示范性组件的框图。在图5A及5B的论述中,显示装置340为触敏显示器或具有触敏表面的显示器。在一些实施例中,存储器370(图3中)或存储器102(图1A及1B中)包括事件分类器501(例如,在操作系统126中)及相应应用程序191-1(例如,上述应用程序137到151中的任一者)。
事件分类器501接收事件信息且确定将事件信息递送到的应用程序191-1及应用程序136-1的应用程序视图511。事件分类器501包括事件监视器502及事件分派器模块505。
在一些实施例中,应用程序191-1包括应用程序内部状态512,其指示当所述应用程序为活动的或正执行时显示于触敏显示器112上的(多个)当前应用程序视图560。如下文进一步详细论述,应用程序视图或用户接口窗口是由用户可在显示器上看到的控件及其它元件构成。在一些实施例中,应用程序内部状态数据512包括当前应用程序视图的活动字段数据561及所显示的用户接口数据562。活动字段数据561包括活动字段,及用户接口或与活动字段相关联的接口是否与标准接口对象的至少一些显示行为相关联。所显示的用户接口数据562包括显示哪些用户接口,所显示的用户接口是否与标准接口对象的至少一些显示行为相关联,及所述(多个)当前应用程序视图中所显示的用户接口的定向。
然而,应用程序内部状态512不可由控制模块190直接存取,这是因为控制模块190并不知晓应用程序内部状态512的存储器位置,或应用程序内部状态512的存储器位置不可由控制模块190直接存取,及/或因为应用程序191-1以控制模块190不知晓的方式(例如,使用数据结构、格式、元数据或其类似者)将信息存储于应用程序内部状态512中。
在一些实施例中,应用程序内部状态512包括额外信息,例如以下各者中的一者或一者以上:当应用程序191-1重新开始执行时待使用的重新开始信息,指示信息正由应用程序191-1显示或准备好由应用程序191-1显示的用户接口状态信息,用于使用户能够返回到应用程序191-1的先前状态或视图的状态队列,及用户所采取的先前动作的重做/撤消队列(redo/undoqueue)。
在一些实施例中,装置/全局内部状态157由事件分类器501用以确定哪一(哪些)应用程序当前为活动的,且应用程序内部状态512由事件分类器501用以确定将事件信息递送到的应用程序视图511。
在一些实施例中,应用程序内部状态512包括额外信息,例如以下各者中的一者或一者以上:当应用程序191-1重新开始执行时待使用的重新开始信息,指示信息正由应用程序191-1显示或准备好由应用程序191-1显示的用户接口状态信息,用于使用户能够返回到应用程序191-1的先前状态或视图的状态队列,及用户所采取的先前动作的重做/撤消队列。
事件监视器502从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示装置340上作为多点触摸手势的部分的用户触摸)的信息。外围设备接口118传输其从I/O子系统330(例如,系统键盘350、自定义键盘720(图7A)等)或传感器164(例如,接近度传感器166)、(多个)加速计168及/或麦克风113(经由音频电路110)接收的信息。外围设备接口118从I/O子系统106或330接收的信息包括来自触敏显示装置340(即,触敏显示器或具有触敏表面的显示器)及传感器164的信息。
在一些实施例中,事件监视器502以预定时间间隔将请求发送到外围设备接口118。作为响应,外围设备接口118传输事件信息。在其它实施例中,外围设备接口118仅在存在重大事件(例如,接收超过预定噪声阈值的输入及/或接收输入历时多于预定持续时间)时才传输事件信息。
在一些实施例中,事件分类器501还包括命中(hit)视图确定模块503及/或活动事件辨识器确定模块504。
命中视图确定模块503提供软件过程以用于确定当触敏显示装置340显示一个以上视图时在一个或一个以上视图(例如,应用程序视图511)内已发生子事件的位置。视图是由用户可在显示器上看到的控件及其它元素构成。
与应用程序相关联的用户接口的另一方面是视图集合,在本文中有时称为应用程序视图或用户接口窗口,在其中显示信息且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图可对应于应用程序的编程或视图体系内的编程层级。举例来说,在其中检测到触摸的最低层级视图可称为命中视图,且可至少部分基于开始基于触摸的手势的初始触摸的命中视图来确定被辨识为合适输入的事件集合。
命中视图确定模块503接收与基于触摸的手势的子事件相关的信息。当应用程序具有按体系组织的多个视图时,命中视图确定模块503将命中视图识别为体系中的应处置子事件的最低视图。在大多数情形中,命中视图是其中发生起始子事件的最低层级视图(即,形成事件或潜在事件的子事件的序列中的第一子事件)。一旦由命中视图确定模块识别出命中视图,命中视图通常接收与其被识别为命中视图所关于的相同触摸或输入源相关的所有子事件。
活动事件辨识器确定模块504确定视图体系内的哪一或哪些视图应接收子事件的特定序列。在一些实施例中,活动事件辨识器确定模块504确定仅命中视图应接收子事件的特定序列。在其它实施例中,活动事件辨识器确定模块504确定包括子事件的物理位置的所有视图均是有效涉及的视图,且因此确定所有有效涉及的视图应接收子事件的特定序列。在其它实施例中,即使触摸子事件被完全限于与一个特定视图相关联的区域,体系中更高的视图将仍保持为有效涉及的视图。
事件分派器模块505将事件信息分派给事件辨识器(例如,事件辨识器520)。在包括活动事件辨识器确定模块504的实施例中,事件分派器模块505将事件信息递送到由活动事件辨识器确定模块504确定的事件辨识器。在一些实施例中,事件分派器模块505将事件信息存储于事件队列中,由相应的事件接收器模块531来检索所述事件信息。
在一些实施例中,操作系统126包括事件分类器501。或者,应用程序191-1包括事件分类器501。在又其它实施例中,事件分类器501是独立模块,或存储于存储器370中的另一模块的一部分,例如接触/运动模块130。
在一些实施例中,应用程序191-1包括多个事件处置器522及一个或一个以上应用程序视图511,其中的每一者包括用于处置在应用程序的用户接口的相应视图内发生的触摸事件的指令。应用程序191-1的每一应用程序视图511包括一个或一个以上事件辨识器520。通常,相应的应用程序视图511包括多个事件辨识器520。在其它实施例中,事件辨识器520中的一者或一者以上是单独模块(例如,用户接口套件(未图示))或应用程序191-1从其继承方法及其它特性的更高层级对象的部分。在一些实施例中,相应应用程序视图511还包括事件数据539。接口信息514包括当前显示哪些接口,及每一用户接口是否与标准用户对象的显示行为相关联。在一些实施例中,相应事件处置器522还包括以下各者中的一者或一者以上:数据更新器525、对象更新器526、GUI更新器527,及/或从事件分类器501所接收的事件数据539。事件处置器522-1可利用或调用数据更新器525、对象更新器526或GUI更新器527以更新应用程序内部状态512。或者,应用程序视图511中的一者或一者以上包括一个或一个以上相应事件处置器522。又,在一些实施例中,数据更新器525、对象更新器526及GUI更新器527中的一者或一者以上包括于相应应用程序视图511中。
相应事件辨识器520从事件分类器501接收事件信息(例如,事件数据539),且根据所述事件信息识别事件。事件辨识器520包括事件接收器531及事件比较器532。在一些实施例中,事件辨识器520还包括以下各者的至少一子集:元数据535、事件递送指令536,及/或子事件递送指令537。
事件接收器531从事件分类器501接收事件信息。事件信息包括关于子事件(例如,触摸或移动)的信息。取决于所述子事件,事件信息还包括额外信息,例如,子事件的位置(例如,物理位置)。当子事件与触摸的运动有关时,事件信息还可包括所述子事件的速率及方向。在一些实施例中,事件包括装置从一个定向旋转到另一定向(例如,从纵向定向到横向定向,或反之亦然),且事件信息包括关于装置的当前定向(也称为装置空间方位角)的对应信息。
事件比较器532将事件信息与预定义事件或子事件定义比较,且基于所述比较确定事件或子事件,或确定或更新事件或子事件的状态。在一些实施例中,事件比较器532包括事件定义533。事件定义533含有事件(例如,子事件的预定义序列)的定义,所述事件例如是事件1(534-1)、事件2(534-2)及其它事件。在一些实施例中,事件534中的子事件包括(例如)触摸开始、触摸结束、触摸移动、触摸取消,及多点触摸。在一个实例中,事件1(534-1)的定义为在所显示的对象上的双击。所述双击(例如)包含在预定阶段内在所显示对象上的第一触摸(触摸开始)、在预定阶段内的第一提离(触摸结束)、在预定阶段内在所显示对象上的第二触摸(触摸开始),以及在预定阶段内的第二提离(触摸结束)。在另一实例中,事件2(534-2)的定义为旋转装置100。事件的其它实例包括轻摇装置100、拍打装置100及使得极接近装置100。在一些实施例中,事件还包括针对相应事件(例如,534-1)的一个或一个以上相关联事件处置器522的信息。
在一些实施例中,事件定义533包括针对相应用户接口对象的事件的定义。在一些实施例中,事件比较器532执行命中测试以确定哪一用户接口对象与子事件相关联。举例来说,在三个用户接口对象显示于触敏显示器(例如,显示装置340)上的应用程序视图中,当检测到显示装置340上的触摸时,事件比较器532执行命中测试以确定所述三个用户接口对象中的哪一者与所述触摸(子事件)相关联。如果每一所显示的对象与相应事件处置器522相关联,则事件比较器使用命中测试的结果以确定应激活哪一事件处置器522。举例来说,事件比较器532选择与触发命中测试的子事件及对象相关联的事件处置器。
在一些实施例中,相应的事件534的定义还包括被延迟的动作,其延迟事件信息的递送,直到已确定子事件的序列是对应于还是不对应于事件辨识器的事件类型之后为止。
当相应的事件辨识器520确定子事件系列不与事件定义533中的事件中的任一者匹配时,相应的事件辨识器520进入事件不可能、事件失败,或事件结束状态,其后,其忽视所述基于触摸的手势的后续子事件。在此情况下,对于所述命中视图来说仍保持活动的其它事件辨识器(如果有的话)继续跟踪并处理正在进行中的基于触摸的手势的子事件。
在一些实施例中,相应的事件辨识器320包括元数据535,元数据535具有可配置特性、旗标及/或列表,所述可配置特性、旗标及/或列表指示事件递送系统应如何执行向有效涉及的事件辨识器的子事件递送。在一些实施例中,元数据535包括指示事件辨识器可如何彼此交互的可配置特性、旗标及/或列表。在一些实施例中,元数据535包括指示是否将子事件递送到视图或编程体系中的不同层级的可配置特性、旗标及/或列表。
在一些实施例中,当辨识出事件的一个或一个以上特定子事件时,相应的事件辨识器520激活与事件相关联的事件处置器522。在一些实施例中,相应的事件辨识器520将与所述事件相关联的事件信息递送到事件处置器522。激活事件处置器522不同于将子事件发送(及延期发送)到相应的命中视图。在一些实施例中,事件辨识器520引发与所辨识的事件相关联的旗标,且与所述旗标相关联的事件处置器522捕获所述旗标且执行预定义的过程。
在一些实施例中,事件递送指令536包括子事件递送指令537,所述子事件递送指令537递送关于子事件的事件信息而不激活事件处置器。而是,所述子事件递送指令将事件信息递送到与子事件系列相关联的事件处置器或递送到有效涉及的视图。与子事件系列或与有效涉及的视图相关联的事件处置器接收事件信息且执行预定过程。
在一些实施例中,数据更新器525创建且更新用于应用程序191-1中的数据。举例来说,数据更新器525更新用于联系人模块137中的电话号码,或存储用于视频播放器模块145中的视频文件。在一些实施例中,对象更新器526创建且更新用于应用程序191-1中的对象。举例来说,对象更新器526创建新的用户接口对象或更新用户接口对象的位置。GUI更新器527更新GUI。举例来说,GUI更新器527准备好显示信息且将其发送到图形模块132以供在触敏显示器上显示。
在一些实施例中,事件处置器522包括数据更新器525、对象更新器526及GUI更新器527,或具有对数据更新器525、对象更新器526及GUI更新器527的存取权。在一些实施例中,数据更新器525、对象更新器526及GUI更新器527包括于相应的应用程序191-1或应用程序视图511的单一模块中。在其它实施例中,其包括于两个或两个以上软件模块中。
图5B为说明根据一些实施例的事件处置器522-1的框图。事件处置器522-1包括控制应用程序事件处置器540及应用程序事件处置器550。在一些实施例中,控制应用程序事件处置器540包括于控制模块190中。在一些实施例中,应用程序事件处置器550包括于应用程序191中。换言之,事件处置器522-1部分地在控制应用程序191中实施且部分地在控制模块190中实施。
在一些实施例中,控制应用程序事件处置器540包括查询模块541、命令模块542,及接听器模块543。控制应用程序事件处置器540的模块形成用于将显示行为提供到由装置100所执行的应用程序191的应用程序编程接口(API)。
查询模块541查询应用程序191以获得接口信息。在一些实施例中,接口信息包括:所显示的用户接口,所显示的接口是否与标准接口对象的至少一些显示行为相关联,所显示的用户接口的定向,活动字段及与活动字段相关联的用户接口是否与标准装置的至少一些显示行为相关联。定向数据包括装置及所显示的用户接口的定向。由查询模块541所获得的接口信息544由控制模块190使用以更新由控制模块190为应用程序191保留的应用程序内部状态信息512。
接口信息544由事件处置器522使用以确定应用程序191的显示是否需要更新。举例来说,接口信息544可指示自定义用户的定向(其与标准用户对象的显示行为相关联)与装置100的定向不匹配。
命令模块542基于用户接口显示事件及所获得的接口信息而向应用程序191发出命令。如上文所论述,从事件辨识器接收用户接口显示事件。当接收用户接口显示事件时,命令模块542可向应用程序191发出命令以根据标准用户对象的显示行为而显示所有所显示的自定义用户接口(其与标准用户对象的至少一些显示行为相关联)。举例来说,响应于接收到指示已发生旋转事件的事件,命令模块542可指示应用程序191以对应于装置100的定向的定向而显示自定义用户接口对象(其与标准用户对象的至少一些显示行为相关联)。在另一实例中,响应于接收到指示用户已选择一图标或点按显示器340的区域以指示不再需要所显示的用户接口的事件,命令模块542可指示应用程序191隐藏用户接口对象。在又一实例中,命令模块542可指示应用程序191在附属视图中显示一个或一个以上用户接口对象(或表示一个或一个以上用户接口对象的图标)。
接听器模块543接听由应用程序191(例如,经由应用程序191的通知模块553)作出的如下通知:控制模块190可不再依赖于由所述控制模块190针对应用程序191所获得的接口信息544。
如在图6的论述中更详细论述,控制应用程序事件处置器包括输入视图函数545及附属视图函数546。输入视图函数用自定义用户接口对象的外观及功能性来取代标准用户接口对象(其与输入字段相关联)的外观及功能性。附属视图函数546将附属视图关联或结合到输入字段。
在一些实施例中,应用程序事件处置器550包括响应器模块551、命令执行模块552,及通知模块553。响应器模块552对由控制模块190针对接口信息进行的查询(例如,来自控制模块190的查询模块541)作出响应,从而提供一个或一个以上事件的信息。命令执行模块552执行由控制模块190所发出的命令(例如,来自控制模块190的命令模块542)。举例来说,命令执行模块552可隐藏用户接口或以对应于装置的定向的定向重新显示用户接口。通知模块553通知控制模块190:控制模块190可不再依赖于由控制模块190从应用程序191所获得的接口信息。
应理解,关于对触敏显示器上的用户触摸的事件处置的前文论述还适用于用以通过输入装置操作装置100的其它形式的用户输入,所述输入并非全部均在触摸屏上起始,例如,在有或没有单一或多个键盘按压或保持的情况下的协调的鼠标移动及鼠标按钮按压、触摸板上的用户移动点按、拖动、滚动等、触控笔输入、装置的移动、口头指令、检测到的眼睛移动、生物识别输入,及/或其任何组合,其可用作对应于定义将要辨识的事件的子事件的输入。
图6说明根据一些实施例的使用API中所定义的函数以将自定义用户接口与标准接口对象相关联的应用程序191的伪码。应用程序编程接口(API)为由软件程序实施以启用与其它软件的交互的接口。应用程序编程接口由应用程序、库及操作系统实施以确定编程人员应采用从而使用其服务的调用惯例。如上文所论述,控制应用程序事件处置器540的模块形成用于将显示行为提供到由装置100所执行的应用程序191的应用程序编程接口。在一些实施例中,API包括调用标准用户接口对象(例如,屏幕上键盘)的输入字段的一个或一个以上对象类别。在一些实施例中,API包括标准用户接口对象(例如,屏幕上键盘)的一个或一个以上接口对象类别。在一些实施例中,超级类别(输入字段对象类别继承所述超级类别)包括允许编程人员取代标准用户对象的外观及功能性的一个或一个以上函数。在一些实施例中,每一输入字段对象类别包括允许编程人员取代标准用户对象的外观及功能性的一个或一个以上函数。换言之,输入字段对象类别的超级类别或每一输入字段对象类别包括允许编程人员将自定义用户接口与标准用户对象的显示行为相关联的一个或一个以上函数。在一些实施例中,用户接口的接口对象类别或超级类别(用户接口对象类别继承所述超级类别)包括允许编程人员取代标准用户对象的外观及功能性的一个或一个以上函数。如本文中所使用,允许编程人员通过取代标准用户接口对象的外观及功能性而将自定义用户接口与标准用户对象的显示行为相关联的函数称为“输入视图”函数。在一些实施例中,控制模块190的控制应用程序事件处置器540包括输入视图函数(例如,图5B的545)。
图6提供调用“输入视图”函数的伪码的说明。如图6中所展示,编程人员可将调用标准用户接口对象的标准文本字段对象执行个体化(即,“UITextField*dateField=[[UITextFieldalloc]initWithFrame:frame];”602)且接着将标准用户接口对象的输入视图设定成由所述编程人员所创建的自定义用户接口(即,“dateField.inputView=[MyDatePickerViewsharedCustomDatePicker];”604)。在此实例中,“dateField”610为调用标准用户对象的标准输入字段/图标;“inputView”608为允许编程人员取代标准用户对象的外观及功能性的函数,且“MyDatePickerViewsharedCustomDatePicker”606为由编程人员所创建的自定义用户接口。换言之,代码行604用自定义用户接口的外观及功能性取代标准用户对象的外观及功能性。换言之,代码行604将自定义用户接口与标准用户对象的显示行为相关联。结果,标准用户接口将表现得像自定义用户接口且像自定义用户接口一样起作用,同时保留所述标准用户接口的所有其它功能性(例如,显示行为)。自定义用户接口(即,“sharedCustomDatePicker”606)的显示行为将由系统(即,控制模块190)控制,且自定义接口的外观及功能性将由应用程序(即,应用程序191)控制。利用“输入视图”函数的优点为,编程人员不必指定自定义用户接口的显示行为,借此节省开发时间且向用户提供以可预测方式显示的用户接口。在一些实施例中,控制模块190的控制应用程序事件处置器540包括附属视图函数(例如,图5B的546)。
图6提供调用“附属视图”函数的伪码的说明。在一些实施例中,输入字段对象类别的超级类别或每一输入字段对象类别包括允许编程人员将多个用户接口与一输入字段/图标相关联的一个或一个以上函数。所述接口可为自定义用户接口或标准用户接口。如本文中所使用,允许编程人员将多个自定义用户接口与一输入字段相关联的函数称为“附属视图”函数。如图6中所展示,编程人员可将文本字段执行个体化(即,“UITextField*dateField2=[[UITextFieldalloc]initWithFrame:frame];”603),且接着将所述文本字段的附属视图设定成多个接口(即,“dateField.accessoryView=[MyDatePickerViewmultipleViews];”605)。在此实例中,“dateField2”614为调用标准用户对象的标准输入字段(例如,文本字段),“accessoryView”612为允许编程人员将多个用户接口相关联的函数(即,“multipleViews”616)。在一些实施例中,当文本字段由用户激活时,显示附属视图。附属视图(例如,图7D的736)显示图标(例如,图7D的770、732或734)或用户接口(用户可从其选择)的表示。在一些实施例中,根据标准接口对象的显示行为而显示与附属视图相关联的用户接口。换言之,控制模块190控制选自附属视图的用户接口的显示行为。
现将注意力导向可在具有显示器及触敏表面的多功能装置(例如,装置300或便携式多功能装置100)上实施的用户接口(“UI”)及相关联过程的实施例。
图7A到7E说明根据一些实施例的示范性用户接口。这些图中的用户接口用以说明下文所描述的过程,包括图8A及8B中的过程。
图7A说明处于纵向定向且在显示器702上正显示应用程序724的接口的便携式多功能装置100。所述应用程序接口包括多个图标/输入图标(即,704、706及708),多个输入字段(即,712、714及716)及一自定义用户接口720。字段714显示从所述自定义用户接口720选择的图标710。在此图中,自定义用户接口720与标准接口对象(例如,屏幕上键盘)的显示行为相关联。如下文更详细论述,以基于标准接口对象的显示行为的位置及定向而显示自定义用户接口720。
图7B说明处于横向定向且正显示应用程序724的接口的便携式多功能装置100。如下文更详细论述,以由控制模块190所确定的位置及定向而显示自定义用户接口720。
图7C说明处于横向定向且正显示应用程序724的接口的便携式多功能装置100。在此图中,隐藏自定义用户接口720。如下文更详细论述,控制模块190确定何时隐藏自定义用户接口720。
图7D说明处于横向定向且正显示应用程序724的接口的便携式多功能装置100。输入字段712与附属视图736相关联。在一些实施例中,附属视图与图标704及/或字段712相关联。附属视图包括字体选取器图标730、色彩选取器图标732及图标选取器图标734。每一图标(即,730、732及734)对应于一可选择用户接口。响应于用户选择而显示对应用户接口。对应用户接口可为标准接口对象或自定义接口对象。在一些实施例中,根据标准用户对象的显示行为而显示对应用户接口。
图7E说明在显示器702上显示多个示范性输入字段790的便携式多功能装置100。每一字段与一个或一个以上用户接口对象相关联。举例来说,字体字段746与文本/选取器相关联,且音量字段748与滑块相关联。在一些实施例中,响应于对字段的用户选择而显示与所述字段相关联的用户接口。用户接口可为特定用于应用程序的自定义用户接口或由装置100所供应的标准用户接口。在一些实施例中,响应于一个或一个以上应用程序136(图1B)或其它应用程序的执行而显示输入字段790。举例来说,字段790可同与特定应用程序(例如,媒体播放器应用程序或电子邮件应用程序)相关联的设定菜单相关联。在图7E中,虚线圆740对应于与触敏显示器的手指接触。如图7E中所展示,响应于对“名称”字段742的选择740而显示“用户名称”字段753、“密码”字段754及屏幕上键盘755。屏幕上键盘755可用以将一个或一个以上文本字符输入到字段753及754中。在一些实施例中,根据标准用户接口对象的显示行为而显示标准用户接口对象及与标准用户接口对象的至少一些显示行为相关联的自定义用户接口对象。在一些实施例中,根据描述于2010年5月28日申请的题为“自动显示及隐藏屏幕上键盘(AutomaticallyHidingandDisplayinganOn-screenKeyboard)”的第12/789,666号美国专利申请案中的用户接口对象的显示行为而显示标准用户接口对象及与标准用户接口对象的至少一些显示行为相关联的自定义用户接口对象。
图8A及8B为说明根据一些实施例的根据标准接口对象的显示行为而显示自定义接口对象的方法800的流程图。在具有一个或一个以上处理器、存储器、一显示器及一触敏表面的电子装置(例如,图3的装置300,或图1A的便携式多功能装置100)处执行所述方法800。在一些实施例中,显示器为触摸屏显示器,且触敏表面在显示器上。在一些实施例中,显示器与触敏表面分离。可组合方法800中的一些操作,及/或可改变一些操作的次序。
如下文所描述,方法800提供根据标准接口对象(例如,屏幕上键盘)的显示行为而显示自定义接口对象的方式。所述方法允许编程人员创建自定义接口对象,而无需将所述自定义接口对象的显示行为的所有方面编程,借此减少编程人员的开发时间。编程人员可能想要根据标准接口对象来显示其自定义接口,使得用户可预测其接口。
根据一些实施例,在包括一个或一个以上处理器、一触摸屏显示器及存储包括应用程序及控制程序的一个或一个以上程序的存储器的电子装置处执行一种计算机实施的方法。检测用于接收对应用程序的用户输入的用户接口对象,且在显示器上显示所述用户接口对象(804)。在一些实施例中,确定一输入字段是否同与标准用户接口对象的至少一些显示行为相关联的接口对象相关联。在一些实施例中,输入字段为用户已选择的活动输入字段。在一些实施例中,控制模块190通过事件处置系统197确定用户接口对象。在一些实施例中,响应于用户动作而确定用户接口对象。举例来说,当用户选择需要用户接口对象的输入字段时,可确定用户接口对象。在一些实施例中,用户接口对象是选自由滑块、虚拟旋钮、虚拟转盘、虚拟操纵杆、选择框及屏幕上键盘组成的群组。举例来说,如图7A中所展示,用户输入对象可为图标选择器720。
根据应用程序而控制用户接口对象的第一特性集合(806)。第一特性集合包括用户接口对象的外观及经由用户接口对象与应用程序的用户交互(806)。换言之,应用程序确定用户接口对象的视觉外观及用户如何与用户接口对象交互。举例来说,如图7A中所展示,可将图标选择器720表示为具有多个图标的框。在此实例中,如图7A中所展示,当用户选择图标710时,在字段714中显示所述图标。在一些实施例中,在应用程序中定义第一特性集合。一些实施例,应用程序为用户创建的应用程序191,且用户接口对象为自定义用户接口对象193。
根据控制程序而控制用户接口对象的不同于第一特性集合的第二特性集合。第二特性集合包括用户接口对象的显示状态(808)。在一些实施例中,控制显示状态包含更新用户接口对象的显示状态,就好像用户接口对象为与电子装置相关联的标准的屏幕上用户接口控件一样(810)。换言之,控制程序控制应用程序的用户接口对象的显示行为。在一些实施例中,标准的屏幕上接口控件为屏幕上键盘(812)。在一些实施例中,控制程序为控制模块190。在一些实施例中,控制模块190向应用程序发出显示指令以供应用程序在显示用户接口对象时使用。在一些实施例中,控制模块190通过事件处置系统197向应用程序发出显示指令。
在一些实施例中,更新显示状态包含根据与电子装置的用户交互而显示及隐藏用户接口对象(814)。在一些实施例中,用户交互为对图标的用户选择。举例来说,如图7C中所展示,可响应于对图标的用户选择而隐藏用户接口对象720(图7B)。在一些实施例中,用户交互为对显示器112的不包括用户接口对象的区域的用户选择。在一些实施例中,交互包括轻摇或拍打装置100。
更新显示状态包括以下操作中的一者或一者以上:确定用户接口对象在显示器上的位置;响应于旋转指示而旋转显示器上的用户接口对象;及响应于隐藏指示而隐藏用户接口对象(818)。在一些实施例中,旋转指示包含用户物理旋转电子装置(820)。举例来说,可将电子装置从纵向定向旋转到横向定向,或将电子装置从横向定向旋转到纵向定向。当旋转电子装置时,根据所述电子装置的定向而显示接口对象。举例来说,如图7A中所展示,装置100处于纵向定向,且也以纵向定向展示用户接口对象720。如图7B中所展示,装置100处于横向定向,且也以横向定向展示用户接口对象。
在一些实施例中,隐藏指示包含与显示器的不与应用程序相关联的区的用户交互(822)。在一些实施例中,由控制程序处理旋转指示及隐藏指示,就好像用户接口对象为与电子装置相关联的标准的屏幕上用户接口控件一样(824)。
在一些实施例中,用户接口对象与附属视图相关联(826)。附属视图与输入字段相关联,且显示与所述输入字段相关联的多个接口对象(826)。附属视图允许编程人员将多个用户接口对象与一图标或输入字段相关联。在一些实施例中,当用户选择一图标或输入字段时,显示附属视图。如图7D中所展示,附属视图显示图标(例如,730、732或734)或用户接口(用户可从其选择)的表示。在一些实施例中,根据标准接口对象的显示行为而显示与附属视图相关联的用户接口。换言之,控制模块190控制从附属视图选择的用户接口的显示行为。
上文所描述的信息处理方法中的步骤可通过运行信息处理设备中的一个或一个以上功能模块(例如,通用处理器或专用芯片)来实施。这些模块、这些模块的组合及/或其与一般硬件的组合(例如,如上文关于图1A、1B及3所描述)全部包括于本发明的保护范围内。
根据一些实施例,图9展示根据如上文所描述的本发明的原理而配置的电子装置900的功能框图。所述装置的功能块可由硬件、软件或硬件与软件的组合来实施以实行本发明的原理。所属领域的技术人员应理解,可组合图9中所描述的功能块或将其分离成子块来实施如上文所描述的本发明的原理。因此,本文中的描述可支持本文中所描述的功能块的任何可能组合或分离或其它定义。
如图9中所展示,电子装置900包括处理单元902及耦合到所述处理单元902的触摸屏显示单元904。在一些实施例中,处理单元902包括用户接口确定单元906、应用程序单元908、第一特性控制单元910、控制程序单元912、第二特性控制单元914、显示状态更新单元916、用户接口显示单元918,及用户接口旋转单元920。
在一些实施例中,处理单元902经配置以进行以下操作:确定用于接收对应用程序单元908的用户输入的用户接口对象(例如,通过用户接口确定单元906),且在触摸屏显示单元904上显示所述用户接口对象(例如,通过用户接口显示单元918);根据应用程序单元908,控制用户接口对象的第一特性集合(例如,通过第一特性控制单元910),其中第一特性集合包括用户接口对象的外观及经由用户接口对象与应用程序单元908的用户交互;及根据控制程序单元912,控制用户接口对象的不同于第一特性集合的第二特性集合(例如,通过第二特性控制单元914),其中第二特性集合包括用户接口对象的显示状态。
在一些实施例中,处理单元902经进一步配置以通过以下操作而控制显示状态:更新触摸屏显示单元904上的用户接口对象的显示状态(例如,通过显示状态更新单元916),就好像用户接口对象为与电子装置900相关联的标准的屏幕上用户接口控件一样。
在一些实施例中,标准的屏幕上接口控件为屏幕上键盘。
在一些实施例中,处理单元902经进一步配置以通过以下操作而更新显示状态:根据与电子装置900的用户交互而在触摸屏显示单元904上显示及隐藏用户接口对象(例如,通过用户接口显示单元918)。
在一些实施例中,处理单元902经进一步配置以通过以下操作中的一者或一者以上而更新显示状态:确定用户接口对象在触摸屏显示单元904上的位置(例如,通过用户接口确定单元906);响应于旋转指示而旋转触摸屏显示单元上的用户接口对象(例如,通过用户接口旋转单元920);及响应于隐藏指示而隐藏用户接口对象(例如,通过用户接口显示单元918)。
在一些实施例中,旋转指示包含用户物理地旋转电子装置。
在一些实施例中,隐藏指示包含用户与触摸屏显示单元904的不与应用程序单元相关联的区交互。
在一些实施例中,由控制程序单元处理旋转指示及隐藏指示,就好像用户接口对象为与电子装置相关联的标准的屏幕上用户接口控件一样。
在一些实施例中,用户接口对象同与输入字段相关联的附属视图相关联,其中所述附属视图包括与所述输入字段相关联的多个接口对象。
出于阐释的目的,已参考特定实施例描述了前述描述。然而,以上说明性论述无意为详尽的或将本发明限于所揭示的精确形式。鉴于以上教示,许多修改及变化均是可能的。所述实施例经挑选及描述以便最佳地阐释本发明的原理及其实际应用,进而使得所属领域的技术人员能够最佳地利用本发明及具有适合于所预期的特定用途的各种修改的各种实施例。
Claims (19)
1.一种电子装置,其包含:
处理单元及耦合到所述处理单元的触摸屏显示单元,其中所述处理单元经配置以进行以下操作:
识别应用程序的用户接口的至少一个输入字段对应于与多个用户接口控件相关联的附属视图;
接收对所述多个用户接口控件中一个用户接口控件的选择,其中所选择用户接口控件为特定于所述应用程序的经自定义的用户接口控件,且所选择用户接口控件与以下两者相关联:
所选择用户接口控件的第一特性集合,其中所述第一特性集合包括所选择用户接口控件的外观及经由所选择用户接口控件与所述应用程序的用户交互;及
所选择用户接口控件的第二特性集合,该第二特性集合不同于所述第一特性集合,其中所述第二特性集合包括所选择用户接口控件的显示状态;以及响应于所述选择而:
用所选择用户接口控件的经自定义的外观代替标准用户接口控件的外观;
根据所述应用程序,控制经选择的所述用户接口的所述第一特性集合;
检索与所述标准用户接口控件相关联的显示行为数据,其中所述显示行为数据包括用于所述标准用户接口控件的一个或多个显示行为规则,所述一个或多个显示行为规则中的每个显示行为规则指定与所述应用程序在其上执行的所述电子装置相关联的事件以及与所述标准用户接口控件相关联的对应显示动作;以及
根据与所述标准用户接口控件相关联的所述显示行为数据,控制经选择的所述用户接口的所述第二特性集合。
2.根据权利要求1所述的电子装置,其中控制所述第二特性集合包括:更新经选择的所述用户接口控件的所述显示状态,就好像经选择的所述用户接口控件为标准的屏幕上用户接口控件一样。
3.根据权利要求2所述的电子装置,其中所述标准的屏幕上接口控件包括屏幕上键盘。
4.根据权利要求2所述的电子装置,其中更新所述显示状态包括:根据与用户交互事件而显示及隐藏经选择的所述用户接口控件。
5.根据权利要求2所述的电子装置,其中更新所述显示状态包括:
响应于旋转事件而:
确定所述用户接口内的经选择的所述用户接口控件的位置;及
基于所述位置而旋转所述用户接口内的经选择的所述用户接口控件。
6.根据权利要求5所述的电子装置,其中所述旋转事件包含:用户物理地旋转所述电子装置,所述应用程序在所述电子装置上执行。
7.根据权利要求2所述的电子装置,其中更新所述显示状态包含:响应于隐藏事件而隐藏经选择的所述用户接口控件。
8.根据权利要求7所述的电子装置,其中所述隐藏事件包括:用户与所述用户接口的不与所述应用程序相关联的区域交互。
9.根据权利要求1所述的电子装置,其中所述处理单元进一步经配置以在识别所述至少一个输入字段对应于所述附属视图之前:
显示所述用户接口;及
接收对所述至少一个输入字段的选择。
10.一种用于控制用户接口对象的方法,所述方法包含:
识别应用程序的用户接口的至少一个输入字段对应于与多个用户接口控件相关联的附属视图;
接收对所述多个用户接口控件中的一个用户接口控件的选择其中所选择用户接口控件为特定于所述应用程序的经自定义的用户接口控件,且所选择用户接口控件与以下两者相关联:
所选择用户接口控件的第一特性集合,其中所述第一特性集合包括所选择用户接口控件的外观及经由所选择用户接口控件与所述应用程序的用户交互;
所选择用户接口控件的第二特性集合,该第二特性集合不同于所述第一特性集合,其中所述第二特性集合包括所选择用户接口控件的显示状态;以及响应于所述选择而:
用所选择用户接口控件的经自定义的外观代替经标准接口控件的外观;
根据所述应用程序,控制经选择的所述用户接口的所述第一特性集合;
检索与所述标准用户接口控件相关联的显示行为数据,其中所述显示行为数据包括用于所述标准用户接口控件的一个或多个显示行为规则,所述一个或多个显示行为规则中的每个显示行为规则指定与所述应用程序在其上执行的计算装置相关联的事件以及与所述标准用户接口控件相关联的对应显示动作;以及
根据与所述标准用户接口控件相关联的所述显示行为数据,控制经选择的所述用户接口的所述第二特性集合。
11.根据权利要求10所述的方法,其中控制所述第二特性集合包含:更新经选择的所述用户接口控件的所述显示状态,就好像经选择的所述用户接口控件为标准的屏幕上用户接口控件一样。
12.根据权利要求11所述的方法,其中更新所述显示状态包括:
响应于旋转事件而:
确定所述用户接口内的经选择的所述用户接口控件的位置;
基于所述位置而旋转经选择的所述用户接口控件。
13.根据权利要求12所述的方法,其中所述旋转事件包含:用户物理地旋转所述计算装置,所述应用程序在所述计算装置上执行。
14.根据权利要求11所述的方法,其中更新所述显示状态包含:响应于隐藏事件而隐藏经选择的所述用户接口控件。
15.根据权利要求14所述的方法,其中所述隐藏事件包括:用户与所述用户接口的不与所述应用程序相关联的区域交互。
16.一种用于控制用户接口对象的设备,所述设备包含:
用于识别应用程序的用户接口的至少一个输入字段对应于与多个用户接口控件相关联的附属视图的装置;
用于接收对所述多个用户接口控件当中的一个用户接口控件的选择的装置,其中所选择用户接口控件为特定于所述应用程序的经自定义的用户接口控件,且所选择用户接口控件与以下两者相关联:
所选择用户接口控件的第一特性集合,其中所述第一特性集合包括所选择用户接口控件的外观及经由所选择用户接口控件与所述应用程序的用户交互;
所选择用户接口控件的第二特性集合,该第二特性集合不同于所述第一特性集合,其中所述第二特性集合包括所选择用户接口控件的显示状态;以及
用于用所选择用户接口控件的经自定义的外观代替标准用户接口控件的外观的装置;
用于根据所述应用程序,控制经选择的所述用户接口的所述第一特性集合的装置;
用于检索与所述标准用户接口控件相关联的显示行为数据的装置,其中所述显示行为数据包括用于所述标准用户接口控件的一个或多个显示行为规则,及所述一个或多个显示行为规则中的每个显示行为规则指定所述应用程序在其上执行的所述设备相关联的事件以及与所述标准用户接口控件相关联的对应显示动作;以及
用于根据与所述标准用户接口控件相关联的所述显示行为数据,控制经选择的所述用户接口的所述第二特性集合的装置。
17.根据权利要求16所述的设备,其中所述用于控制所述第二特性集合的装置包含:用于更新经选择的所述用户接口控件的所述显示状态,就好像经选择的所述用户接口控件为标准的屏幕上用户接口控件一样的装置。
18.根据权利要求17所述的设备,其中所述用于更新所述显示状态的装置包含:用于根据用户交互事件而显示及隐藏所述用户接口控件的装置。
19.根据权利要求17所述的设备,其中所述用于更新所述显示状态的装置包括:
用于确定所述用户接口内的经选择的所述用户接口控件的位置的装置;
用于基于所述位置而旋转所述用户接口内的经选择的所述用户接口控件的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29567610P | 2010-01-15 | 2010-01-15 | |
US61/295,676 | 2010-01-15 | ||
US12/789,674 | 2010-05-28 | ||
US12/789,674 US9052894B2 (en) | 2010-01-15 | 2010-05-28 | API to replace a keyboard with custom controls |
PCT/US2011/021236 WO2011088282A1 (en) | 2010-01-15 | 2011-01-14 | Api to replace a keyboard with custom controls |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102763079A CN102763079A (zh) | 2012-10-31 |
CN102763079B true CN102763079B (zh) | 2016-04-27 |
Family
ID=44278470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180009942.0A Active CN102763079B (zh) | 2010-01-15 | 2011-01-14 | 用自定义控件取代键盘的应用程序编程接口(api) |
Country Status (6)
Country | Link |
---|---|
US (1) | US9052894B2 (zh) |
EP (1) | EP2360579A1 (zh) |
KR (1) | KR101410113B1 (zh) |
CN (1) | CN102763079B (zh) |
TW (1) | TWI437483B (zh) |
WO (1) | WO2011088282A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2480957B1 (en) | 2009-09-22 | 2017-08-09 | Apple Inc. | Device, method, and graphical user interface for manipulating user interface objects |
US8766928B2 (en) | 2009-09-25 | 2014-07-01 | Apple Inc. | Device, method, and graphical user interface for manipulating user interface objects |
US8832585B2 (en) | 2009-09-25 | 2014-09-09 | Apple Inc. | Device, method, and graphical user interface for manipulating workspace views |
US8780069B2 (en) | 2009-09-25 | 2014-07-15 | Apple Inc. | Device, method, and graphical user interface for manipulating user interface objects |
US8799826B2 (en) | 2009-09-25 | 2014-08-05 | Apple Inc. | Device, method, and graphical user interface for moving a calendar entry in a calendar application |
US8539385B2 (en) * | 2010-01-26 | 2013-09-17 | Apple Inc. | Device, method, and graphical user interface for precise positioning of objects |
US8612884B2 (en) | 2010-01-26 | 2013-12-17 | Apple Inc. | Device, method, and graphical user interface for resizing objects |
US8539386B2 (en) | 2010-01-26 | 2013-09-17 | Apple Inc. | Device, method, and graphical user interface for selecting and moving objects |
US20110202469A1 (en) * | 2010-02-18 | 2011-08-18 | Frontline Consulting Services Private Limited | Fcs smart touch for c level executives |
KR20110128567A (ko) * | 2010-05-24 | 2011-11-30 | 삼성전자주식회사 | 사용자 인터페이스에 포함되는 오브젝트의 제어 방법 및 상기 방법이 채용된 장치 |
US8335596B2 (en) * | 2010-07-16 | 2012-12-18 | Verizon Patent And Licensing Inc. | Remote energy management using persistent smart grid network context |
US9081494B2 (en) | 2010-07-30 | 2015-07-14 | Apple Inc. | Device, method, and graphical user interface for copying formatting attributes |
US8972879B2 (en) | 2010-07-30 | 2015-03-03 | Apple Inc. | Device, method, and graphical user interface for reordering the front-to-back positions of objects |
US9098182B2 (en) | 2010-07-30 | 2015-08-04 | Apple Inc. | Device, method, and graphical user interface for copying user interface objects between content regions |
WO2012047997A1 (en) | 2010-10-05 | 2012-04-12 | Citrix Systems, Inc. | Display management for native user experiences |
GB201106943D0 (en) * | 2011-04-27 | 2011-06-01 | Burkill Vance | Improvements in or relating to password generation, recall and protection |
EP2573039A3 (en) * | 2011-09-23 | 2013-06-26 | Manitowoc Crane Companies, LLC | Outrigger monitoring system and methods |
US9418372B2 (en) * | 2012-05-25 | 2016-08-16 | Apple Inc. | Advertising, discovering, and using services through virtual access point interfaces |
US10036907B2 (en) * | 2012-09-26 | 2018-07-31 | Apple Inc. | Electronic equipment with status indicators |
CN103135848A (zh) * | 2013-01-21 | 2013-06-05 | 北京迪文科技有限公司 | 一种触摸屏人机交互通信方法 |
US9792014B2 (en) | 2013-03-15 | 2017-10-17 | Microsoft Technology Licensing, Llc | In-place contextual menu for handling actions for a listing of items |
US20150067570A1 (en) * | 2013-09-04 | 2015-03-05 | Jae In Yoon | Method and Apparatus for Enhancing User Interface in a Device with Touch Screen |
US9104246B2 (en) * | 2013-09-18 | 2015-08-11 | Htc Corporation | Electronic system having multiple input keyboards and operation method of the same |
US20150127505A1 (en) * | 2013-10-11 | 2015-05-07 | Capital One Financial Corporation | System and method for generating and transforming data presentation |
US10275935B2 (en) | 2014-10-31 | 2019-04-30 | Fyusion, Inc. | System and method for infinite synthetic image generation from multi-directional structured image array |
US10949075B2 (en) | 2014-11-06 | 2021-03-16 | Microsoft Technology Licensing, Llc | Application command control for small screen display |
US20160132992A1 (en) | 2014-11-06 | 2016-05-12 | Microsoft Technology Licensing, Llc | User interface scaling for devices based on display size |
US10318013B1 (en) | 2015-04-01 | 2019-06-11 | Bansen Labs LLC | System and method for converting input from alternate input devices |
US10585547B2 (en) * | 2015-07-14 | 2020-03-10 | Fyusion, Inc. | Customizing the visual and functional experience of an application |
US10147211B2 (en) | 2015-07-15 | 2018-12-04 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US10242474B2 (en) | 2015-07-15 | 2019-03-26 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US11006095B2 (en) | 2015-07-15 | 2021-05-11 | Fyusion, Inc. | Drone based capture of a multi-view interactive digital media |
US10222932B2 (en) | 2015-07-15 | 2019-03-05 | Fyusion, Inc. | Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations |
US11095869B2 (en) | 2015-09-22 | 2021-08-17 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
CN106468956A (zh) * | 2015-08-21 | 2017-03-01 | 张亮亮 | 键盘 |
US11783864B2 (en) | 2015-09-22 | 2023-10-10 | Fyusion, Inc. | Integration of audio into a multi-view interactive digital media representation |
US10489768B2 (en) * | 2015-12-30 | 2019-11-26 | Visa International Service Association | Keyboard application with third party engagement selectable items |
KR102498364B1 (ko) * | 2016-03-24 | 2023-02-10 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서의 정보 제공 방법 |
CN107783669B (zh) * | 2016-08-23 | 2021-04-16 | 群光电子股份有限公司 | 光标产生系统、方法及计算机程序产品 |
US11202017B2 (en) | 2016-10-06 | 2021-12-14 | Fyusion, Inc. | Live style transfer on a mobile device |
US10437879B2 (en) | 2017-01-18 | 2019-10-08 | Fyusion, Inc. | Visual search using multi-view interactive digital media representations |
US10313651B2 (en) | 2017-05-22 | 2019-06-04 | Fyusion, Inc. | Snapshots at predefined intervals or angles |
US11069147B2 (en) | 2017-06-26 | 2021-07-20 | Fyusion, Inc. | Modification of multi-view interactive digital media representation |
US10592747B2 (en) | 2018-04-26 | 2020-03-17 | Fyusion, Inc. | Method and apparatus for 3-D auto tagging |
WO2019213392A1 (en) * | 2018-05-02 | 2019-11-07 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
CN115268861B (zh) * | 2022-06-21 | 2023-04-11 | 北京志凌海纳科技有限公司 | 自定义组件的引入方法、系统、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1443395A2 (en) * | 2003-01-31 | 2004-08-04 | Microsoft Corporation | Utility object for specialized data entry |
CN101535938A (zh) * | 2006-09-06 | 2009-09-16 | 苹果公司 | 用于显示结构化电子文档的便携式电子设备、方法和图形用户界面 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3859005A (en) | 1973-08-13 | 1975-01-07 | Albert L Huebner | Erosion reduction in wet turbines |
US4826405A (en) | 1985-10-15 | 1989-05-02 | Aeroquip Corporation | Fan blade fabrication system |
KR100766627B1 (ko) | 1998-01-26 | 2007-10-15 | 핑거웍스, 인크. | 수동 입력 통합 방법 및 장치 |
CA2244431C (en) * | 1998-07-30 | 2002-02-19 | Ibm Canada Limited-Ibm Canada Limitee | Touchscreen keyboard support for multi-byte character languages |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US7218226B2 (en) | 2004-03-01 | 2007-05-15 | Apple Inc. | Acceleration-based theft detection system for portable electronic devices |
US7688306B2 (en) | 2000-10-02 | 2010-03-30 | Apple Inc. | Methods and apparatuses for operating a portable device based on an accelerometer |
US6677932B1 (en) | 2001-01-28 | 2004-01-13 | Finger Works, Inc. | System and method for recognizing touch typing under limited tactile feedback conditions |
US6570557B1 (en) | 2001-02-10 | 2003-05-27 | Finger Works, Inc. | Multi-touch system and method for emulating modifier keys via fingertip chords |
US8826146B2 (en) | 2004-10-14 | 2014-09-02 | International Business Machines Corporation | Uniform user interface for software applications |
US8117540B2 (en) | 2005-05-18 | 2012-02-14 | Neuer Wall Treuhand Gmbh | Method and device incorporating improved text input mechanism |
US7941760B2 (en) | 2006-09-06 | 2011-05-10 | Apple Inc. | Soft keyboard display for a portable multifunction device |
US7864163B2 (en) | 2006-09-06 | 2011-01-04 | Apple Inc. | Portable electronic device, method, and graphical user interface for displaying structured electronic documents |
US7979893B2 (en) | 2007-05-31 | 2011-07-12 | Microsoft Corporation | Tailored system management interface |
US8289283B2 (en) | 2008-03-04 | 2012-10-16 | Apple Inc. | Language input interface on a device |
-
2010
- 2010-05-28 US US12/789,674 patent/US9052894B2/en active Active
-
2011
- 2011-01-14 CN CN201180009942.0A patent/CN102763079B/zh active Active
- 2011-01-14 WO PCT/US2011/021236 patent/WO2011088282A1/en active Application Filing
- 2011-01-14 KR KR1020127021231A patent/KR101410113B1/ko active IP Right Grant
- 2011-01-14 TW TW100101495A patent/TWI437483B/zh active
- 2011-01-17 EP EP20110151082 patent/EP2360579A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1443395A2 (en) * | 2003-01-31 | 2004-08-04 | Microsoft Corporation | Utility object for specialized data entry |
CN101535938A (zh) * | 2006-09-06 | 2009-09-16 | 苹果公司 | 用于显示结构化电子文档的便携式电子设备、方法和图形用户界面 |
Also Published As
Publication number | Publication date |
---|---|
CN102763079A (zh) | 2012-10-31 |
TW201145148A (en) | 2011-12-16 |
US9052894B2 (en) | 2015-06-09 |
US20110179373A1 (en) | 2011-07-21 |
KR101410113B1 (ko) | 2014-06-25 |
EP2360579A1 (en) | 2011-08-24 |
KR20120123744A (ko) | 2012-11-09 |
WO2011088282A1 (en) | 2011-07-21 |
TWI437483B (zh) | 2014-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102763079B (zh) | 用自定义控件取代键盘的应用程序编程接口(api) | |
CN102763074B (zh) | 自动键盘布局确定 | |
CN103052935B (zh) | 用于对对象的前后位置进行重新排序的装置、方法和图形用户接口 | |
CN102754071B (zh) | 具有包含具有另一设备的显示分辨率的模式的多个应用程序显示模式的设备和方法 | |
CN102763065B (zh) | 用于导航经过多个查看区域的装置、方法和图形用户接口 | |
CN102763058B (zh) | 用于存取可选键的装置、方法和图形用户接口 | |
CN102063253B (zh) | 用于管理并行打开的软件应用的方法和相关设备 | |
CN102754062B (zh) | 具有内容显示模式和显示旋转启发的装置、方法和图形用户接口 | |
KR101718253B1 (ko) | 문자 입력을 위한 디바이스, 방법 및 그래픽 유저 인터페이스 | |
CN102763066B (zh) | 用于导航经过一范围的值的装置、方法和图形用户接口 | |
US8595645B2 (en) | Device, method, and graphical user interface for marquee scrolling within a display area | |
CN102763073B (zh) | 具有交互式弹出视图的装置和方法 | |
CN102763077A (zh) | 自动显示及隐藏屏幕上键盘 | |
US20150309692A1 (en) | Device, method, and graphical user interface for copying formatting attributes | |
CN103186318A (zh) | 用于使用单点触摸输入提供多点触摸输入和基于硬件的特征的装置、方法和图形用户接口 | |
CN102216897B (zh) | 有条件激活或禁用软按钮的设备和方法 | |
CN103218148A (zh) | 用于配置与用户接口的受约束的交互的装置、方法和图形用户接口 | |
US20110221685A1 (en) | Device, Method, and Graphical User Interface for Performing Character Entry | |
CN103186343A (zh) | 用于调整内容查看和文本输入接口的大小的装置、方法和图形用户接口 | |
CN102754061A (zh) | 用于改变电子文档中的页的装置、方法和图形用户接口 | |
CN105264476A (zh) | 用于提供导航和搜索功能的装置、方法和图形用户界面 | |
CN102763128A (zh) | 用于附件查看和编辑的装置、方法和图形用户接口 | |
CN103069378A (zh) | 用于用户接口屏幕导航的装置、方法和图形用户接口 | |
CN103164152A (zh) | 用于编辑视频的装置、方法和图形用户接口 | |
CN104246678A (zh) | 用于对文档中的内容对象进行共享的设备、方法和图形用户界面 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |