用于识别用户界面元素的技术以及使用其的系统和设备

文档序号:1676840 发布日期:2019-12-31 浏览:9次 >En<

阅读说明:本技术 用于识别用户界面元素的技术以及使用其的系统和设备 (Techniques for identifying user interface elements and systems and devices using same ) 是由 W·利德尔 P·克莱门斯 T·苏切 于 2018-05-18 设计创作,主要内容包括:本公开的实施方案整体涉及用于识别用户界面(UI)中的元素的技术,并且更具体地讲,涉及用于确定在接触敏感用户界面上选择的UI元素的技术以及使用这些技术来提供一个或多个触觉响应。(Embodiments of the present disclosure relate generally to techniques for identifying elements in a User Interface (UI), and more particularly, to techniques for determining UI elements selected on a contact-sensitive user interface and using these techniques to provide one or more haptic responses.)

用于识别用户界面元素的技术以及使用其的系统和设备

优先权声明

本申请根据35U.S.C.§119(e)要求2017年5月18日提交的美国临时专利申请序列号62/507,902的权益,该临时专利申请的公开内容据此全文以引用方式并入本文。

技术领域

本公开的实施方案整体涉及用于识别用户界面(UI)中的元素的技术,并且更具体地讲,涉及用于确定在接触敏感用户界面上选择的UI元素的技术以及使用这些技术来提供一个或多个触觉响应。

背景技术

包含触摸感测的触摸界面用于多种应用,包括例如在平板计算机、个人计算机、智能电话和其他消费产品中。它们还用作汽车、家用电器(例如,冰箱、烤箱、洗衣机/烘干机等)、加热和空调控制系统、安全系统和自动柜员机(ATM)的控制面板。这些应用中的触摸界面可以是例如触摸板,或者可以包括屏幕和图形用户界面(GUI)。

一般来讲,需要具有足够的响应性和准确性以与许多应用一起使用的触摸界面。

附图说明

通过结合以下附图的详细描述,本公开的实施方案的目的和优点对于本领域的技术人员将是显而易见的。专利或申请文件包含至少一张彩色附图。专利局将根据必要费用的请求和支付提供具有彩色附图的本专利或专利申请公开的副本。

图1是示出生成和使用搜索任务列表来识别GUI中接触的UI元素的过程的泳道图。

图2是根据本公开的一个实施方案的用于生成搜索任务列表的过程的流程图。

图3是根据本公开的一个实施方案的从UI结构定义中提取UI元素的过程的流程图。

图4是根据本公开的一个实施方案的生成中间搜索树的过程的流程图。

图5是根据本公开的一个实施方案的生成搜索任务树的过程的流程图。

图6是根据本公开的一个实施方案的生成搜索任务列表的过程的流程图。

图7是根据本公开的一个实施方案的确定在UI元素内是否发生触摸的过程的流程图。

图8示出了由UI元素组成的无线电GUI的实施方案。

图9示出了根据本公开的实施方案分组的图8的无线电GUI的UI元素。

图10示出了根据本公开的实施方案形成的树形结构中的UI元素。

图11示出了包含搜索任务列表的系统的实施方案。

图12示出了包括与无线电GUI的至少一些UI元素相关联的特征和参数的无线电GUI的实施方案。

图13示出了作为子系统并入汽车的主机中的图11的系统的实施方案。

发明内容

一般来讲,本公开的一些实施方案涉及一种创建用于搜索在接触敏感屏幕上显示的图形用户界面(GUI)的元素的指令的方法。方法包括解析GUI定义并响应于解析而识别GUI的元素;创建包括已识别元素的条目的记录;将已识别元素与相似定位的元素组相关联;将已识别元素的记录布置成树形结构;将相同组中的已识别元素折叠成树形结构中的单个叶;优化树形结构;以及响应于树形结构而创建搜索指令列表。

一般来讲,本公开的一些实施方案涉及一种用于使得计算机能够创建可执行指令以搜索图形用户界面(GUI)的元素的计算机程序产品。程序产品可以包括计算机可读介质和在计算机可读介质上的软件指令。计算机可读介质上的软件指令适于使得计算机能够执行以下操作:解析GUI定义并响应于所解析的GUI定义而识别GUI的元素;创建包括已识别元素的条目的记录;将已识别元素与相似定位的元素组相关联;将已识别元素的记录布置成树形结构;将相同组中的已识别元素折叠成树形结构中的单个叶;优化树形结构;以及响应于树形结构而创建搜索指令列表。

本公开的一些实施方案整体涉及可操作地耦接到被配置为显示图形用户界面(GUI)的触摸屏的微控制器。微控制器包括至少一个处理器和存储在非暂态存储介质上的一个或多个可执行指令。指令在由处理器执行时适于使得处理器能够:确定在触摸屏处的感测触摸的位置;以及识别与对应于感测触摸的触摸位置相关联的GUI元素。

一般来讲,本公开的一些实施方案涉及一种识别在触摸屏处显示的图形用户界面(GUI)的元素的方法。方法包括确定在触摸屏处的感测触摸的位置;响应于位置而执行一个或多个搜索指令,其中一个或多个搜索指令中的每个搜索指令对应于GUI元素,并且在被执行时适于返回搜索结果;以及响应于搜索结果而识别GUI元素。

本公开的一些实施方案整体涉及一种系统。系统包括显示子系统和触摸子系统。显示子系统被配置为控制显示器。触摸子系统包括触摸传感器和触摸控制器。触摸控制器被配置为确定在触摸传感器处的感测触摸的位置;响应于位置和搜索树而执行一个或多个搜索指令,其中一个或多个搜索指令中的每个搜索指令对应于GUI元素,并且在被执行时适于返回搜索结果;响应于搜索结果而识别GUI元素;以及响应于已识别GUI元素而生成触觉控制消息。

具体实施方式

在以下具体实施方式中,参考了形成本公开的一部分的附图,并且在附图中以举例的方式示出了可实施本公开的实施方案的特定示例。充分详细地描述了这些实施方案,以使本领域的普通技术人员能够实践本公开。然而,可利用其他实施方案,并且可在不脱离本公开的范围的情况下进行结构、材料和方法的变化。本文所呈现的图示并不旨在为任何特定方法、系统、设备或结构的实际视图,而仅仅是用于描述本公开的实施方案的理想化表示。本文所呈现的附图未必按比例绘制。为了读者的方便,各附图中的类似结构或部件可保持相同或相似的编号;然而,编号的相似性并不意味着所述结构或部件在尺寸、组成、配置或任何其他特性方面必须是相同的。

应当容易理解,如本文一般所述并且在附图中示出的实施方案的部件可以许多种不同的构造来布置和设计。因此,对各种实施方案的以下描述并不旨在限制本公开的范围,而是仅代表各种实施方案。虽然实施方案的各个方面可在附图中给出,但是附图未必按比例绘制,除非特别指明。

以下描述可包括示例以帮助本领域的普通技术人员实践本发明所公开的实施方案。使用术语“示例性的”、“通过示例”和“例如”是指相关描述是说明性的,虽然本公开的范围旨在涵盖示例和法律等同形式,但使用此类术语并不旨在将实施方案或本公开的范围限制于指定的部件、步骤、特征或功能等。

此外,所示出和描述的特定实施方式仅为示例,并且不应理解为实施本公开的唯一方式,除非本文另外指明。元件、电路和功能可以框图形式示出,以便不以不必要的细节模糊本公开。相反,所示出和描述的特定实施方式仅为示例性的,并且不应理解为实施本公开的唯一方式,除非本文另外指明。另外,块定义和各个块之间逻辑的分区是特定实施方式的示例。对于本领域的普通技术人员将显而易见的是,本公开可通过许多其他分区解决方案来实践。在大多数情况下,已省略了关于时序考虑等的细节,其中此类细节不需要获得本公开的完全理解,并且在相关领域的普通技术人员的能力范围内。

本领域的普通技术人员将会理解,可使用多种不同技术和技法中的任何一者来表示信息和信号。例如,可在整个本说明书中参考的数据、指令、命令、信息、信号、位、符号和芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或者它们的任何组合来表示。为了清晰地呈现和描述,一些附图可以将信号示出为单个信号。本领域的普通技术人员应当理解,信号可表示信号总线,其中总线可具有多种位宽度,并且本公开可在包括单个数据信号在内的任意数量的数据信号上实现。

结合本文所公开的实施方案描述的各种例示性逻辑块、模块和电路可使用通用处理器、专用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者被设计成执行本文所述的功能的其他可编程逻辑设备、离散栅极或晶体管逻辑、离散硬件部件或它们的任何组合来实现或实施。通用处理器(在本文中也可称为主机处理器或仅称为主机)可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实现为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器或任何其他此类配置。在通用计算机被配置为执行与本公开的实施方案相关的计算指令(例如,软件代码)时,包括处理器的通用计算机被认为是专用计算机。

实施方案可根据被描绘为流程图、流程示意图、结构图或框图的过程来描述。虽然流程图可将操作动作描述为顺序过程,但是这些动作中的许多动作可在另一序列中、并行地或基本上同时地执行。此外,可重新安排动作的顺序。过程可以对应于方法、线程、函数、程序、子例程、子程序等。此外,本文所公开的方法可以在硬件、软件或两者中实现。如果在软件中实现,这些函数可作为一个或多个指令或代码存储或传输到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质两者,该通信介质包括有利于将计算机程序从一个位置传递到另一个位置的任何介质。

除非明确说明此类限制,否则使用名称诸如“第一”、“第二”等对本文的元件的任何引用不限制那些元件的数量或顺序。相反,这些名称可在本文中用作在两个或更多个元件或元件的实例之间进行区分的便利方法。因此,提及第一元件和第二元件并不意味着在那里只能采用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另外指明,一组元件可包括一个或多个元件。

如本文所用,涉及给定参数、特性或条件的术语“基本上”是指并且包括在本领域的普通技术人员将会理解的给定参数、特性或条件满足小程度的方差的程度,诸如例如在可接受的制造公差内。以举例的方式,取决于基本上符合的具体参数、特性或条件,参数、特性或条件可至少满足90%、至少满足95%、或甚至至少满足99%。

一般来讲,本公开中描述的各种实施方案涉及用于确定在接触敏感用户界面上选择的UI元素的技术以及使用这些技术来提供一个或多个触觉响应。如出于本文所述的实施方案的目的而理解的,接触传感器可响应于对象(诸如手指或触笔)与触摸界面的接触敏感区域接触或对象接近触摸界面的接触敏感区域。在本公开中,“接触”通常是指对象与接触敏感区域的物理接触,但它也可包含对象的紧密接近,该紧密接近通过接触传感器产生可测量的响应。另外,接触敏感区域是指触摸界面上的其中接触传感器可响应于对象接触的物理区域。

如本文所使用的接触敏感GUI是指与GUI集成的触摸界面。例如,GUI通常包括一个或多个显示区域和活动/可激活区域。在本公开中,显示区域是用户界面的向用户显示信息的区域。可激活区域是GUI的允许用户相对于用户界面采取某种动作的区域,诸如按钮、滑块或菜单。一些显示区域也是可激活区域,因为它们显示信息并且可以采取某种动作。在接触敏感GUI中,接触其上显示有活动区域的触摸敏感区域可以激活该区域(例如,轻敲触摸屏上的GUI按钮)。活动区域可以被显示为GUI元素/对象,例如全部具有各种形状和尺寸的按钮、滑块、可选窗格、菜单等。

一般来讲,如果在接触敏感区域处感测到接触,则使用一定过程来确定接触所对应于的GUI的活动区域(如果有的话)。例如,如果轻敲“ENTER”按钮,则测量该接触并且响应于所测量的接触,过程确定接触位于“ENTER”按钮处。ENTER按钮是活动区域,因此在触摸敏感GUI和/或调用GUI的基础应用程序中创建事件。

另外,如果特定GUI元素与活动区域相关联,则与触摸界面集成的致动器可以提供一个或多个物理响应(通常称为触觉响应)。这些可以是以力、振动或移动的形式,并且可以模仿表面纹理、脊、边缘、交互(诸如按下/单击按钮)、以及其他模拟的感觉和响应。在GUI的情况下,触觉响应可以被本地化到用户与之交互的GUI元素。例如,如果用户触摸GUI按钮,则触觉响应可以使该按钮具有凸起并带边缘的感觉,就像它被按下一样,或者类似它具有粗糙的纹理。

本文描述的各种实施方案有时可以涉及创建和更新电子记录。电子记录可以是以数据文件的形式,并且更新电子记录可以包括在记录的一个或多个字段中***或删除数据条目。另选地,在运行时,它可以引用类对象和实例化对象,这些对象具有与所描述的记录一致的状态信息和变量。在本文描述的各种实施方案中都考虑了两种情况。

本公开的各种实施方案涉及用于识别已经在接触敏感界面上接触的那些GUI元素的技术。这些技术和相关结构在存储器使用和响应性方面特别有效。另外,与其他技术相比,界面数据存储要求很小,并且在执行以识别UI元素时执行的任务的数量很少。

本公开的一些实施方案涉及用于创建优化搜索任务的列表的过程,该过程可以被执行以识别在接触敏感界面上接触的GUI元素。搜索任务可以是处理器可执行指令,这些处理器可执行指令在被执行时将成功或失败消息返回给正在搜索已接触的GUI元素(如果有的话)的子系统。在一个实施方案中,基于定义文件创建搜索任务,该定义文件映射出GUI中的各种元素及其位置。搜索任务针对各种效率参数进行优化。

在一个实施方案中,与可在显示子系统(例如,汽车主机)中执行搜索的本公开的发明人已知的常规接触敏感GUI相比,搜索任务列表可以由嵌入式设备(例如,触摸控制器)执行。在触摸控制器中执行对GUI元素的搜索节省与显示子系统进行通信的时间,以及子系统与例如触觉反馈子系统进行响应和通信的时间。与常规接触敏感GUI相比,节省的时间改进接触敏感GUI的响应性,并且从用户的角度来看,缩短从他/她触摸屏幕到他们接收到响应于该触摸的反馈的时间。

此外,任务搜索列表的创建是可配置的,并且取决于GUI,可以为实施方式选择针对特定应用进行优化的通用特征集。例如,在一些实施方案中,创建过程可以针对GUI进行优化,该GUI包括分页、遮挡其他GUI元素的下拉菜单和弹出窗口、某些形状的元素、或在被接触时移动或变形的元素。

图1示出了根据本公开的各种实施方案的系统的整体操作。在操作112中,软件应用程序工具102被配置为处理UI定义文件以创建有条件的可执行指令的搜索任务列表(操作108),这些可执行指令可以被执行以识别在接触敏感屏幕上已接触的UI元素(如果有的话)。

可以将搜索任务列表存储(操作110)在可由作为触摸系统的部分的一个或多个处理器访问的非暂态存储存储器中。当在触摸界面处发生接触事件时,触摸传感器106可以感测触摸(操作118),并且向触摸处理器提供指示触摸的一个或多个信号。触摸处理器104确定(操作112)触摸界面上发生接触的位置,并且响应于该确定,搜索(操作114)并识别被接触的UI元素(如果有的话)。在一个实施方案中,触摸处理器104可以将搜索结果提供(操作116)给图形用户界面子系统。

将参考图2、图3、图4、图5、图6和图7描述创建搜索任务列表的过程的实施方案。本公开的实施方案利用根据树和网格技术来组织UI元素的搜索树结构。将各种UI元素划分成类似网格处理的相关组,组织成搜索树,并且然后生成各种搜索任务。使用这些指令来调节搜索任务以优化搜索的执行。本领域普通技术人员将理解,可以使用其他算法将一个或多个屏幕划分成可搜索区域,例如,分而治之方法。

图2示出了生成搜索任务列表的过程的实施方案。在操作202中,加载和解析UI的结构定义以识别屏幕、子屏幕、以及那些屏幕和子屏幕上的UI元素。UI结构定义可以是电子文件、数据库、原始数据等。在操作204中,将元素分组并且将可搜索区域划分成具有元素组的一个或多个可搜索区域。在操作206中,基于可搜索区域将组链接到树结构中。在操作208中,将搜索任务与搜索树分支和节点相关联以形成搜索树,并且优化搜索树。在操作210中,将搜索树的有条件的任务存储在列表中,该列表是可由处理器执行的任务列表。

在一个实施方案中,生成搜索任务列表的软件应用程序工具102可以被配置为将操作202、204、206、208和210中的一个或多个的结果写入输出文件。这可以由调试工具使用以查看过程结果。相同调试工具可以被配置为使用搜索任务列表的文本版本,并且在虚拟测试环境(作为例如,dos可执行文件)中执行它以验证搜索任务列表在操作方面准备就绪。

图3示出了用于从UI结构定义中提取UI元素的过程300的实施方案。在一个实施方案中,UI结构定义是将由应用程序工具的配置生成特征转换的显示器部分的xml定义。应用程序工具解析结构定义并抓取定义结构中定义的元素。在操作302中,加载每个UI元素,并且在操作304中,确定它是否是已知的UI元素。如果它不是已知的UI元素(即这是第一次在结构定义中识别到该元素),则在操作306中,过程为该类型的UI元素创建新元素定义(例如,按钮、旋钮、滑块等)。在创建新定义之后,或者如果元素是已知的UI元素,则在操作308中,确定是否将元素分配给现有组。在一个实施方案中,基于各种预定参数(例如,元素的共同特征)确定是否分配给现有组,元素的共同特征诸如为元素的类型、显示UI元素的屏幕、层位置、与元素相关联的响应的类型(例如,视觉、触觉、音频等)等。如果决定将元素分配给新组,则在操作310中,使用与元素有关的参数来创建新组记录。在创建新组记录之后,或者如果确定将元素分配给现有组,则在操作312中,将新元素条目***到该新元素的组记录中。在一个实施方案中,条目包括用于元素的元素ID和位置(即元素在屏幕上的坐标)的字段。在操作314中,确定是否存在更多的UI元素,并且如果存在更多的UI元素,则针对在UI结构定义中识别的每个剩余的UI元素执行该过程。在操作316中,过程返回一个或多个元素、一个或多个元素定义和一个或多个组。

在图3中未示出的实施方案中,如果UI结构定义包括多于一个屏幕定义,则为每个这样的屏幕分配屏幕ID,该屏幕ID是UI元素的参数。其也可以被合并作为每个组的参数。每个屏幕还可以包括子屏幕,这些子屏幕是所显示的GUI的定义区域,在这些定义区域中的一些UI元素动态改变,而这些区域之外的UI元素保持不变。作为非限制性示例,具有动态元素的区域可以包括可交换窗格、可滚动菜单、可激活信息窗格、导航按钮等。

图4示出了根据本公开的一个实施方案的创建搜索树的过程400。在该过程中,确定如何将UI定义中识别的每个屏幕划分成可搜索区域,每个可搜索区域包括一个或多个元素组。在图4所示的过程的实施方案中,选择划分线(x,y坐标),该划分线划分元素组以使得至少一组位于分隔线的一侧并且至少另一组位于分隔线的另一侧。现在沿划分线有效地将屏幕划分成具有共享边界的两个可搜索区域。以递归方式划分组,直到无法进一步划分组。

在另一个实施方案中,同时在x和y坐标方向上划分屏幕或可搜索区域,这可导致组的多达四个子划分。该技术还可导致少于四个子划分,例如,组的三个划分和一个空的可搜索区域。

在又一些其他实施方案中,圆形、正方形和/或多边形可用于定义要从可搜索区域中排除的屏幕部分,使得它不被子划分成可搜索区域。

逐步执行图4所示的过程,在操作402中,加载具有两个或更多个组的第一可搜索区域。对于第一次迭代,这应当是包括所有组的整个屏幕。在该实施方案中,存在初始可搜索区域记录,其中区域被定义为涵盖整个屏幕,包括所有元素和组。在操作404中,选择网格线,该网格线将初始可搜索区域划分成各自具有一些组的两个可搜索区域。在操作406中,创建新记录,在初始记录和新记录之间对组进行排序,并且用其相应的可搜索区域来更新记录。划分线被记录为两个可搜索区域之间的分割/划分。第一可搜索区域以及其中的组和元素被链接到该划分,该划分继而被链接到新可搜索区域以及其中的组和元素。在运行时,将存在元素的类对象、组的类对象、以及分割/划分的类对象。

对于包含多于一个元素组的每个可搜索区域,递归执行过程(操作408)以划分可搜索区域。

值得注意的是,在一个实施方案中,在该实施方案中通过对元素定义(例如,元素ID)的引用和到元素原点的移动来定义元素,由于不必单独定义每个元素,因此减小界面存储器要求。

一旦屏幕被完全划分,现在就存在中间搜索树,其中包括划分/分割、UI元素、和UI元素组、以及其间的链接。

在操作410中,为每个组创建组级搜索任务。组级任务是一个过程步骤或一系列过程步骤。这些任务可以包括:(i)确定UI元素内(或没有元素)是否发生了触摸或接触事件的任务;(ii)以某种方式修改搜索区域的任务;以及(iii)为下一个任务设置的任务。

每个组级任务可以包括在成功或失败的情况下要执行的下一个任务的指示。例如,每个任务可以包括具有到下一个任务地址的“偏移”的位。另外,每个组级任务在其被执行时可以接受参数。在一些实施方案中,先前任务可以提供参数或设置环境位/标志以指示哪些参数可用于下一个任务。

在一个实施方案中,组坐标中的偏移(位置角)可用于生成索引。如果配置了可搜索区域中的每个元素,则可以为其分配通过索引从可搜索区域的基础ID偏移的不同ID。结果是元素ID和偏移值。对于修改响应(例如,触觉)或元素ID,存在单独规定—因此一个组元素可能返回单个元素ID,但返回多个响应ID,并且另一个可能会针对多个不同元素返回一个响应ID。

组级搜索任务可以***组记录中,***搜索任务列表中,或***到中间记录中。一旦组级搜索任务完成,则在操作412中,返回中间搜索树。

尽管未在图4中示出,在一个实施方案中,可以为每个任务设置环境变量,其在适用的情况下指示如果执行该任务、成功并且是最终任务则将返回什么。通过非限制性示例,环境变量可以是触觉ID、用于控制如何针对组形状内的元素修改元素ID和触觉ID的值等。还可以设置环境标志,其指示要发送以伴随下一个任务描述的数据。通过使用某些约束和正确的环境变量,例如,圆的定义可以从7个字节减少到2个字节。

图5示出了对中间搜索树执行的优化过程500的实施方案。在操作504中,通过共同特征对所有元素进行分组。共同特征的示例包括元素类型、层中位置、相对于另一层中的另一个元素的位置(例如,都在相同元素后面)、显示组、形状或更多。在一个实施方案中,可以选择共同特征以优化搜索过程。例如,如果通过层位置对元素进行分组,其中顶层上的元素处于搜索树的顶部处,则将首先搜索那些元素。通过另一个示例,在存在“分页”(即,可以滑动用户界面的各层以暴露其下的层或在一层上方拉出另一层)的应用程序中,通过显示组进行分组允许使用单个控件来控制所有显示的元素—例如,搜索显示组中的所有元素,响应于控件设置对这些元素施加改变,打开或关闭显示组中的所有元素等。在各种实施方案中,标识符可以用于识别通过共同特征(例如,层ID、位置ID、形状ID等)组织的组。

在操作506中,将搜索任务***每个元素的搜索树中,并将其分割以形成中间搜索任务树。在操作508中,对中间搜索任务树进行重新排序以确保每个任务的单次通过。在操作510中,消除冗余或效率低下的搜索任务。在操作512中,返回优化的搜索任务树。

图6示出了创建搜索任务列表的过程600的实施方案。在操作602中,加载搜索任务树中的类对象,并且在操作604中,根据类对象创建指令词(即搜索任务),并且将指令词(即搜索任务)***搜索任务列表中。在图6所示的实施方案中,指令字包括任务代码字段和跳转字段。在一个实施方案中,指令词包括数据字段。每次失败(即元素不同)以及每次分割都需要跳转到另一个指令,除非下一个任务紧跟随存储器中的当前任务。在操作606中,将任务代码***任务代码字段中,并且在操作608中,将跳转值***跳转字段中。

在一些实施方案中,直到所有任务都***搜索任务列表中之后,才***一些或所有跳转值。在其他实施方案中,可以从搜索任务树中推断出跳转值。

在操作610中,将搜索任务列表的各种任务级联在存储器中以形成有条件的搜索任务列表,如果所有对象都在列表中(任务612),则过程在操作614中返回该有条件的搜索任务列表。搜索任务列表和搜索树可以存储在存储器中。

任务指令可能会因其中将实现搜索任务列表的特定环境中可用的容器尺寸约束(即字节约束)而异。在一个实施方案中,与每个任务指令相关联的数据可以取决于系统要求而变化,包括指令界面要求(8位、12位、16位等)、可用存储器等。作为非限制性示例,可以仅使用x和y坐标数据以及边数来执行在8边多边形UI元素内进行搜索的指令。然而,如果指令界面和其他存储器要求允许,则可以包括附加数据。

图7示出根据本公开的一个实施方案的确定UI元素内是否发生触摸的搜索过程。使用提供的数据和搜索任务列表来执行搜索树的搜索。在操作702中,在处理器的界面上依次向每个任务的可执行指令提供每个任务的有效负载数据,并且在操作704中执行任务。当对搜索树进行搜索时,在操作706中确定在UI元素内是否发生触摸,以及每个任务的结果是真/假,成功/失败,其指示是否在UI元素内发生触摸。在操作708中,响应于当前任务成功的结果,处理器加载和接收下一个任务指令和相关数据。即,如果操作706的结果是成功,则执行任务列表中的下一个任务。

如果结果是失败,则响应于结果,处理器将加载并接收替代任务指令和相关数据。如果存在替代任务(操作714),则在操作716中供应替代任务位置,并且过程循环回到操作702,并且从替代位置为处理器加载任务。当搜索结束时,找到或未找到UI元素。如果找到了UI元素,则在操作710中返回找到结果,并且在操作712中,返回该元素的ID以及任何环境设置/响应性参数。如果未找到操作,则在操作720中返回未找到结果。

在一个实施方案中,图7所示的搜索过程可以是在触摸处理器(微控制器)处执行的固件应用程序。触摸处理器可以具有由闪速存储器中存储的搜索过程执行的一个或多个搜索任务。在一个实施方案中,搜索任务可以被存储在与显示控制器相关联的RAM处,并且搜索任务可以在设置或配置过程期间被提供给触摸处理器并且保持搜索过程可访问。

发明人现在理解,所描述的实施方案与替代方法相比提供若干优点。存储器要求从线性搜索、纯网格方法或纯搜索树方法显著减小—最多50%;并且仍然是组合网格/树方法的改进。这部分是因为减小所执行的搜索操作的数量。因为减小了搜索操作的数量,所以响应周期显著短于替代方法(其包括常规方法)。例如,与范围是从72μs(纯网格)到1200μs(线性)的替代方法相比,在1200×1200接触敏感的GUI上实现了小于36μs的循环时间。对于用户而言,区别是响应性更强的触摸界面。对于设计者而言,触摸界面可能更复杂,具有带不同响应特性的许多元素。

图8、图9和图10示出了参考图2至图7示出和描述的过程,其结合作为可与本公开的实施方案一起使用的GUI的一个非限制性示例的用于无线电应用的GUI。图8所示的无线电GUI 810包括在表820中概述的八种类型的UI元素和总共144个UI元素。

图9示出了根据参考图3描述的方法分组的UI元素。在该实施方案中,已分组的元素832、834、836、838、840、842、844、846和848具有类似的触摸特性(例如,响应于触摸的触觉反馈)、屏幕上的物理位置、以及形状。

图10示出了使用参照图4描述的树和网格方法来形成的树结构850的示例。

图11示出了根据本公开的一个实施方案的可实现本文描述的搜索方法的系统1000和相关工具1040。系统1000包括其上具有针对GUI元素的GUI元素搜索功能1012和响应确定1014的微控制器固件1010。执行微控制器固件1010的处理器耦接到响应驱动器1018,该响应驱动器可以从微控制器固件1010接收控制信号并继而在接触敏感界面1020中驱动响应。在一个实施方案中,接触敏感界面1020是包括一个或多个致动器的触摸屏,并且响应驱动器1018是被配置为生成将激励致动器的控制信号的触觉驱动器。感测电路1022可以响应于在接触敏感界面1020处的接触而生成一个或多个测量信号。接触测量和处理1016可以确定接触信息(例如,位置、类型等),并且响应于来自感测电路1022的测量信号将其提供给响应确定1014和GUI元素搜索功能1012。在响应驱动器1018处接收的控制信号可以例如至少部分地基于接触信息,使得在接触敏感界面1020上的正确位置处提供触觉反馈。

在图11中还示出了根据本公开的一个实施方案的可实现搜索列表创建过程并且创建元素搜索任务列表和元素响应信息的工具1040。搜索列表创建应用程序1044被配置为实现参考图2至图6的GUI定义XAML文件1042描述的过程以生成元素搜索任务列表。应用程序1044可以将元素搜索任务列表1046和元素响应信息1048作为文件提供给微控制器固件1010。在一个实施方案中,它也可以提供搜索树,但可以将其合并到搜索任务中。

在固件的一个或多个实施方案中,固件可以包括力测量和处理功能以合并关于触摸事件的力水平信息。在那些实施方案中,触觉定序器可以使用由元素搜索功能返回的力水平信息和GUI元素ID以及触觉响应细节,以便响应于所述力水平、GUI元素ID和触觉响应细节来生成触觉控制信号。

图11的系统可以合并到利用触摸界面和触摸控制面板的各种消费产品、家用电器和机械中,包括汽车。

图12示出了用于汽车触摸控制面板的无线电GUI 1210的简化版本。专门调出三个区域,即区域1、区域2和区域3。区域1是处于旋转刻度盘1214中间的用于温度控制的按钮1212。响应于具有强力水平的触摸事件而提供根据触觉简档ID#4的触觉反馈(振动)。区域2是旋转刻度盘1214,也用于温度控制。响应于具有轻力水平的触摸事件而提供根据触觉简档ID#3的触觉反馈(摩擦)。最后,区域3是用于调出汽车设置菜单的按钮1216。响应于具有强力水平的触摸事件而提供根据触觉简档ID#2的触觉反馈(点击),并且响应于具有轻力水平的触摸事件而提供根据触觉简档ID#3的触觉反馈(摩擦)。

图13示出了合并到由主机1310命令的汽车控件中的图11的系统和图12的GUI,并且主机1310中的触觉效果由微控制器控制。在该实施方案中,触摸控制器1320和形状搜索功能1324是汽车子系统的部分,其中汽车主机1310可以通过触觉反馈来响应于触摸而无需主机的处理电路的直接干预。触摸控制器1320被配置为根据触摸位置和力水平信息识别被触摸的屏幕按钮,并且运行包括按钮位置的触摸状态机以触发触觉效果。

在该实施方案中,力处理1326和触摸处理1322被集成到一个控制器部件中,并且主机屏幕1332包含多个几何对象描述的定义(屏幕显示设计1336和搜索树定义1338),其各自被要求引出由触摸控制器1320直接激活并由触觉设备1350执行的触觉效果的范围。

例如,在显示器1330处的触摸之后,触摸控制器1320从力处理1326和触摸处理1322接收力信息和触摸信息。信息可以包括力测量和显示器上的触摸位置。形状搜索1324提供与在发生触摸的显示器1330处显示的UI元素(如果有的话)相对应的UI元素信息。如果不存在与显示器上的位置相对应的UI元素,则形状搜索1324提供空搜索结果。在搜索UI元素的形状信息时,形状搜索1324可以使用存储在主机1310处的定义。在一个实施方案中,形状搜索1324可以在配置过程期间接收定义,例如,当触摸控制器1320与主机1310集成在一起时,或者当主机1310通电时。如果形状搜索1324识别UI元素,则触觉信息由触觉控件1328使用以向触觉设备1350发送包括触觉效果和触觉效果位置的触觉激活消息。触觉激活消息可以包括指示触觉效果的水平的参数(例如,弱、中、强)。触觉设备1350在触觉设备处存储的触觉库1352中搜索触觉效果定义。触觉设备1350然后控制显示器1330处的致动器,使得显示器的特定区域表现出所请求的触觉效果。值得注意的是,不同的触觉设备可具有不同的触觉库,因此效果在设备之间可能不同。

在该实施方案中,GUI定义是XAML文件,其是图形用户界面的xml实施方式。XAML文件包含用于GUI的UI的屏幕元素的绘制指令的分层结构化列表。在XAML文件中,存在与GUI元素相关联的标签。例如,“宽度”、“高度”和“水平对齐”都是特定元素的有效标签。

本说明书中描述的许多功能单元可被示出、描述或标记为编程代码的模块、线程或其他分类,以便更具体地强调它们的实施独立性。模块可至少部分地以一种或另一种形式在硬件中实现。例如,模块可实现为硬件电路,该硬件电路包括定制的VLSI电路或门阵列、现有半导体诸如逻辑芯片、晶体管或其他分立部件。模块也可在可编程硬件设备诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等中实现。

模块也可使用存储在物理存储设备(例如,计算机可读存储介质)上、存储器中或其组合以由各种类型的处理器执行的软件或固件来实现。

可执行代码的所识别模块可例如包括计算机指令的一个或多个物理块或逻辑块,这些物理块或逻辑块可例如被组织为线程、对象、过程或功能。然而,所识别模块的可执行文件不需要物理地位于一起,而是可包括存储在不同位置的不同指令,这些指令在被逻辑地结合在一起时包括模块并实现模块的所述目的。

实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可分布在若干不同的代码段上、不同程序之间以及若干存储装置或存储器设备上。类似地,操作数据在本文中可在模块内被识别和示出,并且能够以任何合适的形式实施并在任何合适类型的数据结构内被组织。操作数据可作为单个数据集收集,或者可分布在不同位置上,包括分布在不同存储设备上,并且可至少部分地仅作为系统或网络上的电子信号存在。在模块或模块的部分在软件中实现的情况下,软件部分存储在一个或多个物理设备上,这些物理设备在本文中被称为计算机可读介质。

在一些实施方案中,软件部分以非暂态状态存储,使得软件部分或其表示在同一物理位置持续一段时间。另外,在一些实施方案中,软件部分存储在一个或多个非暂态存储设备上,这些非暂态存储设备包括能够存储非暂态状态和/或表示软件部分的信号的硬件元件,尽管非暂态存储设备的其他部分可能能够改变和/或传输信号。非暂态存储设备的示例是闪速存储器和随机存取存储器(RAM)。非暂态存储设备的另一个示例包括只读存储器(ROM),该只读存储器可将表示软件部分的信号和/或状态存储一段时间。然而,存储信号和/或状态的能力不会因传输与所存储的信号和/或状态相同或表示所存储的信号和/或状态的信号的其他功能而减弱。例如,处理器可访问ROM以获得表示所存储的信号和/或状态的信号,以便执行对应的软件指令。

在实践水平上,可以在各种介质中的任何一种上提供使计算机系统能够执行本文描述的操作的软件。另外,本发明的方法和操作的实际实施方式实际上是以计算机语言编写的语句。此类计算机语言语句在由计算机执行时致使计算机根据语句的特定内容来起作用。另外,可能以任何数量的形式(包括但不限于原始源代码、汇编代码、目标代码、机器语言、前述内容的压缩或加密版本、以及任何和所有等效物)提供使得计算机系统能够根据本发明起作用的软件。

本领域普通技术人员将理解,如本文所使用的“介质”或“计算机可读介质”可以包括软盘,磁带,光盘,集成电路,ROM,CD,DVD,BLU-RAY,盒带,闪速存储器,存储棒或卡,或计算机可使用的任何其他非破坏性存储介质,包括现在已知或以后开发的那些。

尽管启用软件可以“写在”光盘上,“体现在”集成电路中,“承载在”通信电路上,“存储在”存储器芯片中,或“加载在”高速缓存存储器中,但应当理解,出于本申请的目的,该软件将被简单地称为在计算机可读介质“之中”或“之上”。因此,术语“之中”或“之上”旨在涵盖软件可以与计算机可读介质相关联的上述以及所有等效和可能的方式。

因此,为简单起见,术语“计算机程序产品”因此用于指代如上定义的计算机可读介质,其上具有使得计算机系统能够根据本发明的任何实施方案进行操作的任何形式的软件。

虽然本文结合某些图示实施方案描述了本发明,但本领域的普通技术人员将认识到并理解本发明不受此限制。相反,在不脱离下文所要求保护的本发明的范围及其法律等同形式的情况下,可对图示实施方案和所述实施方案进行许多添加、删除和修改。此外,来自一个实施方案的特征可与另一个实施方案的特征组合,同时仍被包括在发明人所设想的本发明的范围内。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:解析基于图像和/或其它传感器数据的自动化助理请求

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类