R4.03.2concurrent mouse and touch设计

键鼠与触摸并存的适配要求

别名: 二合一 · 指针类型 · 按住即右键 · 触摸目标

概念解释

Windows 上同一扇窗口经常同时接键盘、鼠标和触摸:笔记本翻成平板、外接显示器上的触屏、触控板和手指在几秒里轮流出现。并存的意思不是做两个应用,也不是开机时选一种模式,而是同一份界面在一次会话里随当前指针类型改命中面积、改右键等价物、改是否依赖悬停。鼠标带来精确点击、右键和工具提示;触摸带来粗手指、没有悬停、按住才弹出上下文菜单。

它处理的是「这两种指针此时都可能按下来」,不是「同一应用还要兼顾笔和手柄」。为触摸单独做一套全宽大按钮页面、键鼠进来却还要先切「桌面模式」,等于把并存当成了产品线问题,而 Windows 把它当成窗口运行时的输入事实。

机制

系统会告诉窗口最近一次指针是鼠标还是触摸。命中区、滚动惯性和上下文菜单的触发方式都应按这个信号调,而不是按设备型号写死——同一台二合一在键盘底座上是鼠标,拿掉底座就是触摸,窗口并没有重启。右键和按住是同一条命令的两个入口:只做右键,触摸用户打不开菜单;只做按住,鼠标用户会觉得响应慢。悬停提示在触摸上不会出现,所以不能把唯一说明放在工具提示里。

滚动和拖动在两种指针下的阈值不同。鼠标拖动可以选择文本、可以精确定位滚动条;手指滑动默认是平移内容。若把鼠标的「按下即拖选」原样交给触摸,列表会无法滚动;若把触摸的平移阈值交给鼠标,文本又选不中。并存要求这两套手势识别同时注册,按指针类型分发,而不是平均成一套谁都不舒服的阈值。

边界

纯键鼠桌面(固定主机、无触屏)不必把所有目标都做到触摸尺寸,但只要宣称支持触屏显示器,最小目标就要按触摸来。纯触摸平板若接上蓝牙键盘,快捷键和焦点就立刻生效,不能把键盘当作「外设以后再说」。笔和手柄是另外的指针类别,其命中与悬停规则不同,不能用「已经适配了触摸」来宣称它们也能用。远程桌面和虚拟机里指针类型可能被错误上报,此时应以实际命中失败为准做降级,而不是信任那一个标志位。游戏全屏独占输入时,系统指针消息会被应用吃掉,并存规则要在退出独占之后才恢复。

怎么落地

  • 按当前指针类型调整命中面积:触摸时放大可点控件,鼠标时允许更密的工具条,但不要为两种指针做两个页面。
  • 上下文菜单同时提供右键和按住;凡是只写在悬停提示里的说明,都在界面上给触摸一个常驻或可点的入口。
  • 文本选择、列表滚动和拖放按指针类型分发手势,不要用同一套按下阈值应付两种输入。
  • 验证:在二合一或带触屏的窗口上,先用鼠标走完右键、悬停、精确拖选,再在同一次会话里改用手指走按住菜单、滚动和主按钮。任何一步要重启应用、要切「模式」、或触摸点不中而鼠标可以,都说明并存被做成了两套产品。再插上键盘,确认 Tab 焦点和快捷键立刻可用。

延伸

  • 同组R4.03.1 窗口、菜单与快捷键体系 · R4.03.3 系统级无障碍接口
  • 相邻K2.07 触摸与键鼠并存 · R4.10 微软流畅设计的核心约定
  • 站内检索pointer type · press and hold · 2-in-1 · touch target

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/R4.03.2