用于自适应输入设备的基于上下文的状态改变转让专利

申请号 : CN201080017455.4

文献号 : CN102405453B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : V.鲍尔H.斯坦德R.D.杨S.M.梅尔

申请人 : 微软公司

摘要 :

提供了实施用于自适应输入设备的基于上下文的状态改变的系统和方法的各种实施例。例如,公开了一种方法,该方法可包括:接收指示系统状态的改变的状态输入,响应于状态输入而改变自适应输入设备数据,所述自适应输入设备数据包括图像数据或自适应输入设备映射数据中的一个或多个;以及通过使用自适应输入设备数据来调节自适应输入设备显示状态。调节自适应输入设备显示状态可包括以下的一项或多项:在自适应输入设备显示器上显示该图像数据,或按照自适应输入设备映射数据来调节自适应输入设备映射状态。

权利要求 :

1.一种提供自适应输入设备基于上下文的状态改变的方法(400),其中自适应输入设备包括具有多个能机械地按压的键和每个键上的键盘显示器的机械键盘,该方法包括:接收(410)指示系统状态的改变的状态输入;

响应于该状态输入,改变(412)自适应输入设备数据,自适应输入设备数据包括与该状态输入相关的图像数据;以及通过使用自适应输入设备数据而调节(430)自适应输入设备显示状态,其中调节自适应输入设备显示状态包括在键盘显示器上显示该图像数据。

2.权利要求1的方法,其中所述系统状态是以下的一项或多项:应用状态、计算设备状态、或用户状态。

3.权利要求2的方法,还包括:

检测应用状态的改变;以及

生成指示应用状态的改变的状态输入。

4.权利要求3的方法,还包括:

通过公共应用编程接口来接收指示应用状态的改变的状态输入。

5.权利要求2的方法,还包括:

检测计算设备状态的改变;以及

生成指示计算设备状态的改变的状态输入。

6.权利要求5的方法,还包括:

通过私用应用编程接口来接收指示计算设备状态的改变的状态输入,其中计算设备状态的改变是以下的一项或多项:计算设备的操作系统组件中的改变,或计算设备的硬件部件中的改变。

7.权利要求2的方法,还包括:

通过使用在键盘上的触摸传感器而检测用户状态的改变;以及生成指示用户状态的改变的状态输入。

8.权利要求2的方法,还包括响应于应用状态、计算设备状态或用户状态的改变,而改变键盘映射状态。

9.一种键盘(150),被配置成用于基于上下文的状态改变,该键盘包括:多个能机械地按压的键(158);

每个键上的键盘显示器(154);以及

控制器(160),其与多个键(158)和键盘显示器(154)相耦合,所述控制器被配置成用来接收指示系统状态(182)的改变的状态输入(172),并响应于状态输入(172)而改变键盘数据(118),所述键盘数据(118)包括与该状态输入相关的图像数据,其中控制器(160)被配置成通过使用该图像数据来调节键盘显示器(154)从而在键盘显示器上显示该图像数据。

10.权利要求9的键盘,其中所述系统状态是以下的一项或多项:应用状态、计算设备状态、或用户状态。

11.权利要求10的键盘,其中系统状态的改变是与键盘通信的计算设备中的应用状态的改变,键盘被配置成通过公共应用编程接口接收应用状态的改变,并且还被配置成在键盘显示器上显示与应用状态的改变有关的用户选项。

12.权利要求10的键盘,其中系统状态的改变是与键盘通信的计算设备状态的改变,键盘被配置成通过私用应用编程接口接收计算设备状态的改变,并且还被配置成在键盘显示器上显示与计算设备状态的改变有关的用户选项。

13.权利要求9的键盘,还包括触摸传感器,其中系统状态的改变是由触摸传感器检测到的用户状态的改变,键盘被配置成在键盘显示器上显示与用户状态的改变有关的用户选项。

14.权利要求9的键盘,其中键盘被配置成响应于指示应用状态、计算设备状态或用户状态的改变的状态输入,而改变多个键的键盘映射状态。

说明书 :

用于自适应输入设备的基于上下文的状态改变

背景技术

[0001] 诸如键盘那样的输入设备常常与计算机一起使用。键盘典型地提供按熟悉的QWERTY型式安排的数字字母输入、数字键区和/或功能键。某些键盘包括媒体按钮、音量控制和/或快速启动按钮。在一些情形下,快速启动按钮可以通过打开键盘控制程序并将特定的功能与快速启动按钮相关联而被指派以用户规定的功能性。这样的办法的一个缺点在于,用户难以在目视检查后查明用户可指派的键的功能,因为键本身典型地被贴上非描述性的标签。在这种情形下,用户依赖于他或她的记忆来回想所指派的功能。另外,这些可指派的键的位置是固定的,而固定的位置对于某些功能的指派可能是不合适的。结果,可指派的键并没有得到普遍的流行。

发明内容

[0002] 提供了实施用于自适应输入设备的基于上下文的状态改变的系统和方法的各种实施例。例如,公开了一种方法,该方法可包括:接收指示系统状态的改变的状态输入;响应于状态输入而改变自适应输入设备数据,自适应输入设备数据包括图像数据或自适应输入设备映射数据中的一个或多个;以及通过使用自适应输入设备数据来调节自适应输入设备显示状态。调节自适应输入设备显示状态可包括以下的一项或多项:在自适应输入设备显示器上显示该图像数据,或按照自适应输入设备映射数据来调节自适应输入设备映射状态。
[0003] 本概要被提供来以简化的形式介绍概念,这些概念将在下面的详细说明中进一步描述。本概要不打算标识要求保护的主题的关键特征或必要特征,也不打算被使用来限制要求保护的主题的范围。而且,要求保护的主题不限于用来解决在本公开内容的任何部分中指出的任何或所有缺点的实现。

附图说明

[0004] 图1显示对于可能经历基于上下文的状态改变的自适应输入设备的示例性实施例的环境。
[0005] 图2显示采用机械键盘和在触摸屏用户输入设备上的虚拟键盘的形式的自适应输入设备的示例性实施例。
[0006] 图3显示采用机械键盘和在触摸屏用户输入设备上的虚拟键盘的形式的自适应输入设备的示例性实施例,它举例说明了响应于计算设备状态、用户状态或应用状态的改变的键盘显示和/或键盘映射的改变。
[0007] 图4显示了一个过程流,其描绘了用于自适应输入设备的基于上下文的状态改变的方法的实施例。

具体实施方式

[0008] 图1显示了环境100,用于可能经历基于上下文的状态改变的、诸如键盘150的自适应输入设备的示例性实施例。环境100包括计算设备105,其具有存储器140、处理器142和大容量存储器144。在一些实施例中,大容量存储器144可以是硬驱动、固态存储器、可重写盘,等等。在所图示的实施例中,存储器140包括操作系统空间120和应用空间110。应用空间还包括具有自适应键盘应用130的应用112,自适应键盘应用130包含应用状态
114、相关联的键盘状态116和键盘数据118。正如下面详细讨论的和在图2上图示的,键盘150可以是例如具有可机械地按压的键的机械键盘200,或是在自适应输入设备的触敏屏上显示的虚拟键盘200A。也设想了其它的自适应输入设备,它们配备有显示器和触摸传感器,正如下面描述的。
[0009] 回到图1,在所图示的实施例中,应用112可以经由到自适应键盘应用130的诸如命名管道(named pipe)131那样的进程间通信机制而与键盘150通信,自适应键盘应用130进而又通过总线驱动器124与键盘150通信。自适应键盘应用130可以例如是在操作系统上运行的服务,并且它可以解译经由命名管道131接收的应用特定的事件,并且作为响应而发送用户接口消息到键盘150。总线驱动器124可被配置成提供对于诸如通用串行总线(USB)、在互联网协议上的传输控制协议(TCP/IP)、蓝牙等等的各种传输协议的支持,并通过使用这些协议中的一个或多个协议而在总线上发送消息到键盘150。替换地,应用112可以通过诸如公共应用编程接口122那样的应用编程接口和通过总线驱动器124与键盘150通信。
[0010] 经由任一种路由,应用112可以发送消息、输入或其它通信到键盘150,该消息包括应用状态114、或相关联的键盘状态116、或键盘数据118。然而,其它实施例可以不受这样的限制,以及应用状态114可被映射到键盘状态116或键盘数据118及其它被传送给键盘150的东西。
[0011] 在操作系统空间120中,计算设备105包括自适应键盘应用130,其存储计算设备状态132、键盘状态116和键盘数据118。计算设备状态132可以接收来自操作系统组件127的输入,而操作系统组件127还可以接收来自附连的设备或计算设备105的硬件126的输入。自适应键盘应用130通过私用应用编程接口128和总线驱动器124而与键盘150通信。例如,自适应键盘应用130可以发送消息、输入或其它通信到键盘150,其包括计算设备状态132、或相关联的键盘状态116、或键盘数据118。然而,其它实施例可以不受这样的限制,以及计算设备状态132可被映射到键盘状态116或键盘数据118及其它被传送给键盘
150的东西。
[0012] 现在转到键盘150,键盘150包括与多个键158和键盘显示器154相耦合的控制器160,且控制器160包括自适应键盘程序162。在一些实施例中,键盘150可包括触摸传感器152,用来检测用户状态的改变。例如,触摸传感器152可以是:被配置成光学地检测用户对键盘的某个区域的触摸的光学触摸传感器,被配置成检测来自用户触摸的电改变的电容性触摸传感器,或被配置成检测由于触摸引起的键运动的加速计触摸传感器,等等。在一些实施例中,键盘150可包括在键158的一个或多个上的键显示器156,或者在键盘上的、从键盘突出的(project)、附连到键盘的显示器155等等。另外,键盘显示器154可包括多个显示器,其中自适应键盘程序162可以按照相应的系统状态改变、用户选择的显示内容、系统选项等等更新该多个显示器的每一个。
[0013] 键盘150通过计算设备上的总线驱动器124发送和接收来自计算设备105的通信。自适应键盘程序162还包括自适应键盘模块180、键盘映射状态164、键盘显示状态166和用户状态服务170。用户状态服务170还包括由触摸传感器152感测的用户状态172,以及相关联的键盘状态116和键盘数据118。
[0014] 自适应键盘模块180包括指示系统状态182的一个或多个输入,系统状态182包括应用状态114、计算设备状态132和/或用户状态172的一项或多项。替换地,自适应键盘模块180可以接收已经相关联的键盘状态116和/或键盘数据118,其中作为非限制性例子,键盘状态116和键盘数据通过在应用空间110或操作系统空间120中运行的自适应键盘应用130而与系统状态相关联。
[0015] 在一个实施例中,键盘150可被配置成提供基于上下文的状态改变。例如,自适应键盘程序162可被配置成接收指示系统状态的改变的状态输入,并响应于状态输入而改变键盘数据118。在示例性实施例中,键盘数据118包括图像数据或键盘映射数据中的一个或多个,以及控制器被配置成通过使用该图像数据而调节键盘显示,并且还被配置成按照键盘映射数据来调节键盘映射状态。图像数据可以是来自应用112、操作系统组件127、对于硬件126的配置选项等的图标、菜单项等等。
[0016] 在一些例子中,可以在一个或多个键上被显示的图像数据可以来自在计算设备105上运行的应用112,可以来自计算设备105的操作系统,它可以被保存在键盘150的存储器中等等。例如,为了把图像数据显示在特定的键上,或显示到键盘上的特定的显示部分,自适应键盘程序162可以从在计算设备105上的应用112或操作系统空间120中运行的自适应键盘应用130、或从在键盘150上的用户状态服务170来接收键盘状态116,正如在以下的段落中更详细地解释的。
[0017] 在一个示例性实施例中,系统状态的改变可以是在与键盘150通信的计算设备105中的应用状态114的改变。例如,键盘150可被配置成通过公共应用编程接口122接收应用状态114的改变,并且还被配置成在键盘显示器154上显示与应用状态114的改变有关的用户选项。
[0018] 在一些实施例中,应用状态114的改变可以根据以下项被确定,即:应用112是否为活动的应用,应用112是否在计算背景下操作,当应用112活动时在应用内是否有不同的状态,等等。在一个例子中,在字处理程序中,如果选择文本,则可以检测到应用状态114的改变。响应于应用状态114的改变,功能性可以通过键盘显示、键映射等等而被显示和显露给键盘的用户。
[0019] 作为例子,如果用户在字处理应用中先前曾选择文本并把文本改变为蓝色文本,则当该文本被选择时可以检测到应用状态114的改变,以及键盘显示器可以显示文本改变到的多个颜色。在具体的例子中,用户先前的动作也可以按照频率、最近的改变、与应用状态114的改变的关系等等进行排序,以及键盘显示器可以安排选项列表供用户选择。这样,如果用户最近选择文本并把文本变换成蓝色文本,但先前选择该文本并把它变换成红色文本,则第一个选项可以被显示为把该文本变换成蓝色文本,第二个选项可以被显示为把该文本变换成红色文本,等等。
[0020] 在应用状态114的改变的另一个例子中,当首先启动幻灯片放映演示程序时,可以有一个状态,其中程序询问用户:他们是否正在创建新的幻灯片放映,或用户是否想要打开最近的幻灯片放映。如果用户选择打开最近的幻灯片放映,则自适应键盘程序162可以检测到应用状态114的这个改变,并将键盘显示器154改变成显示被打开过的10个最近的幻灯片放映演示。而且,一旦选择了某个幻灯片放映,自适应键盘程序162就可以检测到另一个状态改变,并在键盘显示器154上显示在打开的幻灯片放映内的选项。例如,当用户巡览(navigate)该打开的幻灯片放映时,或当用户选择动画以包括到幻灯片放映中时,与巡览或动画相关联的功能性可以通过键盘显示器154而显露给用户,以及用户可以通过键盘选择该功能性,而不需要用来把用户带入到菜单选项的击键序列。
[0021] 在另一个示例性实施例中,系统状态的改变可以是在与键盘150通信的计算设备状态132的改变。例如,键盘可以被配置成通过私用应用编程接口128接收计算设备状态132的改变,并且还可以被配置成在键盘显示器154上显示与计算设备状态132的改变有关的用户选项。例如,作为非限制性例子,计算设备状态132的改变可以包括计算机开启、关断、进入睡眠、被置于备用状态、开启屏幕保护程序。这样,通过使用自适应键盘程序162,计算设备状态132的可检测的改变可以通过键盘显示器154而被显示给用户。
[0022] 在一些实施例中,系统状态的改变可以由触摸传感器152来检测。例如,系统状态的改变可以是用户状态172的改变,其中键盘被配置成在键盘显示器154上显示与用户状态172的改变有关的用户选项。例如,当用户触摸键盘时,当键盘被移动或拿起时,当用户正在接近(approach)键盘时,当用户按压一个或多个键或键序列时,当用户与键盘上正在显示一个或多个用户选项的交互式显示器进行交互时等等,可以检测到用户状态172的改变。这样,当用户状态改变时,键盘150可被配置成响应于用户状态改变而改变显示状态。
[0023] 在一些实施例中,键盘150可被配置成响应于指示应用状态114、计算设备状态132或用户状态172的改变的状态输入,而改变多个键158的键盘映射状态164。作为例子,自适应键盘程序162可包括被配置成把来自应用112的键代码映射到特定的键的查找表(LUT),并响应于该键的随后的推按而提供键代码。在游戏应用例子中,在键盘上按压“Q”按钮可以在游戏内让武器开火。自适应键盘程序162然后可被配置成与游戏应用通信,把来自游戏应用的一个或多个键代码映射到相应的键,以及响应于在映射的键——在本例中是“Q”——上的按钮按压,自适应键盘程序162可以将相应的代码——在本例中是用于让武器开火的键代码——发送到游戏。
[0024] 在一些实施例中,自适应键盘程序162可以响应于状态改变的组合而调节键盘显示或键盘映射状态。例如,当用户接近键盘150而同时附连的计算设备处在锁定状态时,可以检测到用户状态172的改变。这样,当用户到达范围内时,自适应键盘程序可以照亮键盘键158,而且向用户显示指令以打入密码来对计算设备解锁。
[0025] 图2显示具有键盘显示器154和其它显示器155的机械键盘200的示例性实施例。在一些实施例中,键盘显示器可以提供输入和输出功能性。提供输入和输出功能性的显示器的一个例子是触摸屏。键盘200包括多个键,其中包括在以上参照图1描述的键映射实施例中的示例的键Q 215。图2还图示触摸屏用户输入设备的虚拟键盘200A。触摸屏用户输入设备配置有键盘显示器和触摸传感器,触摸传感器被配置成接收来自用户的触摸输入。虚拟键盘200A可包括各种尺寸和形状的键,如图所示,它们被显示在触摸屏用户输入设备上。在一个示例的键上,画了一个星号。
[0026] 图3显示键盘200的示例性实施例,它举例说明了响应于计算设备状态、用户状态或应用状态的改变的键盘显示和/或键盘映射的改变。返回来参考图1,键盘可以通过如上所述的应用编程接口或命名管道和自适应键盘应用,来接收诸如应用状态114、计算设备状态132、键盘状态116或键盘数据118等的系统状态,并送入自适应键盘模块180,它可以响应于接收的状态改变而生成键盘的状态改变。另外,键盘可以具有传感设备,以检测与用户状态172的改变有关的系统状态改变,并作为响应,生成键盘的状态改变来响应用户状态的改变。图3图示在系统状态改变后的键盘200,在以前的“Q”按钮上示出的显示215上显示了不同的图像。在一些实施例中,该按钮将被映射到规定的功能性,诸如以上描述的图1中的武器开火例子。图3还图示了键盘200A,示出了以不同的尺寸和形状形成的键,且与以前的星形图形相比,键带有响应于系统状态改变的在其上描绘的不同图像,即五边形。
[0027] 图3图示了显示器310、显示器320、显示器330和显示器340,它们被提供在图2的键盘显示器154和其它显示器155上。在一些实施例中,键盘显示器154和其它显示器155可以由在控制器160上的自适应键盘程序162中运行的自适应键盘模块180来控制。
这样,自适应键盘模块180可以响应于用户状态172而显示由计算设备105、应用112、用户输入提供的图像数据和/或其它内容,或否则显示被存储在附连的计算设备105上的或驻留在键盘上的存储器中的图像数据和/或其它内容。而且,多个应用程序可被配置成将显示数据并发地输出到键盘的不同区域,由此共享合成的键盘显示。
[0028] 在示例性使用案例的情景中,显示器310可以显示通过私用应用编程接口128和总线驱动器124从计算设备132接收的备用计算设备状态132。然后,作为例子,如果计算设备132被锁住,则显示器310可以提醒用户输入密码以对计算设备132解锁。作为另一个示例性使用案例的情景,一旦计算机被解锁,显示器320就可以提供通过公共应用编程接口122和总线驱动器124接收的、用于媒体播放器应用的菜单选项。这样,显示器320可以响应于感测到用户接近键盘,而显示对于最近播放的音频文件的、用于媒体播放器的菜单选项。
[0029] 继续参考附图,图4显示方法400的实施例的流程图,该方法400用于诸如虚拟或机械键盘的自适应输入设备的基于上下文的状态改变。首先,如方块410所指示的,方法400包括接收指示系统状态的改变的状态输入。作为例子,系统状态可以是应用状态、计算设备状态或用户状态的一项或多项,如方块415所图示的。这样,应用状态、计算设备状态或用户状态的改变可以被描绘在自适应输入设备显示器上,例如,通过更改显示器的外观以向用户提醒系统状态的改变。
[0030] 方法400还包括响应于状态输入而改变自适应输入设备数据,自适应输入设备数据包括图像数据或自适应输入设备映射数据中的一个或多个,如方块420所指示的。接着,方法400包括通过使用自适应输入设备数据来调节自适应输入设备显示状态,其中调节自适应输入设备显示状态包括以下的一项或多项:在自适应输入设备显示器上显示该图像数据,或按照自适应输入设备映射数据来调节自适应输入设备映射状态,如在430所指示的。在一些实施例中,图像数据或自适应输入设备映射数据可以从计算设备、应用和/或用户输入被接收,如方块435所示。
[0031] 在示例的应用状态改变的实施例中,方法400包括检测应用状态的改变,并生成指示应用状态的改变的状态输入。例如,指示应用状态的改变的状态输入可以通过计算设备的应用编程接口被接收,该应用编程接口可以是公共的,如方块417所指示的。在另一个实施例中,状态输入可以经由在自适应输入设备应用中的进程间通信机制——诸如命名管道——而从应用被接收,自适应输入设备应用进而又被配置成将状态输入经由总线驱动器转发到自适应输入设备。这样,键盘可以响应于应用状态的改变而调节键盘显示、键映射等等。
[0032] 在示例的计算设备状态改变的实施例中,方法400还可包括检测计算设备状态的改变,并生成指示计算设备状态的改变的状态输入。作为例子,响应于通过应用编程接口——其可以是私用的——接收到指示计算设备状态的改变的状态输入,如方块417所指示的,键盘可以响应于在计算设备的操作系统组件中或在计算设备的硬件部件中的改变的一个或多个而调节键盘显示、键映射等等。
[0033] 在示例的用户状态改变的实施例中,方法400还可包括通过使用键盘上的触摸传感器而检测用户状态的改变,并生成指示用户状态改变的状态输入。在一些实施例中,方法400还可包括响应于应用状态、计算设备状态或用户状态的改变,而改变键盘映射状态,如方块437所图示的。
[0034] 如上所述,自适应输入设备可包括键盘,比如具有可机械地按压的键的机械键盘,和/或被配置成呈现虚拟键盘的触摸屏设备。也设想了其它自适应输入设备,它们包括如上所述的触摸传感器和显示器两者。
[0035] 应意识到,这里描述的实施例可以例如经由被存储在计算机可读存储介质上并由计算设备执行的计算机可执行指令或代码(诸如程序)来实施。通常,程序包括执行特定的任务或实施特定的抽象数据类型的例行程序、对象、组件、数据结构等。这里使用的术语“程序”可以意味着单个程序或一致动作的多个程序,并且可被使用来表示应用、服务、或任何其它类型或类别的程序。同样地,这里使用的术语“计算机”或“计算设备”包括电子地执行一个或多个程序的任何设备,包括但不限于,具有计算功能性的键盘和其它计算机输入设备。
[0036] 还应明白,这里描述的配置和/或办法实际上是示范性的,以及这些特定的实施例或例子不打算是在限制意义上被考虑,因为许多变例是可能的。这里描述的特定的例行程序或方法可以代表许多处理策略中的一个或多个。照这样,所举例说明的各种动作可以以所例示的顺序、以其它顺序或并行地被执行,或者在某些情形下被省略。同样地,任何上述的过程的次序对于达到这里描述的实施例的特征和/或结果并不一定是必需的,而是被提供来易于例示和描述。
[0037] 本公开内容的主题包括这里公开的各种过程、系统和配置以及其它特征、功能、动作和/或属性的所有的新颖和非显而易见的组合和子组合,连同它们的任何的和所有的等同物。