首页 / 专利库 / 电脑零配件 / 硬件 / 用于双手控制的用户界面

用于双手控制的用户界面

阅读:480发布:2024-02-08

专利汇可以提供用于双手控制的用户界面专利检索,专利查询,专利分析的服务。并且用于操作的双手控制的技术可以允许用于操作的手势输入利用一只手被盲输入,而同时用户的注意 力 保持在另一只手上。由该手势输入所调用和控制的操作可以与由另一只手所控制的操作自动地关联。该手势输入可以通过能够在不考虑调用手势输入的尺度、朝向、和/或 位置 的情况下首先被识别来促进操作的盲控制。此外,所述操作的尺度和/或朝向可以由该手势输入来确定。该手势输入在盲操作期间的尺度和/或朝向的改变可以改变所述操作的尺度和/或朝向。所述操作可以通过在与该手势输入无关的位置处显示对应的图形或者通过将盲操作的功能与由另一只手所执行的操作相关联来显现。,下面是用于双手控制的用户界面专利的具体信息内容。

1.一种由计算设备执行的方法,所述计算设备包括存储硬件、处理硬件、显示器、和输入设备,所述方法包括:
当在所述显示器的第一区域处被显示的图形用户操作由在所述显示器的所述第一区域处经由所述输入设备提供输入的第一只手交互式地执行时,识别由第二只手输入的手势,并且通过将由所述第二只手所输入的输入与由所述第一只手交互式地执行的所述图形用户操作相关联来对所识别的手势进行响应,其中,所述手势一开始是基于与所述手势的朝向和尺度无关的其调用特征而被如此识别的,并且其中,所述图形用户操作基于与所述图形用户操作相关联的输入而被增强、控制、或修改
2.根据权利要求1所述的方法,其中,所述识别所述手势被执行,而不管在所述手势被识别时有哪些任意应用正在执行,并且其中,所述输入能够与所述任意应用中的任何一个相关联。
3.根据权利要求1所述的方法,其中,与所述图形用户操作相关联的所述输入被解译以基于所述手势的朝向和/或尺度而不基于所述手势的位置来识别,并且其中,所述方法还包括将与所述图形用户操作相关联的所述输入施加在基于所述图形用户操作的位置的位置处。
4.根据权利要求1所述的方法,其中,显示所述图形用户操作的应用接收与关联于所述图形用户操作的所述用户输入相对应的事件或消息。
5.一种由计算设备执行的方法,所述计算设备包括输入硬件、显示器、存储硬件、以及处理硬件,所述方法包括:
响应于接收到第一用户输入,将所述第一用户输入识别为唤出手势;以及确定所述第一用户输入的特性的值;
基于对所述唤出手势的所述识别,调用对应的用户界面控件并且将第二用户输入与所述用户界面控件相关联,其中,所述用户界面控件被配置为根据所确定的所述第一用户输入的值由所述第二用户输入来操作,并且其中,所述用户界面控件在由所述第二用户输入操作时,或者(i)缺少在所述显示器上显示的任何图形表示,或者(ii)包括在所述显示器中的不依赖于所述第一用户输入的位置的位置处显示的图形表示。
6.根据权利要求5所述的方法,还包括在第三用户输入被输入以控制在所述显示器上显示的操作时识别所述唤出手势,所述操作是在所述第一用户输入被输入之前被控制和显示的,其中,所述特性包括朝向和/或尺度和/或数个不同的输入指点器,并且所述值包括朝向值和/或尺度值和/或不同的输入指点器的所述数量,并且其中,所述用户界面控件的朝向和/或尺度针对所述第二用户输入的朝向和/或尺度被动态地调整。
7.根据权利要求6所述的方法,所述方法还包括提供应用编程接口(API),其中所述应用能够通过所述API来请求与对所述用户界面控件的激活或实例化相对应的通知,其中,所述API允许所述应用接收由所述用户界面控件响应于所述第二用户输入对其的操作而生成的事件和/或消息。
8.根据权利要求5所述的方法,其中,操作系统执行所述方法,其中,所述用户界面控件的所述图形表示和/或功能是由所述操作系统提供的,所述方法还包括所述操作系统而不是所述应用将所述图形表示和/或所述功能与所述位置相关联。
9.一种计算设备,包括:
输入硬件;
显示器;
处理硬件;以及
存储硬件;
所述存储硬件存储能够由所述处理硬件执行的指令,所述指令被配置为执行过程,所述过程包括:
允许针对在任意应用上输入的用户输入并且基于不依赖于所述用户输入的朝向和/或尺度的所述用户输入的识别特征而识别出唤出手势;
当针对用户输入识别出唤出手势时,自动地使得对应的用户界面控件(i)在所述显示器的所述用户输入位置的显示位置处,并且(ii)以所述用户输入的显示尺度和/或朝向被所述用户输入唤出以供用户操控;以及
将所述用户界面控件的功能和/或图形显现与在所述显示器上或者在不依赖于所述用户输入的所述显示位置的位置处显示的对象自动地关联。
10.根据权利要求9所述的计算设备,所述过程还包括接收由一人的第一只手输入的所述用户输入,而同时另一用户输入是由该人的第二只手输入的,以及基于由所述第二只手所输入的用户输入来自动地显现所述功能和/或图形显现,并且使得所述功能和/或图形显现自动地跟踪所述第二用户输入。

说明书全文

用于双手控制的用户界面

背景技术

[0001] 随着用于将输入引导至计算机以及用于显示来自计算机的信息的硬件的发展,用于人-机交互的技术已经有所滞后。例如,诸如感应表面之类的指点器(pointer)输入设备已经使得用户能够操控多个同时的输入点。此外,显示器已经变得更大,有些甚至大于人的臂展。如仅仅发明人所认识到的,大型显示器以及针对双手输入的经改进的硬件软件支持凸显了输入和视觉注意的普遍问题。尽管用户界面已经被设计为使能同时的双手操控,但是现有的双手输入技术要求用户将其视觉注意力不断地在同时操控用户界面的双手之间转移。
[0002] 图1示出了用户100的视觉注意力如何在优势手102和非优势手104之间低效率地转移,尽管双手在将操作引导至同一任务。在图1中,用户正在与在显示器106上显示的用户界面进行交互。显示器106包括输入感应表面或层。为了完成任务,用户100需要同时执行第一操作110和第二操作112(相应操作的图形由虚线圆所表示)。第一操作108需要顺序的手动交互A、C和E。第二操作112需要顺序的交互B和D。手动交互的总体顺序是从A到E。一开始,用户100的视觉注意力在要执行步骤A的优势手102上。接着,交互B需要用户100将视觉注意力转移至非优势手104。视觉注意力从一个操作或显示区域到另一个的这种来回的转移是低效率的。视觉注意力的每次转移都打断活动的流程并且需要精神上重新定位以精确地集中视觉注意力,有可能调整为不同的输入模式或者不同类型的图形控件,等等。
[0003] 另外,交互和控制的操作或模式还没有针对非优势手104被优化。用户界面元素(例如,控件)可能被设计为需要复杂类型的输入,所述输入需要精细的运动控制以及对控件的图形交互元素(例如,按钮、滑动条等)的紧密视觉注意力。用户界面元素还没有以适合于由非优势手使用的方式被设计。例如,用户界面元素还没有以适合于盲操作的方式被设计,即,所述盲操作是在视觉注意力保持在一只手上的同时利用另一只手(例如,非优势手)进行的操作。
[0004] 在本文中所描述的是适合于盲操作以及在不需要在双手之间转移视觉注意力的情况下进行双手输入的用户界面元素。

发明内容

[0005] 包括以下概要仅为了引入在以下的具体实施方式中讨论的一些概念。该概要并不是全面的并且不旨在描绘所要求保护的主题的范围,所述范围是由最后呈现的权利要求所阐述的。
[0006] 用于操作的双手控制的技术可以允许针对操作的手势输入在用户的注意力保持在一只手上的同时利用另一只手来盲输入。由该手势输入所调用和控制的操作可以自动地与由另一只手所控制的操作相关联。该手势输入可以通过能够在不考虑调用手势输入的尺度(scale)、朝向、和/或位置的情况下被初始识别来促进操作的盲控制。此外,操作的尺度和/或朝向可以由该手势输入来确定。所述手势输入在盲操作期间的尺度和/或朝向的改变会改变该操作的尺度和/或朝向。所述操作可以通过在与不依赖于该手势输入的位置处(例如与另一只手相关)显示对应的图形或者通过将盲操作的功能与由另一只手执行的操作相关联来显现。
[0007] 许多附带特征将在下文中参考以下结合附图所考虑的详细描述而被解释。

附图说明

[0008] 在本文中所描述的实施例将通过以下根据附图阅读的详细描述而被更好地理解,其中,相同的附图标记用来指代所附描述中相同的部分。
[0009] 图1示出了用户的视觉注意力如何在优势手和非优势手之间低效率地转移。
[0010] 图2示出了使能对非优势手的盲使用如何能够提高用户的效率。
[0011] 图3示出了用于使得来自非优势手的盲输入能够补充由优势手执行的操作的过程。
[0012] 图4示出了盲手势及其阶段的示例。
[0013] 图5示出了盲微件的另一示例。
[0014] 图6示出了盲手势的其他示例的表格。
[0015] 图7示出了盲手势能够如何被实现为具有全局优先性。
[0016] 图8示出了盲手势如何被处理以及与应用共享的细节。
[0017] 图9示出了盲控件的使用的第一示例。
[0018] 图10示出了盲控件的使用的第二示例。
[0019] 图11示出了盲控件的使用的第三示例。
[0020] 图12示出了盲控件的使用的第四示例。
[0021] 图13示出了盲控件的使用的第五示例。
[0022] 图14示出了盲控件的使用的第六示例,以及唤出手势的参数、后续的控制手势的参数、和由优势手执行的操作之间的可能的关系。
[0023] 图15示出了计算设备的细节。

具体实施方式

[0024] 图2示出了使能对非优势手104的盲使用如何能够提高用户100的效率。在本文中所描述的多种实施例中的任何一个都被假定为使能对用户界面元素的盲调用和操作,有时与其他活动相结合。术语“盲”在本文被用来描述设计和意图,而并不意味着任何特定的技术要求或身体损伤。实施例可以参考“优势”和“非优势”手进行描述。这也反映了设计意图以及可能的最优使用场景。然而,在本文中所描述的实施例不需要区分输入是来自优势手还是来自非优势手。也就是说,在手被称为“优势”(或“非优势”)的任何地方,也可以使用“非优势”(或“优势”)手。
[0025] 在本文中所描述的实施例涉及盲用户界面元素。盲界面元素包括手势以及可能有或可能没有伴随的图形元素的控件。盲手势唤出并且操作盲控件,所述盲控件也被称为盲微件(widget)。参考图2,如在图1中一样,优势手102一开始在执行主操作或第一操作110的交互A。用户的视觉注意力保持在优势手102附近的区域。例如,该用户可以在看文档中由优势手102的触摸所操控的分区。与此同时,当需要第二操作时,非优势手104执行盲唤出手势,盲唤出手势的示例和特征在下文中被描述。该盲唤出手势例如通过实例化或激活将由非优势手104以盲方式进行操控的盲控件(未示出)来开始第二操作112。
[0026] 下文所描述的特征和实施例允许交互B在用户的视觉注意力保持在第一操作正发生的区域上的同时被非优势手104引导至盲控件。如能够在图2中看到的,在交互C、D和E执行时,用户的视觉注意力能够保持集中在第一操作110以及对优势手102的精细运动控制上。与此同时,对盲控件的要求较低的盲手动控制执行第二操作112。在一些实施例中,例如以盲控件为形式的第二操作112在图形和/或功能上与第一操作110相关联。尽管盲控件由远离视觉注意力的区域的非优势手104操控,但是非优势手104却对第一操作110的轨迹施加影响。
[0027] 图3示出了用于使得来自非优势手的盲输入能够对由优势手执行的操作进行补充的过程。一开始,在步骤130处,用户的视觉注意力在优势手处。用户可以利用他们的优势手将输入主动地进行输入。可替代地,可以基于对近期活动的指示、对元素或第一区域的选择、用户界面元素的属性、以及以下所描述的其他方法推断出用户的注意力被引导至第一区域或元素。
[0028] 优势手和非优势手的用户输入被链接至显示器106。例如,显示器106可以包括触摸感应元件,其感测诸如手指、触笔等之类的物理指点器的接近度、按压、和/或接触。用户输入可以替代地由鼠标、不是显示器的一部分的触摸板、相机、三维传感器等来提供。可以使用能够感测手动操控的二维或三维输入点的输入设备的任何组合。诸如触摸感应手持设备之类的辅助计算设备也可以充当向显示器106进行显示的主计算设备的辅助输入设备。另外,在本文中所描述的实施例容易地适用于多显示器布置,其包括在一个操作系统的控制之下的多个触摸感应显示器的布置,也许一只手操作一个表面。在本文对单个显示器和/或输入设备的任何引用也被认为指代多个显示器和/或输入设备。由于双手的协调可能更加困难,因此在使用两个输入设备时的一些实施例尤其适用。
[0029] 返回图3,在步骤132处,在第一操作被优势手执行或者与优势手相关联时,盲调用手势被执行。一个或多个盲手势以使其识别和后续控制的动作优先于诸如由应用或其他非全局用户界面元素实现的手势之类的其他手势的方式被实现。在一个实施例中,如下文进一步描述的,盲手势被实现为系统功能可见性(affordance),并且是操作/窗口系统的一部分。在另一实施例中,盲手势被实现为在后台执行的应用或服务。无论如何,模有机会接收并分析所输入的手势以确定哪些是盲手势并且在它们被识别时对它们进行作用。没有被确定为盲手势的手势输入以常规方式向下传递至优先级较低的模块或应用。盲手势识别可以在整个显示器上被实现,而无论可用于输入的输入设备的类型如何。在一个实施例中,输入设备是感应显示器并且盲手势是全局的,这在于它们可以在任何时间在任何显示器位置处被输入。在另一实施例中,盲手势是准全局的并且在受限区域中且可能是在受限条件下被识别,例如当任何任意应用是活跃的或者当任何任意应用处于全屏模式时。盲手势有时是全局可用的而在其他时间则不可用或者具有受限的空间/时间可用性。
[0030] 一些盲手势可以被设计为激活与已经在进行中的用户活动相结合地工作的用户界面行为,所述用户活动包括由与盲手势同时输入的手势输入所控制的活动。为了方便起见,该盲手势和对应的用户界面行为(或操作)将被称为在第二区域输入的副输入,而与该盲手势相结合的用户活动(操作)将被称为在第一区域输入的主输入。再次参考步骤132,盲手势与正在第一区域进行中的第一操作同时被输入,并且该盲手势在第二区域被输入以实行第二操作。该盲(第二)手势和第二操作可以与第一操作相结合以控制、修改、或补充第一操作。
[0031] 在步骤134处,在盲手势被识别之后,该盲手势转换到控制阶段。盲手势以两个阶段来实现。首先,在调用阶段期间,初始盲手势被识别出。也就是说,所输入的盲手势的初始特征被映射至用于触发所述手势的预先定义的特征,并且随后输入的特征映射至控制行为。在调用之后,盲手势进入控制阶段,在此期间,手势输入与在调用阶段所识别的输入相关联和/或继续在调用阶段所识别的输入。例如,某一触摸模式(pattern)可以调用盲手势,并且在该调用之后,控制阶段可以通过以下操作之一开始:继续该触摸模式的触摸,或者进入一个模式,在该模式中,进一步的输入用于控制直到该盲手势被隐式地或显示地取消或停用为止。应当注意,出于讨论的目的,输入可以被称为“触摸”。然而,以上所讨论的等同类型的指点器输入等同地适用。
[0032] 在步骤136处,进入盲手势的控制阶段。为了促进盲调用和操作,可以使用调用手势输入的特征来配置控制阶段。盲手势的调用阶段的任何无约束的或用户可确定的特征可以被用作对控制阶段进行配置的相应参数。例如,如果用于识别盲手势的朝向是无约束的并且调用阶段的定义性特征可以以相对于显示器的任何朝向被输入,则该调用阶段的朝向可以被确定并且被用来对控制阶段的朝向进行配置。在步骤136处,调用阶段的任何这样的参数都可以用来对控制阶段进行配置。下文中进一步描述了对控制阶段进行配置。
[0033] 在步骤138处,在盲手势的控制阶段的控制之下的第二操作(或者微件/控件)可以与第一操作相关联。该关联可以以具有多种效果的多种方式来实现。例如,通知事件可以以操作系统向应用分派其他输入和图形事件的相同已知方式来通过用户界面元素的树被向下传递。事件可以被传递至具有在盲手势被调用的第二区域下的用户界面元素的任何应用。另一种有用的模式是将事件传递至非盲(优势手)手势被调用的应用。这之所以有用是因为优势手位置更可能与用户的视觉注意力及其活动的任务相关联。在该场景中,盲手势可以在不接收输入事件的不同的(有可能不相关的)应用上被调用。过程间通信的任何方法都可以用于向应用通知盲手势已经被调用。
[0034] 第一操作与盲手势之间的关联可以以多种方式来显现。在一个实施例中,由控制阶段的盲输入生成的控制事件被传递至相关联的应用,并且该应用确定所述控制事件如何与第一操作相结合地被使用。在另一实施例中,应用可以接收调用事件,并且作为响应,将在第一操作中涉及的对象的方法或属性绑定至该控件,因此使得所述控制事件直接操控所绑定的方法或属性。在另一实施例中,该关联仅是图形的并且盲控件不与任何应用进行通信。还有可能使得盲操作的功能以一种方式(例如,在应用等级)与第一操作相关联,而该盲操作的图形则以另一种方式(例如,在优势手的位置处)与第一操作相关联。
[0035] 在步骤140处,第一操作继续进行,但是被第二操作(盲手势)增强、修改、或控制。在步骤142处,该盲手势/控件被显示地或隐式地取消,并且在步骤144处,可以向第二操作提供通知以对任何必要的调整进行处理。该盲控件可以通过调用新的盲手势,通过输入特殊的取消手势(其可能与调用手势相同),或者通过调用不同的盲手势而被显式地取消。盲控件可以根据以下条件而被隐式地取消,所述条件例如在预先定义的时段内缺少对盲控件的操控、外部事件、相关联的第一操作或其应用的改变(例如,绑定至盲控件的对象被处置),等等。
[0036] 图4示出了示例盲手势158A、158B、158C及其阶段。如上文所述的,操作系统、后台过程/服务器、图形用户外壳等被编码以用于使用已知的识别技术来识别手势。在调用阶段160处,输入事件或消息从操作系统的输入栈被接收并且被识别。该输入可以是点的流,每个流具有二维或三维输入点、时间戳、标识哪个输入指点器(例如手指)输入了该点的标识符、和/或其他输入参数。所述输入事件可以替代地是较高等级的结构,例如笔划、线、轻敲、轻敲并保持,或者基于点的输入的其他参数化表示。当接收到输入时,该输入的特征被映射至一个或多个盲调用手势的特征。如果有其他的非盲全局手势需要被识别,则所述盲手势将具有将其与其他全局手势进行区分的特征。可以使用任何手势特征。第一盲手势158A可以具有调用特征,例如某一数量的输入指点器(例如,接触、手指、物理指点器等)的扫动。第二盲手势158B可以是旋转地移动的多个指点器(两个)。第三盲手势158C可以被定义为在阈值持续时间内停留的两个指点器。参考图6讨论了另外的示例。
[0037] 在下一个阶段162处,获得调用手势的一个或多个参数。所述参数是通过输入指点器如何被布置以及有可能如何被用户操控来确定的。可以获得任何类型的参数,包括移动或旋转的存在、尺度、速度、特征的数量、时间长度、轻敲的顺序等。不是所有可能的参数都需要用于所有的盲手势。第一示例具有朝向参数和“N”参数二者,“N”参数是同时扫动的输入指点器的数量。朝向参数是N个手指扫动的方向。第二示例具有尺度参数、旋转方向参数(或者仅旋转布尔标志)。第三示例具有由两个停留点之间的线所定义的朝向以及由两个停留点之间的距离所定义的尺度。
[0038] 在激活或实例化阶段164处,盲控件或微件被实例化(或激活),并且接着根据任何相关调用参数而被配置。如上文所提及的,盲微件或控件是可以以某些方式模拟物理控件的显式或隐式的对象。在第一示例中,该控件是滑动条,而其在第二示例中则是拨盘,并且在第三示例中是转动轮。该盲控件可以由或可以不由在发生调用的第一区域处的对应的图形所表示。在一个实施例中,图形在学习阶段期间被显示以帮助用户学习盲手势。为了详述,一旦系统检测到用户已经成功地使用了盲手势某一数量的次数,或者一旦用户明确地指示不再需要学习图形,则所述图形在随后的调用时不再被显示。
[0039] 优选地,盲手势的调用确定对应的盲控件如何被交互式操控。在第一示例中,盲滑动条的朝向对应于调用扫动的朝向。在第二示例中,盲拨盘的旋转操控对应于旋转调用。在第三示例中,转动轮通过在两个调用停留点之间的输入指点器在与两个停留点所在线的方向相垂直的方向上的扫动而被“转动”。根据对应的调用手势的尺度和/或朝向来设置盲控件的尺度和/或朝向对于盲操作会是特别有帮助的。用户的输入指点器(例如,手指)已经处于已知的朝向和位置,因此不需要物理的重新定向或重新定位。此外,可假定用户已经在方便或舒适的物理位置中输入了调用手势。如果盲控件的尺度是根据其调用手势的尺度来设置的,则用户的输入指点器可假定处在关于盲控件的“就绪位置”,这再次最小化或消除了用于调节物理输入实现并因此将目光从主操作远离的任何需要。简言之,盲控件在服从立即操控的状态下被激活或被实例化。
[0040] 在盲控件阶段166处,用户操控该盲控件。尽管可能是以在本文中所讨论的独特方式被配置和使用的,但盲控件一般是以与已知控件被操控的相同方式而被操控的。在一些实现中,盲控件可以以与现有类型的控件相同的方式被操作。然而,在受到用户控制保持活跃的同时,盲控件可以通过允许它们被动态地重新设置大小、重新定向、平移等而适用于盲操作。例如,盲滑动条控件可以通过一种类型的输入(例如,捏合或旋转输入指点器)被重新定向或重新设置尺度,但仍然能够被输入指点器的线性移动所驱动。
[0041] 在一些实施例中,每个盲控件在被唤出(summon)时被实例化为对应的类的对象实例。在其他实施例中,不需要使用显式的控件或类微件对象。也就是说,在一些实施例中,每个盲控件是隐式的对象,其是由将控制手势映射至输出值的映射功能所模拟的一组行为。实现盲手势的模块可以具有整体功能,该整体功能将所有类型的盲控件的控制输入手势映射至对应的输出。这样的模块还可以识别并实施其他类型的全局手势。
[0042] 可以使用任何类型的逻辑或几何映射功能来将用户的控件操控(扫动、轻敲、旋转、停留等)映射至对应的控制输出。任何类型的输入范围都可以被映射至连续或离散的输出域。在第一示例中,对盲滑动条的拖动可以映射至[1…100]的域。在第二示例中,对盲拨盘的旋转可以映射至{∞,-∞},可能在尺度上呈对数式增加。在第三示例中,转动轮可以具有旋转动量并且可以对齐并映射至该转动轮的度分段,例如0-90°映射至“1”,91-190°映射至“2”,191-270°映射至“3”,以及271-360°映射至“4”。该映射功能将手势特征的输入域映射至诸如离散值或连续值的范围之类的输出域。在下文所讨论的其他实施例中,盲控件可以将输入域映射至具有全局性质的高级功能,例如剪切和粘贴功能。
[0043] 在诸如第三示例之类的一些实施例中,盲控件可以在其由用户操控期间被重新配置。例如,如果第三示例的停留点以不转动该转动轮的方式被移动,则该盲转动轮相应地被重新定向、重新设置大小,等等。如果使用两个指点器来转动盲拨盘,则可以通过改变这两个指点器之间的距离来重新设置该盲拨盘的大小。在一些情况下,重新设置盲控件的尺度将改变物理操控移动与盲控件的逻辑移动的比率。也就是说,控件的粒度能够在该控件保持可操作的同时被动态地调节,而并不改变驱动或操控该控件的模式。可以通过将原始控件进行移动/重新设置朝向/重新设置大小来实现利用不同参数重复盲调用手势,从而实际上覆写原始控件。
[0044] 参考图4,执行取消步骤168以将盲控件去激活或处置。取消可以被实现为在缺少交互之后的超时特征,被实现为检测到新的盲手势的输入的副作用,响应于显式的取消手势(例如,跟踪的“X”取消任何盲控件),等等。
[0045] 图5示出了另一个示例性的盲微件158D。在该第四示例中,N个手指在调用阶段160处停留(例如,N为4)。在下一个阶段162处,该调用手势的朝向被确定,并且在实例化阶段164处,虚拟的盲小键盘或按钮集根据该调用手势的朝向而被激活或实例化。在该示例中,盲控件是定向的并且可能被相对定位为对应于调用停留点的一组按钮。虚拟按键或按钮可以是拨动开关,在被接触(或不接触)时发起(或不发起)事件或者在其接触状态改变时发起事件(例如,“上”和“下”事件)的可激活按钮,等等。在另一实施例中,盲微件可以是一组转动轮或滑动条,其中每个被实例化并被指定给相应的实例化指点器/手指。也就是说,第四示例盲微件158D的按键可以替代地是每个由不同手指操作的分别的转动轮。在一个实施例中,子控件的数量是由用于唤出控件的接触点的数量来确定的。
[0046] 在一些实施例中,盲微件被实现为执行可以适用于许多类型的应用的高级功能。例如,盲微件可以是媒体播放控件,并且可以以类似于上文所讨论的小键盘示例的方式来实现。盲微件可以是剪切和粘贴工具,其中,复制、剪切和粘贴功能被指定给不同的盲按键或控件。盲控件可以是对应于一般媒体播放操作的一组盲按钮或激活区域。在多个转动轮的示例中,每个转动轮可以对应于诸如大小、字体样式、和格之类的字体设置。在其他实施例中,盲控件被实现为对诸如鼠标、触摸感应表面等之类的虚拟输入设备进行模拟,但是根据唤出参数而被设置尺度和/或朝向。
[0047] 图6示出了盲手势的其他示例的表格190。每一行对应于不同类的手势。在一个实施例中,特征和行为是可构成的以产生更多种可能的排列。换句话说,特定的调用手势特征、调用参数、和控制手势特征能够以一致的方式进行组合。例如,唤出指点器的数量可以始终控制被调用的控件的数量。诸如N次同时轻敲、N个同时停留、或者N个单次轻敲的序列之类的唤出模式可以始终调用特定类型的控件和/或操控模式。唤出朝向可以被解译为始终定义对被对应地唤出的盲控件进行操作的朝向。
[0048] 图7示出了盲手势能够如何被实现为具有全局优先性。在图7中所示出的层大致对应于操作系统输入层210、手势处理层212、和应用层214。如上文所提及的,许多操作系统通过在输入层210处生成输入和图形事件或消息(简称为“消息”)来以层级方式处理输入和图形。消息通常由操作系统生成并且通过客户端/监听方(通常为应用)的层级向下传递,直到一个层级决定处理该消息为止,取决于事件如何被处理这会或者不会阻碍该消息的进一步传播。
[0049] 在图7中,用户一开始使用其优势手在操控输入硬件。第一触摸消息216(“输入1”)被传递至全局手势层212,并且手势识别器218确定该触摸是否是针对全局手势的。为了方便起见,仅仅提及了单个消息,但实际上将生成和分析消息的流。接着,第一触摸消息216被传递至分派器220,分派器220确定哪个应用应当接收哪些消息。一般地,处于该输入“下”的任何应用222都接收该输入。该输入通过应用222的用户界面元素的层级224被传递。第一操作110是由第一触摸消息216实行的。
[0050] 在第一操作110进行中时,用户使用其非优势手输入与第二操作112要在其中发生的显示器的第二区域相对应的另外输入。输入层210输出由手势识别器218接收的对应的第二触摸消息226(实际上是多个消息)。手势识别器218将该输入识别为盲手势。该输入被传递至全局手势处理程序228,全局手势处理程序228唤出合适的盲控件、生成针对分派器220的通知,等等。应用222进而采取任何必要的步骤以将所唤出的盲控件与第一操作110相关联。即使当第二输入在被用户的非优势手输入的时候,优势手也能够继续提供针对第一操作的第一输入。
[0051] 图8示出了盲手势如何被处理以及与应用共享的细节。操作系统240或者实现盲手势的其他组件提供了应用编程接口(API)242。API 242可用于任何任意应用以钩挂到全局盲手势。在一个实施例中,实现了发布-订阅模型。操作系统240具有订阅者模块244,其跟踪哪些应用针对盲手势而被注册。应用222具有这样的代码,该代码向API发出调用以在用于针对盲手势注册的请求246中传递。订阅者模块244保存所注册的应用或对象的列表。每次手势识别器218识别出盲手势,所订阅的应用就以对对象的引用248的形式接收对相应地激活的盲微件对象247的通知。在一个实施例中,仅活跃的应用接收该通知。可替代地,每个应用都根据其Z排序等来接收通知并且具有对该通知采取动作的优先级。在另一实施例中,应用对要在盲手势发生时得到通知的事件监听器进行注册。
[0052] 当进入所识别的盲手势的控制阶段时,用户输入250操控盲微件对象247以使得对应的控制事件252被发给所订阅的应用222。控制消息或事件252可以传达来自对应的盲微件对象247的任何类型的信息。所述类型的消息或事件可以是通常由已知类型的用户接口控件所生成的消息或事件,即按钮上/下事件、滚动事件、选择事件、状态改变事件、值更新(例如,控件范围内的新的值),诸如“播放”、“停止”等之类的控制信号,仿射变换,等等。应用222的应用逻辑254接收控制事件252,并且有可能通过修改、控制、或增强第一操作来对控制事件252进行作用。
[0053] 一些类型的盲控件可能不发出控制事件并且可能仅在图形上与第一操作或区域相关联。例如,一些盲控件可以是被动的并且仅提供帮助性信息或辅助性图形。与第一操作的关联可以仅是接近度中的一个,其中由盲控件提供的图形基于第一操作的位置、对应应用的位置、或者与优势手相关联的某一其他位置在显示器上被自动地定位,所述其他位置例如是优势手的输入指点器(接触点)的位置、用户的优势/其他手的最后已知的先前位置、前台应用的位置、如由视线跟踪系统确定的用户的视线的位置,等等。换句话说,在一些实施例中,不同于应用专地与盲控件相集成(例如,通过订阅事件、解释消息等),该应用不知晓盲控件的存在,并且实现所述盲控件的模块(例如,操作系统)处理所有非优势手输入,且直接自行提供盲功能(如在图14的全局屏幕放大镜示例中)或者为应用提供该应用已经理解的形式的输入(例如,图9的画线示例中的墨属性,其与通过其他非盲方式改变的墨水属性相同)。
[0054] 图9示出了盲控件的使用的第一示例。一开始,在图9的上半部分,图形编辑应用是活跃的并且优势手102正在通过移动触摸点来输入自由形式的线270。盲滑动条控件272已经被唤出并且在图9下半部分被示为处于控制阶段。应用通过接收对所唤出的控件的通知并且将盲滑动条控件272绑定至线270的宽度属性而被链接至盲滑动条控件272。对盲滑动条控件272的虚线表示指示该图形可以被显示或可以不被显示。该滑动条的信息图形274被显示在基于触摸点位置的位置处,并且可以随着优势手的触摸点的移动而移动。当非优势手104通过在平行于滑动条的朝向的方向上移动三个触摸点来操控盲滑动条控件272时,由该滑动条生成的标量值被传递至该应用,并且由该滑动条提供的值按照所述绑定来改变线270的宽度。由非优势手104盲控制的当前宽度设置在信息图形274中被显示。随着盲滑动条向下移动,线270的宽度增加。
[0055] 图10示出了盲控件的使用的第二示例。该示例中的应用222是地图程序。优势手102已经打开了针对地图的视口(viewport)290。视口290可以是对地图所包含区域的放大、所包含的地图区域内的地图数据的概要,诸如仅在视口中显示的地形覆盖之类的增强,等等。视口290由优势手102拖动。盲滑动条控件272与视口290相关联。在该情况下,由所述滑动条设置的标量值对视口290的大小进行控制。因此,利用优势手,用户能够拖动视口290,并且利用非优势手,用户能够继续查看视口而同时利用该非优势手来控制视口290的大小。
[0056] 图11示出了盲控件的使用的第三示例。在该示例中,已经唤出了盲拨盘控件300。处于全屏模式下的应用已经打开了视频渲染窗口302。优势手102提供了用于打开视频渲染窗口302的输入。优势手102可以是静止的或者正在与视频渲染窗口302进行交互。盲拨盘控件300与视频渲染窗口302相关联。具体地,盲拨盘控件300控制该应用响应于被通知了关于盲拨盘控件300的唤出而被激活的搓擦器(scrubber)304。随着盲拨盘控件300被非优势手
104的手指旋转,搓擦器304根据盲拨盘控件300的旋转方向和旋转量而响应性地将视频向前和向后搓擦。
[0057] 图12示出了盲控件的使用的第四示例。3D建模应用正在显示建模操作308,例如用于向模型应用纹理或者以交互方式创建3D网格模型的工具。盲变换控件310已经被唤出并激活。该盲变换控件将非优势手104的接触的移动解译为仿射变换,即平移、旋转、和/或缩放。网格工具312由该盲变换控件在显示器106上相应地变换。网格工具312可以例如通过将3D网格模型的移动/输入的点对齐至网格来在功能上增强建模操作308。在另一实施例中,该网格与应用没有功能性交互。由盲控件控制的图形可以一开始相对于3D建模操作308被定位,中心在优势手102的接触上,中心在3D网格模型上,或者中心在独立于通过控制非优势手104提供的输入的任何其他兴趣点上。
[0058] 图13示出了盲控件的使用的第五示例。在该示例中,应用222具有文本编辑对象320。优势手102正在交互式地选择文本322的一部分。或者,文本322的该部分最近已经被选择。在任一情况下,不与非优势手104相关联的编辑操作正在进行中。在图13的下半部分,盲唤出手势已经唤出了盲转动轮控件324。应用222已经将该控件关联或绑定至文本编辑对象
320的字体风格属性。非优势手104向应用提供值,并且该应用将选择值映射至字体风格属性的设置。如果该控件输出从“1”到“100”的值,则该应用可以将“1”到“25”映射至第一字体风格,将“26”到“50”映射至选择风格,等等。如果该控件输出两端开放的值范围,则所述值可以通过对所述值取模而被映射至离散的选项。可选地,当前所选择字体风格的图形指示符324相对于与文本322的该部分、文本编辑对象320、或者与用户的优势手活动有关的某一其他兴趣点相关的位置被显示,而不是相对于唤出和控制盲转动轮控件324的位置被显示。
[0059] 图14示出了盲控件的使用的第六示例,以及唤出手势的参数、后续控制手势的参数、和由优势手102执行的操作之间的可能的关系。一开始,优势手102正在操控第一工作区域330(例如,平移、编辑内容、缩放、滚动等)。由非优势手104输入了四指唤出手势。该唤出手势的尺度是基于最外侧的唤出输入点之间的距离来确定的,例如30个像素(图14的中间部分中所示出的“伸展”)。该唤出手势唤出被初始化有该唤出手势的尺度的放大镜334。在该示例中,该应用仅是被动地涉及而不与该盲控件进行通信。相反,所唤出的图形——放大镜334——是由盲控件而不是由该应用提供的。
[0060] 识别盲手势并且管理盲控件的模块还具有放置组件以确定放大镜334的初始放置。该放置组件可以基于以下各项来选择放置位置:在唤出手势的输入之前或与之同时的接触点(可能在唤出手势期间继续)的位置,对最新近活跃的应用或用户界面元素的确定,特定类型的用户界面元素,具有指示其是潜在的唤出对象的属性的用户界面元素,次要硬件信号(例如,指示非唤出手的接近度的接近度信号),所显示的内容的类型,已经针对特定的盲控件自行注册的一系列应用(有可能基于最近使用或Z顺序而被优先化),等等。具有显示位置并且通常与唤出手势的位置无关的任何类型的图形或语义特征都可以被用作确定所唤出的盲控件的仿射性的基础。也可以使用对多个因素进行平衡的启发式方法。在另一实施例中,在盲控件已经被唤出之后,可以提供短时间窗口以接受任何接下来的触摸输入作为放置所唤出的控件的点。如果没有提供这样的输入,则进行自动放置。
[0061] 在图14底部所示出的控制阶段期间,唤出放大镜334的手平移以控制放大镜334的平移。对最外侧手指的伸展的改变重新设置放大镜334的尺度。例如,在图14中示出的拇指和无名指共同移动得更加接近,放大镜334减小为25个像素。在另一个实施中,主要手能够在放大镜334出现时将其拖动,同时次要手可以控制大小(通过对次要手的平移)和放大镜334的放大因数(通过伸展)。换句话说,盲控件可以具有由一只手以一种方式控制而同时由另一只手以另一种方式控制的图形。
[0062] 图14凸显了其中盲控件不依赖于应用或其他软件来与第一操作或区域相关联的实施例。上文所描述的示例或实施例中的任何一个都能够被实现为自行附加以对主要操作进行补充的全局工具,其中所述主要操作不知晓该补充。
[0063] 可以使用除图形以外的其他形式的反馈。例如,可以使用触觉或音频反馈来指示唤出事件、对盲控件的操控、和/或取消,这与不要求用户将其视觉注意力转离主要任务的设计目标相一致。
[0064] 优选地,如上文所讨论的,盲控件可以在控制平面处被唤出和控制,所述控制平面位于应用或其他用户软件“上方”。盲控件可以利用直接处于应用顶端的用户输入而被唤出和操控。要重申的是,一些盲控件不要求从唤出到控制的连续输入。
[0065] 如能够从以上实施例的描述中所看到的,实施例通过在与由第二只手执行的手势协作时改进对输入/输出设备及其状态的利用而提供了与计算设备的经改进的交互模式,以优化或增强由第一只手执行的图形用户操作。
[0066] 图15示出了以上所描述的实施例可以在其上实现的计算设备350的细节。本文中的技术公开将满足编程人员编写软件的需要、和/或配置可重复配置的处理硬件(例如,现场可编程门阵列)、和/或设计专用集成电路(专用集成电路)等,以在计算设备350上运行从而实现在本文中描述的特征或实施例中的任何一个。
[0067] 计算设备350可以具有一个或多个显示器106、网络接口354(或者多个),以及存储硬件356和处理硬件358,所述处理硬件358可以是以下中的任何一个或多个的组合:中央处理单元、图形处理单元模数转换器、总线芯片、FPGA、ASIC、应用专用标准产品(ASSP)、或者复杂可编程逻辑器件(CPLD)等。存储硬件356可以是以下的任何组合:磁性存储、静态存储器、易失性存储器、非易失性存储器、光学或磁性可读物质等。如本文所使用的术语“存储”的含义不是指信号或能量本身,而是指物理装置和物质的状态。计算设备300的硬件元件可以以计算领域理解的方式来协作。另外,输入设备可以与计算设备300相集成或相通信。计算设备300可以具有任何形状因子或者可以在任何类型的包含设备中使用。计算设备300可以是以下形式:诸如智能电话之类的手持设备、平板计算机、游戏设备、服务器、机架安装的或带基板的板载计算机、片上系统,等等。
[0068] 上文所讨论的实施例和特征可以以存储在易失性或非易失性计算机或设备可读的存储硬件中的信息的形式来实现。这被认为至少包括以下硬件,例如光学存储(例如,压缩盘只读存储器(CD-ROM))、磁性介质、闪速只读存储器(ROM),或者存储数字信息的任何电流或装置。所存储的信息可以采用机器可执行指令(例如,编译的可执行二进制码)、源代码、字节码的形式,或者是能够用于使能或配置计算设备执行在上文中所讨论的各种实施例的任何其他信息。这还被认为至少包括诸如随机存取存储器(RAM)之类的易失性存储器、和/或存储信息(例如,在程序执行期间实行实施例的中央处理单元(CPU)指令)的虚拟存储器、以及允许程序或可执行文件被加载和执行的存储信息的非易失性介质。实施例和特征可以在任何类型的计算设备上执行,所述计算设备包括便携式设备、工作站、服务器、移动无线设备等。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈