首页> 中国专利> 使用凹槽象征的瞬时平移

使用凹槽象征的瞬时平移

摘要

用户输入解释机构能通过最初将用户输入当作自由形态移动且无修改地传递它来无延迟地传递用户输入,而不是等待接收从中导出用户意图的足够量的用户输入。自初始点的限定范围内的用户输入为自由形态移动,被无修改地传递,而超过该范围的用户输入则能限制于凹槽,如果其表明以精确线性方式移动的意图。可建立凹槽以辅助无水平偏移的精确竖直移动,无竖直偏移的精确水平移动,或任何其它取向。在被传递之前,可修改在凹槽区域中的用户输入以使得输入在凹槽区域中居中且消除了人为不准确性,例如到任一侧的微小偏移。用户输入可通过正交于凹槽区域移动而脱离凹槽区域。

著录项

  • 公开/公告号CN102520851A

    专利类型发明专利

  • 公开/公告日2012-06-27

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201110386629.0

  • 发明设计人 P.A.胡弗;M.佩滕;M.V.马兹夫;

    申请日2011-11-29

  • 分类号G06F3/048(20060101);G06F3/041(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人黄维;刘鹏

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 05:43:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-22

    专利权的转移 IPC(主分类):G06F3/0488 变更前: 变更后: 登记生效日:20150703 申请日:20111129

    专利申请权、专利权的转移

  • 2015-06-17

    授权

    授权

  • 2012-09-05

    实质审查的生效 IPC(主分类):G06F3/048 申请日:20111129

    实质审查的生效

  • 2012-06-27

    公开

    公开

说明书

背景技术

现代计算设备能使得用户通过多种物理输入设备来提供输入,其中的许多输入设备背离了传统键盘与鼠标象征(metaphor)。举例而言,现代计算设备可包括触摸屏、写字板、轨迹垫或其它类似的基于物理按压的输入外围设备。作为另一实例,某些现代计算设备可以包括图像捕获外围设备,例如摄像机或静帧照相机,其能捕获用户的移动且由此能使得计算设备能够将这些移动转化成用户输入。

但在这样的现代计算设备上执行的过程可能未必得到优化以通过这样的多种输入外围设备来接收输入。举例而言,由许多应用、操作系统、组件或者计算机可执行指令的其它集合所呈现的用户界面可以扩展地使用普遍存在的点击和拖曳象征,这可能难以使用特定输入外围设备来实施。因此,通过例如触摸屏这样的替代输入外围设备来接收用户输入的计算设备实施了解释机构,解释机构通过首先识别用户企图实现什么结果来试图帮助用户且直到那时才常常以修改的方式传递用户输入到应用程序、操作系统和在这样的计算设备上执行的其它计算机可执行指令。这种解释机构导致会令用户不安的延迟。

这种延迟的一个实例是平移(panning)或移动向用户显示的图形用户界面元素的情形。在这种情况下,现有解释机构将延迟传递用户输入到应用程序直到解释机构能确定用户是否想要执行激活,以自由形态方式平移,或者用户是否想要线性地平移,例如直上直下或直左直右。因此,当用户利用具有例如触摸屏的计算设备时,例如利用他们的手指在触摸屏上往下按且开始移动他们的手指时,解释机构将等待直到用户的手指移动足够距离,然后传递用户输入中的任何输入到应用程序或操作系统。仅在用户手指移动足够距离之后,现有解释机构才能智能地确定用户是否企图执行激活,以自由形态方式平移,或者用户是否试图线性地平移,尽管用户手指未精确地以直线移动。如果解释机构确定用户试图线性平移,那么解释机构例如向在计算设备上执行的应用程序提供的用户输入可以是即使用户的手指未精确地以直线移动也指示完美线性平移的用户输入。但是,从用户的观点看来,在所有相对应的图形用户界面元素有任何移动之前,他们的手指将移动了至少一些距离。如所示的那样,这种延迟是令人不安的。

发明内容

在一个实施例中,用户输入解释机构能无延迟地传递作为自由形态移动的用户输入。随后,如果用户输入解释机构基于继续的用户输入确定用户企图进行线性移动,那么用户输入解释机构能转变为传递作为与自由形态移动相对的线性移动的用户输入,并且可以将被传递的用户输入限制于在用户预期的线性移动的方向上取向的“凹槽(groove)”,如用户输入解释机构所解释的那样。

在另一个实施例中,用户输入解释机构能解释用户输入为自由形态移动,只要用户输入不延伸超过围绕首先接收用户输入的初始点的阈值。如果用户输入继续行进超过这样的阈值,则用户输入解释机构能建立限定的区域,在该限定的区域内用户输入仍将解释为自由形态移动。相似地,超过这样的阈值,用户输入解释机构能同样建立“凹槽”区域,“凹槽”区域线性地取向且在“凹槽”区域内用户输入将被解释为预期是线性移动且将以类似方式被传递。

在再一个实施例中,一旦用户输入解释机构解释用户输入为预期是线性移动,如果用户输入正交于前面的线性移动方向移动超过阈值距离,那么可使这样的解释无效。在此情况下,在此时,用户输入能再次解释为在围绕用户输入位置的区域内的自由形态移动。如果用户输入移动超过该区域,则用户输入能再次根据预先建立的自由形态移动区域和预先建立的线性移动的凹槽区域来解释。

在另一个实施例中,当在将用户输入解释为自由形态移动和将用户输入解释为受限于线性移动之间转变时,用户输入线性地受限于之的凹槽可与首先接收用户输入的初始点对准,且传递的用户输入能从其当前位置“迅速回”到这样的凹槽,或者用户的输入线性地受限于之的凹槽可与用户输入的当前位置对准。类似地,如果用户仅在较短的时段里提供输入,或者如果用户的输入未移动超过激活阈值,那么可以做出这样的确定:用户并不想要移动任何东西而是预期执行激活事件,例如可类似于普遍存在的“鼠标点击”的激活事件。在此情况下,可撤销由用户输入解释机构传递的任何移动。虽然这种动作可能会导致用户从不预期的视觉用户界面元素被移动,实际上轻微移动并然后返回到它们的原始位置,这种活动实际上是有益的,因为其能向用户提供该元素实际上能移动的视觉暗示。

提供此发明内容以便以简化形式介绍一系列概念,这些概念将在下面在具体实施方式中进一步描述。本发明内容不预期标识所要求保护的主题的关键特征或必要特征,也不预期用来限制所要求保护的主题的范围。

根据下面的参考附图进行的详细描述,附加特征和优点将变得清楚明白。

附图说明

当结合附图考虑时可最佳地理解下文的详细描述;在附图中:

图1是示例性计算设备的方块图;

图2是示例性输入解释机构的操作的可视化方块图;

图3是示例性输入解释机构的操作的另一方面的可视化方块图;

图4是示例性输入解释机构的流程图;以及

图5是示例性输入解释机构的状态图。

具体实施方式

下面的描述涉及在平移或移动向用户显示的一个或多个图形用户界面元素的情形下解释从用户接收的输入。在接收到初始用户输入事件时,用户输入解释机构能将任何移动解释为自由形态移动且可无延迟地馈通这样的用户输入到应用程序或这样的用户输入所针对的其它计算机可执行的指令。如果用户输入不前进超过激活阈值,那么用户输入解释机构能将用户输入解释为激活且能“撤销”它们可能已传递的任何小移动,例如通过自动地生成输入以返回到原始输入事件的位置。如果用户输入的移动前进超过自由形态阈值,那么用户输入解释机构能将该移动解释为自由形态移动或替代地为基于“凹槽”区域的线性移动,“凹槽”区域以线性方式从初始用户输入事件的位置延伸且使得用户能容易地提供在线性方向上的输入,例如直上直下。凹槽区域外部的区域可保持为自由形态区域。如果确定用户输入在凹槽区域中,则用户输入解释机构能限制用户输入为凹槽区域的线性取向并递送线性用户输入,即使实际用户输入本身可相当不精确。与凹槽方向正交的运动于是能从这样的凹槽释放该用户输入且能重新开始自由形态移动。以这样的方式,用户输入能由用户输入解释机构传递,而无任何解释延迟,但这种输入也能受益于解释辅助,例如通过凹槽区域限制用户输入为线性方向。

出于说明目的,本文所述的技术针对基于触摸的界面,例如能使用户能够经由一个或多个手指提供输入的界面,且针对于一个或多个用户界面元素被移动或平移的情形。但这些提及严格地为示例性的且不预期将所描述的机构限为所提供的具体实例。而是,选择这样的提及是因为它们提供概念框架,这种概念框架对于本领域技术人员容易显而易见,照此提供了有用的框架来描述所述解释机构的至少一个实施例。但是,虽然提及了基于触摸的界面,且具体地提及了手指激活的基于触摸的界面,所述机构可同样无修改地适用于其它形式的用户界面,例如包括手势界面或三维界面,其中,作为对触摸触摸屏的替代,用户替代地用他们的手简单运动以提供相关输入。实际上,所描述的技术适用于任何用户输入,包括通过更传统的接口外围设备(例如键盘、鼠标、轨迹垫、基于笔的外围设备和其它类似接口)的输入。因此,在下文中对“触摸”、“按压”或“释放”的提及预期只是示例性的且预期引用相关联接口中的任何相似输入。相似地,虽然在下文中提及“平移”或“移动”,这些提及同样只是表示为示例性的,因为所述机构同样适用于其它用户互动,例如在视频游戏的情形下提供二维或三维定向输入。因此,术语“平移”和“移动”的利用预期广义地理解为涵盖等效的用户输入。

尽管不是要求的,下文的描述将在计算机可执行指令(例如能由计算设备执行的程序模块)的一般情形下。更具体而言,除非指示为其它情况,本说明书将参考由一个或多个计算设备或外围设备执行的操作的动作和符号表示。照此,应了解有时被称作计算机执行的这样的动作和操作包括由处理单元对表示结构化形式数据的电信号的操纵。该操纵转换数据或将它维持在存储器中的位置,其以本领域技术人员熟知的方式来重新配置或另外更改计算设备或外围设备的操作。其中维持数据的数据结构为具有由数据格式限定的特定性质的物理位置。

一般而言,程序模块包括例程、程序、对象、组件、数据结构和类似物,其执行特定任务或实施特定抽象数据类型。此外,本领域技术人员应了解计算设备无需限为常规个人计算机,且包括其它计算配置,包括手持设备,多处理器系统,基于微处理器或可编程的消费性电子器件,网络PC、微型计算机、大型计算机等等。类似地,计算设备无需限为独立计算设备,因为这些机构也可在分布式计算环境中实践,在分布式计算环境中,由通过通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块可位于本地和远程这两种记忆存储设备中。

转至图1,示出了示例性计算设备100,在计算设备100上且结合计算设备100,可实施下文描述的机构。图1的示例性计算设备100可包括但不限于一个或多个中央处理单元(CPU)120、可包括RAM 132的系统存储器130以及将包括系统存储器的各种系统组件耦合到处理单元120的系统总线121。系统总线121可为若干类型总线结构中的任何类型,包括使用多种总线架构中任何架构的存储器总线或存储器控制器、外围总线和局部总线。计算设备100可可选地包括图形硬件,例如用于显示视觉用户界面,包括但不限于图形硬件接口190和显示设备191。此外,计算设备100还可包括用户界面输入硬件,例如鼠标153、数字摄像机152和/或触摸传感器151。输入硬件可经由外围接口150通信地耦合到系统总线121。在某些情况下,输入硬件可与计算设备100的其它方面协同定位。举例而言,在手持配置或写字板(tablet)配置中,计算设备100可包括与触摸传感器151集成的显示设备191使得触摸传感器151上的触摸的位置可与由显示设备191在相同位置显示的一个或多个图形用户界面元素相关。

计算设备100还典型地包括计算机可读介质,其可包括能由计算设备100存取的任何可用介质且包括易失性和非易失性介质和可移除和不可移除介质。举例而言且并无限制意义地,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实施以存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术;CD-ROM、数字多用盘(DVD)或其它光盘存储设备;磁盒、磁带、磁盘存储设备或其它磁性存储设备;固态存储介质或可用于存储所需信息且能由计算设备100存取的任何其它介质。通信介质通常将计算机可读指令、数据结构、程序模块或其它数据体现为经调制的数据信号,例如载波或其它传输机制并包括任何信息传送介质。举例而言且并无限制意义地,通信介质包括有线介质,例如有线网络或直接有线连接,和无线介质,例如声波、RF、红外和其它无线介质。以上任何的组合也应当包括在计算机可读介质的范围内。

系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,例如只读存储器(ROM)131和前述的RAM 132。在ROM 131中通常存储基本输入/输出系统133(BIOS),其包含例如在启动期间帮助在计算设备100内的元件之间传递信息的基本例程。RAM 132通常包含数据和/或程序模块,其可由处理单元120立即存取和/或目前由处理单元120操作。举例而言且并无限制意义地,图1示出了操作系统134以及其它程序模块135和程序数据136。

计算设备100还可包括其它可移除/不可移除、易失性/非易失性计算机存储介质。仅举例而言,图1示出硬盘驱动141,其从不可移除、非易失性磁性介质读取或者写入到不可移除、非易失性磁性介质。可与示例性计算设备一起使用的其它可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM、其它固态存储设备等等。硬盘驱动器141通常通过例如接口140的不可移除的存储器接口连接到系统总线121。

在上文讨论且在图1中示出的驱动器和它们的相关联的计算机存储介质提供计算机可读指令、数据结构、程序模块和计算设备100的其它数据的存储。在图1中,例如,硬盘驱动器141被图示为存储操作系统144,其它程序模块145和程序数据146。应当指出的是,这些组件可与操作系统134、其它程序模块135和程序数据136相同或不同。操作系统144、其它程序模块145和程序数据146此处被给予不同数字,说明它们至少为不同的副本。

计算设备100可以使用到一个或多个远程计算机的逻辑连接在由网络180表示的网络化环境中操作。计算设备100被图示为通过网络接口或适配器170连接到一般网络连接171,而网络接口或适配器170又连接到系统总线121。在网络化环境中,相对于计算设备100或其部分或其外围设备所描绘的程序模块可存储在通过一般网络连接171通信地耦合到计算设备100的一个或多个其它计算设备的存储器中。应了解所示的网络连接为示例性的且可使用在计算设备之间建立通信链路的其它手段。

转至图2,其中示出的系统200说明在由用户利用触摸屏设备移动图形用户界面元素210(示出为传统文件图标)的情形下用户输入解释机构的示例性操作。起初,如果用户希望移动文件图标210,用户能例如利用他们的手指来靠近文件图标210在触摸屏设备上按下。圆211表示例如可由用户在圆211所表示的位置在触摸屏设备上按下所生成的用户输入的位置。同样,线215表示例如由用户在沿着线215移动他们的手指的同时继续在触摸屏设备上按下所生成的用户输入的随后移动。

在一个实施例中,区域291能绕首先接收用户输入的位置211延伸且能限定一定区域,在该区域内,用户输入解释机构将无延迟地递送用户输入,且将把用户输入视作无需进一步编辑或修改的自由形态移动。自由形态移动区域291能由自由形态移动阈值280限定,自由形态移动阈值280能从首先接收用户输入的位置211延伸。因此,如由图2的系统200所示,在一个实施例中,如果用户例如要用他们的手指在位置211处往下按触摸屏设备且然后沿着线215拖曳他们的手指到位置221,那么用户输入解释机构能无延迟地传递这样的用户输入到应用程序或操作系统,其负责用户界面元素210。因此,这样的应用程序或操作系统能示出图标210的轮廓或变灰的版本,在图2的系统200中示为图标220,以便向用户提供用户“拖曳”图标210的视觉反馈。

出于本文描述的目的,例如图标220的图标210的变灰版本说明了解释机构传递用户输入的方式,因为这样的变灰版本可以作为用户输入的直接产物而生成,如同其由解释机构提供。举例而言,在图2的系统200所示的特定实例中,用户输入解释机构可在沿着线215从位置211拖曳到位置221时无延迟且无修改地传递用户输入。这种以未修改的方式传递用户输入由以下现实来说明:接收这样的输入的应用程序或操作系统已将变灰的图标220定位成以由用户输入解释机构所接收的实际用户输入为中心,例如在位置221处。如可看到的,在沿着线215从位置211拖曳到位置221中,用户输入可以被用户输入解释机构解释为自由形态移动,因为所有用户的移动保持在先前所述的自由形态区291内。照此,用户输入能由用户输入解释机构无延迟地传递,因为用户输入解释机构不等待附加的用户输入(企图从该附加的用户输入导出用户的意图),而是在自由形态移动阈值280内以无修改方式且作为自由形态移动来传递用户的初始输入。

用户输入解释机构能继续将用户输入解释为自由形态移动,只要用户输入保持在与自由形态移动相关联的区域内。在一个实施例中,与自由形态移动相关联的区域可简单地为那些未另外限定的区域。

另一类型的区域可标识为“凹槽”区域,因为其能表示用户可以试图以具体的、辅助的精度移动的运动取向。举例而言,当上或下移动一个或多个用户界面元素时,用户将典型地期望精确地向上或精确地向下移动这样的界面元素并避免任何到左边或到右边的偏离。因此,例如,如果用户读取文档,则用户将试图直向上或直向下滚动文档以便继续阅读,且任何向左或向右的运动可能会分散用户阅读文档的努力。作为另一实例,如果用户正浏览水平取向的图像集合,则用户可能会试图通过将相关用户界面元素精确地移动到左边或精确地移动到右边来滚动到下一图像,且同样,任何向上或向下的运动会分散用户浏览图像集合的努力。在这些实例中,由用户对一个或多个用户界面元素做出的竖直和水平移动能由用户输入解释机构应用“凹槽”象征来辅助,由此基本上沿着特定方向导向的用户输入,例如基本上竖直的用户输入,可以被认为落入到以精确竖直方式对准的凹槽内,使得即使用户输入并不完全竖直,且略微偏移到左边或右边,将由用户输入解释机构提供的用户输入可被修改或校正以反映精确竖直的移动,用户自身在无这样的辅助的情况下不能实现该精确竖直的移动。

在一个实施例中,凹槽区域可为预定的,例如,通过将这样的区域与用户界面元素的初始位置对准。因此,如图2的系统200所示,凹槽区域292、293、294和295能基于图标210的初始位置或者用户输入在位置211的初始点限定。在这样的实施例中,剩余区域,即区域296、297、298和299,能保持自由形态区域。此外,在这样的实施例中,当用户输入进入凹槽区域时,可以由用户输入解释机构施加的对这样的用户输入的修改(以将所传递的用户输入与凹槽区域对准)可以导致受到这种用户输入影响的用户界面元素在视觉上“跳”到凹槽区域内。

通过比较,在另一个实施例中,凹槽区域无需被预先确定,或者可以仅在取向上而不是在位置上被预先确定。在这样的实施例中,当用户输入表明意图为以精确直线移动时,例如,如果用户输入趋于基本上竖直的方式,除了向左或向右的略微的人为不准确性,那么可在用户输入所位于的位置建立凹槽区域,表明意图是以凹槽区域的取向移动。在这样的实施例中,由用户输入解释机构对用户输入做出的修改无需造成受影响的用户界面元素的任何类型的初始视觉“跳跃”,而是可以在建立了凹槽区域时,简单地在凹槽的取向上拉直(straighten out)随后的用户输入。尽管在附图中未特别地示出,由于这样的实施例的时间性质,下文对凹槽区域的提及具体地预期包括对预先建立的凹槽区域(例如附图中所示的那些凹槽区域)和基于历史用户输入动态建立的凹槽区域这二者的提及。

返回至图2,当用户输入沿着线215继续时,例如通过用户将它们的手指在触摸屏上从位置221移动到位置231,用户输入仍可以以无修改方式传递,因为尽管用户输入已经离开自由形态区域291这一事实,其已前进到自由形态区域298中并因此能继续被解释为自由形态移动。以用户输入的位置231为中心定位的变灰图标230示出了用户输入被传递到应用程序或操作系统,其以无修改方式生成变灰图标230,因为应用程序或操作系统从用户输入解释机构接收在位置231处的用户输入,且因此,根据该用户输入位置绘制(draw)变灰图标230。

以类似方式,随着用户输入继续沿着线215从位置231前进到位置241,其可以继续被解释为自由形态移动,因为其能保持在自由形态区域内,即,起初为自由形态区域298,且随后回到自由形态区域291。因此用户输入能继续由用户输入解释机构以无修改方式传递。因此,如所示,变灰图标240能以用户输入位置241为中心,因为用户输入的位置241能由用户输入解释机构无变化地传递。此外,随着用户输入沿着线215从位置241前进到位置251,其可以同样继续被解释为自由形态移动,因为其保持在自由形态区域291内且随后297。因此,变灰图标250能以用户输入的位置251为中心,因为作为自由形态输入的这种用户输入无修改地传送给应用程序或操作系统,其负责绘制变灰图标250。

但是在用户输入继续沿着线215前进,到达位置261时,用户输入解释机构能确定用户试图以精确竖直方式移动图标210,且因此,用户输入解释机构能修改用户输入使得由解释机构传递的用户输入能不同于实际上提供在例如触摸屏上的用户输入。如在图2的系统200中所示,在位置261处的用户输入若由用户输入解释机构以无修改形式传递,则将照惯例造成变灰图标呈现如图标轮廓260所勾勒的样子。由应用程序或操作系统所显示的实际变灰图标262能在偏移图标轮廓260位置的位置,使得所呈现的变灰图标262与图标210的原始位置精确竖直对准。从用户的视角看来,提供沿着线215从位置251到位置261的用户输入能在用户输入到达位置261时造成所得到的变灰图标在视觉上从位置260“跳跃”到由变灰图标262所示的位置,从而使之表现为如同变灰图标落入到与图标210的原始位置竖直对准的凹槽内。

为了辅助用户以精确竖直或精确水平方式移动用户界面元素,例如图标210,凹槽区域能直接建立于图标210的原始位置上方和下方且精确在图标210的原始位置的左边和右边。因此,如在图2的系统200中所示,凹槽区域292能直接在图标210上方延伸使得凹槽区域292由边界282和283限定,边界282和283可分别为图标210的最左边界和最右边界的延伸部。类似地,凹槽区域294能直接在图标210下方延伸且可由边界287和286限定,边界287和286又可以分别为图标210的最左边界和最右边界的延伸部。附加凹槽区域293和295能分别延伸到图标210的右边和左边以实现图标210的精确水平移动。延伸到图标210右边的凹槽区域293能由边界284和285界定,边界284和285可分别为图标210的最顶部边界和最底部边界的延伸部。类似地,延伸到图标210左边的凹槽区域295能由边界289和288界定,边界289和288可分别为图标210的最顶部边界和最底部边界的延伸部。

尽管在图2的系统200中示出凹槽区域292、293、294和295为具有与图标210的边界相称的边界,所描述的用户输入解释机构并不受到特定大小的凹槽区域限制且能替代地建立任何宽度或长度的凹槽区域,在凹槽区域内,能适当地推断出用户企图以精确线性方式移动一个或多个用户界面元素。类似地,在图2的系统200中示出的凹槽区域292、293、294和295仅预期在它们相对于图标210的取向方面是示例性的。一个实施例设想到凹槽区域能水平地且竖直地延伸以辅助用户以水平方式或竖直方式精确地移动用户界面元素,而其它实施例设想到更多或更少的凹槽区域。举例而言,如果作为图标210的替代,移动的用户界面元素为文档页面,那么一个实施例设想到凹槽区域295和293无需存在,因为这种文档的阅读将同样仅需要在竖直方向的精确线性的运动以便向下滚动来进一步阅读,或者往回滚动以重新阅读特定部分。作为另一实例,如果作为图标210的替代,移动的用户界面元素为一系列水平布置照片中的一张照片,那么一个实施例设想到凹槽区域292和294无需存在,因为观看水平布置的照片可能会需要仅水平方向的精确线性的运动。作为另一实例,如果用户界面元素210为绘制程序中的元素,则能建立图2的系统200中所示的那些区域的附加凹槽区域,例如以45°斜线或其它类似角度的偏离,其在例如绘制程序的情形下可为实用的。

转回至图2中所示的系统200,一旦用户输入进入凹槽区域,例如当沿着线215移动的用户输入到达位置261时,用户输入解释机构能修改它们传递到应用程序、操作系统或计算机可执行指令的其它集合的用户输入,使得尽管在例如位置261的用户输入略微向凹槽区域292中心的右边这一事实,由用户输入解释机构所提供的用户输入能修改为在凹槽区域292的中心。因此,接收这样的输入的应用程序、操作系统或其它计算机可执行指令的集合能使得适当的用户界面元素与其原始位置成精确线性关系。因此,例如,如由图2的系统200中所示,即使在位置261的用户输入不在图标210的原始位置正上方,如由用户输入解释机构提供的修改的用户输入能使绘制变灰图表262的应用程序或操作系统绘制这样的图标使之与原始图标210成精确线性的关系,即在图示实例中,精确地在原始图标210上方。

如先前所示,凹槽区域能模仿物理凹槽且限定一个区域,在该区域内,用户输入保持局限于精确的路径(尽管有变化),这与下面的方式大为相同:例如车轮保持局限于其已落入的凹槽内,尽管在行进中会有向任一侧的微小变化。因此,如在图2的系统200中所示,如果沿着线215从位置261前进到位置271的用户输入在水平方向略微偏移,则相对应的用户界面元素(即,在图2所示实例中的图标210)的运动能保持在不偏移的竖直方向移动,因为由用户输入解释机构传送的用户输入能从线215所表示且包括略微偏移的实际用户输入略微修改。举例而言,在位置271处的用户输入能从位置261的用户输入略微向右偏移。然而,变灰图标272能保持与变灰图标262对准且能表示图标210从其原始位置的精确竖直移动。因此,虽然在位置271处的用户输入能惯例地造成图标在位置270中的呈现,而由用户输入解释机构提供的修改能替代地导致由再现图标的应用程序或操作系统接收的用户输入被修改,使得应用程序或操作系统认为用户输入以凹槽区域292为中心且因此,生成位置271处的实际用户输入左边的变灰图标272。因为用户输入以大体上向上的方向沿着线215前进,用户输入中的这些略微水平的偏移(例如由与位置261相比位置271的相对水平的位置图示)能由用户输入解释机构消除,用户输入解释机构能替代地修改用户输入使得其局限于凹槽区域292且使得用户能够例如以精确竖直的方式拖曳图标210。

因此如可看到的,自由形态移动阈值280能在用户界面元素周围限定自由形态移动区域291使得初始用户输入能无修改且因此无延迟地递送,同时可以分析随后的用户输入以确定这样的输入是否落在自由形态区域或凹槽区域内,能建立凹槽区域以辅助用户在相关方向执行精确的线性移动。以这样的方式,用户输入解释机构能辅助用户执行精确的线性移动,同时避免引入初始延迟。相比而言,首先等待确定用户是否试图执行精确线性移动的典型用户输入解释机构引入传递用户输入中的初始延迟,因为它们必须等待足够的用户输入,从足够的用户输入来探明用户的意图。

转至图3,其中示出的系统300说明了根据一个实施例的示例性机构,通过该示例性机构,继续的用户输入能揭示用户返回到无辅助的自由形态移动的意图,甚至是在已发现用户输入表明用户意图限于精确线性移动之后和甚至在由用户输入解释机构传递的用户输入已被限制到凹槽区域(例如凹槽区域292)之后。为了说明这样的实施例,图3的系统300包括线315,线315能表示从图2的系统200中先前示出的线215继续的、且上文详细描述的用户输入。如先前所描述且如在图3的系统300中所示,沿着位置261与位置271之间移动的用户输入能解释为指示希望以精确线性方式来移动在图2中先前示出的图标210且照此,能由用户输入解释机构来修改用户输入使得所递送的用户输入能处于凹槽区域292的中心。因此,如图3的系统300中所示,在图2中先前示出的图标210在凹槽区域292内如由变灰图标262和272所示以精确竖直方式移动。也如先前所述,用户输入解释机构能将凹槽区域292附近的用户输入解释为表明以精确竖直方式移动一个或多个用户界面元素的意图,且照此,能递送可在凹槽区域292中心的修改的用户输入,尽管在所提供的实际用户输入中有水平的变化,例如由图3的系统300中所示的线315和位置261和271所示。

但在一个实施例中,如果用户输入移动超过凹槽脱离阈值,那么用户输入解释机构不再能够修改用户输入以将之局限到凹槽区域且能替代地回复为以自由形态方式解释用户输入。凹槽脱离阈值能建立为超过凹槽区域限度的距离,例如凹槽区域292的限度282和283,超过这些限度,继续的用户输入表明希望脱离凹槽区域且返回到自由形态移动。因此,如图3的系统300中所示,凹槽脱离阈值370能建立限度372,超过限度372,继续的用户输入能表明希望脱离凹槽区域292且返回到自由形态移动。照此,凹槽脱离阈值371能建立限度373,超过限度373,继续的用户输入能同样表明希望脱离凹槽区域292且返回到自由形态移动。在一个实施例中,凹槽脱离阈值370被分配不同于凹槽脱离阈值371的数字以指示这种脱离阈值能独立于彼此建立。因此,例如,如果凹槽靠近屏幕边缘建立,那么在屏幕边缘方向上的凹槽脱离阈值能显著地更小或甚至为零,而在相反方向上的凹槽脱离阈值可能更大。

在另一个实施例中,并非将凹槽脱离阈值建立为超过凹槽区域限度的距离,例如在图3的系统300中所图示,凹槽脱离阈值能参考速度矢量来建立,速度矢量量化用户在正交于凹槽区域的方向上移动他们的输入有多“难”,而不是量化用户移动他们的输入离开凹槽区域多远。利用这样的实施例能在用户不想这样做的时候,限制到自由形态移动的返回,例如在用户想要在例如竖直方向平移持续延长时段的情况下,但在这样的延长时段期间,用户输入继续以水平方式滑动且由此最终超过凹槽脱离阈值,凹槽脱离阈值仅基于距离凹槽的距离。由于在本实例中用户输入在水平方向上的这种滑动可以相对较小,相对应的速度矢量将同样相对较小且照此将不超过参考这样的速度矢量所确定的凹槽脱离阈值且将替代地使用户能够继续平移更长时段同时仍限制于凹槽。

返回到图3的系统300所示的具体实例,如由系统300中的线315所图示,在图示实例中的用户输入能在基本上正交于凹槽区域292的方向上从位置271前进且到达位置311。随着用户输入前进超过凹槽脱离阈值边界373,这种运动能使用户输入解释机构不再修改用户输入而是替代地将这种输入解释为自由形态输入。因此,如由变灰图标310所图示,由用户输入解释机构以无修改方式传递位置311处的用户输入,且因此变灰图标310以实际接收用户输入的位置311为中心。

在一个实施例中,当用户输入经过凹槽脱离阈值边界时,能在适当位置周围,例如在用户输入经过凹槽脱离阈值边界的位置,或者另一更合适位置,建立新自由形态区域。出于说明目的,在图3的系统300中,新自由形态区域391被示出为由位置311周围的自由形态移动阈值380建立。在一个实施例中,用于建立自由形态区域391的自由形态移动阈值380能与先前所描述的图2中所示的自由形态移动阈值280相同。在另一个实施例中,自由形态移动阈值380能独立于图2中所示的自由形态移动阈值280建立且能大于或小于自由形态移动阈值280。

超过自由形态区域391,例如凹槽区域393和394的附加凹槽区域能分别建立在边界384与385,和386与387之间,例如以上文详细描述的方式。此外,如也在上文详细地描述的,在例如凹槽区域393和394的凹槽区域外部的区域能保持自由形态区域,例如自由形态区域398。因此,如图3的系统300中所示,如果用户输入沿着线315从位置311前进到位置321,用户输入解释机构能将这种输入解释为自由形态输入,这至少部分地由于其保持在自由形态区域391内这一事实且因此能无修改地将其传递到应用程序或操作系统,然后应用程序或操作系统能根据提供给它们的用户输入,即无修改的用户输入来再现变灰图标320且因此再现绕实际用户输入的位置321为中心的变灰图标320。以类似方式,在用户输入沿着线315从位置321前进到位置331时,用户输入解释机构能将这种输入解释为自由形态输入,同样因为这种用户输入能在自由形态区域内,即在自由形态区域398内。因此,用户输入解释机构能无修改地传递用户输入,其同样能造成变灰图标330绕实际用户输入的位置331为中心。

但是,如之前那样,如果用户输入进入凹槽区域,例如如图3的系统300中所示,当用户输入沿着线315从位置331前进到位置341时,那么用户输入解释机构能修改用户输入以辅助用户以精确线性的方式移动。因此,如图所示,尽管用户输入在位置341处且若无修改地传递将导致位置340中变灰图标这一事实,变灰图标342实际上在向上偏离的位置显示以与图标310的原始位置对准,凹槽区域393与图标310的原始位置对准。因此,用户输入解释机构能将在位置341处接收的用户输入修改为在凹槽区域393中居中的不同位置,由此使得接收这样的输入的应用程序或操作系统在所示位置再现变灰图标342。

在一个实施例中,除了(或作为其替代)关于例如上文所述的自由形态区域和凹槽区域的区域提及用户输入的位置之外,用户输入的历史可同样由用户输入解释机构在确定是否例如根据凹槽区域修改用户输入或替代地确定用户输入是否表明希望脱离凹槽区域且返回到自由形态移动时考虑。举例而言,在这样的实施例中,用户输入沿着线315从位置331到位置341可能未必导致用户输入解释机构根据凹槽区域393在位置341处修改用户输入,因为如由线315所图示的用户输入的历史未充分表明用户的以任何精确线性方式移动的意图。替代地,在这样的实施例中,当用户输入沿着线315以基本上平行于凹槽区域393且与凹槽区域393对齐的方式继续,例如由在线315端部上的箭头所图示的那样,用户输入能根据凹槽区域393修改。同样,在这样的实施例中,沿着线315从位置271到位置311的用户输入能表明希望脱离凹槽区域292不仅是因为用户输入经过凹槽脱离区域边界373,而且还因为如线315所图示的用户输入在基本上正交于凹槽区域292的方向上移动。

转至图4,其中所示的流程图400图示出能由上文详细描述的用户输入解释机构执行的示例性系列步骤。起初,如由步骤410所图示,能接收初始用户输入。如先前所示,为了描述的简单性和易于理解,在典型触摸屏设备的情形下提供了描述,用户能通过例如利用一个或多个手指与触摸屏设备交互以向这样的设备提供输入。在示例性情形下,在步骤410处所接收的初始用户输入能例如为用户手指在触摸屏上特定点上的按压。随后,在步骤415,用户输入解释机构能传递用户输入的位置为用户按压移动的位置。如先前所示,在步骤415,用户输入的传递可无延迟地发生,因为用户输入解释机构无需在步骤415之前等待阈值量的用户输入(从该阈值量的用户来导出用户的意图)。

在步骤420,能关于用户是否终止做出输入而做出确定。再次,在出于描述清楚和简单目的使用的触摸屏的具体实例内,用户输入的终止可以以由例如用户手指在触摸屏设备上施加的压力的释放为形式。如果在步骤420检测到这种释放,可在步骤425处关于用户输入是否移动了该距离,或者更准确地,作为由用户输入位置的任何移动所覆盖的总距离的补充,关于用户输入开始的位置与用户输入结束的位置之间的差异是否小于激活阈值而做出确定。如将由本领域技术人员认识到的,在某些情况下,尽管可能会存在用户输入位置的某些微小移动,用户的意图不是为了移动任一个或多个用户界面元素,而是用户的意图是为了对这些元素之一执行激活,如传统地由普遍存在的鼠标点击执行的激活。在示例性触摸屏设备的情形下,可由用户通过将他们的手指在按触摸屏设备上按下且然后释放压力并移除他们的手指来执行这种激活动作。因为用户输入解释机构能例如在步骤415无延迟地传递用户输入,所以用户输入解释机构可在用户实际上仅想要在具体位置按下他们的手指并释放它以执行该位置处的激活事件时来传递用户输入中的移动。在这样的情况下,在步骤425,能关于激活阈值做出确定,激活阈值能定义为足够少量的移动使得小于该量的任何移动可能不意欲为移动,而是意欲为通过用户的激活事件。

如果在步骤425,确定用户输入的位置在步骤410的按压事件与步骤420的释放事件之间移动的距离小于激活阈值,那么用户输入解释机构能在步骤430处做出足够量的用户输入来撤销它们可能已传递的任何先前用户输入移动。此外,在步骤430,用户输入解释机构能处理用户输入和激活事件且能将该激活事件传递到应用程序、操作系统或其它计算机可执行指令的集合。

如由本领域技术人员应认识到的,通过例如在步骤415无延迟地传递用户输入,所述的用户输入解释机构在一个实施例中可能需要撤销任何这样的移动,如果随后例如通过步骤425处的确定用户想要激活事件而不是移动事件变得清楚明白。在这样的情况下,由这样的用户输入解释机构做出的撤销在前移动的附加用户输入(作为在步骤415传递的用户输入的一部分)可以在视觉上导致用户界面元素略微移动且然后返回到其原始位置,之后是用户实际想要的激活事件。虽然某些用户可发现在想要激活事件时这种移动是使人分心的,但这样的移动可能有助于其他用户,因为其能提供用户界面元素可移动的视觉指示。但在另一个实施例中,无需撤销所提供的用户输入,且步骤430可以仅包括用户输入解释机构传递激活事件。

返回到步骤425,如果在步骤425的确定表明用户输入位置的移动已超过激活阈值的位置,那么用户输入解释机构能利用在步骤420处检测到的释放传递用户输入移动已在步骤435处终止的指示。可选地,用户输入解释机构能做出附加用户输入以模拟受用户输入影响的图形用户界面元素中的惯性。举例而言,能通过做出附加用户输入来模拟这种惯性,使得并非同时停止用户界面元素的移动,而是使这样的移动慢下来以在一定距离上停止。

返回至步骤420,如果在步骤420并未检测到释放,处理能前进到步骤440,在此点,能关于用户输入是否已经限制到凹槽做出确定。如果用户输入已经被限制到凹槽,例如可以在步骤440处确定,处理能前进到步骤455,在此点,关于用户输入是否已表明正交于凹槽的移动超过凹槽脱离阈值做出确定或做出其推荐。如果在步骤455处,确定用户输入并未表明用户试图离开凹槽,那么在步骤460处用户输入能继续被限制于凹槽且用户输入能以修改方式传递,使得能消除用户输入的微小变化且用户输入能保持受限于凹槽。处理然后能返回到步骤420。相反,如果在步骤455确定用户输入并未表明用户试图离开凹槽,那么处理能前进到步骤465,在此点,能允许自由形态移动且能以无修改方式传递用户输入。

如果在步骤440确定用户输入并非已受限于凹槽,那么处理能前进到步骤445,在此点,能关于用户输入是否已移动超过自由形态阈值做出确定。如果在步骤445,确定用户输入并未移动超过自由形态阈值,那么用户输入能继续以无修改方式传递,如由步骤465处允许自由形态移动所示。处理然后能返回到步骤420。相反,如果在步骤445,确定用户输入已移动超过自由形态阈值,那么在步骤450,关于用户输入是否表明想要以精确线性方式移动做出进一步确定,例如如果用户输入靠近凹槽区,则用户输入在与凹槽区基本上对齐的方向上前进或者其任何组合。如果在步骤450,确定用户输入并未表明希望以精确线性方式移动,那么用户输入解释机构能继续以无修改方式传递用户输入且能在步骤465继续允许自由形态移动且处理能返回到步骤420。相反,如果在步骤450处确定用户输入表明希望以精确线性方式移动,那么用户输入解释机构能修改用户输入以便将用户输入限制于凹槽,如由步骤460所示的那样。如之前,处理然后能返回到步骤420,在此点能再次做出用户输入是否已结束的确定。

为了进一步描述所设想到的用户输入解释机构的各方面,在图5中示出状态图500,其示出用户输入解释机构的示例性状态。起初,如由图5的状态图500所示,用户输入解释机构能处于休止状态510。在用户输入开始时,例如在触摸屏上按压时,用户输入解释机构能过渡到瞬时自由形态平移状态520,如由用户输入的这样的起始所触发的过渡512说明。在瞬时自由形态平移状态520,用户输入解释机构能以无修改方式传递用户输入且能无延迟地这样做。如果在用户输入解释机构处于瞬时自由形态平移状态520时,用户输入结束,例如由过渡528的释放事件所说明,用户输入解释机构能过渡回到休止状态510,如由过渡528和581所示,或者它们能过渡到激活状态540,如由过渡528和584所示。确定用户输入解释机构是否过渡回到休止状态510或激活状态540能由关于用户输入是否已移动超过激活阈值的确定580告知。如果超过这样的激活阈值,那么用户输入解释机构能过渡回到休止状态510,如由过渡581所示,可选地利用由用户输入解释机构做出附加用户输入来模拟一个或多个用户界面元素的惯性。相反,如果并未超过激活阈值,那么用户输入解释机构能过渡到激活状态540,如由过渡584所图示。在激活状态540,用户输入解释机构能传递激活事件且能可选地撤销在它们以瞬时自由形态平移状态520操作时已经传递的任何移动。随后,如由过渡541所示,用户输入解释机构能返回到休止状态510。

在处于瞬时自由形态平移状态520时,如果用户输入移动,如由过渡525所示,则用户输入解释机构能返回到瞬时自由形态平移状态520,在此状态,它们将以无修改方式传递用户输入位置的变化,或者用户输入解释机构能过渡到沿着凹槽状态530的平移,在此状态,它们将在传递用户输入之前修改用户输入,使得修改的用户输入将精确地在凹槽内且将使用户能够执行精确线性移动。能由决定550和560告知关于用户输入解释机构是否返回到瞬时自由形态平移状态520或过渡到沿着凹槽状态530平移的确定。在决定550,能关于用户输入的移动是否在自由形态阈值内做出确定。如果用户输入保持在自由形态阈值内,如由决定550所确定,那么用户输入解释机构能过渡回到瞬时自由形态平移状态520,如由过渡552所图示的那样。相反,如果决定550指示用户输入的移动超过自由形态阈值,那么能做出进一步的决定560,如由过渡556所图示。

在决定560处,关于用户输入移动是否表明希望以精确线性方式移动做出确定。如果在决定560处确定用户输入未表明希望以精确线性方式移动,那么用户输入解释机构能过渡回到瞬时自由形态平移状态520,如由过渡562所图示的那样。但如果在决定560确定用户输入确实表明希望以精确线性方式移动,那么用户输入解释机构能过渡到沿着凹槽状态530的平移,如由过渡563所图示。

当沿着凹槽状态530平移时,如果用户输入解释机构检测到用户输入已终止,则它们能过渡回到休止状态510,如由过渡531所图示的那样。相反,如果用户输入解释机构检测到用户输入的进一步移动,如由过渡537所图示的那样,则它们能过渡回到瞬时自由形态平移状态520或者返回到沿着凹槽状态530的平移。用户输入解释机构返回哪个状态能由确定570告知,确定570能确定用户输入是否例如以正交方式移动超过凹槽脱离阈值。如果确定570确定用户输入确实移动超过凹槽脱离阈值,那么用户输入解释机构能返回到瞬时自由形态平移状态520,如由过渡572所图示,且能停止修改用户输入以沿着凹槽对准它。相反,如果确定570确定用户输入未超过凹槽脱离阈值,或者另外地未表明希望以自由形态方式移动,则用户输入解释机构能返回到沿着凹槽状态530的平移,如由过渡573所图示,且能继续传递修改的用户输入,修改的用户输入被修改成使之与凹槽对准。

如从上文的描述能看出的,列举了用于解释用户输入的机构,其在传递这样的用户输入中未引入延迟。鉴于本文所述的主题的许多可能的变型,我们要求可能落入后面的权利要求书及其等效物的范围内的所有这样的实施例为我们的发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号