解释触摸屏上的有歧义输入的制作方法

文档序号:6593087阅读:206来源:国知局
专利名称:解释触摸屏上的有歧义输入的制作方法
解释触摸屏上的有歧义输入背景在触摸屏上直接触摸并操纵数据的能力对用户有强大的吸引力。在许多方面,触 摸屏可用作比传统鼠标更有利的输入机制。在使用触摸屏时,用户可以直接在他们想要选 择的用户界面元素上简单地轻击屏幕,而非必须使用鼠标将光标置于该用户界面上。然而, 用户通常发现难以像他们使用鼠标那样准确地在触摸屏上选择项或点击目标。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定 所要求保护的主题的范围。本发明的各实施例允许分析触摸屏显示器上的触摸以确定该触摸是否与点击目 标相对应。如果触摸屏上的触摸不与点击目标相对应,则可以执行搜索以确定邻近点击目 标。随后可以将该触摸与邻近点击目标相关联。本发明的又一些实施例涉及对触摸屏上的 可与超过一个点击目标相对应的触摸进行消歧。根据本发明的一实施例,可以提供便于相对于触摸屏显示器上的点击目标来准确 地确定触摸输入的目标的计算设备。该计算设备可包括对触摸屏显示器上的触摸进行传感 的触摸检测组件。该计算设备还可包括搜索邻近点击目标的目标确定组件以及便于将该触 摸与适当的点击目标相关联的消歧组件。本发明的这些和其他方面将在阅读以下说明书、附图和权利要求书后变得对本领 域的普通技术人员显而易见。附图简述下面将参考附图详细描述本发明,其中

图1是适用于实现本发明的示例性计算环境的框图;图2是示出根据本发明的一实施例的示例性系统的框图;图3是示出根据本发明的一实施例的对与显示在触摸屏显示器上的一个或多个 点击目标相关的有歧义触摸输入进行解释的示例性方法的流程图;图4是示出根据本发明的一实施例的用于确定与触摸的位置相对应的第一点击 目标的示例性算法的流程图;图5是示出根据本发明的一实施例的触摸目标解释算法的示例性执行的示意图; 以及图6是示出根据本发明的一实施例的消歧放大器的示例性屏幕截图。详细描述此处用细节来描述本发明的主题以满足法定要求。然而,该描述本身并非旨在限 制本专利的范围。相反,发明人设想所要求保护的主题还可结合其他当前或未来技术按照 其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽 管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当 明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。其中可实现本发明的各方面的示例性操作环境在下文中描述,以便为本发明的各 方面提供一般上下文。首先具体参考图1,示出了用于实现本发明的各实施方式的示例性操 作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示 例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应该将计算设备100解释 为对所示出的任一组件或其组合有任何依赖性或要求。本发明可以在计算机代码或机器可使用指令(包括由计算机或诸如个人数据助 理或其他手持式设备之类的其他机器执行的诸如程序模块之类的计算机可执行指令)的 一般上下文中来描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的 是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这 些系统配置包括手持式设备、消费电子产品、通用计算机、更专用计算设备等等。例如,本发 明可以在自动提款机(ATM)、移动电话、销售点设备、信息自助服务终端和投票亭中实施。本 发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实 施。参考图1,示例性计算设备100包括直接或间接耦合以下设备的总线110 存储器 112、一个或多个处理器114、一个或多个呈现组件116、输入/输出端口 118、输入/输出组 件120、和说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或 其组合)。尽管为了清楚起见用线条示出了图1的各框,但是在现实中,各组件的划界并不 是那样清楚,并且按比喻的说法,更精确而言这些线条将是灰色的和模糊的。例如,可以将 诸如显示设备等的呈现组件认为是I/O组件。而且,处理器具有存储器。可以认识到,这是 本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施方式来使 用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之 间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算设备”。计算设备100通常包括各种计算机可读介质。计算机可读介质可以是能由计算设 备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作 为示例而非限制,计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于 存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现 的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、 EPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁 带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任 何其他介质。存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可 以是可移动的、不可移动的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘 驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一 个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显 示设备、扬声器、打印组件、振动组件等等。I/O端口 118允许计算设备100在逻辑上耦合至包括I/O组件120的其他设备,其 中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描 仪、打印机、无线设备、键盘、笔、语音输入设备、触摸输入设备、触摸屏设备、交互式显示设备、或鼠标。如上所述,在一个实施例中,本发明涉及通过利用搜索邻近点击目标的算法来解 释与触摸屏显示器上的点击目标相关的有歧义的点击事件。另一实施例涉及用于检测触 摸,确定该触摸是应当与右击事件、左击事件、还是拖曳事件相对应,以及确定该触摸事件 是否应当发生的机制。转向图2,示出了例示根据本发明的一实施例的示例性计算设备200的相关组件 的框图。如图2所示,首先在触摸检测组件210中接收到触摸输入。触摸输入通常是由用 户生成的、使得诸如用户的手指或指示笔等对象与触摸屏设备的表面进行接触的输入。通 常,触摸屏不向用户显示允许使用指示笔或手指来确定目标的光标或任何其他反馈。虽然 涉及使用指示笔的许多应用程序具有悬停行为,其中光标或窗口小部件显示在指示笔的位 置的正下方,但其他应用程序和设备不具有这一特征。接受来自与触摸屏相接触的手指的 输入的大多数应用程序不提供这样的特征,或者如果它们提供,则光标通常只在触摸之后 出现因此对确定目标没有帮助。此外,因为用户的手指一般比指示笔大,所以用户更难以看到手指正下方是什么, 从而使得确定目标更加困难。在一些情况下,例如,在许多ATM的情况下,在触摸屏上布置 了使得触摸屏上的对象的外显位置失真(一种称为视差的现象)的保护性玻璃,这可使得 使用手指确定目标更加复杂。因此,显而易见,本发明可适用于接受来自指示笔或手指的触 摸屏输入的计算设备,但当本发明应用于手指输入的上下文中时,本发明所提供的优点可 能更重要。参考图2,触摸屏设备200可包括例如触敏显示屏。通常,触敏显示屏包括构建在 显示组件215上并被配置成呈现与显示组件215所显示的图像相对应的触摸表面的触摸检 测组件210 (即触摸传感器)。因此,用户可以通过触摸触摸检测组件210的位于所显示的 对象的正上方的部分来操纵该对象。在其他实施例中,如此处所使用的,触摸屏设备可包括 被配置成作为使用手指或诸如指示笔等其他物体触摸表面的结果向计算设备提供输入的 任何设备。例如,在一实施例中,触摸屏设备200可包括与显示组件215分开提供的触摸垫。显示组件215以类似于个人计算机上的典型监视器的方式显示图像。包括触摸屏 的便携式设备将可能因为液晶显示器的低重量和小深度而使用该显示器。其他显示器技术 是可能的,诸如例如阴极射线管、等离子屏、电发光屏、或有机发光二极管。在一实施例中,触摸检测组件210位于显示组件215之上。触摸检测组件210是 透明的以使得可通过其看见显示组件215。本领域中已知有许多触摸检测技术,包括四线、 五线及八线电阻、电容、近场、光学、以及声波。触摸检测组件210—般检测一组坐标轴内的 触摸,从而标识与触摸相对应的垂直和水平坐标。触摸的垂直和水平坐标被发送到图2中 示出的目标确定组件220。在一些实施例中,触摸检测组件可以检测多个同时触摸,这些触摸中的每一个与 特定一组坐标相对应。如本领域技术人员容易明白的,本发明的各方面可以在能够接收和 处理多个同时触摸的设备以及只能够处理单个触摸的设备中实现。目标确定组件220应用某一算法来确定触摸是否将触发点击事件。如本文全文中 所使用的,点击事件可包括可以通过触摸触摸屏设备来触发的任何类型的输入事件。在一 个实施例中,点击事件可包括诸如“左击”或“右击”等点击。本领域技术人员将容易理解,虽然术语“点击”最初是指通过按下位于鼠标上的按钮来触发的输入事件,但该术语现在可 宽泛地指通过用户输入触发的任何类似的事件,如通过触摸屏上的触摸。在一实施例中,点 击事件可包括诸如例如左击事件、右击事件、或拖曳事件等动作。例如,在使用鼠标时,用户 可以通过将与该鼠标相对应的光标定位在所需点击目标上方并按下且释放位于鼠标顶部 的左按钮来触发左击事件。类似地,根据本发明的一个实施例,用户可以例如通过轻击触摸屏上的位于所需 点击目标上方的位置来触发左击事件。用户可以例如通过将他或她的手指置于触摸屏上 点击目标上方的位置处并将他或她的手指保持在该位置处持续特定时间量来触发右击事 件。此外,在一实施方式中,用户可以通过将他或她的手指置于触摸屏上并且在不提起他或 她的手指的情况下将他或她的手指从触摸屏上的一个位置拖曳到其上的另一位置来触发 拖曳事件。在各实施例中,如本文所使用的,点击事件可包括其他输入事件,如拖曳、旋转轻 击、保持、敲击、保持-拖曳转点击、墨水拖曳、或姿势。目标确定组件220通过首先确定触摸的位置是否与点击目标的位置(可被称为点 击目标位置)相对应来确定触摸是否将触发点击事件。目标确定组件220随后应用某一算 法来确定触摸位置的附近是否存在一个或多个点击目标位置。表示触摸和相关联的点击目 标的数据在一消息中被发送到事件检测组件230。消歧组件230便于将触摸与适当的点击目标相关联。在一个实施例中,如果在触 摸位置的附近只找到一个点击目标位置,则消歧组件230通过将该触摸同与该点击目标位 置相对应的点击目标进行关联来生成点击事件。在一实施例中,该点击目标位置可以与触 摸的位置相对应。在另一实施例中,该点击目标位置可以与触摸的位置附近的位置相对应。 所得点击事件可由控制显示器215和触摸检测210组件的应用程序或操作系统实用程序使 用或显示。在又一实施例中,消歧组件230可以提供消除触摸的位置周围的区域的歧义的放 大器。在一实施例中,如果触摸的位置附近存在超过一个点击目标,则提供放大器。如此处 所使用的,放大器可包括显示包含点击目标的一部分用户界面的放大视图的任何用户界面 或对用户界面的修改。在一实施例中,放大器可以是例如叠加在第一用户界面上的第二用 户界面,从而给出将放大镜保持在第一用户界面的一部分上方的效果。在各实施例中,可以 配置放大器以使得用户可以用同用户可与显示在第一或任何其他用户界面上的对象进行 交互的完全相同的方式来与显示在该放大器内的对象进行交互。例如,用户能够对放大器 中呈现的对象执行任何数量的操作,如点击、拖曳、右击,等等。因此,可以在不牺牲用户界 面的任何功能的情况下提供放大器。简要转向图6,示出了根据本发明的一实施例的例示了消歧放大器的示例性屏幕 截图。在该示例中,呈现了作为第二用户界面的给出保持在第一用户界面620的一部分的 上方的放大透镜的效果的放大器610。如图6所示,用户界面620包括诸如在电话上找到的 小键盘等虚拟小键盘的显示画面。在该示例中,计算设备确定存在位于触摸的位置附近的 两个点击目标630。如图6所示,放大器610将位于触摸位置附近的点击目标630显示成比 也可以是点击目标的其他对象640更大。在图6所示的实施例中,放大器610通过在该放 大器的中心提供最大放大程度来给出“鱼眼”透镜的效果。放大程度朝该放大器的外边逐 渐降低,如在650所示。图6所示的图示只是可根据本发明的各实现利用的放大器的示例。
现在转向图3,提供了示出根据本发明的一实施例的用于对与显示在触摸屏显示 器上的一个或多个点击目标相关的有歧义触摸输入进行解释的示例性方法300的流程图。 虽然方法300被呈现成一系列步骤,但本领域技术人员将明白,根据本发明的涉及图3示出 的相同或相似步骤的类似方法可以但以不同的次序来执行。该示例中的任何方面都不旨在 将这样的方法的实现限于此处所示的特定步骤次序。最初,如在步骤310所示,在被选择来控制触摸屏显示器的应用程序或操作系统 实用程序的指导下,将一个或多个点击目标显示在触摸屏显示器上。点击目标可以是与触 摸屏显示器的规定区域相对应的对象,即点击目标位置,配置这些点击目标位置以便与触 摸屏的这些规定区域进行接触使得应用程序或操作系统实用程序如同典型计算机监视器 的类似区域被鼠标点击了那样来作出响应。点击目标位置可包括触摸屏显示器上的一个或 多个像素。如本领域技术人员将容易明白的,点击目标可以例如由诸如JPEG或GIF等图像、 按钮、滚动条、文本等来表示。本领域技术人员将明白,点击目标可包括结合交互式显示系 统使用的任何数量的各种对象。另外,点击目标可被配置成能够移动到触摸屏显示器上的 不同位置。例如,一般可以利用鼠标来将表示文件夹内的文件的图标从一个位置拖曳到另 一位置。这样的图标是点击目标的示例,并且显而易见的是许多这样的点击目标能够以各 种方式被移动和操纵,如通过将第一文件夹拖曳“进”第二文件夹,从而使得第一文件夹成 为第二文件夹的子文件夹。本发明可适用于在点击目标的这些以及其他已知应用中的任一 个的上下文中操作。再次参考图3,如在步骤320所示,当在触摸屏上显示点击目标之后,可在第一触 摸屏位置处检测到触摸。在本发明的一实施例中,例如,触摸是通过标识表示触摸屏上的用 户的手指所接触的位置的一对坐标来检测的。该触摸可以在触摸屏上的与点击目标相对应 的位置中作出或不在该位置中作出。触摸例如可包括用户轻击触摸屏、将他或她的手指搁 在触摸屏上、或跨触摸屏来移动他或她的手指。此外,触摸屏可被配置成检测与任何物体的 接触,或可被配置成只检测来自诸如指示笔等特定物体的接触。如图3所示,在步骤330,一旦检测到触摸,则进行搜索以寻找与该触摸的位置相 关联的预定点击区域内的第一点击目标位置。在本发明的一个实施例中,通过查询点击目 标所关联的应用程序来标识点击目标位置以确定显示器的哪些像素与点击目标相对应,因 为应用程序可能定义了它们。在本发明的一个实施例中,使用可访问性框架来查询该应用 程序。如本文所使用的,可访问性框架可包括能够查询应用程序以接收与用户界面上的 对象有关的信息的任何框架、系统、程序、或应用程序。接收到的信息可包括诸如对象是否 是点击目标等信息。例如,可访问性框架可包括诸如可从华盛顿州雷蒙德市的微软公司 获得的微软 ActiveAccessibility 、同样可从华盛顿州雷蒙德市的微软公司获得的微软 UIAutomation、以及可从纽约州阿蒙克市的国际商业机器公司获得的IAccessible2等 框架。在另一实施例中,本领域技术人员将明白,点击目标可以通过使用被配置成走查 文档树的应用程序专用代码来标识。在又一实施例中,可以提供新应用程序可向其注册以 便于标识点击目标的插件模型。在又一实施例中,通过提供检测特定情况并使得调用本文描述的方法或组件的特定变型的代码,可基于与其相关联的各种属性来将本文描述的这些 方法的变型应用于不同的应用程序、窗口、或框架。另外,如本领域技术人员将容易明白的, 本文描述的方法和系统在某些情况下可能是不适当的,并且本发明可被配置成检测这些情 况,如通过从应用程序接收提示或通过执行自动地检测该情况的代码。在这样的情况下,可 以禁用本发明的各方面以提供经改进的用户体验。在本发明的一实施例中,第一点击目标位置是与第一点击目标相对应的触摸屏位 置。本领域技术人员将明白,为执行步骤330-390,可以使用某一算法来检查与触摸的位置 相关联的预定点击区域内的连续的测试位置以确定测试位置中的任一个是否与点击目标 位置相对应。这样的算法的示例在以下参考图4讨论。在一实施例中,与触摸位置相关联 的预定点击区域可以由一组测试位置来定义。例如,在一个实施例中,预定点击区域可以与 触摸屏的、围绕触摸位置的、由距触摸位置最远的测试位置来定界的区域相对应。在另一实 施例中,可以例如通过选择特定数量的测试位置来定义预定点击区域。在各种其他实施例 中,点击区域可以任意地定义或根据本领域技术人员已知的任何数量的各种其他策略来定 义。在一个实施例中,点击区域的边界可以是使计算时间作为其输入的函数的输出。在这 样的实施例中,该算法将在自它开始后过去了特定时间量之后停止。继续参考图3,如在步骤340所示,作出关于作为步骤300的搜索的结果是否找到 第一点击目标位置的判定。如果未找到第一点击目标,则将触摸与该触摸位置相关联,如在 步骤350所示,并且不触发点击事件。如果在预定点击区域找到第一点击目标,则如在步骤 360所示,执行进一步搜索以确定预定点击区域中是否存在任何附加点击目标位置。本领域 技术人员将理解,任何给定点击区域中可存在任何数量的点击目标位置。如在图3的步骤370所示,作出关于在预定点击区域中是否找到任何附加点击目 标位置的判定。如果未找到附加点击目标,则如在步骤380所示,将触摸同与第一点击目标 位置相对应的第一点击目标相关联。在一个实施例中,这一关联可以在没有来自用户的任 何进一步输入的情况下自动地执行。在其他实施例中,可以向用户呈现是否将触摸与第一 点击目标进行关联的选项。在另一方面,如果在预定点击区域中找到了附加点击目标位置,则如在图3的步 骤390所示,消除该触摸的歧义。在一个实施例中,如以上参考图6所讨论的,可以通过提 供放大器来消除该触摸的歧义。在各实施例中,可以通过提供向用户呈现选项的附加用户 界面来消除触摸的歧义。在又一实施例中,可以通过使用诸如加亮或发光效果等视觉效果 以突出显示点击目标来消除触摸的歧义。在其他实施例中,可以使用上述消歧技术的各种 组合。在又一些实施例中,可以通过任何其他可用技术来消除触摸的歧义。放大器可以显示与在预定点击区域内找到的两个点击目标位置相对应的两个点 击目标的放大表示。因此,用户能够更准确地触摸所需点击目标,此时用户的触摸可以与正 确的点击目标相关联。在各实施例中,放大器可以提供所定位的所有点击目标的放大视图。 在又一些实施例中,放大器可以只提供所定位的点击目标中的某一些的放大视图。现在转向图4,示出了例示根据本发明的一实施例的用于搜索预定点击区域内的 点击目标位置的示例性算法400的流程图。显而易见的是,图4中示出的示例性算法可被 用来执行方法300的各个步骤,如步骤330-390,但可以理解,这些步骤的顺序可以不与图3 所示的顺序等同。在其他实施例中,诸如图4中示出的示例性算法等算法可以独立于诸如方法300等方法来使用。这样的变型可出于各种原因来使用,如用于计算效率或用于更直 接的编程。诸如图4中示出的步骤的顺序等变型处于本发明的范围内。在图4中示出的示例性实施例中,预定点击区域由一组测试位置{T(l), T (2), ...,T(N)}来定义,其中N是测试位置的数量。另外,为清楚起见,术语“点击目标 位置”在图4中缩写成“CTL”。点击区域的定义以及N的值的选择可以由应用程序、由操 作系统、由系统管理员、或由能够查明触摸屏上的点击目标的位置的任何其他实体来作出。 例如,在一个实施例中,选择N以便建立足够的测试位置来有效地搜索区域而同时维持计 算效率。如本领域技术人员将容易明白的,预定点击区域的定义以及N的值的选择可以基 于任何数量的因素,如屏幕布局的性质、点击目标的位置、点击目标与其他点击目标的邻近 度、在其上实现本发明的设备、提供点击目标的应用程序的性质、用户的性质,等等。此外, 本领域技术人员容易明白,可以用各种方式来修改算法400,如通过以另一方式定义预定点 击区域或以不同次序执行各个步骤。如图4所示,示例性算法400的第一步骤401是确定触摸是否是在与点击目标相 对应的位置处作出的,即触摸位置是否也是点击目标位置。如果触摸位置是点击目标位置, 则该算法进行至步骤402,在那里点击目标位置计数加1。如在步骤402所示,点击目标位 置计数可包括可用于跟踪在预定点击区域中找到的点击目标位置的计数的任何编程机制 或技术。本领域技术人员将理解,存在多种这样的技术。在一实施例中,如图4所示,例如, 一种这样的技术包括定义变量COUNT (计数)、最初将COUNT设成等于0、并且当在预定点击 区域中每次找到点击目标位置时将COUNT的值加1。因此,在步骤401,COUNT的值是0,并 且在步骤402,COUNT的值加1,从而将该值设成1。在增加了 COUNT的值之后,该算法继续 至步骤403。如图4所示,容易理解,如果触摸位置不是点击目标,则跳过步骤402并且该算 法直接进行至步骤403。在步骤403,检查第一测试位置T(I)以确定T(I)是否与点击目标相对应,即T(1) 是否是点击目标位置。第一测试位置T(I)可以基于任何数量的因素和优化来选择,并且可 以位于相对于触摸位置的任何数量的不同方向上。在一实施例中,例如,T(I)可以位于触 摸位置上方一个或多个像素处。在另一实施例中,T(I)可以位于触摸位置下方一个或多个 像素处。在又一些实施例中,T(I)可以位于触摸位置的右侧或左侧。在又一些实施例中, T(I)可以位于自触摸位置的对角方向上。触摸位置与T(I)之间的方向和距离(例如,像素 数)可以自动地或手动地选择,并且可以基于显示器、应用程序、或适当的硬件或软件的任 何其他组件的特性和属性来确定。如本领域技术人员将明白的,附加测试位置中的任一个 或全部可以位于任何数量的各种位置处以及任何数量的各种配置中,其细节不旨在受本文 的实施例的描述的限制。如在步骤404所示,如果T (1)是点击目标位置,则COUNT的值加1并且该算法继 续至步骤405。同样,可以理解,如图4所示,如果T(I)不是点击目标位置,则该算法将跳过 步骤404并且直接从步骤403移至步骤405。在步骤405,检查第二测试位置T (2)以确定 T (2)是否是点击目标位置。第二测试位置T(2)可以位于触摸屏上的任何位置。在一个实施例中,如果T(I)处 于触摸位置上方,则Τ(2)可以是该触摸位置下方一个或多个像素。在另一实施例中,Τ(2) 可以定向到触摸位置的右侧或左侧或T(I)的右侧或左侧。在又一实施例中,Τ(2)可以位于T(I)上方。在又一些实施例中,T(2)可以位于定向在相对于T(I)或触摸位置的对角线 方向的某一点处。在本发明的各实施例中,Τ(2)的位置可以基于在选择T(I)的位置时考 虑的相同准则。如在步骤406所示,如果Τ(2)是点击目标位置,则如以上参考步骤404所述, COUNT的值加1并且该算法随后进行至步骤407。同样,如果T(2)不与点击目标位置相对 应,则将跳过步骤406并且该算法将直接进行至步骤407。如上所述,可以选择并检查任何 数量(例如N)的连续测试位置。可以理解,根据本发明的各实施例,置于步骤405和407 之间的虚线箭头指示可以检查一个或多个附加测试位置。然而,为提供对算法400的清楚 理解,本文将只讨论最后测试位置T(N),但这一讨论不旨在限制本领域技术人员相对于本 发明的各实现可用的各个参数和选项。例如,在一个实施例中,点击区域可以只具有两个测 试位置,即N = 2。在其他实施例中,点击区域可具有任何数量的其他测试位置。在步骤407,如图4所示,检查测试位置T (N)以确定其是否是点击目标位置。如果 T(N)是点击目标位置,则在步骤408,COUNT的值加1。如图所示,该算法继续至步骤409。 如上所述,如果T (N)不是点击目标位置,则跳过步骤408并且该算法直接进行至步骤409。在步骤409,检查COUNT的值以确定该值是否是0。COUNT值是0指示测试位置中 没有一个是点击目标位置,即在T(l),T⑵,...,T(N)所定义的预定点击区域内未找到点 击目标位置。因此,在步骤410,如果COUNT的值是0,则将触摸与触摸位置相关联并且不触 发点击事件。这一结果例如在用户不打算触摸点击目标的情况下是有用的。例如,用户可 以点击应用程序窗口的空白部分以将焦点移至该窗口。如果COUNT的值不是0,则该算法进 行至步骤411。在步骤411,作出COUNT的值是否大于1的判定。COUNT大于1指示在预定点击区 域内找到了超过一个点击目标位置。如果COUNT的值大于1,则如在步骤412所示,如以上 参考图2和3所述,消除点击区域的歧义。如果COUNT的值不大于1,即COUNT的值等于1, 则该算法进行至步骤413。COUNT等于1指示在预定点击区域内只找到了一个点击目标位 置。如在步骤413所示,如果COUNT的值等于1,则将触摸与第一点击目标位置(S卩,所标识 的那一个点击目标位置)相关联。简要转向图5,示出了根据本发明的一实施例的例示算法400的示例性实现的示 意图。本领域技术人员将显而易见的是,图5中示出的实施例表示许多可能实施例之一,并 且不旨在限制本发明的范围。触摸由箭头(即光标)501的图示来指示,并且在该示例中,点 击目标502被示为“0K”按钮。当在触摸位置503处检测到触摸501时,作出触摸位置503 不与点击目标502相对应的判定。因此,检查位于触摸位置503正上方的第一测试位置504 以确定第一测试位置504是否与点击目标502相对应。虽然未在图5的示例性实施例中示 出,但在本发明的各种其他实施例中,第一测试位置504可以位于触摸位置503下方、触摸 位置503的左侧或右侧、或者测试位置503的右侧。在确定第一测试位置504不与点击目标502相对应后,根据图5所示的实施例,检 查位于触摸位置503正下方的第二测试位置505以确定第二测试位置505是否与点击目标 502相对应。与第一测试位置504 —样,在图5未示出的各实施例中,第二测试位置可以位 于触摸位置503上方、第一测试位置504上方、或这两位置中的任一位置的右侧或左侧。根 据本发明,构想了任何这些位置或其组合。
在一个实施例中,每一连续测试位置的位置可以由用户、由系统、由系统管理员、 由应用程序、或由计算机程序员来确定,并可包括被设计成检查连续测试位置的任何模式 或算法。例如,在一个实施例中,连续测试位置可以位于沿从触摸位置503向外延伸的螺旋 形状的各个点处。在其他实施例中,连续测试位置可被安排在对角线上。构想了任何其他 模式或设计处于本发明的范围内。类似地,检查第三测试位置506、第四测试位置507、以及第五测试位置508,其中 如图5所示,确定第五测试位置508与点击目标502相对应。如可理解的,本发明的各实施例提供用于通过检测触摸,并且在该触摸相关于触 摸屏上显示的一个或多个点击目标而言有歧义的情况下将该触摸解释成与附近的第一点 击目标相关联,来解释来自触摸屏的输入事件的方法。本发明的其他实施例通过显示放大 预定点击区域的放大器来提供对触摸的消歧。本发明的又一些实施例提供用于将触摸解释 成点击事件的系统和计算设备。根据各实施例,可以使用可访问性调用以标识并解释给定用户界面的点击目标和 其他方面来在计算环境内实现本发明。如本领域技术人员将容易明白的,可访问性调用可 通过诸如例如可访问性程序等代码来调用。在这样的实现中,不必重写应用程序以与本发 明的各实施例的实现相兼容。在本发明的又一些实施例中,本文描述的方法可以在特定应 用程序或系统内实现,或以本领域技术人员已知的任何其他方式来实现。在本发明的一些实施例中,本文描述的系统和方法可以同时使用其他消歧技术来 实现。在其他实施例中,本发明可以在多触摸触摸屏系统中实现。本发明的各种其他实施 例提供对诸如指示笔等工具在触摸屏上的触摸的解释。参考各具体实施例描述了本发明,各具体实施例在所有方面都旨在是说明性的而 非限制性的。不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员 将变得显而易见。从前面的描述可以看出,本发明很好地适用于实现上文所阐述的目的和目标,并 且具有对于该系统和方法是显而易见且固有的其他优点。也可理解特定的特征和子组合是 有用的,并且可以加以利用而无需参考其他特征和子组合。这由权利要求所构想的,并在权 利要求的范围内。
权利要求
一个或多个其上包括机器可使用指令的计算机可读介质,所述机器可使用指令用于执行一种解释与触摸屏显示器上的一个或多个点击目标相关的有歧义的点击事件的方法,所述方法包括在显示屏显示器上显示一个或多个点击目标(310),其中所述点击目标被显示在相应点击目标位置处;检测第一触摸屏位置处的触摸(320);搜索所述第一触摸屏位置的预定点击区域内的所述点击目标位置中的第一个(330);在定位了所述预定点击区域内的所述点击目标位置中的第一个后,搜索所述预定点击区域内的所述点击目标位置中的第二个(360);以及如果没有定位所述预定点击区域内的所述点击目标位置中的第二个,则将所述触摸与同所述点击目标位置中的第一个相对应的第一点击目标进行关联(380)。
2.如权利要求1所述的一个或多个计算机可读介质,其特征在于,在定位了所述预定 点击区域内的所述点击目标位置中的第二个之后,还包括提供放大器,其中所述放大器包 括具有所述预定点击区域的放大视图的用户界面。
3.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述触摸包括与所 述触摸屏进行接触的用户手指。
4.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述触摸包括与所 述触摸屏进行接触的指示笔。
5.如权利要求1所述的一个或多个计算机可读介质,其特征在于,搜索所述点击目标 位置中的第一个包括确定所述第一触摸屏位置是否是点击目标位置;以及如果所述第一触摸屏位置不是点击目标位置,则搜索所述第一触摸屏位置上方的一个 或多个像素。
6.如权利要求5所述的一个或多个计算机可读介质,其特征在于,如果在所述第一触 摸屏位置上方的一个或多个像素处未找到点击目标,则搜索所述第一触摸屏位置下方的一 个或多个像素。
7.如权利要求1所述的一个或多个计算机可读介质,其特征在于,如果没有在所述点 击区域内定位点击目标,则确定所述触摸不应与点击目标相关联。
8.一种便于相对于触摸屏显示器来准确地确定触摸输入的目标的计算设备,包括显示与应用程序相关联的一个或多个点击目标的显示组件(215),其中所述一个或多 个点击目标中的每一个与点击目标位置相对应;对触摸屏显示器上的触摸进行传感的触摸检测组件(210),其中所述触摸与第一触摸 屏位置相对应;搜索与所述第一触摸位置相关联的预定点击区域内的一个或多个点击目标的目标确 定组件(220);以及在所述预定点击区域内找到了超过一个点击目标的情况下提供所述预定点击区域的 放大视图的消歧组件(230)。
9.如权利要求8所述的计算设备,其特征在于,所述触摸包括与不是点击目标位置的 第一触摸屏位置相关联的有歧义的触摸。
10.如权利要求8所述的计算设备,其特征在于,所述触摸包括与作为至少两个点击目 标位置之一的第一触摸屏位置相关联的有歧义的触摸,其中所述至少两个点击目标位置位 于所述预定点击区域内。
11.如权利要求8所述的计算设备,其特征在于,所述目标确定组件通过查询所述应用 程序来搜索预定点击区域内的一个或多个点击目标。
12.如权利要求11所述的计算设备,其特征在于,查询所述应用程序包括使用可访问 性框架来确定位于所述预定点击区域内的一个或多个对象是否是点击目标。
13.如权利要求8所述的计算设备,其特征在于,所述预定点击区域包括所述触摸屏的 其中具有预定数量的测试位置的区域。
14.如权利要求8所述的计算设备,其特征在于,所述点击区域包括所述触摸屏的具有 基于所述触摸屏显示器的特性和生成所述点击目标的应用程序的特性来选择的边界的区 域。
15.如权利要求8所述的计算设备,其特征在于,如果在所述预定点击区域内只找到一 个点击目标,则所述消歧组件将所述点击目标与所述触摸相关联。
16.一种用于解释和与一应用程序相关联的一个或多个点击目标有关的触摸的方法, 其中所述点击目标显示在触摸屏显示器上,所述方法包括检测第一触摸屏位置处的触摸(320);查询所述应用程序以确定位于所述第一触摸屏位置的预定点击区域内的第一点击目 标(401);在确定位于所述预定区域内的第一点击目标后,查询所述应用程序以确定第二点击目 标是否位于所述预定点击区域内(403);以及在确定第二点击目标位于所述预定点击区域内后,显示所述预定点击区域的放大视图 (600)。
17.如权利要求16所述的方法,其特征在于,所述预定点击区域包括所述触摸屏的其 中具有预定数量的测试位置的区域。
18.如权利要求17所述的方法,其特征在于,确定第一点击目标包括确定第一触摸屏位置是否是点击目标位置,其中点击目标位置是所述触摸屏显示器上 的与点击目标相对应的位置;如果否,则确定第一测试位置是否是点击目标位置,其中所述第一测试位置位于所述 第一触摸屏位置上方一个或多个像素处;如果否,则确定第二测试位置是否是点击目标位置,其中所述第二测试位置位于所述 第一触摸屏位置下方一个或多个像素处;以及如果否,则确定第三测试位置是否是点击目标位置,其中所述第三测试位置位于所述 第一测试位置上方一个或多个像素处。
19.如权利要求18所述的方法,其特征在于,还包括确定所述测试区域内的预定数量 的测试位置中的任一个是否是点击目标位置,其中如果确定所述点击区域中的预定数量的 测试位置中没有一个是点击目标位置,则确定所述触摸不应与点击目标相关联。
20.如权利要求17所述的方法,其特征在于,在所选时间量之后,如果所述点击区域中 没有一个测试位置被确定为点击目标位置,则确定所述触摸不应与点击目标相关联。
全文摘要
一种用于解释与触摸屏显示器上的布置在相应点击目标位置处的点击目标相关的有歧义的点击事件的方法,该方法包括检测触摸位置处的触摸并确定该触摸位置是否与点击目标位置相对应。该方法还包括搜索预定点击区域中的邻近点击目标位置,并且在定位了该预定点击区域内的第一点击目标位置后,将该触摸与该第一点击目标位置进行关联以标识点击事件。一种用于便于相对于触摸屏显示器来准确地确定触摸输入的目标的计算设备,该计算设备包括显示组件;触摸检测组件;将触摸与点击目标进行关联的目标确定组件;以及将该触摸与右击事件、左击事件、或拖曳事件之一进行关联的事件检测组件。
文档编号G06F3/041GK101971127SQ200980108885
公开日2011年2月9日 申请日期2009年2月16日 优先权日2008年3月11日
发明者C·德瓦拉杰, D·A·佩里, D·A·马修斯, L·B·基利, R·J·邓肯, S·P·德格, T·H·阿尔菲恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1