双显示区通信设备中的模态的制作方法

文档序号:6484452阅读:414来源:国知局
双显示区通信设备中的模态的制作方法
【专利摘要】本公开指向用于在一组相关窗口中处理模态的方法和设备。
【专利说明】双显示区通信设备中的模态
[0001]相关申请的交叉引用
[0002]本申请要求以下美国临时申请在35U.S.C.§ 119(e)下的权益和优先权:2010年10 月 I 日提交的题为“DUAL DISPLAY WINDOWING SYSTEM”的N0.61/389,000 ;2010年 10 月 I日提交的题为“MULT1-OPERATING SYSTEMPORTABLE DOCKETING DEVICE”的N0.61/389,117 ;2010 年 10 月 I 日提交的题为 “TABLET COMPUTING USER INTERFACE” 的 N0.61/389,087 ;2010 年 11 月 17 日提交的题为“Dual Screen Email Client”的 N0.61/458,150 ;以及 2011年9月XX日提交的题为“MOBILE DEVICE”的N0.XX/XXXXXX。针对它们所教导的全部内容以及为了所有目的,通过引用将每个前述文件的全文合并到这里。
【背景技术】
[0003]很大量的手持计算设备(诸如蜂窝电话、平板电脑以及电子阅读器)使用触摸屏显示器,不仅用来向用户传递显示信息,而且用于从用户界面命令接收输入。虽然触摸屏显示器可以提高手持设备的可配置性以及提供广泛类型的用户界面选项,但这种灵活性通常需要付出代价。触摸屏提供内容和接收用户命令的双重使用,虽然对用户很灵活性,但可能使显示迷乱,并导致视觉混乱,从而导致用户失望和损失工作效率。
[0004]手持计算设备的小形状因素在显示的图形与用于接收输入的区域之间需要仔细平衡。一方面,小显示器限制了显示空间,这可能增加解析动作或结果的难度。另一方面,虚拟键区或其它用户界面方案叠加在执行应用上或与其相邻,这需要将应用压缩到显示器的甚至更小的部分中。
[0005]对于单显示触摸屏设备,这种平衡工作尤其困难。单显示触摸屏设备的功能受到他们有限的屏幕空间限制。当用户通过单显示器向设备输入信息时,可能严重妨碍解析显示器中的信息的能力,尤其是当显示和界面之间需要复杂交互时。
【发明内容】

[0006]存在对双多显示区手持计算设备的需要,相对于传统单显示区手持计算设备,该双多显示区手持计算设备提供增强的能力和/多功能性。通过本公开的各个方面、实施例、和/或配置解决这些以及其它需要。此外,虽然以示例实施例的方式呈现了本公开,但应该理解,本公开的各个单独方面可以被独立地要求权利。
[0007]在一个实施例中,提供了一种方法,包括以下步骤:
[0008]通过多显示区通信设备中的处理器可执行中间件从公共多屏应用接收命令,以最小化和/或最大化一组相关窗口,该组相关窗口包括由不同的触摸敏感显示区显示和/或要显示的较高层窗口和较低层窗口,并且所述较高层窗口和所述较低层窗口中的至少一个包括从所述较高层窗口和所述较低层窗口之一启动的模态(modal);
[0009]通过所述处理器可执行中间件应用以下规则:
[0010](BI)当要最大化该组相关窗口时,保持所述模态在所述较高层窗口和所述较低层窗口中启动所述模态的窗口中可见;以及[0011](B2)当要最小化该组相关窗口时,应用以下子规则中的至少一个:
[0012](B2i)当在最小化该组相关窗口之后显示所述较高层窗口和所述较低层窗口中包括所述模态的所述至少一个时,保持所述模态可见;以及
[0013](B2ii)当在最小化该组相关窗口之后将不显示所述较高层窗口和所述较低层窗口中包括所述模态的所述至少一个时,自动取消所述模态。
[0014]在一个实施例中,提供了一种方法,其包括以下步骤:
[0015]通过包括第一和第二触摸敏感显示区的多显示区通信设备中的处理器可执行中间件接收命令,以将显示区从竖向(portrait,肖像画)和横向(landscape,风景画)显示模式中的一个旋转为竖向和横向显不模式中的另一个,其中,所述第一触摸敏感显不区包括:从包括由不同的触摸敏感显示区显示和/或要显示的较高层窗口和较低层窗口的一组相关窗口中的较高层窗口和较低层窗口中的至少一个启动的模态;
[0016]通过所述处理器可执行中间件应用以下规则:
[0017](BI)当所述第一和第二触摸敏感显示区从竖向显示模式旋转到横向显示模式时,应用以下子规则中的至少一个:
[0018](Bli)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较上位置,并且所述第一触摸敏感显示区显示较高层窗口和较低层窗口中的所述至少一个时,在旋转后的所述第一触摸敏感显示区中显示所述模态;以及
[0019](Blii)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较低位置,并且所述第一触摸敏感显示区和所述第二触摸敏感显示区都不显示较高层窗口和较低层窗口中的所述至少一个时,在旋转后,所述第一触摸敏感显示区和所述第一触摸敏感显示区中都不显示 所述模态;以及
[0020](B2)当所述第一和第二触摸敏感显示区从横向显示模式旋转到竖向显示模式时,在旋转后,在所述第一和第二触摸敏感显示区中启动所述模态的一个触摸敏感显示区上显示所述模态。
[0021]在一个实施例中,提供一种通信设备,包括:
[0022]至少第一触摸敏感显示区和第二触摸敏感显示区,以显示窗口 ;
[0023]处理器;以及
[0024]计算机可读存储器,所述计算机可读存储器包括可操作来执行以下步骤的处理器可执行中间件:
[0025]从公共多屏应用接收命令,以最小化和/或最大化一组相关窗口,该组相关窗口包括由触摸敏感显示区显示和/或要显示的较高层窗口和较低层窗口,并且所述较高层窗口和所述较低层窗口中的至少一个包括从所述较高层窗口和所述较低层窗口之一启动的模态;
[0026]应用以下规则:
[0027](BI)当要最大化该组相关窗口时,保持所述模态在所述较高层窗口和所述较低层窗口中启动所述模态的窗口中可见;以及
[0028](B2)当要最小化该组相关窗口时,应用以下子规则中的至少一个:
[0029](Β2?)当在最小化该组相关窗口之后显示所述较高层窗口和所述较低层窗口中包括所述模态的至少一个时,保持所述模态可见;以及[0030](B2ii)当在最小化该组相关窗口之后将不显示所述较高层窗口和所述较低层窗口中包括所述模态的至少一个时,自动取消所述模态。
[0031]在一个实施例中,提供一种通信设备,包括:
[0032]至少第一触摸敏感显示区和第二触摸敏感显示区,以显示窗口 ;
[0033]处理器;以及
[0034]计算机可读存储器,所述计算机可读存储器包括可操作来执行以下步骤的处理器可执行中间件:
[0035]从公共多屏应用接收命令,以最小化和/或最大化一组相关窗口,该组相关窗口包括由不同的触摸敏感显示区显示和/或要显示的较高层窗口和较低层窗口,并且所述较高层窗口和所述较低层窗口中的至少一个包括从所述较高层窗口和所述较低层窗口之一启动的模态;
[0036]应用以下规则:
[0037]接收命令,以将显示区从竖向和横向显示模式中的一个旋转为竖向和横向显示模式中的另一个,其中,所述第一触摸敏感显示区包括:从包括由不同的触摸敏感显示区显示和/或要显不的较高层窗口和较低层窗口的一组相关窗口中的较高层窗口和较低层窗口中的至少一个启动的模态;
[0038]应用以下规则:
[0039](BI)当所述第一和第二触摸敏感显示区从竖向显示模式旋转到横向显示模式时,应用以下子规则中的至少一个:
[0040](Bli)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较上位置,并且所述第一触摸敏感显示区显示较高层窗口和较低层窗口中的所述至少一个时,在旋转后的所述第一触摸敏感显示区中显示所述模态;以及
[0041](Blii)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较低位置,并且所述第一触摸敏感显示区和所述第二触摸敏感显示区都不显示较高层窗口和较低层窗口中的所述至少一个时,在旋转后,所述第一触摸敏感显示区和所述第一触摸敏感显示区中都不显示所述模态;以及
[0042](B2)当所述第一和第二触摸敏感显示区从横向显示模式旋转到竖向显示模式时,在旋转后,在所述第一和第二触摸敏感显示区中启动所述模态的一个触摸敏感显示区上显示所述模态。
[0043]在一个配置中,所述处理器可执行中间件选择预定触摸敏感显示区,用于显示所述较低和较高层窗口中的一个,并使所述较低和较高层窗口中的另一个显示在另一触摸敏感显示区上。在最大化之前,所述模态显示在所述较高层窗口上,但所述模态被从所述较低层窗口启动。
[0044]在一个配置中,接收拖曳(drag)或轻弹(flick)命令,当接收到所述姿势时,所述预定触摸敏感显示区中既不显示所述较高层窗口也不显示所述较低层窗口,并且所述较低层窗口表现为从所述另一触摸敏感显示区移动到所述预定触摸敏感显示区,从而在所述另一触摸敏感显示区中显现所述较高层窗口。
[0045]在一个配置中,接收拖曳(drag)或轻弹(flick)命令,当接收到所述姿势时,在所述预定触摸敏感显示区中显示所述较低层窗口,所述较高层窗口表现为从所述预定触摸敏感显示区移动到所述另一触摸敏感显示区,由此由所述预定触摸敏感显示区显示所述较低层窗口,由所述另一触摸敏感显示区显示所述较高层窗口。
[0046]在一个配置中,所述处理器可执行中间件选择用于显示所述较高层窗口的触摸敏感显示区,并停止在所述另一触摸敏感显示区上显示所述较低层窗口,接收拖曳或轻弹命令,当接收到所述命令时,在所选择的触摸敏感显示区和另一触摸触摸显示区中同时显示所述较高和较低层窗口,当接收到所述命令时,所述较低层显示区显示在所选择的触摸敏感显示区中,并且所述较高层窗口表现为从所述另一触摸敏感显示区移动到所选择的触摸敏感显示区,从而覆盖所述另一触摸敏感显示区中的所述较低层窗口。
[0047]在一个配置中,所述处理器可执行中间件选择用于显示所述较高层窗口的触摸敏感显示区,并停止在所述另一触摸敏感显示区上显示所述较低层窗口,所述命令是拖曳或轻弹,当接收到所述命令时,在所选择的触摸敏感显示区和另一触摸敏感显示区中同时显示所述较高和较低层窗口,当接收到所述命令时,所述较高层显示区显示在所选择的触摸敏感显示区中,并且所述较低层窗口表现为从所述另一触摸敏感显示区移动到所选择的触摸敏感显示区,从而在所述另一触摸敏感显示区中消失在所述较高层窗口之下。
[0048]在一个配置中,在旋转后,较高层窗口和较低层窗口中显示所述模态的所述至少一个窗口显示在所述第一和第二触摸敏感显示区两者中,并且在旋转期间,显示在所述第二触摸敏感显示区上的较低层窗口被较高层窗口和较低层窗口中的所述至少一个覆盖。
[0049]在一个配置中,在旋转前,较高层窗口和较低层窗口中显示所述模态的所述至少一个窗口显示在所述第二触摸敏感显示区中,在旋转后,所述模态显示在所述第一触摸敏感显示区上,并且在旋转后,较高层窗口和较低层窗口中的所述至少一个窗口显示在所述第一和第二触摸敏感显示区两者上。
[0050]本公开可以提供有效并方便的规则,用于处理显示的图像,尤其是层级(hierarchically)相关的窗口中的模态。根据本公开,这些以及其它优点将变得明显。
[0051]词组“至少一个”、“一个或多个”以及“和/或”是开放性表达,其在作用上既是连接的也是分离的。例如,“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”、以及“A、B和/或C”这些表达每个表示仅A、仅B、仅C、A和B —起、A和C 一起、B和C 一起、或者A、B和C 一起。
[0052]词组“至少一个”、“一个或多个”以及“和/或”是开放性表达,其在作用上既是连接的也是分离的。例如,“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”、以及“A、B和/或C”这些表达每个表示仅A、仅B、仅C、A和B —起、A和C 一起、B和C 一起、或者A、B和C 一起。
[0053]单数形式(“a”或“an”)整体表示一个或多个该实体。因此,单数形式(“a”或“an”)、“一个或多个”、以及“至少一个”在本文中可以替换使用。还应注意,“包括”、“包含”以及“具有”可以替换使用。
[0054]这里使用的词语“自动”及其变型是指当执行处理或操作时在没有实质性的人工输入的情况下完成的任何处理或操作。然而,即使处理或操作的执行使用实质性或非实质性的人工输入,如果在处理或操作执行之前接收该输入,则该处理或操作也是自动的。如果人工输入影响将如何执行处理或操作,则这样的人工输入认为是实质性的。遵从处理或操作的执行的人工输入不认为是“实质性的”。[0055]这里使用的词语“计算机可读介质”是指参与将指令提供给处理器进行执行的任何有形存储和/或传输介质。这种介质可以采用许多形式,包括但不限于,非易失性介质、易失性介质和传输介质。非易失性介质包括例如NVRAM、或者磁或光盘。易失性介质包括动态存储器,诸如主存储器。计算机可读介质的通常形式包括例如软盘、柔性盘、硬盘、磁带、或任何其它磁介质、磁光介质、CD-ROM、任何其它光学介质、打孔卡片、纸带、任何其它具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPR0M、如存储卡的固态介质、任何其它存储芯片或单元存储器(cartridge)、下文描述的载波、或计算机可以读取的任何其它介质。电子邮件的数字文件附件或其它独立的信息档案或档案集被认为是等价于有形存储介质的发布介质。当计算机可读介质被配置为数据库时,应理解,该数据库可以是任何类型的数据库,诸如关系数据库、层级数据库、面向对象的数据库等等。因此,本公开被认为是包括有形存储介质或发布介质、以及现有技术认同的等同或后继介质,它们中存储本公开的软件实施方式。
[0056]词语“桌面”是指用于描述系统的比喻词。桌面一般被认为是“表面(surface)”,该表面通常包括图片、调用图标、窗口小部件、文件夹等,它们可以激活显示应用、窗口、小操作台(cabinet)、文件、文件夹、文档、以及其它图形项目。一般可通过用户界面交互选择图标来启动任务,以允许用户执行应用或执行其它操作。
[0057]词语“屏幕”、“触摸屏”或“触屏”是指包括一个或多个硬件组件的物理结构,所述硬件组件向设备提供呈现用户界面和/或接收用户输入的能力。屏幕可以包含姿势捕获区域、触摸敏感显示区、和/或可配置区域的任意组合。设备可以具有一个或多个物理屏幕嵌入在硬件中。然而,屏幕也可以包括可以附接或从该设备移除的外围设备。在实施例中,多个外部设备可以附接到该设备。因此,在实施例中,屏幕可以使得用户能够通过触摸屏幕上的区域与设备交互,并且通过显示区向用户提供信息。触摸屏可以感测用户多个方式的接触,诸如通过电参数(电阻或电容)的变化、声波变动、红外辐射近程检测、光变动检测等。例如,在电阻触摸屏中,屏幕中通常分离的传导和阻抗金属层传导电流。当用户触摸屏幕时,这两层在触摸位置接触,从而发现电场的改变,并计算触摸位置的坐标。在电容触摸屏中,电容层存储电荷,当用户与触摸屏接触时,该电荷释放到用户,从而导致电容层的电荷减少。测量该减少,并确定接触位置坐标。在表面声波触摸屏中,通过屏幕传输声波,并且通过用户接触分布声波。接收传感器检测用户的接触事件,并确定接触位置的坐标。
[0058]词语“显示区”是指用于显示计算机向用户的输出的一个或多个屏幕的一部分。显示区可以是单屏显示区或多屏显示区(称为复合显示区)。复合显示区可以包含一个或多个屏幕的触摸敏感显示区。单个物理屏幕可以包括被管理为独立的逻辑显示区的多个显示区。因此,不同的内容可以显示在独立的显示区上,尽管它们是同一物理屏幕的部分。
[0059]词语“显示图像”是指在显示区上产生的图像。典型的显示图像是窗口或桌面。显示图像可以占据全部显示区或显示区的一部分。
[0060]词语“显示定向”是指用户为了查看而定向(orient)矩形显示区的方式。显示定向的两个最通常的类型是竖向(portrait)和横向(landscape)。在横向模式中,显示区被定向为显示区的宽度大于显示区的高度(诸如4:3的比例,即4单位宽和3单位高,或者16:9的比例,即16单位宽和9单位高)。换言之,在横向模式中,显示区的较长维度基本定向在水平方向上,而显示区的较短维度基本定向在垂直方向上。相反,在竖向模式中,显示区被定向为显示区的宽度小于显示区的高度。换言之,在竖向模式中,显示区的较短维度基本定向在水平方向上,而显示区的较长维度基本定向在垂直方向上。
[0061]词语“复合显示区”是指限定可以包含一个或多个屏幕的显示区的逻辑结构。多屏显示区可以与包含所有屏幕的复合显示区关联。基于设备的不同定向,复合显示区可以具有不同的显示特性。
[0062]词语“姿势(gesture)”是指用户动作,其表达期望的想法、动作、意思、结果和/或成果。用户动作可以包括操纵设备(例如,打开或关闭设备、改变设备定向、移动轨迹球或轮等)、身体部分相对于设备的运动、器具或工具相对于设备的运动、音频输入等。可以在设备上(例如屏幕上)做出姿势或者利用设备做出姿势,以与设备交互。
[0063]这里使用的词语“模块”是指任意已知或以后发展的硬件、软件、固件、人工智能、模糊逻辑、或硬件和软件的组合,其能够执行与该元件关联的功能。
[0064]词语“姿势捕获”是指用户姿势的事件和/或类型的感测或检测。姿势捕获可以在屏幕的一个或多个区域中发生。姿势区域可以在显示区上(在这种情况下,其可被称为触摸敏感显示区)或显示区之外(在这种情况下,其可被称为姿势捕获区域)。
[0065]“多屏应用”是指能够多屏模式的应用。多屏应用模式可以包括但不限于单屏模式(其中在单个屏幕上显示应用)或复合显示区模式(其中在两个或多个屏幕上显示应用)。多屏应用可以具有为该模式优化的不同布局。因此,多屏应用可以具有用于单屏或用于包含两个或更多个屏幕的复合显示区的不同布局。不同布局可以具有可以呈现多屏应用的用户界面的不同屏幕/显示区维度和/或配置。不同布局允许应用针对显示区的类型(例如单屏或多屏)优化应用的用户界面。在单屏模式中,多屏应用可以呈现一个窗口框的信息。在复合显示区模式中,多屏应用可以呈现多个窗口框的信息,或者可以提供更大且更丰富的呈现,因为具有更多的空间用于显示内容。多屏应用可被设计为根据系统向多屏应用分配哪种显示区(单个或复合)而动态地适配设备和模式的改变。在替代实施例中,用户可以使用姿势来请求应用转变到不同的模式,并且如果对于所请求的模式有显示区可用,则设备可以允许应用转移到该显示区并转变模式。
[0066]“单屏应用”是指能够单屏模式的应用。因此,单屏应用仅可以产生一个窗口,并且不能有不同的模式或不同的显示维度。单屏应用不能有关于多屏应用所说明的几个模式。
[0067]词语“窗口”是指显示区的至少一部分上的通常是矩形的显示图像,其包含或提供与屏幕的其余位置不同的内容。窗口可以遮挡(obscure)桌面。
[0068]这里所用的词语“确定”、“计算(calculate)”和“计算(compute)”及其它们的变型可以交换使用,并且包括任何类型的方法、处理、数学运算或技术。
[0069]应该理解,这里使用的“装置(means)”应该给予根据美国专利法第112条第6款的最广可能性的解释。因此,包含词汇“装置”的权利要求应当涵盖这里提出的所有结构、材料或动作,以及它们的等同体。此外,结构、材料或动作、以及它们的等同体包括
【发明内容】
、【专利附图】

【附图说明】、【具体实施方式】、摘要、以及权利要求本身中描述的所有内容。
[0070]“模态窗口(modal window)”是作为父窗口的子窗口(二级窗口)并篡夺(usurp)父窗口的控制的任何类型的窗口。其通常与因特网网站的弹出窗口关联,该弹出窗口位于原始窗口之前。用户不可以在父窗口(打开模态窗口的原始窗口)上按压任何控制或输入任何信息,直到该模态被关闭。当创建者想要将用户的注意力保持在模态中的信息上时,通常使用模态窗口,因为用户不能与同一进程中的其它窗口交互。
[0071]前面是本公开的简化总结,以提供本公开的某些方面的理解。该总结不是本公开及其各个方面、实施例和/或配置的详尽或穷尽的概述。其不意图标识本公开的关键或重要要素,也不限定本公开的范围,而是以简化的形式选择性地呈现本公开的构思,作为对下面呈现的更详细的描述的引荐。如可以理解的,通过单独或组合地利用上述或下面详细描述的特征中的一个或多个,可以形成本公开的其它方面、实施例、和/或配置。
【专利附图】
附图
【附图说明】
[0072]图1A包括多屏用户设备的实施例的第一视图;
[0073]图1B包括多屏用户设备的实施例的第二视图;
[0074]图1C包括多屏用户设备的实施例的第三视图;
[0075]图1D包括多屏用户设备的实施例的第四视图;
[0076]图1E包括多屏用户设备的实施例的第五视图;
[0077]图1F包括多屏用户设备的实施例的第六视图;
[0078]图1G包括多屏用户设备的实施例的第七视图;
[0079]图1H包括多屏用户设备的实施例的第八视图;
[0080]图1I包括多屏用户设备的实施例的第九视图;
[0081]图1J包括多屏用户设备的实施例的第十视图;
[0082]图2是设备的硬件实施例的框图;
[0083]图3A是基于设备的定向和/或配置的、设备的状态模式的实施例的框图;
[0084]图3B是基于设备的定向和/或配置的、设备的状态模式的实施例的表;
[0085]图4A是设备接收的用户姿势的实施例的第一表示;
[0086]图4B是设备接收的用户姿势的实施例的第二表示;
[0087]图4C是设备接收的用户姿势的实施例的第三表示;
[0088]图4D是设备接收的用户姿势的实施例的第四表示;
[0089]图4E是设备接收的用户姿势的实施例的第五表示;
[0090]图4F是设备接收的用户姿势的实施例的第六表示;
[0091]图4G是设备接收的用户姿势的实施例的第七表示;
[0092]图4H是设备接收的用户姿势的实施例的第八表示;
[0093]图5A是设备软件和/或固件的实施例的框图;
[0094]图5B是设备软件和/或固件的实施例的第二框图;
[0095]图6A是响应于设备状态产生的设备配置的实施例的第一表示;
[0096]图6B是响应于设备状态产生的设备配置的实施例的第二表示;
[0097]图6C是响应于设备状态产生的设备配置的实施例的第三表示;
[0098]图6D是响应于设备状态产生的设备配置的实施例的第四表示;
[0099]图6E是响应于设备状态产生的设备配置的实施例的第五表示;
[0100]图6F是响应于设备状态产生的设备配置的实施例的第六表示;
[0101]图6G是响应于设备状态产生的设备配置的实施例的第七表示;
[0102]图6H是响应于设备状态产生的设备配置的实施例的第八表示;[0103]图61是响应于设备状态产生的设备配置的实施例的第九表示;
[0104]图6J是响应于设备状态产生的设备配置的实施例的第十表示;
[0105]图7是根据实施例的流程图;
[0106]图8是公共多屏应用控制的多个窗口的根视图;
[0107]图9A是逻辑窗口堆栈的表示;
[0108]图9B是逻辑窗口堆栈的实施例的另一表不;
[0109]图9C是逻辑窗口堆栈的实施例的另一表不;
[0110]图9D是逻辑窗口堆栈的实施例的另一表不;
[0111]图9E是逻辑窗口堆栈的实施例的另一表不;
[0112]图10是用于窗口堆栈的逻辑数据结构的实施例的框图;
[0113]图11是用于创建窗口堆栈的方法的实施例的流程图;
[0114]图12描绘了根据实施例的窗口堆栈配置;
[0115]图13A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0116]图14A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0117]图15A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0118]图16A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0119]图17A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0120]图18A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0121]图19A-C是根据实施例的竖向显示定向的屏幕快照的系列;
[0122]图20A-C是根据实施例的横向显示定向的屏幕快照的系列;
[0123]图21A-C是根据实施例的横向显示定向的屏幕快照的系列;
[0124]图22A-C是根据实施例的横向显示定向的屏幕快照的系列;
[0125]图23是根据实施例的流程图。
[0126]在附图中,类似的组件和/或特征可以具有相同的参考标记。此外,同一类型的各个组件可以通过在参考标记后加上字母来区分,该字母在类似的组件之间进行区分。如果在描述中仅使用开头的参考标记,则该描述适用于具有相同的开头参考标记的类似组件中的任一个,而不论后缀参考标记是什么。
【具体实施方式】
[0127]这里呈现的是设备的实施例。设备可以是通信设备,诸如蜂窝电话,或其它智能设备。设备可以包括两个屏幕,它们被定向来提供若干独特的显示配置。此外,设备可以接收独特方式的用户输入。设备的总体设计和功能改善了用户体验,使得设备更有用且更高效。
[0128]机械特征:
[0129]图1A-图1J示出了根据本公开的实施例的设备100。如下面更详细描述的,可以多个不同的方式放置设备100,每个方式向用户提供不同的功能。设备100是多屏设备,其包括主屏104和辅屏108,这两个屏幕都是触摸敏感的。在实施例中,屏幕104和108的整个前表面可以是触摸敏感的,并能够接收用户触摸屏幕104和108的前表面进行的输入。主屏104包括触摸敏感显示区110,其除了触摸敏感外还向用户显示信息。辅屏108包括触摸敏感显示区114,其也向用户显示信息。在其它实施例中,屏幕104和108可以包括超过一个显示区域。
[0130]主屏104还包括可配置区域112,其已被配置用于用户触摸该可配置区域112的部分时的特定输入。辅屏108还包括已配置用于特定输入的可配置区域116。区域112a和116a已被配置为接收“后退”输入,其指示用户想查看之前显示的信息。区域112b和116b已被配置为接收“菜单”输入,其指示用户想查看来自菜单的选项。区域112c和116c已被配置为接收“主页(home)”输入,其指示用户想查看与“主页”视图关联的信息。在其它实施例中,除了上述配置外,还可将区域112a_c和116a_c配置用于包括设备110的控制特征的其它类型的特定输入,一些非限制性的示例包括调节总系统电力、调节音量、调节亮度、调节振动、选择显示项(在屏幕104或108的任一个上)、操作摄像头、操作麦克风、以及启动/终止电话呼叫。而且,在某些实施例中,可以取决于设备100上运行的应用和/或触摸敏感显示区110和/或114上的显示信息配置区域112a-c和116a_c用于特定输入。
[0131]除触摸感测之外,主屏104和辅屏108还可以包括不需要用户触摸屏幕的显示区域而接收来自用户的输入的区域。例如,主屏104包括姿势捕获区域120,辅屏108包括姿势捕获区域124。这些区域能够通过识别用户进行的姿势而接收输入,不需要用户实际触摸显示区域的表面。与触摸敏感显示区110和114相比,姿势捕获区域120和124通常不能够呈现显示图像。
[0132]通过铰链128将两个屏幕104和108连接到一起,如图1C (示出了设备100的后视图)中清晰显示的。在图1A-图1J所示的实施例中,铰链128是连接屏幕104和108的中心铰链,使得当合上铰链时,屏幕104和108是并置的(即并排),如图1B(示出了设备100的前视图)中所示。可以将铰链128展开(open),以将两个屏幕104和108放置在相对于彼此的不同相对位置上。如下面更详细描述的,取决于屏幕104和108的相对位置,设备100可以具有不同的功能。
[0133]图1D示出了设备100的右侧。如图1D中所示,辅屏108还包括卡槽132和同侧的端口 136。在实施例中,卡槽132容纳不同类型的卡,包括用户身份模块(SIM)。在实施例中,端口 136是允许设备连接到其它外围设备(诸如显示器、键盘、或打印设备)的输入/输出端口(I/O端口)。如可以理解的,这些仅是一些示例,在其它实施例中,设备100可以包括其它卡槽和端口,诸如用于容纳附加存储设备和/或用于连接其它外围设备的卡槽和端口。图1D还示出了音频插孔140,其例如容纳芯-环-套筒(TRS)连接器来允许用户使用耳机或头戴耳机。
[0134]设备100还包括多个按钮158。例如,图1E示出了设备100的左侧。如图1E中所示,主屏104的该侧包括三个按钮144、148和152,可以将它们配置用于特定输入。例如,按钮144、148和152可以被配置为组合地或单独地控制设备100的多个方面。一些非限制性示例包括总系统电力、音量、亮度、振动、显示项的选择(在屏幕104或108的任一个上)、摄像头、麦克风、以及电话呼叫的启动/终止。在一些实施例中,代替分离按钮,可以将两个按钮组合为摇杆按钮(rocker button)。此安排在将按钮配置为控制诸如音量或亮度的特征的情况中很有用。除了按钮144、148和152之外,设备100还包括按钮156,如图1F中所示,其示出了设备100的顶部。在一个实施例中,按钮156被配置为用于控制设备100的总系统电力的开/关按钮。在其它实施例中,按钮156被配置为控制设备100的其它方面,附加于或代替控制系统电力。在一些实施例中,按钮144、148、152和156中的一个或多个能够支持不同的用户命令。例如,常规按压具有通常小于约I秒的时间长度,并表示快速拍击。中等按压具有通常大于等于I秒但小于约12秒的时间长度。长按压具有通常约12秒或更长的时间长度。按钮的功能通常是应用特定的,该应用当前关注于各个显示区110和114。在例如电话应用中,取决于特定按钮,常规、中等或长按压可以表示结束电话、增加电话音量、降低电话音量和开关麦克风静音。例如,在照相和视频应用中,取决于特定按钮,常规、中等或长按压可以表示提高放大率、降低放大率、以及拍照或记录视频。
[0135]在设备100内还存在多个硬件组件。如图1C中所示,设备100包括扬声器160和麦克风164。设备100还包括摄像头168(图1B)。此外,设备100包括两个位置传感器172A和172B,其被用于确定屏幕104和108的相对位置。在一个实施例中,位置传感器172A和172B是霍尔效应传感器。然而,在其它实施例中,附加于或代替霍尔效应传感器,可以使用其它传感器。也可以包括加速计176作为设备100的一部分,以确定设备100的定向和/或屏幕104和108的定向。下面结合图2描述可以包含在设备100中的附加内部硬件组件。
[0136]设备100的总体设计允许其提供在其它通信设备中不可用的附加功能。某些功能基于设备100可以具有的各种位置或定向。如图1B-图1G中所示,设备100可以在“展开(open)”位置中操作,在“展开”位置中屏幕104和108被并置。此位置允许大显示区域向用户显示信息。当位置传感器172A和172B判定设备100在展开位置中时,它们可以产生可以用于触发不同事件的信号,诸如在屏幕104和108上显示信息。如果加速计176判定设备100在竖向(portrait)位置(图1B)中,而不是在横向(landscape)位置中,则可以触发附加事件。
[0137]除了展开位置,设备100还可以具有“闭合”位置,如图1H中所示。仍然,位置传感器172A和172B可以产生指示设备100在“闭合”位置中的信号。其可以触发导致屏幕104和/或108上的显示信息改变的事件。例如,设备100可以编程为停止在屏幕之一(例如屏幕108)上显示信息,因为当设备100在“闭合”位置中时用户仅可以查看一个屏幕。在其它实施例中,位置传感器172A和172B产生的、指示设备100在“闭合”位置中的信号可以触发100接听到来的电话呼叫。“闭合”位置也可以是使用设备100作为移动电话的优选位置。
[0138]设备100也可以用在如图1I所示的“画架(easel)”位置中。在“画架”位置中,屏幕104和108相对于彼此成角度并面向外部,其中屏幕104和108的边缘基本水平。在此位置中,设备100可以被配置为在屏幕104和108上都显示信息,以允许两个用户同时与设备100交互。当设备100在“画架”位置中时,传感器172A和172B产生指示屏幕104和108相对于彼此成角度放置的信号,并且加速计176可以产生指示已将设备100放置为使得屏幕104和108的边缘基本水平的信号。然后组合地使用这些信号,以产生触发屏幕104和108上的信息显示的改变的事件。
[0139]图1J示出了在“变形的画架(modified easel)”位置中的设备100。在“变形的画架”位置中,屏幕104或108之一被用作基台(stand),并向下面向诸如桌子的物体的表面。此位置提供了在横向定向中将信息显示给用户的方便方式。与画架位置类似,当设备100在“变形的画架”位置中时,位置传感器172A和172B产生指示屏幕104和108被放置为彼此成角度的信号。加速计176会产生指示已将设备100放置为使得屏幕104和108之一面向下并基本水平的信号。然后可以使用这些信号来产生触发屏幕104和108的信息显示的改变的事件。例如,可以不在面向下的屏幕上显示信息,因为用户不能看到该屏幕。
[0140]过渡(transitional)状态也是可以的。当位置传感器172A和B和/或加速计指示正(从展开)闭合或折叠屏幕时,辨识出闭合过渡状态。相反地,当位置传感器172A和B指示正(从闭合)展开或折叠屏幕时,辨识出展开过渡状态。闭合和展开过渡状态典型地是基于时间的,或者从感测的开始点存在最大时间长度。通常,当正闭合和正展开的状态之一有效时,不可以进行用户输入。以此方式,在正闭合或正开启功能期间,用户与屏幕的偶然接触不被误解析为用户输入。在实施例中,当设备100被闭合时可以有另一过渡状态。当设备100被闭合时,基于某个用户输入(例如屏幕110、114上的双击),此附加过渡状态允许显示从一个屏幕104切换到第二个屏幕108。
[0141]如可以理解的,对设备100的描述仅是用于说明性的目的,并且实施例并不限于图1A-图1J所示和上述的特定机械特征。在其它实施例中,设备100可以包括附加特征,包括一个或多个附加按钮、插槽、显示区域、铰链、和/或锁定机构。附加地,在实施例中,上述特征可以位于设备100的不同部分中,而仍然提供同样的功能。因此,图1A-图1J和以上提供的描述是非限定性的。
[0142]硬件特征:
[0143]图2示出了根据本公开的实施例的设备100的组件。一般地,设备100包括主屏104和辅屏108。虽然主屏104及其组件通常在展开和闭合位置或状态中都是启用(enable)的,但辅屏108及其组件通常在展开状态中是启用的、而在闭合状态中是禁用(disable)的。然而,甚至当在闭合状态中时,用户或应用触发的中断(诸如响应于电话应用或照相应用操作)也可以通过合适的命令翻转(flip)活动屏幕,或者禁用主屏104和启用辅屏108。每个屏幕104、108可以是触摸敏感的,并且可以包括不同的操作区域。例如,每个触摸敏感屏幕104和108内的第一操作区域可以包括触摸敏感显示区110、114。一般地,触摸敏感显示区110、114可以包括全彩色触摸敏感显示区。每个触摸敏感屏幕104和108内的第二区域可以包括姿势捕获区域120、124。姿势捕获区域120、124可以包括在触摸敏感显示区110,114区域之外、且能够接收例如用户提供的姿势形式的输入的区域或区。然而,姿势捕获区域120、124不包括可以执行显示功能或能力的像素。
[0144]触摸敏感屏幕104和108的第三区域可以包括可配置区域112、116。可配置区域112、116能够接收输入,并具有显示或受限制的显示能力。在实施例中,可配置区域112、116可以向用户呈现不同的输入选项。例如,可配置区域112、116可以显示按钮或其它相关项。此外,可以根据使用和/或操作设备100的环境确定触摸敏感屏幕104或108的可配置区域112、116内的显示按钮的身份或者是否显示任何按钮。在示例实施例中,触摸敏感屏幕104和108包括液晶显示装置以及电容输入矩阵,其中,液晶显示装置至少跨越触摸敏感屏幕104和108的能够向用户提供视觉输出的那些区域延伸,电容输入矩阵在触摸敏感屏幕104和108的能够从用户接收输入的区域上。
[0145]可以提供一个或多个显示控制器216a、216b用于控制触摸敏感屏幕104和108的操作,包括输入(触摸感测)和输出(显示)功能。在图2所示的示例实施例中,为每个触屏104和108提供独立的触屏控制器216a或216b。根据替代实施例,可以使用共同或共享的触屏控制器216来控制所包含的触摸敏感屏幕104和108中的每个。根据其它实施例,触屏控制器216的功能可以合并到其它组件(诸如处理器204)中。[0146]处理器204可以包括通用目的可编程处理器或控制器,用于执行应用程序或指令。根据至少一些实施例,处理器204可以包括多个处理器核、和/或实施多个虚拟处理器。根据其它实施例,处理器204可以包括多个物理处理器。作为特定示例,处理器204可以包括特别配置的专用集成电路(ASIC)或其它集成电路、数据信号处理器、控制器、硬布线电子或逻辑电路、可编程逻辑器件或门阵列、专用目的计算机等。处理器204通常用于运行实施设备100的各种功能的程序代码或指令。
[0147]通信设备100还可以包括存储器208,用于与处理器204执行应用程序或指令关联地使用,以及用于程序指令和/或数据的临时或长期存储。作为示例,存储器208可以包括RAM、DRAM、SDRAM、或其它固态存储器。替代地或附加地,提供数据储存器212。如存储器208类似,数据储存器212可以包括一个或多个固态存储器件。替代地或附加地,数据存储器212可以包括硬盘驱动器或其它随机存取存储器。
[0148]为了支持通信功能或能力,设备100可以包括蜂窝电话模块228。作为示例,蜂窝电话模块228可以包括GSM、CDMA、FDMA和/或模拟蜂窝电话收发器,它们能够支持在蜂窝网络上进行语音、多媒体和/或数据传输。替代地或附加地,设备100可以包括附加的或其它的无线通信模块232。作为示例,其它无线通信模块232可以包括W1-F1、蓝牙(商标)、WiMax、红外或其它无线通信链接。蜂窝电话模块228和其它无线通信模块232可以各自与共享或专用天线224关联。
[0149]可以包括端口接口 252。端口接口 252可以包括私有或通用端口,以支持设备100与其它设备或组件的互联,所述其它设备或组件诸如基座(dock),其可以包括或可以不包括与设备100的构成能力不同的能力或附加的能力。除了支持在设备100和另一设备或组件之间进行通信信号的交换外,对接端口 136和/或端口接口 252可以支持向设备100提供电力或从设备100提供电力。端口接口 252还包括智能元件,其包括对接模块用于控制设备100和所连接的设备或组件之间的通信或其它交互。
[0150]可以包括输入/输出模块248以及关联的端口,以支持在有线网络或链接上的通信,例如与其它通信设备、服务器设备、和/或外围设备的通信。输入/输出模块248的示例包括以太网端口、通用串行总线(USB)端口、电气与电子工程师协会(IEEE) 1394、或其它接口。
[0151 ] 可以包括一个或多个音频输入/输出接口 /设备244,以向互联的扬声器或其它设备提供模拟音频,以及从连接的麦克风或其它设备接收模拟音频输入。作为示例,音频输入/输出接口 /设备(244)包括关联的放大器和模数转换器。替代地或附加地,设备100可以包括集成音频输入/输出设备256和/或用于与外部扬声器或麦克风互连的音频插孔。例如,可以提供集成扬声器和集成麦克风,以支持靠近说话或扬声器的电话操作。
[0152]例如可以包括硬件按钮158来与某些控制操作关联地使用。示例包括主电源开关、音量控制等,如结合图1A至图1J所描述的。可以包括一个或多个图像捕获接口 /设备240 (诸如摄像头),用于捕获静止和/或视频图像。替代地或附加地,图像捕获接口 /设备240可以包括扫描仪或读码器。图像捕获接口 /设备240可以包括附加元件(诸如闪光灯或其它光源)或与其关联。
[0153]设备100还可以包括全球定位系统(GPS)接收器236。根据本发明的实施例,GPS接收器236还可以包括能够向设备100的其它组件提供绝对位置信息的GPS模块。也可以包括加速计176。例如,与向用户显示信息和/或其它功能关联地,来自加速计176的信号可被用于确定向用户显示该信息的定向和/或格式。
[0154]本发明的实施例也可以包括一个或多个位置传感器172。位置传感器172可以提供指示触摸敏感屏幕104和108相对于彼此的位置的信号。可以提供此信息作为例如向用户接口应用的输入,以确定操作模式、触摸敏感显示区110、114的特征、和/或设备100的其它操作。作为示例,屏幕位置传感器172可以包括一系列霍尔效应传感器、多位置开关、光学开关、惠斯通电桥、电势计、或者其它能够提供指示触屏所处的多个相对位置的信号的
>j-U ρ?α装直。
[0155]可以通过一个或多个总线222执行设备100的各个组件之间的通信。此外,可以从电源和/或电力控制模块260向设备100的组件提供电力。电力控制模块260可以例如包括电池、AC至DC转换器、电力控制逻辑、和/或用于将设备100与外部电源互连的端口。
[0156]设备状态:
[0157]图3Α和图3Β表示设备100的例示状态。虽然显示了多个例示状态以及从第一状态向第二状态的过渡(transition),但应该理解,该例示状态图可能未包含所有可能的状态和/或从第一状态向第二状态的所有可能的过渡。如图3所示,状态(由圆圈表示的状态显示)之间的各个箭头表示设备100发生的物理改变,其由一个或多个硬件和软件检测,该检测触发一个或多个被用于控制和/或管理设备100的一个或多个功能的硬件和/或软件中断。
[0158]如图3A所示,存在12个示例“物理”状态:闭合304、过渡308 (或展开过渡状态)、画架312、修改的画架316、展开320、`接入/呼出电话或通信324、图像/视频捕获328、过渡332 (或闭合过渡状态)、横向340`、对接(docked) 336、对接344和横向348。除状态324和328之外,与每个例示状态相邻的,是表示设备100的物理状态,在状态324和328处,分别用电话通用图标和照相机图标来一般地象征所述状态。
[0159]在状态304中,设备在闭合状态中,其中,设备100的主屏104—般定向在竖向上,而辅屏108背对背地在不同平面上(见图1H)。从闭合状态,设备100可以例如进入对接状态336或横向状态340,在对接状态336中,设备100与对接台(docking station)、对接线缆耦接(couple),或者一般地与一个或多个其他设备或外围设备对接或关联,在横向状态340中,设备100的主屏104 —般定向为面向用户,并且主屏104和辅屏108背对背。
[0160]在闭合状态中,设备也可以移动到过渡状态,在该过渡状态中,设备保持闭合,但基于用户输入(例如屏幕110、114上的双击),显示被从一个屏幕104移动到另一个屏幕108。再一实施例包括双侧(bilateral)状态。在双侧状态中,设备保持闭合,但单个应用在第一显示区110和第二显示区114两者上都显示至少一个窗口。根据应用以及应用的状态,第一和第二显示区110、114上显示的窗口可以相同或不同。例如,当利用摄像头获取图像时,设备可以在第一显示区110上显示取景器,并在第二显示区114上提供照片对象的预览(全屏且左右镜像)。
[0161]在状态308中,即在从闭合状态304向半展开状态或画架状态312的过渡状态中,设备100被显示为正通过主屏104和辅屏108绕着与铰链重合的轴点旋转而展开。在进入画架状态312时,主屏104和辅屏108彼此分离,从而例如设备100可以在如画架一样的构
造中立于一表面上。[0162]在状态316 (已知为修改的画架位置)中,设备100的主屏104和辅屏108的彼此相对关系与画架312类似,区别在于主屏104或辅屏108之一被放置于表面上,如所示。
[0163]状态320是主屏104和辅屏108 —般位于同一平面上的展开状态。从展开状态,设备100可以过渡到对接状态344或展开的横向状态348。在展开状态320中,主屏104和辅屏108 —般处于类似于人像(portrait-like)的定向中,而在横向状态348中,主屏104和辅屏108 —般处于类似于风景(landscape-like)的定向中。
[0164]状态324表示通信状态,例如,当设备100分别接收或打出接入或呼出的电话时。虽然为了清楚未示出,但应该理解,设备100可以从图3所示的任意状态过渡到接入/呼出电话状态324。类似地,可以从图3中的任意其它状态进入图像/视频捕获状态328,图像/视频捕获状态328允许设备100通过摄像头拍摄一个或多个图像以及/或者利用视频捕获设备240拍摄视频。
[0165]过渡状态322例示性地显示了主屏104和辅屏108正相对于彼此闭合,以进入例如闭合状态304。
[0166]图3B参照关键词(key)示出了被接收来检测从第一状态向第二状态的过渡的输入。在图3B中,显示了状态的各种组合,其中,一般地,列的一部分指向竖向状态352和横向状态356,行的一部分指向竖向状态360和横向状态364。
[0167]在图3B中,关键词指示出:“H”表示来自一个或多个霍尔效应传感器的输入,“A”表不来自一个或多个加速计的输入,“T”表不来自计时器的输入,“P”表不通信触发输入,以及“I”表示图像和/或视频捕获请求输入。因此,在图表的中心部分376中,显示了表示设备100如何检测从第一物理状态向第二物理状态过渡的输入或输入的组合。
[0168]如所说明的,在图表的中心部分376中,所接收的输入使得能够检测从例如竖向展开状态向横向画架状态的过渡(以粗体显示的“HAT”)。对于从竖向展开状态向横向画架状态的此示例过渡,可能需要霍尔效应传感器(“H”)、加速计(“A”)以及计时器(“T”)的输入。例如,可以从与处理器关联的时钟获取计时器输入。
[0169]除了竖向和横向状态之外,还示出了对接状态368,基于接收到对接信号372触发该对接状态368。如上关于图3所说明的,可以通过将设备100关联到一个或多个其他设备100、附件、外围设备、智能基座等来触发对接信号。
[0170]用户交互:
[0171]图4A至图4H描绘了可以由屏幕104、108辨识的姿势输入的各种图形表示。不仅可以通过用户的身体部分(诸如手指)而且可以通过可以由屏幕104、108的接触感测部分感测的其它设备(诸如笔)执行所述姿势。一般地,基于(直接在显示区110、114上或在姿势捕获区域120、124中)执行姿势的位置不同地解析姿势。例如,显示区110、114中的姿势可以指向桌面或应用,姿势捕获区域120、124中的姿势可以被解析为用于系统。
[0172]参考图4A至图4H,对于选择的时间长度,第一类型的姿势(触摸姿势420)在屏幕104,108上基本是静止的。圆圈428表示在屏幕的接触感测部分的特定位置处接收到的触摸或其它接触类型。圆圈428可以包括边界432,其厚度表示在接触位置处保持接触基本静止的时间长度。例如,触击420 (或短按压)具有比用于长按压424 (或用于常规按压)的边界432b更薄的边界432a。长按压424可以包括比触击420在屏幕上保持基本静止更长时间的接触。如将理解的,取决于在接触停止或在屏幕上移动之前触摸保持静止的时间长度,可以注册不同定义的姿势。
[0173]参照图4C,屏幕104、108上的拖曳姿势400是初始接触(由圆圈428表示)在选择方向上进行的接触移动436。初始接触428可以在屏幕104、108上保持静止某一时间量,该时间量由边界432表示。拖曳姿势通常需要用户在第一位置接触图标、窗口或其它显示的图像,然后在拖曳方向上将该接触移动到对所选择的显示图像所期望的新第二位置。接触移动不一定是直线,而可以具有任意移动路径,只要接触从第一位置至第二位置基本连续即可。
[0174]参照图4D,屏幕104、108上的轻弹(flick)姿势404是初始接触(由圆圈428表示)在选择方向上进行截短的接触移动436 (相对于拖曳姿势)。在实施例中,轻弹相比于拖曳姿势,对于姿势中的最后移动具有更高的离开速度。轻弹姿势可以例如是手指在初始接触后的快移(snap)。与拖曳姿势相比,轻弹姿势一般不需要从显示图像的第一位置到预定的第二位置都与屏幕104、108连续接触。通过轻弹姿势在轻弹方向上将被接触的显示图像移动到预定的第二位置。虽然这两个姿势通常都可以将显示图像从第一位置移动到第二位置,但对于轻弹而言,接触在屏幕上行进的时间长度和距离通常小于拖曳姿势。
[0175]参照图4E,描绘了屏幕104、108上的捏缩(pinch)姿势408。可以由例如第一手指对屏幕104、108的第一接触428a和例如第二手指对屏幕104、108的第二接触428b启动捏缩姿势408。可以由共同屏幕104、108的共同接触感测部分、共同屏幕104、108的不同接触感测部分、或者不同屏幕的不同接触感测部分检测第一和第二接触428a、428b。第一接触428a保持第一时间量(如由边界432a表示),第二接触428b保持第二时间量(如由边界432b表不)。第一和第二时间量一般基本相同,并且第一和第二接触428a、428b —般基本同时发生。第一和第二接触428a、428b —般还分别包括对应的第一和第二接触移动436a、436b。第一和第二接触移动436a、436b—般在相对方向上。换言之,第一接触移动436a朝向第二接触436b,第二接触移动436b朝向第一接触436a。更简单地讲,可以通过用户的手指在捏缩移动中触摸屏.104、108来完成捏缩姿势408。
[0176]参照图4F,描绘屏幕104、108上的扩展(spread)姿势410。可以由例如第一手指对屏幕104、108的第一接触428a和例如第二手指对屏幕104、108的第二接触428b启动扩展姿势410。可以由共同屏幕104、108的共同接触感测部分、共同屏幕104、108的不同接触感测部分、或者不同屏幕的不同接触感测部分检测第一和第二接触428a、428b。第一接触428a保持第一时间量(如由边界432a表示),第二接触428b保持第二时间量(如由边界432b表不)。第一和第二时间量一般基本相同,并且第一和第二接触428a、428b —般基本同时发生。第一和第二接触428a、428b —般还分别包括对应的第一和第二接触移动436a、436bο第一和第二接触移动436a、436b —般在共同的方向上。换言之,第一接触移动436a和第二接触移动436b远离第一接触428a和第二接触428b。更简单地讲,可以通过用户的手指在扩展移动中触摸屏幕104、108来完成扩展姿势410。
[0177]可以任意方式组合上述姿势(诸如图4G和图4H所显示的),以产生所确定的功能结果。例如,在图4G中,在远离触击姿势420的方向上将触击姿势420与拖曳或轻弹姿势412组合。在图4H中,在朝向触击姿势420的方向上将触击420与拖曳或轻弹姿势412组

口 ο
[0178]接收姿势的功能结果可以取决于多个因素而变化,包括设备100、显示区110、114或屏幕104、108的状态、与姿势关联的背景(context)、或姿势的感测位置。设备的状态通常指设备100的配置、显示定向、以及设备100接收的用户或其它输入中的一个或多个。背景通常指下列中的一个或多个:姿势选择的(多个)特定应用以及当前执行的应用的(多个)部分、应用是单屏还是多屏应用、以及应用是在一个或多个屏幕中还是在一个或多个堆栈(stack)中显示一个还是多个窗口的多屏应用。姿势的感测位置通常指感测的姿势位置坐标的集合是在触摸敏感显示区110、114上还是姿势捕获区域120、124上、感测的姿势位置坐标的集合是与共同的还是不同的显示区或屏幕104、108关联、和/或姿势捕获区域的什么部分包含感测的姿势位置坐标的集合。
[0179]触击当被触摸敏感显示区110、114接收到时可以被用于例如选择启动或终止相应应用的执行的图标,最大化或最小化窗口,对堆栈中的窗口重新排序,以及提供用户输入(诸如通过键盘显示或其它显示的图像)。拖曳当被触摸敏感显示区110、114接收到时可以被用于例如将图标或窗口重新定位到显示区内的期望位置,重新排序显示区上的堆栈,或跨越(span)两个显示区(使得所选择的窗口同时占据每个显示区的一部分)。轻弹当被触摸敏感显示区110、114或姿势捕获区域120、124接收到时可被用于将窗口从第一显示区重新定位到第二显示区,或者跨越两个显示区(使得所选的窗口同时占据每个显示区的一部分)。然而,与拖曳姿势不同,轻弹姿势一般不用于将显示的图像移动到特定用户选择的位置,而是移动到不可由用户配置的缺省位置。
[0180]捏缩姿势当被触摸敏感显示区110、114或姿势捕获区域120、124接收到时可以被用于最小化或者增大显示区域或窗口的尺寸(通常在被共同显示区总体接收时),将在每个显示区上的堆栈的顶部显示的窗口切换到另一显示区的堆栈的顶部(通常在被不同显示区或屏幕接收时),或者显示应用管理器(在堆栈中显示窗口的“弹出窗口”)。扩展姿势当被触摸敏感显示区110、114或姿势捕获区域120、124接收到时可被用于最大化或减小显示区域或窗口的尺寸,将在每个显示区上的堆栈的顶部显示的窗口切换到另一显示区的堆栈的顶部(通常在被不同显示区或屏幕接收时),或者显示应用管理器(通常在被同一或不同屏幕上的屏外姿势捕获区接收时)。
[0181]图4G的组合姿势当被共同显示区或屏幕104、108中的共同显示捕获区域接收到时可用于对于接收姿势的显示区保持第一堆栈中的第一窗口堆栈位置恒定,同时重新排序第二窗口堆栈中的第二窗口堆栈位置,以在接收姿势的显示区中包括窗口。图4H的组合姿势当被共同显示区或屏幕104、108或不同显示区或屏幕中的不同显示捕获区域接收到时,可用于对于接收姿势的触击部分的显示区保持第一窗口堆栈中的第一窗口堆栈位置恒定,同时重新排序第二窗口堆栈中的第二窗口堆栈位置,以在接收轻弹或拖曳姿势的显示区中包括窗口。虽然前面示例中的特定姿势和姿势捕获区域已与功能结果的对应集合相关联,但可以理解,这些关联可被以任意方式重新定义,以在姿势和/或姿势捕获区域和/或功能结果之间产生不同的关联。
[0182]固件和软件:
[0183]存储器508可以存储并且处理器504可以执行一个或多个软件组件。这些组件可以包括至少一个操作系统(OS) 516、应用管理器562、桌面566、和/或来自应用储存器560的一个或多个应用564a和/或564b。0S516可以包括构架(framework)520、一个或多个帧(frame)缓冲器548、一个或多个驱动器512 (之前结合图2描述的)、和/或内核(kernel)518。0S516可以是由程序和数据构成的任何软件,其管理计算机硬件资源并提供用于执行各种应用564的公共服务。0S516可以是任何操作系统,并且,至少在某些实施例中,专用于移动设备,包括但不限于,Linux、ANDROID (商标)、iPhoneOS (IOS商标)、WINDOW PH0NE7(商标)等。0S516可操作来通过执行一个或多个操作而向电话提供功能,如这里所描述的。
[0184]应用564可以是为用户执行特定功能的更高层软件。应用564可以包括诸如电子邮件客户端、网页浏览器、文本应用、游戏、媒体播放器、办公软件等的程序。应用564可以存储在应用储存器560中,应用储存器560可以表示用于存储应用564的任何存储器或数据储存器,以及与其关联的管理软件。应用564 —旦被执行则可以运行在存储器508的不同区域中。
[0185]构架520可以是允许运行在设备上的多个任务交互的任何软件或数据。在一些实施例中,构架520的至少部分以及下文描述的分离组件可以被认为是0S516或应用564的部分。然而,这些部分将被描述为构架520的部分,但那些组件不被如此限制。构架520可以包括但不限于多显示区管理(MDM)模块524、表面高速缓存(Surface Cache)模块528、窗口管理模块532、输入管理模块536、任务管理模块540、应用模型管理器542、显不控制器、一个或多个巾贞缓冲器548、任务堆栈552、一个或多个窗口堆栈550(其是窗口和/或桌面在显示区域中的逻辑布置)、和/或事件缓冲器556。
[0186]MDM模块524包括可操作来管理应用或其它数据在设备的屏幕上的显示的一个或多个模块。结合图5B描述MDM模块524的实施例。在实施例中,MDM模块524从其它0S516组件(诸如驱动器512)和应用564中接收输入,以不断地确定设备100的状态。输入辅助MDM模块524根据应用的偏好(preference)和要求以及用户的动作确定如何配置和分配显示区。一旦进行了对显示配置的确定,MDM模块524可以将应用564绑定到显示区。接着可以向一个或多个其它组件提供配置,以产生具有显示区的窗口。
[0187]表面高速缓存模块528包括任何存储器(memory)或储存器(storage)以及与其关联的软件,以存储或高速缓存窗口的一个或多个图像。可以将一系列活动和/或非活动窗口(或其它显示对象,诸如桌面显示)与每个显示区关联。活动窗口(或其它显示对象)当前被显示。非活动窗口(或其它显示对象)被打开(open)并在某一时间被显示,但现在不被显示。为了改善用户体验,在窗口从活动状态转变到非活动状态之前,可以存储窗口(或其它显示对象)的最后产生的图像的“屏幕快照(screen shot)”。表面高速缓存模块528可操作来存储当前未显示的窗口(或其它显示对象)的最后的活动图像的位图。因此,表面高速缓存模块528将非活动窗口(或其它显示对象)的图像存储在数据存储库(data store)中。
[0188]在实施例中,窗口管理模块532可操作来管理在每个显示区上活动或非活动的窗口(或其它显示对象)。窗口管理模块532基于来自MDM模块524、0S516或其它组件的信息,确定窗口(或其它显示对象)何时是可见的或是非活动的。窗口管理模块532可以接着将非可见窗口(或其它显示对象)置于“非活动状态”,并且与任务管理模块540 —起挂起(suspend)应用的操作。此外,窗口管理模块532可以通过与MDM模块524的合作交互而向窗口(或其它显示对象)分配显示区标识符或者管理与窗口(或其它显示对象)关联的一个或多个其它数据项。窗口管理模块532也可以向应用564、任务管理模块540或与窗口(或其它显示对象)交互或关联的其它组件提供存储的信息。窗口管理模块532也可以基于窗口焦点和运动空间内的显示坐标而将输入任务与窗口关联。[0189]输入管理模块536可操作来管理设备发生的事件。事件可以是到窗口环境中的任何输入,例如与用户的用户界面交互。输入管理模块536接收事件并将事件逻辑地存储在事件缓冲器556中。事件可以包括如下用户界面交互:当屏幕104、108接收到来自用户的触摸信号时发生的“向下事件(downevent)”、当屏幕104、108确定用户的手指正跨屏幕移动时发生的“移动事件(move event)”、当屏幕104、108确定用户已经停止触摸屏幕104、108时发生的“向上事件(up event)”,等等。这些事件被输入管理模块536接收、存储和转发到其它模块。输入管理模块536也可以将屏幕输入映射到运动空间,该运动空间是设备上可用的所有物理和虚拟显示区的顶点(culmination)。
[0190]运动空间是包括“铺设(tile)”在一起的所有触摸敏感显示区110、114的虚拟空间,以模拟设备100的物理维度。例如,当设备100未折叠时,运动空间的尺寸可以是960x800,其可以是针对触摸敏感显示区110、114两者的组合显示区域的像素数目。如果用户触摸在第一触摸敏感显示区110的位置(40,40)上,则全屏窗口可以接收具有位置(40,40)的触摸事件。如果用户以位置(40,40)触摸第二触摸敏感显示区114,则该全屏窗口可以接收具有位置(520,40)的触摸事件,因为第二触摸敏感显示区114在第一触摸敏感显示区110的右侧,所以设备100可以将该触摸偏移第一触摸敏感显示区110的宽度,该宽度是480个像素。当从驱动器512发生具有位置信息的硬件事件时,构架520可以将物理位置升级到运动空间,因为基于设备定向和状态,事件的位置可能不同。运动空间可以如2011年7 月 20 日提交的、题为“Systems and Methods for Receiving Gesture Inputs SpanningMultiple Input Devices (用于接收跨越多个输入设备的姿势输入的系统和方法)”的美国专利申请N0.13/187,026中所描述的,针对其所教导的所有内容并针对所有目的,通过引用将其合并于此。
[0191]任务可以是应用,并且子任务可以是应用组件,其提供用户可以交互来进行一些事情的窗口,诸如拨电话、拍照片、发送电子邮件、或查看地图。可以向每个任务赋予窗口,以在该窗口中画出用户界面。窗口典型地填满显示区(例如,触摸敏感显示区110、114),但也可以小于显示区110、114,并悬浮在其它窗口的顶上。应用通常由多个子任务构成,该多个子任务互相宽松地约束。通常,应用中的一个任务被指定为“主”任务,当第一次启动该应用时,该主任务被呈现给用户。每个任务可以接着开始另一任务或子任务,以执行不同的动作。
[0192]任务管理模块540可操作来管理可由设备执行的一个或多个应用564的操作。因此,任务管理模块540可以接收用于启动、挂起、终止(等等)存储在应用储存器560中的应用或应用子任务的信号。任务管理模块540可以接着实例化应用564的一个或多个任务或子任务,以开始应用564的操作。此外,作为用户输入的结果或来自合作构架520的组件的信号的结果,任务管理模块540可以启动、挂起或终止任务或子任务。任务管理模块540负责管理应用(任务和子任务)的、从启动应用时刻到终止应用时刻的生命周期。
[0193]任务堆栈552促进任务管理模块540的处理,任务堆栈552是与任务管理模块540关联的逻辑结构。任务堆栈552保持设备100上的所有任务和子任务的状态。当操作系统516的某组件需要任务或子任务在其生命周期中转变时,0S516的组件可以通知任务管理模块540。任务管理模块540可以接着使用识别信息将任务或子任务放置在任务堆栈552中,并向任务或子任务发送指示任务需要执行什么类型的生命周期转变的信号。向任务或子任务通知该转变允许任务或子任务为该生命周期转变作准备。任务管理模块540接着可以执行任务或子任务的状态转变。在实施例中,当需要终止时,状态转变可能必须触发OS内核518来终止任务。
[0194]此外,任务管理模块540可以基于来自窗口管理模块532的信息挂起应用564。挂起应用564可以将应用保持在存储器中,但可能限制或停止应用564呈现窗口或用户界面。一旦应用再次变为活动,任务管理模块540可以再次触发应用,以呈现其用户界面。在实施例中,如果挂起任务,则任务可以保存任务的状态,以防任务被终止。在挂起状态中,应用任务可以不接收输入,因为应用窗口对于用户而言不可见。
[0195]帧缓冲器548是用于呈现用户界面的逻辑结构。帧缓冲器548可以由OS内核518创建和摧毁(destroy )。然而,显示控制器544可以将用于可视窗口的图像数据写入到帧缓冲器548中。帧缓冲器548可以与一个屏幕或多个屏幕关联。可以通过与OS内核518的交互而动态地控制帧缓冲器548与屏幕的关联。可以通过将多个屏幕与单个帧缓冲器548关联而创建复合显示区。对于复合显示区,接着可以将用于呈现应用的窗口用户界面的图形数据写入到单个帧缓冲器548中,该单个帧缓冲器548被输出到多个屏幕104、108。显示控制器544可以将应用的用户界面指引到帧缓冲器548的映射到特定显示区110、114的部分,从而仅在一个屏幕104或108上显示用户界面。显示控制器544可以将对用户界面的控制扩展到多个应用,从而针对与帧缓冲器548或其部分关联的许多显示区控制用户界面。此方法通过上述软件组件(显示控制器544)弥补了正在使用的多个物理屏幕104、108。
[0196]应用管理器562是为窗口环境提供表不层(presentation layer)的应用。因此,应用管理器562提供图形模型,用于任务管理模块540进行的呈现。同样地,桌面566为应用储存器560提供表示层。因此,桌面提供表面的图形模型,该表面具有用于应用储存器560中的应用564的可选择的应用图标,所述应用564可以被提供给窗口管理模块556用于呈现。
[0197]此外,构架可以包括应用模型管理器(AMM) 542。应用管理器562可以与AMM542接口。在实施例中,AMM542从设备100接收关于应用的状态(其在运行或被挂起)的状态改变信息。AMM542可以将来自表面高速缓存模型528的位图图像关联到活动(运行或被挂起)的任务。此外,AMM542可以将保持在任务管理器模块540中的逻辑窗口堆栈转换为线性(“幻灯软片(film strip)”或“一叠卡片(deck of cards)”)组织,用户在使用姿势捕获区域120整理窗口时觉察到该线性组织。此外,AMM542可以向应用管理器562提供执行应用的列表。
[0198]图5B中示出了 MDM模块524的实施例。MDM模块524可操作来确定设备的环境的状态,包括但不限于,设备的定向,设备100被展开还是闭合,什么应用564在执行,要如何显示应用564,用户正在进行什么动作,正显示的任务,等等。为了配置显示,DMD模块524解析这些环境因素并确定显示配置,如结合图6A-图6J所描述的。接着,MDM模块524可以将应用564或其它设备组件绑定到显示区。接着可以将配置发送到显示控制器544和/或0S516内的其它组件,以产生显示。MDM模块524可以包括但不限于以下中的一个或多个:显示配置模块568、偏好模块572、设备状态模块574、姿势模块576、要求模块580、事件模块584、和/或绑定模块588。
[0199]显示配置模块568确定用于显示的布局。在实施例中,显示配置模块568可以确定环境因素。可以从一个或多个其它MDM模块524或从其它源中接收环境因素。显示配置模块568可以接着根据该因素列表确定用于显示的最佳配置。结合图6A-图6F描述可能配置以及与其关联的因素的一些实施例。
[0200]偏好模块572可操作来确定应用564或其它组件的显示偏好。例如,应用可以具有单或双显示区的偏好。偏好模块572可以确定应用的显示偏好(例如通过检查应用的偏好设置),并且如果设备100在可以适应偏好模式的状态中,则可以允许应用564改变到一模式(例如,单屏、双屏、最大、等等)。然而,某些用户界面策略可能不允许某一模式,即使该模式可用。当设备的配置改变时,可以检查偏好,以确定是否可以为应用564实现更好的显示配置。
[0201]设备状态模块574可操作来确定或接收设备的状态。结合图3A和图3B描述了设备的状态。设备的状态可以被显示配置模块568用于确定用于显示的配置。如此,设备状态模块574可以接收输入并解析设备的状态。接着将状态信息提供到显示配置模块568。
[0202]姿势模块576被显7]^为DMD模块524的一部分,但一些实施例中,姿势模块576可以是分离的构架520组件,其与MDM模块524分离。在实施例中,姿势模块576可操作来确定用户是否正对用户界面的任何部分进行任何动作。在替代实施例中,姿势模块576仅从可配置区域112、116接收用户接口动作。姿势模块576可以通过输入管理模块536接收发生在可配置区域112、116 (或者可能是其它用户界面区域)上的触摸事件,并可以解析触摸事件(使用方向、速度、距离、持续时间和各种其它参数)来确定用户正在执行什么类型的姿势。当解析姿势时,姿势模块576可以启动姿势的处理,并且通过与其它构架520组件合作,可以管理所需要的窗口动画。姿势模块576与应用模型管理器542合作来收集关于哪些应用在运行(活动或挂起)以及当执行用户姿势时应用必须出现的顺序的状态信息。姿势模块576也可以接收对位图(从表面高速缓存模块528)和活动窗口的偏好,从而当姿势出现时,其可以指示显示控制器544如何跨显示区110、114移动窗口。因此,当跨显示区110、114移动这些窗口时,挂起的应用可以表示为在运行。
[0203]此外,姿势模块576可 以从任务管理模块540或输入管理模块536接收任务信息。姿势可以是结合图4A至图4H所定义的。例如,移动窗口导致显示区呈现显示出窗口移动的一系列显示帧。与这种用户界面交互关联的姿势可以由姿势模块576接收和解析。关于用户姿势的信息接着被发送到任务管理模块540,以修改任务的显示绑定。
[0204]要求模块580与偏好模块572类似,可操作来确定用于应用564或其它组件的显示要求。应用可以具有必须被遵守的设置的显示要求。某些应用需要特定的显示定向。例如,应用“愤怒的小鸟”仅可以显示在横向定向中。通过要求模块580可以确定或接收此类型的显示要求。当设备的定向改变时,要求模块580可以重新确定应用564的显示要求。显示配置模块568可以产生符合如由要求模块580提供的应用显示要求的显示配置。
[0205]事件模块584与姿势模块576类似,可操作来确定应用或其它组件发生的影响用户界面的一个或多个事件。因此,事件模块584可以从事件缓冲器556或任务管理模块540接收事件信息。这些事件可以改变任务如何绑定到显示区。事件模块584可以从其它构架520组件收集状态改变信息,并依据该状态改变信息动作。在示例中,当展开或闭合电话时或者当已经发生定向改变时,可以在辅屏中呈现新消息。可以由事件模块584接收和解析基于事件的状态改变。关于事件的信息接着可以被发送到显示配置模块568,以修改显示配置。
[0206]绑定模块588可操作来将应用564或其它组件绑定到显示配置模块568确定的配置。绑定在存储器中将用于每个应用的显示配置与该应用的显示和模式进行关联。因此,绑定模块588可以将应用与用于该应用的显示配置(例如,横向、竖向、多屏等等)进行关联。接着,绑定模块588可以向该显示分配显示区标识符。显示区标识符将应用与设备100的特定显示区关联。此绑定接着被存储和提供到显示控制器544、0S516的其它组件、或其它组件,以合适地呈现该显示。绑定是动态的,且可以基于与事件、姿势、状态改变、应用偏好或要求等关联的配置改变而改变或更新。
[0207]用户界面配置:
[0208]现在参照图6A-图6J,下面将描述设备100可以进行的各种输出配置。
[0209]图6A和图6B描绘处于第一状态中的设备100的两个不同的输出配置。具体地,图6A描述了处于闭合的竖向状态304中的设备100,其中数据显示在主屏104上。在此示例中,设备100在第一竖向配置604中经由触摸敏感显示区110显示数据。如可以理解的,第一竖向配置604可以仅显示桌面或操作系统主页屏幕。替代地,设备100在第一竖向配置604中显示数据的同时,可以在竖向定向上显示一个或多个窗口。
[0210]图6B描述了仍然处于闭合的竖向状态304中的设备100,但在辅屏108上显示数据。在此示例中,设备100在第二竖向配置608中经由触摸敏感显示区114显示数据。
[0211]可以在第一或第二竖向配置604、608中显示同样或不同的数据。也可以通过向设备100提供用户姿势(例如双击姿势)、菜单选择或其他方式而在第一竖向配置604和第二竖向配置608之间转变。也可以使用其它合适的姿势在配置之间进行转变。此外,取决于设备100被移动到的状态,也可以将设备100从第一或第二竖向配置604、608转变到本文描述的任何其它配置。
[0212]处于第二状态中的设备100可以容纳替代的输出配置。具体地,图6C描绘第三竖向配置,其中同时在主屏104和辅屏108上显示数据。第三竖向配置可以称为双竖向(PD)输出配置。在ro输出配置中,主屏104的触摸敏感显示区110在第一竖向配置604中显示(cbpict)数据,辅屏108的触摸敏感区114在第二竖向配置608中显示数据。当设备100处于展开竖向状态320中时,可以发生第一竖向配置604和第二竖向配置608的同时显示。在此配置中,设备100可以在一个显示区110或114中显示一个应用窗口,显示两个应用窗口(每个显示区110和114中一个),显示一个应用窗口和一个桌面、或者显示一个桌面。其它配置也是可以的。应该理解,取决于设备100被移动到的状态,可以将设备100从配置604,608的同时显示转变到本文描述的任何其它配置。此外,在此状态中的同时,应用的显示偏好可以将设备置于双侧模式,在该模式中,两个显示区都是活动的,以显示同一应用中的不同窗口。例如,照相应用可以在一侧上显示取景器并控制,同时另一侧显示镜像预览,其可以由被拍照的主体查看。涉及两个玩家同时玩的游戏也可以利用双侧模式。
[0213]图6D和图6E描绘处于第三状态中的设备100的另两个输出配置。具体地,图6D描述处于闭合的横向状态340中的设备100,在状态340中,数据显示在主屏104上。在此示例中,设备100在第一横向配置612中经由触摸敏感显示区110显示数据。与本文描述的其它配置很相似,第一横向配置612可以显示桌面、主页屏幕、显示应用数据的一个或多个窗口等。[0214]图6E描述了仍然在闭合的横向状态340中的设备100,但数据显示在辅屏108上。在此示例中,设备100在第二横向配置616中经由触摸敏感显示区114显示数据。可以在第一或第二竖向配置612、616中显示同样或不同的数据。也可以通过向设备100提供扭曲(twist)和触击姿势或轻击(flip)和滑动姿势中的一个或两个而在第一横向配置612和第二横向配置616之间转变。也可以采用其它的合适姿势在配置之间转变。此外,取决于设备100被移动到的状态,也可以将设备100从第一或第二横向配置612、616转变到本文描述的任何其它配置。
[0215]图6F描绘了在主屏104和辅屏108上同时显示数据的第三横向配置。第三横向配置可以称为双横向(LD)输出配置。在LD输出配置中,主屏104的触摸敏感显示区110在第一横向配置612中显示数据,辅屏108的触摸敏感显示区114在第二横向配置616中显示数据。当设备100处于展开的横向状态340中时,可以发生第一横向配置612和第二横向配置616的同时显示。应该理解,取决于设备100被移动到的状态,也可以将设备100从配置612、616的同时显示转变到本文描述的任何其它配置。
[0216]图6G和图6H描述在另一状态中的设备100的两个视图。具体地,设备100被描绘为处于画架状态312中。图6G示出了可以在触摸敏感显示区110上显示第一画架输出配置618。图6H示出了可以在触摸敏感显示区114上显示第二画架输出配置620。设备100可被配置为单独地显示第一画架输出配置618或第二画架输出配置620。替代地,可以同时显示这两个画架输出配置618、620。在某些实施例中,画架输出配置618、620可以与横向输出配置612、616类似或相同。设备100也可以被配置为在修改的画架状态316中显示画架输出配置618、620中的一个或两者。应该理解,画架输出配置618、620的同时使用可以有助于两人游戏(例如Battleship?、象棋、跳棋(checkers)等)、两个或更多个用户共享同
一个设备100的多用户会议、以及其它应用。如可以理解的,取决于设备100被移动到的状态,也可以将设备100从配置618、620中的一个或两个的显示转变到本文描述的任何其它配置。
[0217]图61描绘了设备100处于展开的竖向状态320中时可以容纳的另一输出配置。具体地,设备100可以被配置为在本文称为竖向最大(PMax)配置624的竖向配置中跨两个触摸敏感显示区110、114显示单个连续的图像。在此配置中,数据(例如单个图像、应用、窗口、图标、视频等)可以被分裂并部分显示在触摸敏感显示区之一上,同时数据的另一部分显示在另一触摸敏感显示区上。Pmax配置624可以对于将特定图像显示在设备100上,促进更大的显示区和/或更好的分辨率。与其它输出配置类似,取决于设备100被移动到的状态,可以将设备100从Pmax配置624转变到本文描述的任何其它输出配置。
[0218]图6J描绘了处于展开的横向状态348中的设备100可以容纳的另一输出配置。具体地,设备100可被配置为在本文称为横向最大(LMax)配置628的横向配置中跨两个触摸敏感显示区110、114显示单个连续的图像。在此配置中,数据(例如单个图像、应用、窗口、图标、视频等)可以被分裂并部分显示在触摸敏感显示区之一上,同时数据的另一部分显示在另一触摸敏感显示区上。Lmax配置628可以对于将特定图像显示在设备100上,促进更大的显示区和/或更好的分辨率。与其它输出配置类似,取决于设备100被移动到的状态,可以将设备100从Lmax配置628转变到本文描述的任何其它输出配置。
[0219]设备100利用至少一个窗口堆栈1700、1728管理桌面和/或窗口,如图9A和图9B中所示。窗口堆栈1700、1728是用于多屏设备的活动和/或非活动窗口的逻辑布置。例如,窗口堆栈1700、1728可以在逻辑上类似于一叠卡片,其中一个或多个窗口或桌面按序排列,如图9A和图9B中所示。活动窗口是当前正显示在触摸敏感显示区110、114中的至少一个上的窗口。例如,窗口 104和108是活动窗口,且显示在触摸敏感显示区110和114上。非活动窗口是被打开和显示的窗口,但其现在处于活动窗口 “背后”且未被显示出来。在实施例中,非活动窗口可以用于被挂起的应用,因此该窗口不显示活动的内容。例如,窗口 1712、1716、1720 和 1724 是非活动窗口。
[0220]窗口堆栈1700、1728可以具有各种布置或组织结构。在图9A所示的实施例中,设备100包括与第一触摸敏感显示区110关联的第一堆栈1760以及与第二触摸敏感显示区114关联的第二堆栈。因此,每个触摸敏感显示区110、114可以具有关联的窗口堆栈1760、1764。这两个窗口堆栈1760、1764可以具有不同数目的窗口布置在各自堆栈1760、1764中。此外,这两个窗口堆栈1760、1764也可以被不同地识别和独立地管理。因此,可以按序从第一窗口 1704至下一窗口 1720至最后一个窗口 1724并最后到达桌面1722而布置第一窗口堆栈1760,在实施例中,桌面1722是窗口堆栈1760的“底部”。在实施例中,桌面1722不总是在“底部”,因为应用窗口可以布置在窗口堆栈中桌面1722之下,并且在桌面反转期间,桌面1722可以被带到堆栈的“顶部”,其它窗口之上。同样,可以按序从第一窗口 1708至下一窗口 1712至最后一个窗口 1716并最后到达桌面1718而布置第二堆栈1764,在实施例中,桌面1718是单个桌面区域,其中桌面1722在窗口堆栈1760和窗口堆栈1764中的所有窗口之下。用于管理两个窗口堆栈1760、1764的逻辑数据结构可以是如结合图10所描述的。
[0221 ] 图9B中示出了窗口堆栈1728的另一布置。在此实施例中,存在单个窗口堆栈1728用于触摸敏感显不区110、114两者。因此,从桌面1758至第一窗口 1744至最后一个窗口1756而布置窗口堆栈1728。在所有窗口之中,可以将窗口布置在与特定触摸敏感显示区110、114没有关联的位置中。在此实施例中,窗口在以窗口排序的顺序中。此外,至少一个窗口被识别为活动。例如,可以在显示在第一触摸敏感屏幕110和第二触摸敏感屏幕114上的两个部分1732和1736中呈现单个窗口。该单个窗口可以仅占据窗口堆栈1728中的单个位置,尽管其显示在两个显示区110、114上。
[0222]图9C至图9E示出了窗口堆栈1760的另一布置。在三个“正视(elevation)”图中示出了窗口堆栈1760。在图9C中,示出了窗口堆栈1760的顶部。图9D和图9E中示出了窗口堆栈1760的两侧。在此实施例中,窗口堆栈1760类似于一堆砖头。窗口被彼此层叠。从图9C中的窗口堆栈1760的顶部看,在复合显示区1764的不同部分仅看到窗口堆栈1760中的最顶部的窗口。复合显示区1764表示用于设备100的整个显示区域的逻辑模型,其可以包括触摸敏感显示区Iio和触摸敏感显示区114。桌面1786或窗口可以占据复合显示区1764的部分或全部。
[0223]在所示的实施例中,桌面1786是窗口堆栈1760中的最低显示或“砖头”。在其上,按层布置窗口 11782、窗口 21782、窗口 31768 以及窗口 41770。窗口 11782、窗口 31768、窗口 21782以及窗口 41770仅占据复合显示区1764的一部分。因此,堆栈1760的另一部分包括窗口 81774和显示在部分1790中的窗口 5至7。复合显示区1764的任何部分中仅顶部窗口被实际呈现和显示。因此,如图9C中的顶视图所示,窗口 41770、窗口 81774和窗口31768被显示为在窗口堆栈1760的不同部分中的显示区的顶部。可以调整窗口的尺寸,以仅占据复合显不区1760的一部分,从而“显露”窗口堆栈1760中较低的窗口。例如窗口31768在堆栈中低于窗口 41770和窗口 81774,但其仍然被显示。管理窗口堆栈的逻辑数据结构可以是如结合图10所描述的。
[0224]当打开新窗口时,新激活的窗口通常位于堆栈的顶部。然而,窗口位于堆栈中的哪里以及如何在堆栈中放置窗口可以是设备100的定向、正在设备100上执行什么程序、函数、软件等的背景、当打开新窗口时如何放置堆栈等的函数。为了在堆栈中插入窗口,确定堆栈中用于该窗口的位置,并且还可以确定该窗口所关联的触摸敏感显示区110、114。利用此信息,可以创建和存储用于该窗口的逻辑数据结构。当用户界面或其它事件或任务改变窗口的布置时,可以改变窗口堆栈,以反映布置的改变。应该注意,上述这些相同的构思可以用于管理设备100的一个或多个桌面。
[0225]图10中示出了用于管理窗口堆栈中的窗口或桌面的布置的逻辑数据结构1800。逻辑数据结构1800可以是用于存储数据的任何数据结构,例如对象、记录、文件等。逻辑数据结构1800可以存储在任何类型的数据库或数据储存系统中,可以是任何协议或标准。在实施例中,逻辑数据结构1800包括一个或多个部分、字段、属性等,其在允许容易地存储和检索信息的逻辑布置中存储数据。在下文中,这些一个或多个部分、字段、属性等将被简单地描述为字段。字段可以存储用于窗口标识符1804、尺度1808、堆栈位置标识符1812、显示区标识符1816、和/或活动指示符1820的数据。窗口堆栈中的每个窗口可以具有关联的逻辑数据结构1800。虽然图10中仅示出了单个逻辑数据结构1800,但可以具有更多或更少的逻辑数据结构1800与窗口堆栈一起使用(基于堆栈中窗口或桌面的数目),如省略号1824所表示的。此外,可以存在比图10中所示更多或更少的字段,如省略号1828所表示的。
[0226]窗口标识符1804可以包括相对于窗口栈中的其它窗口唯一地识别所关联的窗口的任何标识符(ID)。窗口标识符1804可以是全球唯一标识符(⑶ID)、数字ID、文字数字ID、或其它类型的标识符。在实施例中,基于可以打开的窗口的数目,窗口标识符1804可以是一个、两个或任意数目的数字。在替代实施例中,窗口标识符1804的尺寸可以基于打开的窗口的数目而改变。当窗口是打开的时,窗口标识符1804可以是静态的并保持不变。
[0227]尺度1808可以包括用于复合显示区1760中的窗口的尺度。例如,尺度1808可以包括用于窗口的两个或更多个角的坐标,或者可以包括一个坐标和用于窗口的宽度和高度的尺寸。尺度1808可以描绘窗口可以占据复合显示区1760的什么部分,其可以是整个符合显示区1760或仅是符合显示区1760的一部分。例如,窗口 41770可以具有维度1880,其指示窗口 1770将仅占据用于复合显示区1760的一部分显示区域,如图9C至图9E所示。随着移动窗口或在窗口堆栈中插入窗口,尺度1808可以改变。
[0228]堆栈位置标识符1812可以是可以识别堆栈中用于窗口的位置的任何标识符,或者可以从数据结构(诸如列表或堆栈)内的窗口的控制记录中导出堆栈位置标识符1812。堆栈位置标识符1812可以是GUID、数字ID、文字数字ID、或其它类型的标识符。每个窗口或桌面可以包括堆栈位置标识符812。例如,如图9A中所示,堆栈11760中的窗口 11704可以具有为“I”的堆栈位置标识符1812,其识别窗口 1704是堆栈1760中的第一个窗口且是活动窗口。类似地,窗口 61724可以具有为“3”的堆栈位置标识符1812,其表示窗口 1724是堆栈1760中的第三个窗口。窗口 21708也可以包括为“I”的堆栈位置标识符1812,其表示窗口 1708是第二堆栈1764中的第一个窗口。如图9B中所示,窗口 11744可以具有为“I”堆栈位置标识符1812,在部分1732和1736中呈现的窗口 3可以具有为“3”的堆栈位置标识符1812,并且窗口 61756可以具有为“6”的堆栈位置标识符1812。因此,取决于堆栈的类型,堆栈位置标识符1812可以表示窗口在堆栈中的位置。
[0229]显示区标识符1816可以识别窗口或桌面与特定显示区(诸如第一显示区110或第二显示区114)或由两个显示区构成的符合显示区1760关联。虽然对于多堆栈系统可能不需要此显示区标识符1816,如图9A中所示,但显示区标识符1816可以指示图9B的串行堆栈中的窗口是否显示在特定的显示区上。因此,窗口 3可以具有图9B中的两个部分1732和1736。第一部分1732可以具有用于第一显示区的显示区标识符1816,而第二部分1736可以具有用于第二显示区114的显示区标识符1816。然而,在替代实施例中,窗口可以具有表示窗口显示在显示区110、114两者上的两个显示区标识符1816,或者识别复合显示区的显示区标识符1816。在另一替代实施例中,窗口可以具有单个显示区标识符1816来表示窗口显示在显示区110、114两者上。
[0230]与显示区标识符1816类似,对于图9A的双栈(dual stack)系统可能不需要活动标识符1820,因为栈位置I中的窗口是活动的且被显示。在图9B的系统中,活动指示符1820可以指示正在显示堆栈中的哪个(哪些)窗口。因此,窗口 3可以具有图9中的两个部分1732和1736。第一部分1732可以具有活动指示符1820,而第二部分1736也可以具有活动指示符1820。然而,在替代实施例中,窗口 3可以具有单个活动标识符1820。活动指示符1820可以是简单的标志或比特,其表示窗口是活动的或被显示的。
[0231]图11中示出了用于创建窗口堆栈的方法1900的实施例。但图11中示出了用于方法1900的步骤的一般顺序。一般地,方法1900从开始操作1904开始,并以结束操作1920结束。方法1900可以包括更多或更少的步骤,或者可以将步骤的顺序布置为与图11不同。可以将方法1900作为计算机可执行指令的集合而执行,该计算机可执行指令由计算机系统执行,并被编码或存储在计算机可读介质上。下文中,将参照结合图1至图10所描述的系统、组件、模块、软件、数据结构、用户界面等说明方法1900。
[0232]多屏设备100可以在步骤1908中接收窗口的激活。在实施例中,多屏设备100可以通过从触摸敏感显示区Iio或114、可配置区域112或116、姿势捕获区域120或124、或可操作来接收用户界面输入的某个其它硬件传感器接收输入而接收窗口的激活。处理器可以执行该输入,任务管理模块540可以接收该输入。任务管理模块540可以将输入解析为请求执行将打开窗口堆栈中的窗口的应用任务。
[0233]在实施例中,任务管理模块540将用户界面交互置于任务堆栈552中,以由多显示区管理模块524的显示配置模块568依照其而动作。此外,任务管理模块540等待来自多显示区管理模块524的信息,以将指令发送到窗口管理模块532,从而在窗口堆栈中创建窗□。
[0234]在步骤1912中,多显示区管理模块524在接收到来自任务管理模块540的指令时,确定新激活的窗口应该与复合显示区1760的哪个触摸部分关联。例如,窗口 41770与复合显不区1764的一部分关联。在实施例中,多显不区管理模块524的设备状态模块574可以确定设备被如何定向或者设备在什么状态中,例如展开、闭合、竖向等。此外,偏好模块572和/或要求模块580可以确定要如何显示窗口。基于姿势的类型和做出姿势的位置,姿势模块576可以确定用户意欲如何打开窗口。
[0235]显示配置模块568可以使用来自这些模块的输入,并评估当前窗口堆栈1760,以基于可视性算法确定打开窗口的最佳位置和最大尺寸。因此,在步骤1916中,显示配置模块568确定将窗口放置在窗口堆栈1760的顶部的最佳位置。在实施例中,可视性算法为复合显示区的所有部分确定哪些窗口在堆栈的顶部。例如,可视性算法确定窗口 31768、窗口41770和窗口 81774在堆栈1760的顶部,如图9C至图9E中所示的。在确定在哪里打开窗口时,显示配置模块568可以向窗口分配显示区标识符816以及可能还分配尺度808。显示区标识符816和尺度808可以接着被发送回到任务管理模块540。任务管理模块540可以接着向窗口分配堆栈位置标识符812,其指示窗口堆栈顶部的窗口位置。
[0236]在实施例中,任务管理模块540向窗口管理模块532发送窗口堆栈信息以及呈现窗口的指令。在步骤1924中,窗口管理模块532和任务管理模块540可以创建逻辑数据结构。任务管理模块540和窗口管理模块532都可以创建和管理窗口堆栈的复本。可以通过窗口管理模块532与任务管理模块540之间的通信使窗口堆栈的这些复本同步,并保持它们类似。因此,窗口管理模块532和任务管理模块540基于多显示区管理模块524确定的信息可以分配尺度808、堆栈位置标识符812 (例如窗口 11782、窗口 41770等)、显示区标识符816 (例如,触摸敏感显示区1110、触摸敏感显示区2114、复合显示区标识符等)、以及活动标识符820 (通常当窗口在堆栈的“顶部”时被设定)。接着可以由窗口管理模块532和任务管理模块540两者存储逻辑数据结构800。此外,窗口管理模块532和任务管理模块540可以在此后管理窗口堆栈和逻辑数据结构800。
[0237]图12描绘了另一窗口堆栈配置。描绘了多个窗口 1、2、3、4、5、6、7和8,它们可以来自相同或不同的多屏或单屏应用。触摸敏感显示区110当前具有窗口 4在活动显示位置中,而触摸敏感显示区114当前具有窗口 5在活动显示位置中。用于触摸敏感显示区110的堆栈从顶部至底部具有在活动显示位置中的窗口 4和位于窗口 4背后的窗口 3、2和I。用于触摸敏感显示区114的堆栈从顶部至底部具有在活动显示位置中的窗口 5和位于窗口 5背后的窗口 6、7和8。
[0238]桌面01、02、03、04、05和06位于窗口堆栈背后。桌面可以视作与窗口堆栈不同的桌面堆栈。以此方式观察,触摸敏感显示区Iio具有对应的桌面堆栈,其包括桌面D3、D2和Dl,其中桌面Dl位于底部2300的堆栈位置,而桌面D3位于能够与窗口 4 一起显示的顶部堆栈位置(取决于窗口位置和尺寸(是否被最大化或最小化)),触摸敏感显示区114具有对应的桌面堆栈,其包括桌面D4、D5和D6,其中D6位于底部2404的堆栈位置,而桌面D4位于能够与窗口 5 —起显示的顶部堆栈位置(取决于窗口位置和尺寸(是否被最大化或最小化))。概念上,桌面可被视作画布(canvas),其在此示例中被划分为6个部分,一次可以在触摸敏感显示区110、114上显示其中的两个部分。当设备100在闭合状态中时,在一个配置中,此概念模型保持存在(persist)。在此配置中,仅一个窗口和桌面堆栈可被看到(其对应于主屏),而另一窗口和桌面堆栈是虚拟的;即他们被保持在存储器中而不能被看到,因为辅屏未被启用。
[0239]单屏应用通常仅与一个窗口相关,而多屏应用可以与一个或多个窗口相关。图8中描绘了后一层级关系。如图8中所不,第一窗口 I是根窗口,第二和第三窗口 1.1和1.1.1是节点窗口,第四和第五窗口 1.1.1.1和1.1.2是叶窗口。窗口在类似于层级树的序列中,并由公共多屏应用控制。根第一窗口 I可以是层级应用窗口序列的顶层视图,使得没有父窗口对应于该根窗口。根第一窗口 I可以是节点窗口(诸如第二窗口 1.1)的父窗口,第二窗口 1.1是第一窗口 I的子窗口。可以提供一个或多个节点窗口,它们被作为父窗口 /子窗口而相关联。节点窗口也可以作为叶窗口。对于叶窗口,意味着叶窗口没有将叶窗口作为父窗口的对应节点屏幕(或者叶窗口没有子窗口)。如此,叶窗口没有任何节点窗口。第四和第五窗口 1.1.1.1和1.1.2是叶窗口的示例。根视图是指多屏应用在一个时间点上控制的所有窗口。
[0240]现在将参照最小化和最大化根视图窗口及其子组件说明多个示例。在讨论示例之前,将说明最大化和最小化显示图像的一些基本规则。最大化或最小化操作通常由用户姿势(尤其是轻击或拖曳)启动。在拖曳姿势中,当用户将显示的图像“拖曳”到另一触摸敏感显示区时,使用用户手指和显示图像之间的1:1映射反映。用户通常在显示图像完全移动到另一触摸敏感显示区之前释放显示图像。释放后,初始速度通常逐步或逐渐降低,直到显示图像完全位于期望的位置中。显示图像的太小位移通常不会使图像被重新放置。这种低水平的位移被认为是用户使用设备的意外或偶然事件。
[0241]在根视图或者层级相关的窗口的集合中,当设备在双屏模式中时,用户可以最大化多屏应用的相关窗口,以能够并排查看相关窗口(例如,父窗口和子窗口),从而将窗口层级体系作为线性序列而查看,其中最上窗口显示在左侧,最低或最深层窗口显示在右侧(或者相反)。如下所说明,可以使用方向变换来控制此视觉配置,该方向变换传达导航方向和窗口相对于窗口启动点的位置。
[0242]多屏应用可以在一个或多个窗口上同时包含模态视图。可以自动或手动启动模态。自动模态通常由单独(individual)的应用启动。系统模态被分类为由系统而不是单独应用引起的特殊模态视图。一般而言,系统模态被用于需要用户确认的极其重要的系统级信息。系统模态的示例包括电力菜单和电池警告。当系统模态被调出来时,可见的应用变暗并被禁用,并且在它们之上显示系统模态;这也适用于桌面。当系统模态被显示时,姿势被禁用。在硬件按钮中,后退和主页按钮解除该模态。这也适用于长按主页按钮。闭合设备将导致系统模态被移动到保持活动的屏幕上。呼入的电话取消系统模态。
[0243]作为一般规则,模态总是在启动它们的视图上启动。模态使它们遮蔽的屏幕变暗,如果在最大化的应用的顶部启动模态,则模态也使其它视图变暗。当其它应用(例如向想要撰写电子邮件的任何其它应用提供撰写视图的电子邮件)提供全屏模态时,模态启动的结果取决于启动模态的应用和提供模态的应用两者的能力。
[0244]注意,系统模态在线框中的精确定位不一定表示屏幕上的实际定位。视觉设计文档提供系统模态定位的细节。
[0245]第一不例将适用于图13A-图13C。此不例不出了无论什么时候最大化应用的窗口,弹出模态都保持可见。参考图13A,第一和第二触摸敏感显示区110、114分别显示(最小化的)节点第二窗口 1.1 (1304)和第二桌面D2。弹出模态1350显示在第二窗口 1.1(1304)的顶部。换言之,第一触摸敏感显示区110具有第二窗口 1.1 (1304)在活动显示位置中,第二触摸敏感显示区114具有第二桌面D2在活动显示位置中。在姿势捕获区域120或124中(或者在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收姿势1300。示例姿势包括向右拖曳或轻弹(但也可以使用一个或多个其它姿势)。通过姿势1300,用户寻求最大化根视图,以在独立的显示区中显示第二窗口 1.1 (1304)和节点第三窗口 1.1.1 (1308)(图13C)。因此,第三窗口 1.1.1 (1308)移动到第二触摸敏感显示区114上的活动显示位置,并且节点第二窗口 1.1 (1304)保持在第一触摸敏感显示区110上的活动显示位置中,如图13C所示。第二桌面D2同时移动到第二触摸敏感显示区114上的非活动显示位置。第三窗口 1.1.1 (1308)通过从第二窗口 1.1 (1304)底下滑动到第二触摸敏感显示区114而如此动作。如从图13A-图13C可以看到的,弹出模态1350保持在层级中其被启动的窗口(即第二窗口 1.1)中。
[0246]将参照图14A-图14C说明第二示例,其中第一触摸敏感显示区110具有第一桌面Dl在活动显示位置中,第二触摸敏感显示区114具有叶第五窗口 1.1.1.1 (1312)在活动显示位置中。已经在第五窗口 1.1.1.1 (1312)中启动了弹出模态1350。在姿势捕获区域120或124中(或在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向左的姿势1300,诸如轻弹或拖曳。通过姿势1300,用户寻求最大化根视图,以在独立的显示区中显示节点第三窗口 1.1.1 (1308)和叶第五窗口 1.1.1.1 (1312)(图14B)。作为一般规则,叶窗口(或没有子窗口的窗口)被放置在第二触摸敏感显示区114上。因此,叶第五窗口 1.1.1.1 (1312)保持在第二触摸敏感显示区114上的活动显示位置中,并且节点第三窗口 1.1.1 (1308)被移动到第一触摸敏感显示区110上的活动显示位置中,如图14C所示。同时,第一桌面Dl移动到第一触摸敏感显示区110上的非活动显示位置中。节点第三窗口1.1.1 (1308)通过从叶第五窗口 1.1.1.1底下滑动而如此动作。与在前一示例中一样,弹出模态1350保持在层级中其被启动的窗口(即第五窗口 1.1.1.1)中。
[0247]将参照图15A-图15C说明第三示例,其中第一触摸敏感显示区110显示叶第五窗口 1.1.1.1 (1312),第二触摸敏感显示区114显示第二桌面D2。已经在第五窗口 1.1.1.1(1312)中启动了模态1350。在姿势捕获区域120或124中(或在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向右的姿势1300,尤其是轻弹或拖曳。通过姿势1300,用户寻求将叶第五窗口 1.1.1.1 (1312)移动到第二触摸敏感显示区114中,以显现第一桌面D1。作为一般规则,轻弹姿势将移动叶第五窗口 1.1.1.1 (1312)到另一触摸敏感显示区。因此,叶第五窗口 1.1.1.1 (1312)移动到第二触摸敏感显示区114上的活动显示位置,第一桌面Dl移动到第一触摸敏感显示区110上的活动显示位置,如图15C所示。同时,第二桌面D2移动到第二触摸敏感显示区110上的非活动显示位置。与在前一示例中一样,弹出模态1350保持在层级中其被启动的窗口(即第五窗口 1.1.1.1)中。
[0248]将参照图16A-图16C说明第四示例,其中第一触摸敏感显示区110显示第一桌面D1,第二触摸敏感显示区114显示节点第二窗口 1.1 (1304)(节点第三窗口 1.1.1 (1308)和第五窗口 1.1.1.1 (1312)在非活动显示位置中)。已经在第二触摸敏感显示区114中启动了模态1350。在姿势捕获区域120或124中(或在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向左的姿势1300,诸如轻弹或拖曳。通过姿势1300,用户寻求最大化根视图,以在独立的显示区中显示第二窗口 1.1 (1304)和第三窗口 1.1.1 (1308)(图16C)。作为一般规则,每当通过最大化显露子窗口(例如节点或叶窗口)时,在第二触摸敏感显示区114上显露该子窗口。因此,第二窗口 1.1 (1304)移动到第一触摸敏感显示区110中的活动显示位置,而第三窗口 1.1.1 (1308)移动到第二触摸敏感显示区114上的活动显示位置,如图16C所示。同时,第一桌面Dl移动到第一触摸敏感显示区110上的非活动显示位置。由于技术限制(例如,当弹出模态被作为任务启动时),在最大化操作期间取消弹出模态1350。
[0249]一般地,弹出模态1350保持在其被启动的显示区上,除非包含模态1350的窗口在最小化期间被隐藏。将参照图17A-图17C说明第四示例,其中第一触摸敏感显示区110具有第二窗口 1.1 (1304)在活动显示位置中,第二触摸敏感显示区114具有第三窗口 1.1.1(1308)在活动显示位置中。已经在第二窗口 1.1 (1304)中启动了弹出模态1350。在姿势捕获区域120或124中(或者在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向左的姿势1300,诸如轻弹或拖曳。通过姿势1300,用户寻求最小化根视图,以在第一触摸敏感显示区110中显示第二窗口 1.1 (1304),并在第二触摸敏感显示区114中显示第二桌面D2 (图17C)。因此,第二窗口 1.1 (1304)保持在第二触摸敏感显示区110上的活动显示位置中,而第三窗口 1.1.1 (1308)在第二窗口 1.1 (1304)底下滑动,如图17B中所示。模态1305保持在第二窗口 1.1 (1304)上可视,因为第二窗口在最小化期间还未被隐藏。同时,第二桌面D2移动到第二触摸敏感显示区114上的活动显示位置。
[0250]将参照图18A-图18C说明第五示例,其中第一触摸敏感显示区110显示节点第三窗口 1.1.1 (1308),第二触摸敏感显示区114显示叶第五窗口 1.1.1.1 (1312)。已经在第五窗口 1.1.1.1 (1312)中启动了模态1350。在姿势捕获区域120或124中(或在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向右的姿势1300,尤其是轻弹或拖曳。通过姿势1300,用户寻求将第三窗口 1.1.1 (1308)移动到第二触摸敏感显示区114,以显现第一桌面D1。因此,第三窗口 1.1.1 (1308)移动到第二触摸敏感显示区114上的活动显示位置,并且第一桌面Dl移动到第一触摸敏感显示区110上的活动显示位置,如图18C所示。同时,第五窗口 1.1.1.1 (1312)移动到第二触摸敏感显示区110上的非活动显不位置。因为从第五窗口 1.1.1.1 (1312)启动模态1350,所以该模态与第五窗口 1.1.1.1(1312)—起被隐藏或取消,如图18B所示。
[0251]将参照图19A-图19C说明第六示例,其中第一触摸敏感显示区110显示节点第三窗口 1.1.1 (1308),第二触摸敏感显示区114显示叶第五窗口 1.1.1.1 (1312)。已经在第三窗口 1.1.1 (1308)中启动了模态1350。在姿势捕获区域120或124中(或在其它配置中,第一或第二触摸敏感显示区110或114)从用户接收向左的姿势1300,尤其是轻弹或拖曳。通过姿势1300,用户寻求将根视图移动到第一触摸敏感显示区110,以在第二触摸敏感显示区114中显现第二桌面D2。因此,第三窗口 1.1.1 (1308)保持在第一触摸敏感显示区110上的活动显示位置中,并且第二桌面D2移动到第二触摸敏感显示区114上的活动显示位置,如图19C所示。同时,第五窗口 1.1.1.1 (1312)通过在第三窗口 1.1.1 (1308)底下滑动而移动到第一触摸敏感显示区110上的非活动显示位置。由于技术限制(例如,当模态1350被作为任务启动时),在最小化操作期间取消模态1350。
[0252]一般地,在通信设备100的旋转期间和之后,模态保持在它们被启动的显示区上。将参照图20A-图20C说明第七示例。第一和第二触摸敏感显示区110、114分别显示节点第二窗口 1.1 (1304)和节点第三窗口 1.1.1 (1308)(图20A)。换言之,第一触摸敏感显示区110具有第二窗口 1.1 (1304)在活动显示位置中,第二触摸敏感显示区114具有第三窗口 1.1.1 (1308)在活动显示位置中。已经在第一触摸敏感显示区110中启动了模态1350。用户顺时针旋转通信设备(图20B),以将通信设备从竖向显示模式转变为横向显示模式(图20C)。由于旋转,第二窗口 1.1 (1304)已经扩展到覆盖第一和第二触摸敏感显示区110和114两者(图20C)。模态1350在旋转之前和之后都保持在第一触摸敏感显示区110中,或者保持在最大化的第二窗口 1.1 (1308)上。
[0253]将参照图21A-图21C说明第八示例,其中第一触摸敏感显示区110具有节点第二窗口 1.1 (1304)在活动显示位置中,第二触摸敏感显示区114具有节点第三窗口 1.1.1(1308)在活动显示位置中。已经在第三窗口 1.1.1 (1308)中启动了模态1350。用户顺时针旋转通信设备(图21B),以将通信设备从竖向显示模式转变到横向显示模式(图21C)。由于旋转,第二窗口 1.1(1304)已扩展到覆盖第一和第二触摸敏感显示区110和114两者(图21C)。因为第一触摸敏感显示区110在旋转之前和之后都不包含模态1350,并且第二窗口1.1 (1304)被扩展到充满第一和第二触摸敏感显示区110和114两者,所以模态1350被取消。
[0254]将参照图22A-图22C说明第九示例,其中第一和第二触摸敏感显示区110和114两者都显示节点第二窗口 1.1 (1304)。已经在第一触摸敏感显示区110 (其是上部显示区)中启动了模态1350。用户逆时针旋转通信设备(图22B),以将通信设备从横向显示模式转变为竖向显示模式(图22C)。由于旋转,第三窗口 1.1.1 (1308)已从第二窗口 1.1 (1304)底下滑出,并移动到第二触摸敏感显示区114中的活动显示位置中(图21C)。在旋转到竖向显示模式之后,最大化的横向多屏应用上的模态1350继续显示在各自的窗口上。
[0255]在选择的包含应用的窗口的显示区上启动模态,尤其是弹出模态1350 (步骤2300)。在各个示例中,中间件520 (尤其是多显示区管理(MDM)类524、表面高速缓存类528、窗口管理类532、活动管理类536、以及应用管理类540中的一个或多个)独立地或共同地(例如通过通信设备100的姿势或旋转)确定一组窗口要被最大化或最小化(步骤2304)。中间件520确定要最大化还是最小化该组窗口(决定菱形2308)。当要最大化该组窗口时,中间件520确定设备100的定向以及启动模态的窗口和显示区,并且适当时与相应的窗口或显示区一起移动模态(步骤2312)。在竖向显示模式中,与启动模态的相应窗口一起移动该模态。在横向显示模式中,与启动模态的显示区一起移动模态。当要最小化该组窗口时,中间件520确定设备100的定向以及启动模态的窗口,并且适当时与相应的窗口或显示区一起移动模态(步骤2316)。如果窗口被隐藏则取消模态。
[0256]已经关于通信设备描述了本公开的示例系统和方法。然而,为了避免不必要地掩盖本公开,前面的描述省略了多个已知的结构和设备。该省略不被认为是对权利要求的范围的限制。描述了具体细节来帮助对本公开的理解。然而,应该理解,可以在本文描述的具体细节之外以各种方式实践本公开。
[0257]此外,虽然这里例示的示例方面、实施例和/或配置显示了系统的各个组件布置在一起,但系统的某些组件可以远程地位于分布网络(诸如LAN和/因特网)的远程部分,或专用系统内。因此,应该理解,系统的组件可被组合到一个或多个设备(诸如通信设备)中,或者一起布置在分布网络(诸如模拟和/或数字电信网络、分组交换网络或电路交换网络)的特定节点上。从前面的描述将理解,为了计算效率的原因,可以将系统的组件布置在组件的分布网络内的任何位置,而不影响系统的操作。例如,所述各个组件可以位于交换机(诸如PBX和媒体服务器)、网关、一个或多个通信设备、一个或多个用户的房屋,或者它们的某个组合中。类似地,可以在电信设备和关联的计算设备之间分布系统的一个或多个功能部分。
[0258]此外,应该理解,连接元件的各种链路可以是有线或无线链路,或者它们的任意组合,或者任何其它已知或以后开发的能够向和从连接的元件提供和/或传递数据的元件。这些有线或无线链路也可以是安全链路,并且可以能够传递加密的信息。用作链路的传输介质例如可以是用于电信号的任何合适的载体,包括同轴电缆、铜线和光纤,并且可以采用声波或光波的形式,诸如在无线电波和红外数据通信中产生的那些。
[0259]而且,虽然关于特定的事件序列说明和例示了流程图,但应该理解,针对此序列的改变、添加和省略可以在不实质影响所公开的实施例、配置和方面的情况下发生。
[0260]可以使用本公开的多个变化和修改。可以提供本公开的某些特征,而不提供其他特征。
[0261]在其它实施例中,可以应用其它规则。例如,较高和较低层相关窗口的优选定向与上述定向不同。
[0262]在另一示例实施例中,可以结合专用计算机、编程的微处理器或微控制器以及外围集成电路元件、ASIC或其它集成电路、数字信号处理器、硬链接电子或逻辑电路(诸如分离元件电路)、可编程逻辑器件或门阵列(诸如PLD、PLA、FPGA、PAL)、专用计算机、任何相当的装置等实现此公开的系统和方法。一般地,可以使用能够实现这里所示的方法的任何设备和装置来实现本公开的各个方面。可用于所公开的实施例、配置和方法的示例性硬件包括计算机、手持设备、电话(例如蜂窝、网络、数字、模拟、混合和其它等)以及本领域已知的其它硬件。这些设备中的一些包括处理器(例如,单个或多个微处理器)、存储器、非易失性储存器、输入设备、以及输出设备。此外,也可以考虑替代的软件实施方式来实现这里所述的方法,软件实施方式包括但不限于分布处理或组件/对象分布处理、平行处理或虚拟机处理。
[0263]在另一实施例中,可以使用对象或面向对象的软件开发环境容易地结合软件实现所公开的方法,该软件开发环境提供可用在多个计算机或工作站平台上的便携式源代码。替代地,所公开的系统可以使用标准逻辑电路或VLSI设计部分或全部以硬件来实现。使用软件还是硬件来实施根据本公开的系统取决于系统的速度和/或效率要求、特定功能、以及所使用的特定软件或硬件系统或微处理器或微计算机系统。
[0264]在再一实施例中,所公开的方法可以部分以软件来实现,该软件存储在储存介质中,在编程的通用目的计算机上与控制器和存储器合作地执行,或者在专用计算机、微处理器等上执行。在这些实例中,本公开的系统和方法可被实施为嵌入在个人计算机上的程序(诸如Java小程序(applet)、JAVA?或CGI脚本)、驻存在服务器或计算机工作站上的资源、嵌入在专用测量系统中的例程、系统组件等。可通过将系统和/或方法物理的合并到软件和/或系统系统中来实现该系统。
[0265]虽然本公开参照特定标准和协议描述了在各方面、实施例和/或配置中实施的组件和功能,但各方面、实施例和/或配置不被限制于这样的标准和协议。这里未提及的其它类似标准和协议也存在,并被认为包含在本公开中。此外,这里提及的标准和协议以及这里未提及的其它类似标准和协议周期性地被更快或更有效的、本质上具有相同功能的等同体替代。具有相同功能的这种替代标准和协议被认为是包含在本公开中的等同体。[0266]本公开在各个方法、实施例和/或配置中包括基本如这里描述和说明的组件、方法、处理、系统和/或装置,其包括各个方面、实施例、配置、实施例、子组合和/或它们的子集。本领域的技术人员在理解了本公开后将理解如何创建和使用所公开的方法、实施例和/或配置。本公开在各个方面、实施例和/或配置中包括提供缺少这里未描述和/说明的项目的设备和处理,或者在各个方面、实施例和/或其配置中包括缺少在之前的设备和处理中可能已经使用的项目,例如为了提高性能,获得简易性和/或降低实施成本。
[0267]已经为了例示和说明的目的呈现了前述说明。前述说明不意在将本公开限制为这里公开的形式。在前述详细描述中,例如,为了流水线化本公开,在一个或多个方面、实施例和/或配置中,本公开的各个特征被组合到一起。可以在除了上述之外的替代方面、实施例和/或配置中组合本公开的各方面、实施例和/或配置的特征。此公开方法不被解释为反映权利要求需要比在每个权利要求中明确描述的特征更多地特征的意图。而是,如所附权利要求所反映的,发明的各方面比单个前面公开的方面、实施例和/或配置的所有特征少。因此,将所附权利要求合并到此详细说明中,每个权利要求自身作为本公开的独立优选实施例。
[0268]此外,虽然说明书已经包括了一个或多个方面、实施例和/或配置以及某些改变和修改的描述,但在理解了本公开之后,其它改变、组合和修改也在本公开的范围内,例如,可能在本领域的技术人员的技能和知识范围内。意在获得在允许的程度上包括替代方面、实施例和/或配置的权利,将替代、可互换和/或等同的结构、功能、范围或步骤包含到权利要求中,而不论本文是否公开了这样的替代、可互换和/或等同结构、功能、范围或步骤,并且不意在公然贡献任何可专利的主题。
【权利要求】
1.一种方法,包括: 通过多显示区通信设备中的处理器可执行中间件从公共多屏应用接收命令,以最小化和/或最大化一组相关窗口,该组相关窗口包括由不同的触摸敏感显示区显示和/或要显示的较高层窗口和较低层窗口,并且所述较高层窗口和所述较低层窗口中的至少一个包括从所述较高层窗口和所述较低层窗口之一启动的模态; 通过所述处理器可执行中间件应用以下规则: (BI)当要最大化该组相关窗口时,保持所述模态在所述较高层窗口和所述较低层窗口中启动所述模态的窗口中可见;以及 (B2)当要最小化该组相关窗口时,应用以下子规则中的至少一个: (B2i)当在最小化该 组相关窗口之后显示所述较高层窗口和所述较低层窗口中包括所述模态的所述至少一个时,保持所述模态可见;以及 (B2ii)当在最小化该组相关窗口之后将不显示所述较高层窗口和所述较低层窗口中包括所述模态的至少一个时,自动取消所述模态。
2.如权利要求1所述的方法,其中应用规则(BI),并且其中所述处理器可执行中间件选择预定触摸敏感显示区,用于显示所述较高和较低层窗口中的一个,并使所述较高和较低层窗口中的另一个显示在另一触摸敏感显示区上。
3.如权利要求2所述的方法,其中在最大化之前,所述模态显示在所述较高层窗口上,并且其中所述模态被从所述较低层窗口启动。
4.如权利要求3所述的方法,其中接收到拖曳或轻弹命令,其中当接收到所述命令时,所述预定触摸敏感显示区中既不显示所述较高层窗口也不显示所述较低层窗口,并且其中所述较低层窗口表现为从所述另一触摸敏感显示区移动到所述预定触摸敏感显示区,从而在所述另一触摸敏感显示区中显现所述较高层窗口。
5.如权利要求3所述的方法,其中接收到拖曳或轻弹命令,其中当接收到所述命令时,所述较低层窗口在所述预定触摸敏感显示区中,其中所述较高层窗口表现为从所述预定触摸敏感显示区移动到所述另一触摸敏感显示区,从而由所述预定触摸敏感显示区显示所述较低层窗口,并且由所述另一触敏感显示区显示所述较高层窗口。
6.如权利要求1所述的方法,其中应用规则(B2i)。
7.如权利要求6所述的方法,其中应用规则(B2ii )。
8.如权利要求1所述的方法,其中应用规则(B2),其中所述处理器可执行中间件选择用于显示所述较高层窗口的触摸敏感显示区,并停止在另一触摸敏感显示区上显示所述较低层窗口,其中接收到拖曳或轻弹命令,其中当接收到所述命令时,在所选择的触摸敏感显示区和另一触摸敏感显示区中同时显示所述较高和较低层窗口,其中当接收到所述命令时,所述较低层显示区显示在所选择的触摸敏感显示区中,并且其中所述较高层窗口表现为从所述另一触摸敏感显示区移动到所选择的触摸敏感显示区,从而覆盖所述另一触摸敏感显示区中的所述较低层窗口。
9.如权利要求1所述的方法,其中应用规则(B2),其中所述处理器可执行中间件选择用于显示所述较高层窗口的触摸敏感显示区,并停止在另一触摸敏感显示区上显示所述较低层窗口,其中接收到拖曳或轻弹命令,其中当接收到所述命令时,在所选择的触摸敏感显示区和另一触摸敏感显示区中同时显示所述较高和较低层窗口,其中当接收到所述命令时,所述较高层显示区显示在所选择的触摸敏感显示区中,并且其中所述较低层窗口表现为从所述另一触摸敏感显示区移动到所选择的触摸敏感显示区,从而在所述另一触摸敏感显示区中消失在所述较高层窗口之下。
10.一种永久性的有形计算机可读介质,包括执行权利要求1的步骤的处理器可执行指令。
11.一种多显示区通信设备,可操作来执行权利要求1的步骤。
12.—种方法,包括: 通过包括第一和第二触摸敏感显示区的多显示区通信设备中的处理器可执行中间件接收命令,以将显示区从竖向和横向显示模式中的一个旋转为竖向和横向显示模式中的另一个,其中,所述第一触摸敏感显示区包括:从包括由不同的触摸敏感显示区显示和/或要显不的较高层窗口和较低层窗口的一组相关窗口中的较高层窗口和较低层窗口中的至少一个启动的模态; 通过所述处理器可执行中间件应用以下规则: (BI)当所述第一和第二触摸敏感显示区从竖向显示模式旋转到横向显示模式时,应用以下子规则中的至少一个: (Bli)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较上位置,并且所述第一触摸敏感显示区显示较高层窗口和较低层窗口中的所述至少一个时,在旋转后的所述第一触摸敏感显示区中显示所述模态;以及 (Blii)当在旋转之后所述第一触摸敏感显示区相对于所述第二触摸敏感显示区处于较低位置,并且所述第一触摸敏感显示区和所述第二触摸敏感显示区都不显示较高层窗口和较低层窗口中的所述至少一个 时,在旋转后,在所述第一触摸敏感显示区或所述第二触摸敏感显示区中都不显示所述模态;以及 (B2)当所述第一和第二触摸敏感显示区从横向显示模式旋转到竖向显示模式时,在旋转后,在所述第一和第二触摸敏感显示区中启动所述模态的触摸敏感显示区上显示所述模态。
13.如权利要求12所述的方法,其中在旋转之前和之后最大化该组相关窗口。
14.如权利要求12所述的方法,其中应用规则(Bli)。
15.如权利要求14所述的方法,其中,在旋转后,较高层窗口和较低层窗口中显示所述模态的所述至少一个窗口显示在所述第一和第二触摸敏感显示区两者上,并且其中,在旋转期间,显示在所述第二触摸敏感显示区上的较低层窗口被较高层窗口和较低层窗口中的所述至少一个覆盖。
16.如权利要求14所述的方法,其中,在旋转前,较高层窗口和较低层窗口中显示所述模态的所述至少一个窗口显示在所述第二触摸敏感显示区上,其中,在旋转后,所述模态显示在所述第一触摸敏感显示区上,并且其中,在旋转后,较高层窗口和较低层窗口中的所述至少一个窗口显示在所述第一和第二触摸敏感显示区两者上。
17.如权利要求12所述的方法,其中应用规则(Blii)。
18.如权利要求17所述的方法,其中在旋转期间和/或之后自动取消所述模态。
19.如权利要求12所述的方法,其中应用规则(B2)。
20.一种永久性的有形计算机可读介质,其包括执行权利要求12的步骤的处理器可执行指令。
21.一种多显示区通·信设备,可操作来执行权利要求12的步骤。
【文档编号】G06F3/041GK103430132SQ201180051481
【公开日】2013年12月4日 申请日期:2011年9月29日 优先权日:2010年10月1日
【发明者】S.西尔帕, M.吉姆普尔 申请人:Z124
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1