可编程的自适应界面装置以及对自适应界面装置进行编程的系统和方法与流程

文档序号:11635006阅读:186来源:国知局
可编程的自适应界面装置以及对自适应界面装置进行编程的系统和方法与流程

本申请要求2014年9月8日提交的美国临时专利申请第62/047618号的优先权,其全部内容通过引用并入于此。

本发明涉及一种自适应界面装置。



背景技术:

个人计算机装置(包括例如,台式计算机、膝上型计算机、平板电脑、智能电话和个人数字助理)通常包括或可连接到各种界面设备,诸如键盘、鼠标和游戏控制器。通常来说,某些外部输入(例如,人为输入或移动)导致界面装置将预定数据或控制信号输出到计算机装置。随后,由在计算机装置上执行的软件接收这些数据或控制信号,这导致计算机装置按照软件的方式做出反应。

某些界面装置是自适应的,并且可由用户配置以改变响应于在界面装置上的特定输入而产生的特定输出。然而,配置自适应界面装置可能需要在计算机装置上执行的专业软件并且与自适应界面装置进行双向通行以使计算机装置能够在自适应界面装置上重写数据。

因此,需要一种用于对界面装置进行编程的增强型系统和方法。



技术实现要素:

在一个实施例中,本发明提供一种对自适应界面装置进行编程的方法。所述方法包括:在计算机装置的显示屏上提供重映射图形用户界面;在所述重映射图形用户界面上提供所述自适应界面装置的导航数据结构的图形表示;所述自适应界面装置接收指示导航输入的导航代码。基于导航代码更新图形表示。所述方法包括基于导航代码确定自适应界面装置已被重映射为具有更新后的映射。在所述重映射图形用户界面上显示自适应界面装置的更新后的映射。

在某些示例中,所述计算机装置容纳连接到所述自适应界面装置的数据线缆,其中,导航代码通过所述数据线缆被接收。在某些示例中,所述方法包括从所述自适应界面装置接收重映射模式信息,其中,重映射模式信息指示所述重映射界面装置已进入重映射模式。在某些示例中,所述方法包括从所述自适应界面装置接收当前映射数据;在所述重映射图形用户界面上基于当前映射数据显示所述自适应界面装置的当前映射。在某些示例中,所述方法包括在所述重映射图形用户界面上显示包括所述自适应界面装置的可编程输入的虚拟自适应界面装置。在某些实施例中,显示自适应界面装置的更新后的映射的步骤包括:在所述虚拟自适应界面装置上显示更新后的映射。在某些实施例中,所述导航数据结构的图形显示是虚拟键盘。

在另一实施例中,本发明提供对自适应界面装置进行编程的另一方法。所述方法包括:由所述自适应界面装置将重映射模式信息发送到计算机装置。所述重映射模式信息指示自适应界面装置已进入重映射模式。所述自适应界面装置接收对所述自适应界面装置的导航数据结构进行导航的导航输入以用于对所述自适应的可编程输入进行重映射。所述自适应界面装置基于导航输入对可编程输入进行重映射。所述方法还包括由所述自适应界面装置发送指示接收到的导航输入并指示重映射的导航代码。

在某些示例中,所述自适应界面装置接收连接到所述计算机装置的数据线缆,其中,导航代码通过所述数据线缆被发送。在某些示例中,所述方法包括:在进入重映射模式时,将当前映射数据发送到所述计算机装置,其中,所述当前映射数据指示所述自适应界面装置的可编程输入的当前映射。在某些示例中,所述方法包括经由可编程输入接收请求以使自适应界面装置进入重映射模式。在某些示例中,所述方法包括在接收到所述请求进入重映射模式之前,接收在可编程输入的第一可编程输入处的用户输入。这些示例还可包括由所述自适应界面装置将第一代码发送到所述计算机装置,其中,所述第一代码表示响应于所述用户输入的第一映射的输出;接收在重映射之后在第一可编程输入处的另一用户输入;由所述自适应界面装置将第二代码发送到所述计算机装置,其中,所述第二代码表示响应于所述另一用户输入表示第二映射的输出。

在另一实施例中,本发明提供一种可编程自适应界面装置。所述可编程自适应界面装置包括可编程输入、输入/输出界面、存储器和处理器。所述输入/输出界面被配置为连接到计算机装置。所述存储器包括导航数据结构和键映射索引。所述处理器被配置将重映射模式信息经由所述输入/输出界面发送到所述计算机装置,所述重映射模式信息指示所述自适应结构装置已进入重映射模式。所述处理器还被配置为经由可编程输入接收使导航数据结构进行导航的导航输入。所述处理器基于导航输入对可编程输入进行重映射并经由所述输入/输出界面将导航代码发送到所述计算机装置。所述导航代码指示接收的导航输入并指示重映射。

在某些示例中,所述可编程自适应界面装置包括:数据线缆,连接到所述输入/输出界面和计算机以形成通信链接。在某些示例中,键映射索引将可编程输入中的每个输入与对应输出代码相关联。在某些示例中,在进入重映射模式时,键映射索引具有指示所述自适应界面装置的可编程输入的当前映射的当前映射数据。在某些示例中,在完成重映射时,键映射索引具有指示所述自适应界面装置的可编程输入的更新后的映射的更新后的映射数据。在某些示例中,所述处理器还被配置为接收在可编程输入的第一可编程输入处的用户输入;将表示响应于用户输入的第一映射的输出的第一代码发送到所述计算机装置;接收在重映射之后经由第一可编程输入的另一用户输入;将第二代码发送到所述计算机装置,其中,第二代码表示响应于所述另一用户输入的第二映射的输出。在某些示例中,所述装置还包括导体,选择性地固定可编程输入中的两个可编程输入以在所述两个可编程输入之间形成导电通道。所述处理器还被配置为检测由导体形成的导电通道,并且作为响应,使自适应界面装置进入所述重映射模式。

通过考虑具体实施方式和附图,本发明的其它方面将变得显而易见。

附图说明

图1a示出根据本发明的某些实施例的自适应界面装置的前侧。

图1b示出图1a中的自适应界面装置的背侧。

图2示出操作为计算机装置的界面装置的图1a中的自适应界面装置的框图。

图3示出包括图1a的自适应界面装置的重编程系统的框图。

图4a和图4b示出对诸如图1a中的自适应界面装置进行编程的方法。

图5a、图5b、图5c、图5d和图5e示出根据本发明的某些实施例的重映射图形用户界面的各种屏幕。

具体实施方式

在对本发明的任何实施例进行详细解释之前,将理解本发明不受限于在随后的具体实施方法阐述的或在随后的附图中示出的结构的细节和组件的排列方式。本发明能够具有其它实施例并且以各种方式实施或实践。

图1a和图1b分别示出根据某些实施例的自适应界面装置100的正面和背面。自适应界面装置100是基于用户输入模拟诸如,键盘或鼠标的计算机外围装置的可编程装置。用户输入包括例如导致完成导电回路的动作。可由自适应界面装置100检测出用户输入,反过来,自适应界面装置100生成模拟外围装置输出的输出。

自适应界面装置100包括印刷电路板(pcb)102和连接器线缆104(例如,通用串行总线线缆)。pcb102包括执行存储在微控制器106的本地存储器或pcb102的另一存储器中的固件。pcb102包括容纳连接器线缆的端口108。

参照图3,连接器线缆104的另一端与计算机112(例如,桌面电脑、笔记本电脑或平板电脑)的外端端口110连接。连接器线缆104、端口108和外围端口110可以是例如端口、端口或端口之一。pcb102经由连接器线缆104接收来自计算机102的电力(例如,5伏特直流电(dc)),这对包括微控制器106的pcb102的组件进行充电。pcb102使用人机界面设备(hid)协议以经由连接器线缆104与计算机112进行通信。至计算机112的通信,例如,特定键盘(键)按压、鼠标点击和鼠标移动。在某些实施例中,代替连接器线缆104或除了连接器线缆104之外,无线连接(诸如,)用于pcb与计算机之间的通信。在这些无线实施方案或不供电的有线连接的实施方案中,便携式供电装置(例如,电池)可与pcb102连接以供电。

返回至图1a和图1b,pcb102包括(例如,经由pcb上的轨迹)与微控制器106连接的若干输入引脚。pcb102包括沿底部设置的六个接地引脚114。此外,pcb102包括多个输入引脚,通常被称作输入引脚116,但是更具体地在此处使用附加到标识符116的字母来标识(例如,上箭头引脚116a)。pcb102的正面包括六个引脚,上箭头引脚116a、下箭头引脚116b、左箭头引脚116c、右箭头引脚116d、空格引脚116e和点击引脚116f,统称为输入引脚116。每个接地引脚114和输入引脚116包括两个导电孔,这能够使鳄鱼夹线缆快速连接,这是由于鳄鱼夹的每一半都由相应的孔接收,并且(弹簧加载的)鳄鱼夹夹具夹在pcb的桥接部分上,将两个孔分开。当然,没有鳄鱼夹的导体也可经由焊接和其它技术被连接到输入引脚。

pcb102的背面(图1b)具有用于附加键盘按键和鼠标控制的若干附加输入引脚。如图所示,pcb102的背面包括用于键盘按键的8个附加键盘输入116g,这各个被标签为w、a、s、d、f、g、h和j,以及用于鼠标控制的6个附加输入鼠标引脚,用鼠标上移、鼠标下移、鼠标左移、鼠标右移、右击、和左击图形进行图示标签。键盘输入引脚116g和鼠标输入引脚116h是可以容纳纸夹端部、引线端部、跳线端部或其它导体的母座。pcb102的背面还包括用于使用板来控制输出的区域。此外,如图1a和图1b所示,因为在pcb102的前侧的输入引脚116包括穿过pcb102延伸的孔,所以这些输入引脚116也可从pcb102的后侧接近以进行鳄鱼夹连接。

在pcb102上的具体引脚布局和引脚数目是示例性的。在某些实施例中,输入引脚116位于pcb102的其它部分和/或以其它布局排列方式。在某些实施例中,pcb102在前侧、后侧或两侧包括更多或更少的输入引脚。

以上示出的输入引脚116中的每一个包括默认引脚分配,使得每个输入引脚116映射于特定键盘按压(例如,“w”)、鼠标控制(例如,鼠标右击)或其它hid协议信号。pcb102的标签、图形和布局使得对用户而言默认引脚分配是清楚的。例如,上箭头输入引脚116a位于上箭头图示内,空格输入引脚116e包括在其下方的文字“空格”(参见图1a)。在某些实施例中,不同默认键按压和鼠标控制被分配给输入引脚116。此外,如以下将详细讨论的,可对输入引脚116的分配进行重编程,使得它们映射到并模拟不同键按压、鼠标控制或其它hid协议信号。

返回参照图2,接地导体120和输入导体122分别被连接到接地引脚114以及键盘输入引脚116g之一。图2中的键盘输入引脚被标签为116g至116w,并表示具有字母“w”的默认引脚分配的键盘输入引脚116g(参见图1b中的最高输入引脚116)。作为示例,接地导体120和输入导体122是鳄鱼夹线缆,其是在一端或两端均具有鳄鱼夹的电线。除了暴露用于导电耦合的端部之外,可以在电线周围设置绝缘包裹物。接地导体120和输入导体122在一端分别连接到接地引脚114和键盘输入引脚116g至116w,并且在另一端分别连接到人124和苹果126。虽然在一些实施例中是可移除的,如连接器线缆104,接地导体120和输入导体122可以被认为是自适应界面装置100的一部分。

当人124触摸苹果126(例如,使用手指),在键盘输入引脚116-w与接地引脚116之间形成完整的电路回路128。该回路128包括键盘输入引脚116g至116w、输入导体122、苹果126、人124、接地导体120和接地引脚114。由pcb102的微控制器106检测到完整的电路回路128。完成输入引脚116之一的电路回路(随后被pcb102检测到)是触发输入引脚116的示例。响应于此,pcb102向计算机112发送与键盘输入引脚116g至116w相关联的hid信号。也就是说,pcb102产生模拟键盘或鼠标动作(例如,键盘按压、鼠标点击或鼠标移动)的输出。

计算机112做出反应以接收来自pcb102的输出,犹如输出是从标准键盘或鼠标发送的。因此,用户(诸如,在以上示出的图中的人124)可通过触摸苹果126模拟在键盘上的键击,计算机112可接收所模拟的键击并做出反应,犹如用户按压正被模拟的键盘上的真实按键。例如,在文字处理程序中,在用户触摸苹果时,所模拟的键击是字母“w”,文字处理程序将如同用户在键盘上按压“w”一样做出反应并将新的“w”显示在计算机112的显示器上。

微控制器106监视输入引脚116并使用高电阻开关和滤波以提供灵敏检测器,其甚至检测到通过诸如皮肤、叶子和建模化合物的材料(其不是高度导电的)完成的电路回路。例如,pcb102使用二十二(22)兆欧姆的上拉电阻器。在微控制器106上执行的软件使用移动窗口平均器到低通滤波器来过滤每个输入引脚116上的噪声。可选地,尽管潜在地增加了成本,自适应界面设备可以使用硬件过滤。

虽然以上示出了苹果126,但是可导电的任何材料,即使仅轻微导电将操作以完成电路回路并可由自适应界面装置100检测到。用于完成在输入引脚116之一与pcb102的接地引脚114之间的电路回路的导电项中的其它示例包括番茄酱、铅笔石墨、指甲油、柠檬、植物、硬币、其他人类、银器、水(和湿的物体)、大多数食品、猫、狗、铝卷、雨等等。

此外,如果人124接地,则输入引脚116是触摸敏感的。换言之,用户可直接触摸输入引脚116g至116w以完成电路回路,而不是人124触摸苹果126以触发输入116g至116w。

虽然参照文字处理应用进行了描述,自适应界面装置100类似地与进行键盘输入、鼠标输入和其它hid输入的其他程序和网页一起工作。在另一示例中,自适应界面设备100与在生成虚拟钢琴的计算机112上执行的计算机程序一起使用。在典型操作中,虚拟钢琴使用在键盘上的键按压和/或鼠标动作来演奏。自适应界面装置100代替使用计算机键盘按钮来演奏虚拟钢琴,产生用于演奏虚拟钢琴的输出。选择输入引脚116之一可经由输入导体(与输入导体122类似)连接到香蕉,用户经由接地导体(与输入导体122类似)接地,香蕉变成钢琴键。也就是说,每次接地的用户触摸香蕉中的一个时,在接地引脚114和输入引脚116中的一个之间完成电路回路,其由自适应界面设备100检测。反过来,自适应界面装置100生成至计算机112的输出,其输出模拟键按压或鼠标动作,具体键按压或鼠标动作取决于输入引脚116中被触发的具体一个。由在计算机112上执行的计算机程序接收所述输出,导致演奏虚拟钢琴的一个键或多个键。

如上所述,自适应界面装置100被重编程使得输入引脚116的引脚分配可被改变。换言之,自适应界面装置100可被重编程以改变响应于输入引脚116中正被触发的具体引脚而通过连接器线缆104发送的输出信号。例如,在针对图2描述的示例中,触发输入引脚114g-w导致“w”hid代码将被发送到计算机112。然而,在重编程之后,自适应界面装置100可被配置使得输入引脚114g-w的另一触发导致“x”hid代码被发送而非“w”hid代码。

在某些实施例中,重编程也被称为重映射,其在无需将自适应界面装置连接到在其上具有特定驱动程序或特定软件的计算机的情况下被实施。此外,在没有将固件或其它更新从计算机通信至自适应界面装置100的情况下可实施重编程。相反,在自适应界面装置100本身的输入引脚116上的用户输入导致自适应界面装置100的重编程。

图3示出界面重编程系统(reprogrammingsystem)的框图,所述系统包括自适应界面装置100、本地计算机154和远程服务器156。本地计算机是计算机装置,可以是例如笔记本电脑、平板电脑或桌面电脑,诸如,图2中示出的计算机112。自适应界面装置100包括处理器160、存储器162、输入引脚116(也被称作可编程输入)和端口108。处理器160和存储器162形成微控制器106的一部分(图1b示出)以及可编程输入包括输入引脚116(在图1a和图1b中示出)。

在某些实施例中,存储器162包括由计算器160执行的指令以及由处理器160使用的数据以执行在此描述的自适应界面装置160的功能。所述指令包括由处理器160在重映射模式下执行的重编程代码170,以及至少包括用于自适应界面装置的正常操作模式的代码的其它固件172。重编程代码170定义了用户在重编程期间可导航的导航数据结构174并根据用户导航控制输入引脚116的重编程。

在某些实施例中,存储器162还包括键映射180,其定义了(a)可由用户触发的自适应界面装置152的输入引脚116与(b)自适应界面装置152响应于被触发而产生的关联输出代码之间的相关性。例如,在处理器160响应于输入引脚116之一的致动而接收到用户输入时,处理器160可以存取存储器162并且使用致动的输入引脚116的标识符作为数索引写入键映射180的数据表中。数据表(也被称作键映射索引)将标识符与hid输出代码相关联,这被反提供至处理器160。处理器160随后在端口108上输出返回的hid输出代码。键映射180可包括定义当前输入引脚至输出代码分配的当前键映射以及默认键映射,所述默认键映射可用于在重置或重存储自适应界面装置100的操作时重写当前键映射。在此示例中,为了对自适应界面装置100进行重编程,则键映射180中的至少一部分被重写或以其它方式更新以改变被存储的输入引脚至输出代码分配。换言之,输入引脚116中的某些引脚或全部引脚被重映射到不同的输出代码。

在某些实施例中,本地计算机154经由网络连接到远程服务器156,可包括一个或多个有线和/或无线连接。虽然并未示出,本地计算机154和远程服务器156中的每一个包括处理器和存储器。本地计算机154包括由处理器(未示出)执行的网页浏览器软件应用(网页浏览器)182、包括显示器184的用户界面和其它用户输入(未示出),诸如,键盘和鼠标,用于与网页浏览器182进行交互。用户可操作以将地址输入到网页浏览器中或以其它方式将导航网页浏览器182至网站以向在远程服务器156上的自适应界面装置进行重编程,这导致远程服务器将包括java应用软件(网页软件186)的网页发送到网页浏览器182。网页浏览器182解释和/或执行网页软件186,并向显示器184提供相应可视化输出,如在以下进一步详细讨论的,这帮助对自适应界面装置100进行重编程。在某些实施例中,本地计算机154和远程服务器156经由不包括互联网的网络连接(诸如,本地网络或局域网连接)而连接。此外,在某些实施例中,网页软件186被存储在本地计算机154上,使得在对自适应界面装置进行重编程期间无法使用连接到远程服务器156的互联网(或其它连接)。

为了重编程,用户通过使用输入引脚116的用户输入的某些指定组合在自适应界面装置100的微控制器106内对导航数据结构174导航。如图1a和图1b中示出的自适应界面装置100本身不具有显示器或用于提供自适应界面装置的用户重编程的可视化反馈的简单装置。然而,如上所述,自适应界面装置100能够将信号输出至计算机154以向用户提供可视化/可听的反馈以帮助编程。更具体地说,在用户对导航数据结构174进行导航以对自适应界面装置100进行重编程时,处理器160输出表示经由输入引脚116接收的导航输入的信号并生成在连接器线缆104之上的导航输入的输出。在重编程时,网页软件186在所连接的本地计算机154的网页浏览器182上执行,其操作以接收来自适应界面装置100的输出,并向用户提供在显示器184上用户正在对其进行导航的用于重编程自适应界面装置的导航数据结构174的图形表示。

为了提供图形表示,在本地计算机154上执行的网页浏览器包括从网页软件186接收到的导航数据结构174的对应副本,被称作副本数据结构(replicadatastructure)188。网页软件186可包括若干副本数据结构188,每一个对应于自适应界面装置的每种类型。网页浏览器182从自适应界面装置100接收输出,并相应地对副本数据结构188进行导航,从而提供对用户导航的实时可视化反馈。这种基于浏览器的图形用户界面向用户提供其他方式不可用的可视化反馈并允许用户更容易地导航在自适应界面装置100内的其它复杂阵列的数据结构。

自适应界面装置100与本地计算机154之间的通信是单行的,从自适应界面装置100到本地计算机154,即,到网页浏览器182。由于通信是单行的,本地计算机154不会回传到自适应界面装置100,至少实质上不行。在某些示例中,从本地计算机154向自适应界面装置100发送某些确认和握手通信以建立或维持根据特定通信协议的通信链接。在这些示例中,计算机154与自适应界面装置之间的通信可能仍被认为是单行的,这是因为实质数据载荷并非从本地服务器154传递到自适应界面装置100。换言之,单行通信意味着实质数据载荷仅沿一个方向(例如,从装置a至装置b,而不从装置b到装置a)而非沿两个方向(例如,从装置a到装置b,并且也从装置b到装置a)经由通信链接发送。作为示例,更新键映射180(例如,特定引脚分配值、保存命令和恢复命令)的编程数据和命令并非从本地服务器154提供。相反,编程数据和命令是在自适应界面装置100内经由重编程代码170响应于输入引脚116接收到的导航输入而产生的。在此,编程数据和命令是实质数据载荷的示例,而根据某些通信协议仅确认和握手通信来建立或维持通信链路是非实质的。

在重编码期间,网页浏览器182是在本地计算机154上在前景中的应用以确保其从自适应界面装置100接收通信。如果用户导航至另一应用或网页,导致网页浏览器182位于背景中,则用户触发自适应界面装置100的输入引脚116之一,网页浏览器182可不接收用户输入。因此,在自适应界面装置100上的导航数据结构174的实际导航与在网页浏览器182上的副本数据结构188之间的同步可能会丧失。因此,用户在自适应界面装置100上从该点向前的实际导航的视觉反馈可能是不准确的。

在可替换示例中,用户将五伏特(5v)dc电源连接到pcb102,而非将其经由连接器线缆104连接到本地计算机154,在没有来自本地计算机154的可视化反馈的情况下对自适应界面装置100进行编程。此外,自适应界面装置100仅是在此处描述的可被编程的自适应界面装置的示例。其它界面装置可使用包括用于接收用户输入并触发输入导致界面装置的输出的其它技术。这种其它技术可包括按钮、键盘、光学传感器和与微控制器交互的电容传感器中的一个或多个。

图4a和图4b分别示出对自适应界面装置进行编程的方法200和方法210。方法200和方法210是关于对自适应界面装置进行重编程的描述,然而,在某些实施例中,所述方法用于对其它界面装置进行重编程。方法200总体上来说是从连接到将被重编程的自适应界面装置的计算机装置的视角上进行描述,而方法210总体上来说是从将被重编程的自适应界面装置的观点上进行描述。方法200和方法210可一起由重编程系统的组件(诸如,重编程系统150)执行以对自适应界面装置进行重编程。

在图4a的方法200的步骤220,重映射图形用户界面(重映射gui)221被设置在本地计算机154的显示器184上。重映射gui221可如上所述由网页浏览器182基于从远程服务器156获得的网页软件186或基于在本地计算机154上存在的本地软件应用而获得。重编程gui221包括向用户传达信息的各种屏幕,其示例将针对图5a至图5e进行描述。

例如,在步骤220,用户启动本地计算机154上的网页浏览器182,本地计算机154连接到互联网,并导航至具有网页软件186的重编程网页。网页浏览器182反过来如图5a所示显示重映射启动屏幕222。如下所示,该屏幕222指示用户断开他们的自适应界面装置100的连接并随后通过点击启动按钮224(例如,使用连接到本地计算机154的鼠标)来启动进程。该点击动作确保网页浏览器182处于本地计算机154的前景中并在稍后阶段从自适应界面装置100接收数据。

在选择启动按钮224时,重编程gui221被更新以显示进入重映射模式屏幕226(图5b)。屏幕226指示用户在重映射模式下如何启动自适应界面装置100。在屏幕226上的示例指令中,指示用户连接输入引脚116a和116b(例如,使用第一鳄鱼夹线缆),连接输入引脚116c和116d(例如,使用第二鳄鱼夹线缆)并随后使用连接器线缆104将自适应界面装置100连接到计算机154。当自适应界面装置100在重映射模式下被启动时,pcb102的发光二极管(led)将缓慢脉冲开和关以指示用户启动成功并且自适应界面装置100处于重映射模式而非处于正常操作模式。

在用户遵循屏幕226中所述的指令之后,本地计算机154从自适应界面装置100接收重映射模式信息(步骤228)。例如,自适应界面装置100在进入重映射模式时输出确认字符串,所述字符串包括自适应界面装置100的名称、软件版本和硬件版本(例如,“mmvl.20ab”)。网页浏览器182可从确认字符串确定所连接的自适应界面装置100的软件版本和硬件版本。因此,当自适应界面装置100被改进或可能具有不同布局、输入和性能的可替换版本被连接时,网页浏览器182可适当地进行(例如,获得适当的副本数据结构188)。

响应于接收到重映射模式信息,网页浏览器182将重映射gui221推进到图5c的确认屏幕230。确认屏幕230指示用户断开鳄鱼夹。当自适应界面装置100检测到鳄鱼夹被断开时,自适应界面装置100将当前映射数据发送到网页浏览器182(步骤232)。例如,当前映射数据可包括标识自适应界面装置100的当前编程映射(即,键映射180)的网页浏览器182的五十七个字符配置字符串,诸如,“suph50h52h51h4fh2chf0h1ah04h16h07h09h0ahf4hf5hf2h3hf0hf1”,加上三个附加字符(例如,“h50”),指示用户位于导航数据结构174内的位置。

在接收到当前映射数据之后,网页浏览器182推进重映射gui221到如图5d所示的重映射屏幕236(在步骤234)。重映射屏幕236包括导航数据结构174的图形表示的显示器。导航数据结构174的图形表示包括自适应界面装置100的图形表示及其输入引脚116(虚拟自适应界面240)、屏幕上键盘(osk)242(也称为虚拟键盘242)以及虚拟编程控制按钮244。

所示的虚拟自适应界面240是基于在步骤228作为重映射模式信息的部分发送的版本资料。换言之,示出的具体形状、布局和可编程输入是基于版本资料。此外,虚拟自适应界面240被示出为具有在步骤232被提供有当前映射数据的输入引脚116的当前映射。因此,虚拟自适应界面240是具有针对输入引脚116的每个输入引脚的当前映射的自适应界面装置100的前侧和后侧的可视化表示。

虚拟编程控制按钮244包括具有保存按钮246、取消按钮247和恢复按钮248的一行,这将在下面进一步详细地描述。

重映射屏幕236的导航经由在自适应界面装置100上的用户输入来执行的,所述用户输入被解释并作为导航代码通过单行通信传送至本地计算机154。用户可通过在自适应界面装置100上使激活(触发)上箭头输入引脚116a、下箭头输入引脚116b、左箭头输入引脚116c和右箭头输入引脚116d以及点击输入引脚116f来对重映射屏幕236进行导航。如所示,通过触发这些输入引脚116来对重映射屏幕236进行导航,使在自适应界面装置100上的通过同一触发正发生的数据结构174的真实导航可视化。触发这些输入引脚116中的一个输入引脚产生导航控制代码,所述导航控制代码将经由连接器线缆104发送到网页浏览器182。所述导航控制代码是以“x”值开始的三个十六进制字符代码。更具体地,导航控制代码如随后表i中所示:

表i

重映射屏幕236的导航(包括虚拟自适应界面240、虚拟键盘242和虚拟编程控制按钮244)是线性的。光标250被提供在重映射屏幕236上。光标250可以是有对比效果的颜色、闪光元素或者如圆圈所示,突出使用户在导航数据结构174内的当前位置。

自适应界面装置100从用户触发输入引脚116接收各种导航输入,并响应于每个导航输入,自适应界面装置输出导航代码至本地计算机154的网页浏览器182(步骤252)。网页浏览器182反过来根据接收到的导航代码更新重映射屏幕236(步骤254)。所述更新例如改变光标250在重映射屏幕236上的位置。在基于导航代码更新重映射屏幕236之后,网页浏览器182确定最新的导航代码是否指示自适应界面装置100已被重映射(例如,保存按钮246已被选中)。如果自适应界面装置100未被重映射,则所述方法返回至步骤252。步骤252和254可在用户对导航数据结构174导航时重复,并且步骤256继续被评估为否。

例如,当光标250在虚拟自适应界面240上时,左箭头导航代码使光标250按以下顺序通过输入引脚116前进:左箭头、上箭头、下箭头、右箭头、空格、点击、w、a、s、d、f、g、鼠标上移、鼠标下移、鼠标左移、鼠标右移、鼠标左击、鼠标右击,然后,循环返回,再次左箭头。

触发在自适应界面装置100上的下箭头输入引脚114b将使虚拟自适应界面240的光标下降至虚拟编程控制按钮224,其中,用户可选择保存按钮246、取消按钮247或恢复按钮248。触发在自适应界面装置100上的上箭头输入引脚114a将光标250带回至虚拟自适应界面240。

当光标250在虚拟自适应界面240的(虚拟)输入引脚116上的一个输入引脚上时,通过触发在自适应界面装置100上的点击输入引脚116f执行导航到虚拟键盘242。选择(虚拟)输入引脚116中的一个并导航至虚拟键盘242允许用户修改分配到自适应界面装置100的输入引脚116中所选中的引脚的按键/控制。在当光标250是虚拟输入引脚116中的一个时触发点击输入引脚116f时,光标250跳到在虚拟键盘242上当前分配的按键的位置。用户可随后通过触发在自适应界面装置100上的箭头输入引脚114a-d来导航至虚拟键盘242上的新键以控制在虚拟键盘上的光标250。通过再次触发点击输入引脚116f,光标250返回至虚拟自适应界面240上的虚拟输入引脚116。当点击输入引脚116f被触发时,选中的虚拟输入引脚116也在图形上被改变为先前在虚拟键盘242上突出的新键。例如,图5e示出在虚拟自适应界面240上的输入引脚116g-w从“w”字符更新至“x”字符之后的重映射屏幕236。

当现在虚拟自适应界面240具有修改后的键映射时,自适应界面装置100的实际键映射180还未更新。与之相反,为了使用显示在虚拟界面装置240上的修改后的键映射来更新键映射180,用户将光标250定位在保存按钮246上并触发点击输入引脚116f。在当光标位于保存按钮246上时触发点击输入引脚116f时,自适应界面装置100被重映射。在步骤256,该重映射被网页浏览器基于导航输入检测到,其中,所述导航输入包括当光标250位于保存按钮246上时触发点击输入引脚116f。

响应于检测到重映射,网页浏览器182在自适应界面240上显示自适应界面装置100的更新后的键映射180。在某些示例中,在选择保存按钮246时,虚拟自适应界面240将准备显示更新后的键映射,并在步骤258,虚拟界面装置240不被改变。在某些示例中,在步骤258,附加可视的指示(例如,闪光、颜色改变或特定文字)被显示在重映射屏幕236上以指示映射已被更新。

在步骤260,网页浏览器182确定是否接收到附加导航输入。如果网页浏览器182接收到附加导航代码,则所述方法返回至步骤254以更新重映射屏幕236。如果例如在预定时间段内没有接收到附加导航代码,则所述方法200结束。所述方法也可通过选择取消按钮247退出。

现在提供使用所述方法200对输入引脚116g至116w进行重编程的示例。为了对自适应界面装置100的输入引脚116g至116w进行重编程以输出“x”值而非“w”,用户可执行以下步骤:

i.将光标250导航至虚拟自适应界面240的“w”(输入引脚116g至116w)并触发自适应界面装置100上的点击输入引脚116f,使得光标250向下跳转到虚拟键盘242上的“w”;

ii.通过启动在真实自适应界面装置100上的右箭头输入引脚116d一次使光标位于虚拟键盘242的“x”上;

iii.触发点击输入引脚116f,使光标250返回至虚拟自适应界面240上的输入引脚116g至116w,随后在图形上从具有“w”改变为“x”(参见图5e);

iv.触发在自适应界面装置上的下箭头输入引脚116b以将光标250移动到保存按钮246;

v.触发点击输入引脚116f以保存在自适应界面装置上的新映射。

如先前所示,选择保存按钮246不导致更新后的映射从计算机154发送到自适应界面装置100。与之相反,由重编程代码170接收由用户在步骤i、ii和iii提供至自适应界面装置的各种导航输入,当在步骤v选择保存按钮246时,重编程代码170根据接收到的用户输入更新键映射180。

当由用户选择取消按钮247时,其被用于使自适应界面装置100退出重映射模式并返回至正常操作模式。在返回至正常操作模式时,键映射180将具有在最近保存操作中分配的值。

当由用户选择恢复按钮248时,其用于使自适应界面装置返回至默认设置。在选择恢复按钮248时,键映射180使用默认键分配被重写。

返回图4b,示出了用于对自适应界面装置100进行编程的方法210。所述方法210开始于自适应界面装置100接收到使其进入重映射模式的输入(步骤270)开始。更具体地,如以上针对图5b的描述,用户可连接特定输入引脚116一起并随后经由连接器线缆104将自适应界面装置100连接至本地计算机154以为自适应界面装置100供电。在对自适应界面装置100供电时,由微控制器106检测到特定连接,并且自适应界面装置进入重映射模式。

在自适应界面装置100进入重映射模式之后,自适应界面装置100将重映射模式信息发送到本地计算机154(步骤272)。如针对图4a的步骤228所描述的,重映射模式信息在步骤272被发送。在步骤274,在检测到用于进入重映射模式的输入引脚116的具体连接已断开时,如针对图4a的步骤232所描述的,自适应界面装置100将当前映射数据发送到本地计算机154。

在步骤276,自适应界面装置100接收到在输入引脚116处的导航输入。换言之,用户通过选择性地将输入引脚116接地来触发各种输入引脚116。基于接收导航输入,在步骤278,导航数据结构178被导航并且自适应界面装置100被重映射。例如,如以上已经详细描述的,导航输入使导数据结构174进行导航,这导致重编码代码170更新键映射180。

在步骤280,自适应界面装置100将指示接收到的导航输入的导航代码发送到本地计算机154的网页浏览器。反过来,网页浏览器182更新重映射屏幕236(参加图5d)。实际上,步骤276、步骤278和步骤280在重映射自适应界面设备100的可编程输入的过程期间在执行中重复循环并且在执行中重叠。具体来说,针对在步骤276接收到的每个导航输入,在步骤280发送导航代码,并且随着在步骤276接收导航输入,实时发生步骤280中的发送步骤。步骤276、步骤278和步骤280的这种重叠执行与通过在进行到步骤278之前等待步骤276完成并在进行至步骤280之前等待步骤278完成的顺序执行步骤276、步骤278,然后步骤280形成对比。如以上针对图4a的方法200所描述的,在步骤280中发送的导航代码用于更新重映射屏幕236。在步骤282,如果自适应界面装置100接收到另一导航输入,则所述方法返回至步骤278。如果例如在预定时间段内在步骤282没有接收到附加导航代码,则所述方法210结束。所述方法210还可通过选择取消按钮247来退出。

自适应界面装置100和网页浏览器182的重映射屏幕236是半独立状态机。重映射屏幕236的状态受控于自适应界面装置100,但自适应界面装置100并不受控于重映射屏幕236,也不从重映射屏幕236接收数据以确认状态机处于同步。因此,除了导航控制代码(l、r、u、d、点击),自适应界面装置100利用每个输入引脚116的致动来发送导航状态代码(即,光标250的预期位置)。每个导航状态代码也是三个十六进制字符代码,但是导航状态代码以“h”开始,而导航控制代码以“x”开始。例如,上箭头导航状态代码由“h52”表示,而上箭头导航控制代码由“x52”表示。在下面的表ii中提供了导航状态代码的列表。

表ii

例如,如上所示,在步骤232,在当前映射数据提供给网页浏览器182时,三个附加字符(例如,“h50”)指示在导航数据结构174内的当前位置(即,光标250的位置)。从而,光标250基于在以上表ii的编码在虚拟自适应界面240上的左箭头处开始。当用户按压自适应界面装置100上的右箭头(输入引脚116d)时,字符串“x4fh52”作为导航代码被发送,所述字符串包括导航控制代码“x4f”和导航状态代码“h52”。该导航代码向网页浏览器182指示(1)光标250将基于导航控制代码“x4f”向右移动一个增量,(2)移动之后光标250的预期位置是基于导航状态代码“h52”的向上箭头。再次按压右箭头使自适应界面装置输出字符串“x4fh51”作为导航代码,这表示将光标250向右推进一个增量(“x4f”),并确认光标250将位于向下箭头(“h51”)。

由于在自适应界面装置100与本地计算机154之间的通信是单行的并且网页浏览器182无法向自适应界面装置进行反向通信,所以通过除了自适应界面装置100之外的输入装置的重映射屏幕236的用户导航对于自适应界面装置100来说是未知的。因此,重映射gui221和网页浏览器182被设置为经由其它典型外围装置(例如,键盘或鼠标)的计算机输入不会影响重映射屏幕236或无法对重映射屏幕236进行导航。该技术帮助允许重映射屏幕236与自适应界面装置100的内部状态保持同步。

为了确保用户无法使用标准键盘或鼠标对重映射屏幕236进行导航,自适应界面装置100输出的导航控制代码是非标准的十六进制字符串,而非标准的hid等同物。例如,当处于正常操作模式时,用户可触发在自适应界面装置100上的右箭头输入引脚116d以输出在本地计算机154的显示器184上向右导航的hid等同物,当处于重映射模式下时,在自适应界面装置100上的右箭头实际上输出“x4f”(随同表示预期状态的三个十六进制字符代码),这并非标准hid代码。因此,如果用户按压在连接到本地计算机154的键盘上的右箭头,则重映射屏幕236无法识别所述输入。

如果本地计算机154在重映射模式下在预定时间段内无法接收到用户输入,则网页浏览器将显示超时信息。超时信息可指示通信已超时并请求用户刷新网页以重新开始(例如,在图5a的屏幕222)。自适应界面装置100也可被设置为如果其在重映射模式下在预定时间段内无法接收到用户输入,则退出重映射模式。如果由于已到达超时时间段而发生这种自动退出,则自适应界面装置100可恢复至其输入引脚116的默认编程,或可恢复至其输入引脚116的最近保存的编程。

上述自适应界面装置100的实施例是可使用以上示出的技术进行重编程的装置的示例。在某些实施例中,重编程技术用于对例如其它可编程计算机界面装置和/或通常无法作为计算机界面装置的其它可编程装置进行重编程。例如,通常不是计算机界面装置的可编程装置可包括其上安装有微控制器的pcb以及在典型的操作期间独立于与计算机接合、可用于各种功能的各种输入和输出(例如,引脚、led、传感器、振动发生器和/或扬声器)。在重映射模式下,然而,可编程装置例如使用usb线缆连接到计算机,并且计算机随后使用如上所述的相似技术基于单行通信提供用户的重编程的实时可视化反馈。例如,重编程可用于改变微控制器的设置,改变输入参数或输出参数,重映射将被分配到不同值或功能的输入和/或输出,回复默认设置或定制装置的其它可编程方面。

因此,本发明尤其提供了可编程的自适应界面装置以及对自适应界面设备进行编程的系统和方法。本发明的各种特征和优点在权利要求中阐述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1