对用户输入的意图进行分类

申请号 CN201310067373.6 申请日 2013-03-04 公开(公告)号 CN103455274A 公开(公告)日 2013-12-18
申请人 微软公司; 发明人 M.R.卢茨三世; P.H.迪茨;
摘要 可以由用户通过输入装置的 键盘 输入 不同类型的用户输入。这些不同类型的用户输入包括例如 击键 、多触摸交互、单 手指 运动和/或 鼠标 点击。使用关于施加到压敏键盘的键的压 力 随时间(或对于其他类型键盘,用户输入的 接触 区域随时间)的触摸信息将用户输入的意图分类为各种类型用户输入之一。
权利要求

1. 一种方法,包括:
获得关于对输入装置的用户输入的触摸信息;以及
基于所述触摸信息,将用户输入的意图分类为击键或一种或多种其他类型的输入。
2. 根据权利要求1所述的方法,所述输入装置包括接收所述用户输入的多个压传感器,并且所述获得包括获得力信息。
3. 根据权利要求1所述的方法,所述输入装置包括接收所述用户输入的电容性系统,并且所述获得包括获得接触信息。
4. 根据权利要求1所述的方法,所述一种或多种其他类型的输入包括多触摸交互。
5. 根据权利要求1所述的方法,所述分类包括响应于所述用户输入包括力急剧增大、接着力急剧减小而将所述用户输入的意图分类为击键。
6. 根据权利要求5所述的方法,所述分类包括定义初始碰撞时长,所述初始碰撞时长在所述用户输入施加的压力增大到开始阈值量时开始,在所述用户输入施加的压力下降到局部最小值或停止阈值量时结束,力的急剧增大和急剧减小发生于所述初始碰撞时长期间。
7. 根据权利要求1所述的方法,所述分类包括:通过将所述触摸信息与一个或多个表示用户输入意图的图比较来对用户输入意图分类,并且基于与所述触摸信息符合的一个或多个图之一相关联的意图将所述用户输入分类为击键或一种或多种其他类型的输入。
8. 一种包括输入装置的设备,配置成提供指示关于用户输入的触摸信息的输出,所述触摸信息可以由一个或多个模用于确定提供所述用户输入时的用户意图。
9. 根据权利要求8所述的设备,所述触摸信息包括指示向所述压敏输入装置的键盘施加压力的位置随时间的变化以及施加到所述键盘的压力随时间的变化的信息。
10. 根据权利要求8所述的设备,所述用户意图包括击键、多触摸交互或单手指运动。

说明书全文

对用户输入的意图进行分类

[0001] 相关申请本申请依据35 U.S.C. §119(e)要求享有以下美国临时专利申请的优先权,通过引用将这些申请的每个的完整公开全文并入:
美国临时专利申请No. 61/606321,2012年3月2日提交,代理文档号336082.01,题为“Screen Edge”;
美国临时专利申请No. 61/606301,2012年3月2日提交,代理文档号336083.01,题为“Input Device Functionality”;
美国临时专利申请No. 61/606313,2012年3月2日提交,代理文档号336084.01,题为“Functional Hinge”;
美国临时专利申请No. 61/606333,2012年3月2日提交,代理文档号336086.01,题为“Usage and Authentication”;
美国临时专利申请No. 61/613745,2012年3月21日提交,代理文档号336086.02,题为“Usage and Authentication”;
美国临时专利申请No. 61/606336,2012年3月2日提交,代理文档号336087.01,题为“Kickstand and Camera”;以及
美国临时专利申请No. 61/607451,2012年3月6日提交,代理文档号336143.01,题为“Spanaway Provisional”。

背景技术

[0002] 计算装置时常具有多种不同类型的输入机制。这些输入机制可以包括例如键盘、虚拟键盘、鼠标跟踪板等。尽管这些不同类型的机制为用户提供了多种输入选择,但它们并非没有其问题。一个这样的问题是,给定输入机制的数量和不同类型,用户可能难以管理不同的输入机制,尤其是在移动设置中。发明内容
[0003] 描述了对用户输入技术的意图进行分类。
[0004] 在一种或多种实施方式中,获得关于输入装置的用户输入的触摸信息。基于这种触摸信息,将用户输入的意图分类为击键或一种或多种其他类型的输入。
[0005] 在一种或多种实施方式中,输入装置被配置成提供指示关于用户输入的触摸信息的输出。这种触摸信息可以由一个或多个模用于确定提供用户输入时的用户意图。
[0006] 提供本发明内容是为了以简化形式介绍一系列概念,下面在具体实施方式中进一步描述这些概念。本发明内容并非要标识所要求保护的主题的关键特征或基本特征,也并非要用来辅助确定所要求保护的主题的范围。附图说明
[0007] 参考附图给出详细描述。在附图中,附图标记的最左边数字表示附图标记第一次出现的图。在说明书和附图中的不同情况下使用相同附图标记可以表示类似或相同项目。图中表示的实体可以指示一个或多个实体,从而可以可互换地在论述中引用单数或复数的实体。
[0008] 图1是实施这里所述技术的范例输入装置的例示。
[0009] 图2是采用这里所述技术的范例计算装置的例示。
[0010] 图3是显示虚拟键盘的图2的计算装置的图示。
[0011] 图4A和4B示出了具有范例用户输入的范例输入装置。
[0012] 图5是可操作采用这里所述技术的范例实施方式中的系统的图示。
[0013] 图6示出了在特定位置随时间的曲线图范例。
[0014] 图7示出了在特定位置压力随时间的曲线图另一范例。
[0015] 图8为流程图,示出了根据一个或多个实施例用于实施这里所述技术的范例过程。
[0016] 图9为流程图,示出了根据一个或多个实施例用于实施这里所述技术的另一范例过程。
[0017] 图10示出了包括范例装置各部件的范例系统,可以将范例装置实现为参考图1-9所述的任何类型计算装置以实施这里所述技术的实施例。

具体实施方式

[0018] 概述描述了对用户输入技术的意图进行分类。可以由用户通过输入装置的键盘提供不同类型的用户输入。这些不同类型的用户输入包括例如击键、多触摸交互和/或鼠标点击。使用关于施加到压敏键盘的压力的力信息以及施加压力的一个或多个位置,将用户输入的意图分类为各种类型用户输入之一。可以类似地使用关于针对其他类型键盘(例如电容性和/或电阻性系统)的用户输入接触区域的接触信息以及发生接触区域的一个或多个位置,将用户输入的意图分类为各种类型用户输入之一。
[0019] 在以下论述中,首先描述可以采用这里所述技术的范例环境。然后描述可以在范例环境以及其他环境中执行的范例流程。因此,范例流程的执行不限于范例环境,范例环境不限于范例流程的执行。
[0020] 范例环境和流程图1是实施这里所述技术的范例输入装置100的例示。在例示的范例中,将输入装置
100配置为具有QWERTY键布置的键盘,但也可以想到其他键布置。此外,也想到了其他非常规配置,例如游戏控制器、遥控装置、模拟乐器的配置等。于是,输入装置100和输入装置
100结合的键可以采用多种不同配置以支持多种不同功能。
[0021] 输入装置100是多用途装置,支持各种类型的用户输入。用户输入能够具有各种不同意图,例如多触摸交互、击键、鼠标点击等。输入装置100支持公共输入区域(例如键盘)中的这些不同类型的用户输入。例如,用户可以触摸键盘上的键“q”、“w”和“e”,可以确定那些触摸的意图为选择字母“q”、“w”和“e”的击键。用户也可以将他或她的手指划动过键盘上的键“q”、“w”和“e”,可以将划动的意图确定为多触摸交互或单手指运动。下文更详细地论述对用户输入意图的这种确定。
[0022] 可以将输入装置100可通信地耦合到计算装置102。输入装置100可以在物理上与计算装置102分离并通过各种常规通信机制的任一种与计算装置102通信。例如,输入装置100可以通过无线连接、通过有线连接、通过装置100和102彼此接触的通信联系等与计算装置通信。
[0023] 计算装置102的范围可以是从具有充足存储器和处理器资源的完整资源装置到具有有限存储器和/或处理资源的低资源装置。计算装置102还可以涉及令计算装置102执行一种或多种操作的软件。在各种实施方式中,计算装置102可以采用多种不同配置,例如供计算机104、移动装置106和电视108使用。这些配置的每种包括可以具有大致不同构造和能力的装置,因此可以根据一个或多个不同装置类别配置计算装置102。
[0024] 例如,可以将计算装置102实现为计算机104类别的装置,包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。也可以将计算装置102实现为移动装置106类别的装置,包括移动装置,例如移动电话、便携式音乐播放器、便携式游戏装置、平板计算机、多屏幕计算机等。也可以将计算装置102实现为电视108类别的装置,包括在临时观看环境中具有或连接到一般更大屏幕的装置。这些装置包括电视、机顶盒、游戏控制台等。
[0025] 计算装置102还包括输入/输出模块110。输入/输出模块110代表与处理输入并呈现计算装置102的输出相关的功能。可以由输入/输出模块110处理多种不同输入,例如与对应于输入装置100的键的功能相关的输入、通过输入装置100识别的多触摸交互或单手指运动且导致执行对应于多触摸交互或单手指运动的操作的输入等等。因此,输入/输出模块110可以通过识别并利用包括按键、多触摸交互、单手指运动等的输入类型之间的划分来支持多种不同输入技术。
[0026] 可替换地,输入装置100可以被包括作为计算装置的一部分。图2是采用这里所述技术的范例计算装置202的例示。计算装置202可以采取多种不同配置,类似于图1的计算装置102。例如,可以配置计算装置202进行移动应用,例如移动电话、平板计算机等。计算装置202也可以包括输入/输出模块204,类似于图1的输入/输出模块110,还可以涉及令计算装置202执行一个或多个操作的软件。
[0027] 计算装置202包括显示装置206,通过其可以在显示模式中显示各种数据和信息。显示装置206可以使用各种显示技术。这些显示技术可以包括,例如液晶(LCD)显示技术、发光二极管(LED)显示技术、有机发光二极管(OLED)显示技术、等离子体显示技术等。尽管这里论述了显示技术的范例,但也想到其他显示技术。
[0028] 显示装置206可以是触摸屏显示器,可以通过用户触摸显示装置206提供各种用户输入。计算装置202还支持键盘模式,其中显示虚拟键盘。图3是显示虚拟键盘302的计算装置202的图示。虚拟键盘302是多用途装置,支持各种类型的用户输入,类似于图1的输入装置100的键盘。不过,并非是物理上独立的装置,键盘302是虚拟键盘,是计算装置202的一部分。于是,显示装置206还充当计算装置202中的输入装置。
[0029] 由输入装置的输入感测部件感测对输入装置(例如,图1的输入装置100和/或图2的显示装置206)的用户输入。输入装置能够使用多种不同的输入感测技术。这些输入感测技术可以包括感测压力或力的压敏系统。这些输入感测技术还可以包括感测触摸的电容性系统和/或电阻性系统。这些输入感测技术还可以包括基于光学的成像,其感测来自触摸(或接近)显示装置表面的物体的光反射或破坏,例如像素传感器(SIP)系统、红外系统、光学成像系统等。也可以使用其他类型的输入感测技术,例如表面声波系统、声学脉冲识别系统、色散信号系统等。尽管这里论述了输入感测技术的范例,但也考虑了其他输入感测技术。
[0030] 响应于特定时间用户触摸键盘,输入感测部件确定在该特定时间被触摸的位置。输入感测部件的各种模块可以使用不同算法或技术来识别被触摸的位置,这些算法或技术可以基于使用的具体输入感测技术而变化。对于压敏输入感测部件,这些各种模块还识别被触摸位置处施加的压力的量。对于其他类型的输入感测部件,这些各种模块还识别被触摸的区域(接触区域)。
[0031] 可以以各种频率,例如每秒1000次,确定被触摸位置的判定,尽管想到其他采样频率。应当注意,确定触摸位置的频率足以识别用户输入是否符合不同用户意图的特性。例如,每秒1000次的采样频率可以足以确定用户输入是否符合击键意图的特性,而更低的采样频率(例如每秒100次)可能不足以识别用户输入是否符合击键意图的特性。因此,与这里论述的输入感测部件相反,以低频率确定被触摸位置的很多输入感测部件会无法确定用户输入是否符合一些意图的特性。
[0032] 输入感测部件检测或感测物体的触摸,例如用户手的手指、指示笔、笔等。这里对用户输入技术意图分类的论述指的是由用户手指提供的用户输入(因此触摸也称为手指碰撞),尽管这种用户输入也可以替代地由指示笔或用户控制的其他物体提供。
[0033] 图4A和4B示出了具有范例用户输入的范例输入装置400。输入装置400可以是,例如图1的输入装置100和/或图3的显示装置206。输入装置400是多用途装置,支持各种类型的用户输入。同时支持这多种类型的用户输入。例如,输入装置400可以包括键盘,用户能够在该键盘上提供不同类型的输入,使用这里论述的技术自动确定该用户输入的意图。
[0034] 因此,输入装置400的触摸可能具有不同的用户意图,例如击键、鼠标点击、单手指运动或多触摸交互,但也想到其他意图或类型的用户输入。击键是指用户在键盘上选择特定键,键盘的不同位置与不同键相关联。鼠标点击是指按下典型地与鼠标相关联的按钮或跟踪板按钮。多触摸交互是指用户同时触摸多个位置(例如,利用用户的多个手指)以触发计算装置的一个或多个功能。多触摸交互还可以包括由用户一个或多个手指采取的运动或路径。例如,多触摸交互可以是在一个或多个特定方向上滑动用户的手指,用户手指追踪一个或多个特定字符或符号等。单手指运动是指由用户手指采取的运动或路径,以移动光标指针或其他对象(例如拖动图标、文件等),或触发计算装置的一个或多个功能。单手指运动意图和多触摸交互意图也可以称为运动意图,因为它们典型地(尽管对于多触摸交互而言并非一定)包括用户手指的运动。
[0035] 图4A示出了范例用户输入,其意图是击打字母“d”的键或鼠标点击。可以通过不同方式确定用户输入意图是击键还是鼠标点击,例如基于下文所讨论的击键特性和鼠标点击特性。
[0036] 图4B示出了范例用户输入,其意图是从左至右的单手指运动。利用手的虚线轮廓例示了用户手指的最终位置。可以通过不同方式确定用户输入意图是否是单手指运动,例如基于下文更详细讨论的触摸移动距离和/或触摸速度。
[0037] 如图4A和4B所示,两个用户输入都以触摸对应于字母“d”的键盘位置开始。不过,可以利用这里论述的技术确定用户的意图(例如击键或多触摸交互)。用户不必按下任何按钮或选择任何菜单选项以指明他或她的意图(例如,用户是否希望输入击键或多触摸交互)。相反,用户能够简单地提供他或她的输入,这里论述的技术自动确定该输入的意图。
[0038] 使用如上所述由一个或多个传感器感测的触摸以及触摸的一个或多个位置对用户输入意图分类,例如将用户输入分类为击键或其他类型的输入。用户输入是指用户对输入装置一个或多个部分的触摸。可以利用压力传感器密集阵列感测触摸,如上所述,以足够的频率对其采样以表征触摸。可替代地,可以利用电容性传感器感测触摸,在手指触及表面然后反弹时,通过注意到耦合的急剧变化而间接感测到碰撞。不论使用的传感器类型如何,都能够在发生触摸的区域中基于(例如通过内插)来自传感器的数据容易地确定触摸的位置。
[0039] 触摸可以具有关联的力信息(在使用的输入感测技术包括压敏系统的情况下)或接触信息(在使用其他输入感测技术的情况下)。力信息是指触摸键盘时用户施加的压力。接触信息是指在触摸键盘时用户触摸的区域(用户手指或其他物体触摸的触摸板或触摸屏的部分,用户手指或其他物体反射的光量等)。
[0040] 在以下论述中,参考力信息和作为压敏装置的用户输入装置论述对用户输入技术的意图分类。不过,可替换地,可以如上所述利用其他类型的传感器实施用户输入技术意图的分类。在这样的情况下,并非使用力信息对用户输入意图分类,而是使用接触信息对用户输入意图分类。在使用接触信息时,类似于下述压力处理接触区域。
[0041] 图5是可操作采用这里所述技术的范例实施方式中系统500的图示。系统500包括触摸信息收集模块502和输入分类模块504。例如,可以在图1的输入装置100和/或计算装置102中或图2和3的计算装置202中实现系统500。因此,例如,可以在输入装置100中实现模块502,可以在计算装置102中实现模块504,可以在输入装置100中实现模块
502和504两者,等等。
[0042] 触摸信息收集模块502获得如上所述由输入感测部件感测的用户手指随时间而施加的压力量的指示(或者可替换地,如上所述随时间的接触信息),以及随时间的触摸位置。模块502获得(例如接收或产生)关于对输入装置键盘的用户输入的触摸信息506。触摸信息506识别触摸的特性和位置。触摸的这些特性和位置可以包括,例如触摸的尺寸(例如被触摸的区域量)、触摸尺寸随时间的变化、触摸的形状(例如被触摸区域的地理形状或轮廓)、触摸形状随时间的变化、随时间的触摸位置、触摸压力随时间的变化、触摸的运动(被触摸的方向和位置)、触摸速度、触摸的加速度、触摸移动的距离等。
[0043] 基于触摸信息506,输入分类模块504对用户输入意图分类,并输出或以其他方式提供输入意图分类508。也可以与输入意图分类508一起输出或以其他方式提供额外的信息,例如触摸信息506。如下所述,用户输入的意图可以是,例如,击键、多触摸交互、鼠标点击等。接下来可以由一个或多个其他模块使用输入意图分类508基于用户输入采取适当的动作。例如,如果意图是击键,那么将与作为用户输入的由用户按下位置相关联的键记录为用户对该键的选择。作为另一个范例,如果意图是多触摸交互,那么使用触摸信息确定哪个多触摸交互是由用户输入的以及采取的对应动作。
[0044] 通常,基于触摸信息506对用户输入的意图分类。考虑由输入分类模块504支持的不同意图的特性,分析用户手指随时间施加的力,以及可选地,施加力的一个或多个位置。将符合特定意图的特性的用户输入分类为该特定意图,而不符合特定意图特性的用户输入不被分类为该特定意图。
[0045] 在一个或多个实施例中,可以将用户输入意图分类为击键、单手指运动、多触摸交互或其他输入。将用户输入与击键、单手指运动、多触摸交互的一种或多种的特性比较。如果用户输入符合击键特性,那么将用户输入意图分类为击键,如果用户输入符合单手指运动特性,那么将用户输入的意图分类为单手指运动,如果用户输入符合多触摸交互特性,那么将用户输入意图分类为多触摸交互。
[0046] 此外,如果用户输入不符合任何特定意图(例如,击键、单手指运动、多触摸交互等)的特性,那么将用户输入意图分类为“其他”意图。其他意图是指某种其他类型的意图,典型地是由系统500过滤掉的意图。可以被分类为“其他”意图的这种用户输入的范例可以是用户的手停靠在键盘上、传感器噪声、装置被撞击等。于是,输入分类模块504不仅能够在对键盘的用户输入的不同意图之间区分,模块504还能够过滤掉并非要成为由计算装置作用的对输入装置的用户输入的同一键盘的用户输入。
[0047] 用户输入意图可以由力图形状表征,其指明针对该意图用户手指随时间施加的力。不同的用户输入意图能够具有不同的关联力图形状,输入分类模块504能够维持这些不同的力图形状并将用户输入与这些不同的力图形状比较。将符合针对一种意图的力图形状的用户输入(由触摸信息506表征)分类为是该特定意图。可以通过多种不同方式确定用户输入是否符合特定的力图形状。例如,可以基于针对用户输入获得的触摸信息产生力图,可以将产生的力图与一种或多种维护的力图形状比较。如果产生的力图形状匹配特定的维护的力图形状,那么用户输入符合与该特定维护的力图形状相关联的意图。可以利用多种公共和/或专有图或形状匹配技术确定两个图形状是否匹配。
[0048] 可以使用触摸的持续期上键盘的特定触摸行为将用户输入分类为击键或其他类型的输入(例如,多触摸交互或单手指运动)。触摸的持续期是指在感测到用户手指触摸表面时开始、在不再感测到用户手指触摸表面时结束的时长。在触摸的持续期内用户手指可以保持大致不动(例如,对于击键而言这可能是典型的),或者在触摸的持续期期间手指可以穿过键盘(例如,对于多触摸交互和单手指运动而言这可能是典型的)。
[0049] 可以响应于移动至少阈值距离的触摸将用户输入的意图分类为运动。这个阈值距离可以是固定距离(例如1.5英寸)或相对距离(例如键盘宽度的10%)。触摸的移动是指在触摸的持续期期间沿着某个路径运动时用户手指运动的距离。如果同时感测到多个触摸,那么可以将用户输入的意图分类为多触摸交互,而如果在特定时间仅感测到单个触摸,那么可以将该特定时间用户输入的意图分类为单手指运动。
[0050] 也可以响应于具有至少阈值速度和短(例如小于阈值)持续期的触摸将用户输入的意图分类为运动。触摸持续期的阈值可以是0.25秒,但也想到了其他阈值。触摸的速度是指触摸持续期期间沿某个路径运动时用户手指运动的距离除以触摸持续期的时长。例如,速度可以是4英寸/秒,但想到了其他速度。如果同时感测到多个触摸,那么可以将用户输入的意图分类为多触摸交互,而如果在特定时间仅感测到单个触摸,那么可以将该特定时间用户输入的意图分类为单手指运动。
[0051] 通常,击键(也称为敲击)的特征在于力的急速增大,接着随着手指从表面反弹而力急剧减小,可选地接着是在手指其余部分的动量继续朝向键盘表面时力再次增大。随着时间分析触摸的压力,基于击键的这些特性,将用户输入分类为击键或某种其他类型的输入(例如多触摸交互)。将符合这些特性的用户输入分类为击键,将不符合这些特性的用户输入分类为其他类型的用户输入。如果用户输入包括多个同时的触摸,那么,如果每个触摸符合击键的特性,且触摸针对特定位置(例如,与键盘上的变更键对应的位置,例如“shift”键、“ctrl”键、“alt”键等),则可以将用户输入分类为多个击键。可替换地,如果用户输入包括多个同时的触摸,那么将用户输入分类为某种其他类型的输入,而非击键。
[0052] 应当指出,击键的这些特性允许在击键和“其他”意图(例如用户将他或她的手停靠在键盘上)之间区分用户输入的意图。击键的特征在于特定的力图形状,指示用户手指随时间施加的力。如果用户意图击键,那么该输入符合这种特定的力图形状,如果用户希望将他或她的手停靠在键盘上,那么输入不符合这种特定的力图形状。因此,基于用户输入是否符合这种特定的力图形状可以容易地确定击键意图或“其他”意图。
[0053] 击键的特性还可以包括时域信息。例如,击键的特性可以包括触摸是在同一位置(未移动)或具有移动小于阈值量的位置(例如,小于键盘上键的宽度或高度,但也想到其他阈值量)。
[0054] 图6示出了触摸压力随时间的曲线图范例600。纵轴是压力或力(例如,单位为克),横轴为时间(例如,单位为毫秒)。线条602代表触摸随时间施加的压力。可以分析触摸随时间施加的压力以确定施加的压力是否符合击键的特性。
[0055] 在分析压力时,可以确定初始碰撞时间长度,这是从触摸施加的压力增大到(例如等于或大于)开始阈值量时开始的时长。这个开始阈值量可以是200克,但想到其他开始阈值量。在触摸施加的压力在再次升高(例如,在手指其余部分的动量继续朝向键盘表面时)之前达到局部最小值时或触摸施加的压力下降到(例如等于或小于)停止阈值量时,这个时长结束。这个停止阈值量可以与开始阈值量(例如200克)相同,或是更少的量(例如100克),但也想到了用于停止阈值量的其他值。于是,对于不同用户输入,初始碰撞持续时间可以不同。
[0056] 在范例600中,例示了初始碰撞时长604。初始碰撞时长开始于触摸施加的压力增大到开始阈值量的点606,结束于触摸施加的压力在再次增大之前下降到局部最小值的点608。
[0057] 同样地,在分析压力时,可以识别最大力。这个最大力是指初始碰撞时长604期间、触摸施加的压力增大到开始阈值量之后触摸施加的压力的局部最大值。在范例600中,最大力处在点610。
[0058] 给定初始碰撞时长和/或最大力,应用各种规则或标准以确定施加的压力是否符合击键的特性。这些规则或标准可以包括初始碰撞标准、最大力标准和/或初始碰撞结束力标准。
[0059] 初始碰撞标准是指初始碰撞时长的持续时间,表示初始碰撞时长在特定时间范围之内。这种特定的时间范围可以是,例如介于5毫秒(ms)和25ms之间,但也想到了其他时间范围。因此,例如,初始碰撞时长至少为5ms,并且不超过25ms,以便使触摸施加的压力符合击键的特性。
[0060] 最大力标准是指在初始碰撞时长之内发生最大力的时间。最大力标准指示最大力要在阈值量时间,例如12ms之内出现,但也想到过其他量的时间。最大力标准还指示在初始碰撞时长的最后部分中不会出现最大力。这个最后部分可以是初始碰撞时长的最后三分之一,但也想到过其他部分。于是,例如,最大力要在初始碰撞时长的前12ms之内出现,不会在初始碰撞时长的最后1/3之内发生,以便使触摸施加的压力符合击键的特性。
[0061] 初始碰撞结束力标准是指初始碰撞时长结束时触摸的压力。初始碰撞结束力标准指示初始碰撞时长结束时触摸的压力要小于最大力的特定百分比。这个特定百分比可以是80%,但想到过其他百分比。可替换地,初始碰撞结束力标准能够指示触摸的压力响应于迅速(在阈值量的时间之内)达到最大力而要小于最大力的另一特定百分比。这个其他特定百分比可以是90%,阈值量时间可以是5ms,但想到过其他百分比和阈值量时间。因此,例如,在初始碰撞时长的结束,触摸的压力要小于最大力的80%,或如果在5ms之内达到最大力,则触摸的压力要小于最大力的90%,以便使触摸施加的压力符合击键的特性。
[0062] 如果初始碰撞标准、最大力标准和初始碰撞结束力标准全部符合击键的特性,那么触摸施加的压力符合击键的特性,用户输入被分类为击键。不过,如果初始碰撞标准、最大力标准和初始碰撞结束力标准的一个或多个不符合击键的特性,那么触摸施加的压力不符合击键的特性,用户输入不被分类为击键。
[0063] 上文论述了击键的特性。也可以维持其他类型输入的特性。可以随时间分析触摸的压力并判断确定输入是否符合另一种类型输入的特性。将符合另一类型输入的特性的用户输入分类为该其他类型的输入,而不符合该其他类型输入的特性的用户输入不被分类为该其他类型的输入。
[0064] 例如,鼠标点击的特征可以是力缓慢上升,接着随着手指从表面反弹力急剧减小。随着时间分析触摸的压力,基于鼠标点击的这些特性,将用户输入分类为鼠标点击或某种其他类型的输入(例如击键)。将符合这些特性的用户输入分类为鼠标点击,将不符合这些特性的用户输入分类为其他类型的用户输入。
[0065] 鼠标点击的特性还可以包括时域信息。例如,鼠标点击的特性可以包括触摸在同一位置(不移动)或位置移动小于阈值量(例如0.25英寸,但想到过其他阈值量)。
[0066] 图7示出了触摸压力随时间变化的曲线图范例700。纵轴是压力或力(例如,单位为克),横轴为时间(例如,单位为毫秒)。线条702代表触摸随时间施加的压力。可以分析触摸随时间施加的压力以确定施加的压力是否符合鼠标点击的特性。
[0067] 在分析压力时,可以确定触摸时长,这是在触摸施加的压力增大到(例如等于或大于)开始阈值量时开始的时长。这个开始阈值量可以是200克,但想到过其他开始阈值量。在触摸施加的压力下降到(例如等于或小于)停止阈值量时,这个时长结束。这个停止阈值量可以与开始阈值量(例如200克)相同,或是更少的量(例如100克),但也想到了用于停止阈值量的其他值。
[0068] 在范例700中,示出了触摸时长704。触摸时长开始于触摸施加的压力增大到开始阈值量的点706,结束于触摸施加的压力下降到停止阈值量的点708。
[0069] 同样地,在分析压力时,可以识别最大力。这个最大力是指触摸时长704期间、触摸施加的压力增大到开始阈值量之后,触摸施加的压力的局部最大值。在范例700中,最大力处在点710。
[0070] 给定触摸时长和/或最大力,应用各种规则或标准以确定施加的压力是否符合鼠标点击的特性。这些规则或标准可以包括在最大力出现时参照的规则或标准。规则或标准可以指示,在触摸施加的压力增大到开始阈值量之后至少阈值量的时间(例如25ms,但也考虑到其他量的时间)要出现最大的力。规则或标准可以指示,最大力不会发生在触摸时长的开始部分中。这个开始部分可以是触摸时长的开始一半,但也想到其他部分。因此,例如,规则或标准可以指示最大力要发生在触摸时长开始之后至少25ms,不发生在触摸时长的前一半中,以便使触摸施加的压力对应于鼠标点击的特性。
[0071] 如上所述,尽管这里参考力信息和作为压敏输入装置的用户输入装置进行了论述,但可替换地,也可以利用其他类型的传感器和输入感测技术实施对用户输入意图分类的技术。在这种情况下,并非使用用户输入施加的压力对用户输入意图分类,而是可以使用用户输入的接触区域(用户手指或其他物体接触的触摸板或触摸屏的部分,用户手指或其他物体反射的光量等)对用户输入意图分类。类似于上述压力那样来处理接触区域(例如以毫米或其他单位测量)。例如,参考图5,击键的特征在于接触区域急剧增大,接着随着触摸表面的手指或其他物体从表面反弹而接触区域急剧减小,可选地,接着在触摸键盘表面的手指或其他物体的其余部分动量继续朝向表面时接触区域再次增大。
[0072] 图8为流程图,示出了根据一个或多个实施例用于实施这里所述技术的范例过程800。过程800由输入分类模块,例如图5的输入分类模块504执行,可以实施于软件、固件硬件或其组合中。过程800被示为一组动作,不限于为执行各动作的操作所示的次序。过程800是用于实施这里所述技术的范例过程;这里参考不同附图包括了实施这里所述技术的额外论述。
[0073] 在过程800中,获得关于对输入装置的用户输入的触摸信息(动作802)。如上所述,可以从压敏输入装置或其他类型的输入装置(例如电容性或电阻性)获得这种触摸信息。
[0074] 基于获得的触摸信息,将用户输入的意图分类为击键或其他类型的输入(动作804)。如上所述,基于击键或其他类型输入的特性进行分类。可以接收各种其他类型的输入作为用户输入,例如如上所述的多触摸交互、单手指运动和鼠标点击。
[0075] 输出用户输入分类的指示(动作806)。可以由(例如图1的计算装置102的)一个或多个其他模块使用这种分类基于用户输入采取适当的动作。可以将这种分类输出到例如图1的输入装置104和/或计算装置102的一个或多个模块。
[0076] 图9为流程图,示出了根据一个或多个实施例用于实施这里所述技术的另一范例过程900。过程900由输入分类模块,例如图5的输入分类模块504执行,可以实施于软件、固件、硬件或其组合中。过程900被示为一组动作,不限于为执行各动作的操作所示的次序。过程900是用于实施这里所述技术的范例过程;这里参考不同附图包括了实施这里所述技术的额外论述。
[0077] 在过程900中,在接收用户输入时(例如用户触摸键盘),检查触摸是否移动了阈值距离(动作902)。如上所述,阈值距离可以是固定或相对距离,例如1.5英寸或键盘宽度的10%。
[0078] 如果触摸移动了阈值距离(例如,至少为阈值距离,等于或大于阈值距离等),那么将触摸分类为运动(动作904)。例如,如上所述,运动可以是单手指运动或多触摸交互。可以通过不同的方式确定运动是单手指运动还是多触摸交互。例如,如果在触摸时间内同时感测到多个触摸(例如多个手指),那么运动是多触摸交互,而如果在触摸时间内仅感测到单个触摸(例如单个手指),那么该运动是单手指运动。作为另一范例,如果输入装置不支持多触摸交互(或工作于不支持多触摸交互的模式中),那么运动是单手指运动。作为另一范例,如果输入装置不支持单手指运动(或工作于不支持单手指运动的模式中),那么运动是多触摸交互。
[0079] 不过,如果触摸未移动阈值距离,那么检查触摸的持续期是否小于阈值量(动作906)。如果触摸的持续期小于阈值量(例如小于0.25秒),那么检查触摸是否具有阈值速度(动作908)。这个阈值速度可以是,例如4英寸/秒或如上所述的其他速度。如果触摸具有阈值速度(例如至少为阈值速度,等于或大于阈值速度等),那么将触摸分类为运动(动作
904)。例如,如上所述,运动可以是单手指运动或多触摸交互。
[0080] 不过,如果触摸的持续期不小于阈值量,或如果触摸没有阈值速度,那么检查是否满足初始碰撞标准(动作910)。如上所述,如果初始碰撞时长在特定时间范围(例如至少5ms,不超过25ms)之内,则满足初始碰撞标准。
[0081] 如果不满足初始碰撞标准,那么将触摸分类为既不是运动也不是击键(动作912)。在这种状况下,可以将触摸解释为某种默认输入(例如,用户将他或她的手指停靠在键盘上),或者可替换地,可以进一步分析以确定用户输入的意图(例如鼠标点击,如上所述)。
[0082] 不过,如果满足初始碰撞标准,那么检查是否满足最大力标准(动作914)。如上所述,如果最大力出现于初始碰撞时长的特定部分期间(例如,在初始碰撞时长的前12ms之内,或在初始碰撞时长的前2/3期间),则满足最大力标准。
[0083] 如果不满足最大力标准,那么将触摸分类为既不是运动也不是击键(动作912)。
[0084] 不过,如果满足最大力标准,那么检查是否满足初始碰撞结束力标准(动作916)。如上所述,如果初始碰撞时长结束时键上的压力小于最大力的特定百分比(例如,小于最大力的80%,或如果最大力发生于初始碰撞时长前5ms中,小于最大力的90%),则满足初始碰撞结束力标准。
[0085] 如果不满足初始碰撞结束力标准,那么将触摸分类为既不是运动也不是击键(动作912)。不过,如果满足初始碰撞结束力标准,那么将触摸分类为击键(动作918)。
[0086] 范例系统和装置图10在1000总体上示出了范例系统,包括范例计算装置1002,代表可以实施这里所述各种技术的一个或多个计算系统和/或装置。例如,可以将计算装置1002配置成通过利用形成的外壳并设计尺寸以由用户的一只或更多手抓住和携带而采取移动配置,例示的其范例包括移动电话、移动游戏和音乐装置以及平板计算机,但也想到了其他范例。
[0087] 所示的范例计算装置1002包括彼此通信耦合的处理系统1004、一个或多个计算机可读介质1006以及一个或多个I/O接口1008。尽管未示出,但计算装置1002还可以包括将各种部件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同总线结构的任一种或组合,例如存储总线或存储控制器、外围总线、通用串行总线和/或利用多种总线体系结构的任一种的处理器或局部总线。还想到了多种其他范例,例如控制和数据线。
[0088] 处理系统1004代表利用硬件执行一个或多个操作的功能体。因此,处理系统1004被图示为包括硬件元件1010,可以将其配置为处理器、功能块等。这可以包括在硬件中实现为利用一种或多种半导体形成的专用集成电路或其他逻辑装置。硬件元件1010不受形成其的材料或其中采用的处理机制的限制。例如,处理器可以包括半导体和/或晶体管(例如电子集成电路(IC))。在这样的语境中,处理器可执行指令可以是电子可执行指令。
[0089] 计算机可读存储介质1006被图示为包括存储器/外存储器1012。存储器/外存储器1012表示与一个或多个计算机可读介质相关联的存储器/外存储器容量。存储器/外存储器部件1012可以包括易失性介质(例如随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/外存储器部件1012可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如闪速存储器、可移除硬盘驱动器、光盘等)。可以如下文进一步所述那样通过多种其他方式配置计算机可读介质1006。
[0090] 输入/输出接口1008代表允许用户向计算装置1002输入命令和信息、还允许利用各种输入/输出装置向用户和/或其他部件或装置呈现信息的功能体。输入装置的范例包括键盘、光标控制装置(例如鼠标)、麦克扫描仪、触摸功能体(例如配置成检测物理触摸的电容性或其他传感器)、摄像机(例如,可以采用可见或不可见波长,例如红外线频率,将运动识别为不涉及触摸的手势)等。输出装置的范例包括显示装置(例如监视器或投影仪)、扬声器、打印机、网卡、触觉响应装置等。因此,可以通过多种方式配置计算装置1002以支持用户交互。
[0091] 计算装置1002还被图示为通信地和物理地耦合到输入装置1014,输入装置1014可以物理地和通信地从计算装置1002移除。通过这种方式,可以将多种不同的输入装置耦合到计算装置1002,计算装置具有多种配置以支持多种多样的功能。在本范例中,输入装置1014包括一个或多个键1016,可以将其配置为压敏键、触摸板或触摸屏上的键、机械切换的键等。
[0092] 输入装置1014还被图示为包括一个或多个模块1018,其可以被配置成支持各种功能。一个或多个模块1018例如可以被配置成处理从键1016接收的模拟和/或数字信号以确定是否意图击键,确定输入是否表示停靠压力,支持输入装置1014的验证以与计算装置1002一起工作,对用户输入意图分类等。模块1018可以包括例如图5的输入分类模块504。
[0093] 尽管被图示为独立于计算装置1002,可替换地输入装置1014可以被包括为如上所述计算装置1002的一部分。在这种情况下,键1016和模块1018被包括为计算装置1002的一部分。此外,在这种情况下,键1016可以是虚拟键盘的键和/或非虚拟键盘(例如压敏输入装置)的键。
[0094] 在这里可以在软件、硬件元件或程序模块的一般语境中描述各种技术。通常,这样的模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、元件、部件、数据结构等。这里使用的术语“模块”、“功能”和“部件”一般表示软件、固件、硬件或其组合。这里描述的技术的特征独立于平台,意味着可以在具有各种处理器的各种商业计算平台上实施这些技术。
[0095] 可以在某种形式的计算机可读介质上存储或在其间传输所述模块和技术的实施。计算机可读介质可以包括可以由计算装置1002访问的各种介质。例如,而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
[0096] “计算机可读存储介质”可以指允许持久和/或非暂时存储信息的介质和/或装置,而非仅仅信号传输、载波或信号本身。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括以适于存储信息的方法或技术实现的硬件,例如易失性和非易失性、可移除和不可移除介质和/或存储装置,所述信息例如是计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据。计算机可读存储介质的范例可以包括,但不限于RAM、ROM、EEPROM、闪速存储器或其他存储技术、CD-ROM、数字多用盘(DVD)或其他光存储器、硬盘、磁带盒、磁带、磁盘存储器或其他磁存储装置或其他存储装置、有形介质或适于存储期望信息并可以由计算机访问的制品。
[0097] “计算机可读信号介质”可以指信号承载介质,其被配置成例如通过网络向计算装置1002的硬件发送指令。信号介质典型地可以包含计算机可读指令、数据结构、程序模块或已调数据信号形式的其他数据,已调数据信号例如是载波、数据信号或其他传送机制。信号介质还包括任何信息输送介质。术语“已调数据信号”表示其特性中的一个或多个经设置或改变以使得对信号中的信息编码的信号。例如,而非限制,通信介质包括有线介质和无线介质,有线介质例如是有线网络或直接连线连接,无线介质例如是声学、射频、红外线和其他无线介质。
[0098] 如前所述,硬件元件1010和计算机可读介质1006代表以硬件形式实施的模块、可编程装置逻辑和/或固定装置逻辑,其可以在一些实施例中被采用以实施这里所述技术的至少一些方面,例如以执行一个或多个指令。硬件可以包括集成电路或芯片上系统、专用集成电路(ASIC)、现场可编程阵列(FPGA)、复杂可编程序逻辑器件(CPLD)的部件以及或其他硬件中的其他实施。在当前语境中,硬件可以作为处理装置工作,其执行由硬件包含的指令和/或逻辑定义的程序任务,以及作为用于存储供执行指令的硬件而工作,例如前述计算机可读存储介质。
[0099] 也可以采用上述内容的组合实施这里所述的各种技术。因此,可以将软件、硬件或可执行模块实现为包含在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1010体现的一条或多条指令和/或逻辑。计算装置1002可以被配置成实施与软件和/或硬件模块对应的特定指令和/或功能。因此,可以至少部分在硬件中,例如利用计算机可读存储介质和/或处理系统1004的硬件元件1010,完成将计算装置1002可执行的模块实现为软件。指令和/或功能可以由一个或多个制品(例如,一个或多个计算装置1002和/或处理系统1004)执行/操作以实施这里所述的技术、模块和范例。
[0100] 结语尽管已经以特定于结构特征和/或方法动作的语言描述了范例实施方式,但要理解的是,所附权利要求中界定的实施方式并不必限于所描述的具体特征或动作。相反,具体特征和动作是作为实施所要求保护的特征的范例形式而公开的。
QQ群二维码
意见反馈