Windows应用中的用户交互将输入和输出源(如鼠标、键盘、笔、触摸、触摸板和语音)组合在一起。 它们还包括启用扩展体验的模式或修饰符,例如鼠标滚轮和按钮、笔橡皮擦和桶式按钮、触摸键盘和后台应用服务。
Windows使用上下文交互系统,在大多数情况下,无需单独处理每个输入类型。 这包括将触摸、触摸板、鼠标和手写笔输入统一作为通用指针类型处理,以支持静态手势(例如点击或长按)、操作手势(例如用于平移的滑动)以及数字墨迹渲染。
熟悉每个输入设备类型及其与某些外形规格配对时的行为、功能和限制。 这有助于确定平台控件和功能是否足以满足你的应用,或者是否应该提供自定义交互体验。
快速摘要
- Windows输入功能包括语音、笔、触摸、触摸板、键盘、鼠标、手势、游戏板/控制器和触觉。
- 触摸、触摸板、鼠标和笔都可以参与统一的指针模型进行常见交互。
- 每个输入类型具有不同的强度。 大多数应用应支持多个输入类型,而不仅仅是一种输入类型。
- 触觉和文本转语音是互补的反馈通道,可提高清晰度和可访问性。
输入特性一目了然
| 输入功能 | 主要场景 | 关键优势 | 典型约束 |
|---|---|---|---|
| 语音 | 自然语言、命令和控制、听写 | 无动于手的交互、辅助功能、工作效率 | 语音质量和意向理解因环境和应用设计而异 |
| 触笔 | 书写、批注、精准指向 | 像素级精度、压力和倾斜数据、自然手写 | 被动笔功能有限,防误触能力较弱 |
| 触控 | 直接操作、导航、文本输入、墨迹书写支持 | 自然手势,多点触摸交互,触觉感觉 | 设备对触摸功能的支持程度各不相同,从不支持触摸到完全支持多点触控不等 |
| Touchpad | 间接手势输入加上指针精度 | 非常适合针对触控优化的界面和生产力界面 | 间接输入可能需要额外的提示方式,以便用户更容易发现其用法 |
| 键盘 | 文本输入、导航、命令、辅助功能 | 快速输入,广泛的命令覆盖范围,强大的辅助功能支持 | 触摸键盘仅文本,不替换完整命令输入 |
| 鼠标 | 精准定位和命令密集型用户界面 | 精细化控制,修饰键,用户普遍熟悉 | 对于直接操控模式,与触摸相比不够自然 |
| 手势 | 点击/按住和操控交互 | 支持静态和连续交互,包括惯性数据 | 自定义手势可能会受到文化和区域设置的影响 |
| 游戏板/控制器 | 游戏输入和主机样式导航 | 方向导航和专用游戏控件 | 更适用于特定场景,而非通用生产力文本输入 |
| 触觉 | 确认和边界反馈 | 通过触摸反馈加强交互 | 需要支持的硬件,并应补充视觉/音频提示 |
如何针对多个输入进行设计
- 尽可能为跨输入类型的核心操作提供等效的路径。
- 不要依赖关键命令的单个形式。
- 确保界面可供性对于直接输入和间接输入都易于发现。
- 验证实际硬件组合上的交互(例如,仅触摸、键盘和鼠标以及支持笔的设备)。
语音
语音是用户与应用交互的有效自然方式。 这是与应用通信的简单准确方法,有助于人们在很多情况下保持高效和知情。
语音可以补充或在许多情况下,作为主要输入类型,具体取决于用户的设备。
文本转语音(也称为 TTS 或语音合成)用于通知或引导用户。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
语音交互有三种模式:
自然语言
自然语言是我们定期与人进行口头互动的方式。 我们的言语会因人和情境的不同而变化,但通常能够被理解。 不是这种情况时,我们通常使用不同的字词和字词顺序来获得相同的想法。
与应用的自然语言交互类似:我们通过设备与应用交谈,就像它是一个人一样,并期望它相应地理解和反应。
自然语言是语音交互的最高级模式。
命令和控制
命令和控制是使用口头命令来激活控件和功能,例如单击按钮或选择菜单项。
由于命令和控制对于成功的用户体验至关重要,因此不依赖于单个输入类型。 语音通常是基于用户首选项或硬件功能的多个输入选项之一。
语音听写
听写是最基本的语音输入法。 每个话语都转换为文本。
当应用不需要理解含义或意图时,通常使用听写。
详细信息
触笔
笔(或触笔)可用作像素精确的指向设备,如鼠标,是数字墨迹输入的最佳设备。
注释
有两种类型的笔设备:主动和被动。
- 被动笔不包含电子产品,并有效地模拟手指的触摸输入。 他们需要一种能够基于接触压力识别输入的基本设备显示屏。 由于用户通常将手放在输入表面上来进行书写,因此输入数据可能会因防手掌误触失败而被污染。
- 活跃笔包含电子设备,可以与复杂的设备显示器协作,从而向系统和应用程序提供更丰富的输入数据(包括悬停或邻近数据)。 防手掌误触要稳健得多。
在此处引用笔设备时,我们指的是提供丰富输入数据的活动笔,主要用于精确墨迹和指向交互。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
Windows 墨迹平台以及笔提供了创建手写笔记、绘图和批注的自然方法。 该平台支持从数字化器输入捕获墨迹数据、生成墨迹数据、将数据呈现为输出设备上的墨迹笔划、管理墨迹数据以及执行手写识别。 除了在用户写入或绘制时捕获笔的空间移动外,你的应用还可以收集压力、形状、颜色和不透明度等信息,以提供与使用笔、铅笔或画笔在纸上绘制密切相关的用户体验。
触控笔输入与触摸输入的区别在于,触摸输入可以通过手势操作(如轻扫、滑动、拖动和旋转)来模拟对屏幕上 UI 元素的直接操作。
您应提供专用于触笔的 UI 命令或交互功能,以支持这些操作。 例如,使用上一个和下一个(或 + 和 -)按钮让用户翻阅内容页面,或旋转、调整大小和缩放对象。
详细信息
触控
通过触摸,来自一个或多个手指的物理手势可以模拟直接操作 UI 元素(如平移、旋转、调整大小或移动),充当替代输入法(类似于鼠标或笔),或补充其他输入(例如用笔涂墨迹笔划)。 当用户与屏幕元素交互时,这些触觉体验可以提供更自然、更真实的感觉。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
对触摸输入的支持可能会因设备而异。
有的设备根本不支持触控,有的设备支持单点触控,而另一些设备则支持多点触控(两个或多个触控点)。
支持多点触控输入的大多数设备都能识别十个唯一的并发联系人。
通常来说,触摸是:
- 单个用户。
- 不受设备方向的约束。
- 用于所有交互,包括文本输入(触摸键盘)和墨迹书写(已配置的应用)。
详细信息
Touchpad
触摸板将间接多点触控输入与指向设备的精确输入(如鼠标)组合在一起。 这种组合使触摸板既适合触摸优化 UI,又适合生产力应用的较小目标。
设备支持
- 电脑和笔记本电脑
典型用法
触摸板通常支持一组触摸手势,这些手势提供了类似于触摸对对象和用户界面的直接操控支持。
由于触摸板支持类似于触摸的交互体验,因此我们建议你提供鼠标样式的 UI 命令或功能,而不是仅依赖触摸支持。 为这些交互提供特定于触摸板的 UI 命令或功能。
应提供特定于鼠标的 UI 命令或功能来支持这些交互。 例如,使用上一个和下一个(或 + 和 -)按钮让用户翻阅内容页面,或旋转、调整大小和缩放对象。
详细信息
键盘
键盘是文本的主要输入设备,对于某些残障人士或认为它与应用交互更快、更高效的用户来说通常不可缺少。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
用户可以通过硬件键盘和两个软件键盘与 Windows 应用交互:屏幕键盘(OSK)和触摸键盘。
OSK 是一种视觉对象、软件键盘,你可以使用它代替物理键盘,使用触摸、鼠标、笔/触笔或其他指向设备(不需要触摸屏)键入和输入数据。 OSK 用于没有物理键盘的系统,或因行动障碍而无法使用传统物理输入设备的用户。 OSK 模拟大多数硬件键盘功能(如果不是全部)。
触摸键盘是一种视觉对象软件键盘,用于带有触摸输入的文本输入。 它不是 OSK 的替代项,因为它仅用于文本输入(它不模拟硬件键盘),并且仅在文本字段或其他可编辑的文本控件获得焦点时才显示。 触摸键盘不支持应用或系统命令。
注释
OSK 优先于触摸键盘,如果 OSK 存在,则不会显示该键盘。
一般情况下,键盘为:
- 单个用户。
- 不受设备方向的约束。
- 用于文本输入、导航、游戏操作和辅助功能。
- 始终可用,无论是主动还是被动。
详细信息
鼠标
鼠标最适合生产力应用和高密度 UI,用户交互需要像素级精度来定位和命令。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
可以使用添加各种键盘键(Ctrl、Shift、Alt 等)来修改鼠标输入。 这些键可以与鼠标左键、鼠标右键、滚轮按钮和扩展鼠标优化命令集的 X 按钮结合使用。 (某些Microsoft鼠标设备还有两个额外的按钮,称为 X 按钮,通常用于在 Web 浏览器中向前导航)。
与笔和鼠标类似,触摸输入的不同之处在于,触摸可以通过直接在这些对象上执行物理手势(如轻扫、滑动、拖动和旋转)来模拟对屏幕上 UI 元素的直接操作。
应提供特定于鼠标的 UI 命令或功能来支持这些交互。 例如,使用上一个和下一个(或 + 和 -)按钮让用户翻阅内容页面,或旋转、调整大小和缩放对象。
详细信息
手势
手势是任何形式的用户移动,可识别为用于控制或与应用程序交互的输入。 手势采用多种形式,从使用手来瞄准屏幕上的内容,到特定的、学习的移动模式,到使用整个身体进行长时间的连续移动。 设计自定义手势时要小心,因为其含义可能因语言环境和文化而异。
设备支持
- 电脑和笔记本电脑
典型用法
交互完成后会触发静态手势事件。
- 静态手势事件包括单击、双击、右键单击和长按。
操作手势事件表示正在进行的交互。 当用户触控某个元素并继续操作时,将开始触发这些事件,直到用户抬起手指或操作取消。
操作事件包括缩放、平移或旋转等多点触控交互,以及使用惯性和速度数据的交互,例如拖移。 (操作事件提供的信息不标识交互,而是提供位置、位移增量和速度等数据。)
指针事件(如 PointerPressed 和 PointerMoved)为每个触摸接触提供低级别的详细信息,包括指针运动以及区分新闻和发布事件的能力。
由于Windows支持聚合交互体验,因此我们建议你提供鼠标样式的 UI 命令或功能,而不是仅依赖于触摸支持。 例如,使用上一个和下一个(或 + 和 -)按钮让用户翻阅内容页面,或旋转、调整大小和缩放对象。
游戏板/控制器
游戏板/控制器是一种专用于玩游戏的高度专用设备。 但是,它还用于模拟基本键盘输入,并提供与键盘非常相似的 UI 导航体验。
设备支持
- 电脑和笔记本电脑
典型用法
玩游戏并与专用的游戏主机风格界面进行交互。
触觉
触觉反馈为数字交互增添了触摸感,提供物理确认,强化用户输入,使体验更具响应能力。 Windows通过 InputHapticsManager API 支持上下文触觉反馈,使应用能够在支持的设备之间提供一致的触摸反馈。
设备支持
- 具有支持的触觉硬件的电脑和笔记本电脑
典型用法
触觉反馈与触摸、笔或触摸板交互配对时最有效。 常见用途包括确认按钮按下、在拖放操作期间提供反馈以及强化手势边界。 触觉应补充视觉和听觉反馈,而不是替换它们。
详细信息
多个输入
设计应用以支持尽可能多的用户、设备和输入类型(手势、语音、触摸、触摸板、鼠标和键盘)可最大限度地提高灵活性、可用性和辅助功能。
设备支持
- 平板电脑
- 电脑和笔记本电脑
典型用法
就像人们在相互通信时组合语音和手势一样,在与应用交互时,他们可以从多个输入类型和模式中受益。 但是,这些组合的交互必须保持直观和自然,否则可能会变得令人困惑。