输入方式切换需要即时适配
别名: 运行时输入适配 · 平板模式切换 · per-event pointer adaptation
概念解释
人把笔记本支成帐篷,第一下手指已经落到工具栏上。即时适配(runtime input-mode adaptation)要求界面在这一下当时改命中、改滚动、改哪些东西还依赖悬停,而不是等重启、等新开一扇窗口、等用户去打开系统「平板模式」。同一设备会换输入是前提;这条只谈适配必须发生在切换当下,而不是发生在下一次冷启动。
机制
输入切换的时间尺度是秒,不是会话。手离开键盘到指腹接触屏幕,中间往往没有一个可点击的「切换」步骤。系统级平板模式把适配做成一次会话翻转:开了之后整机按触摸来,关了之后整机按键鼠来——但真实使用是同一分钟里两种输入交错。按会话翻转,人要么忍受键鼠密度下的触摸,要么忍受触摸密度下的指针行程,而且翻转本身还要找开关。按事件适配则用当前指针类型决定这一击的命中与反馈:手指落下时滚动改成直接拖动内容、悬停才出现的次要操作让出可点替代;光标回来时那些替代不必挡住专家路径。适配若滞后到下一帧布局重排完成之后,第一击已经按旧布局落下,命中的是上一输入假设下的热区。
怎么研究
比较三种策略:启动时锁定、系统平板模式翻转、按指针事件适配。任务中途改变姿势,看第一击和随后几击。
自变量:适配粒度(进程生命周期 / 系统模式 / 每事件)、布局是否在第一击前完成重排、悬停专属控件在触摸下是否有替代。 因变量:切换后第一击的命中、因布局跳动造成的误触、找到系统模式开关的时间、来回切换时的不稳定感。
布局跳动本身会制造新的错误:按钮在手指按下后面移动。要把「没适配」和「适配太晚、第一击落在旧位置」分开编码。实验室里「先打开平板模式再开始任务」测不到真实的第一击问题。
边界
整段任务只使用一种输入时,即时适配没有观察窗口,做了也不会被感知。适配若只改装饰、不改命中与可发现路径,人仍会在第一击失败。把窗口拖到没有触摸的外接屏上,再在笔记本屏上用手指点——两块表面的输入可以长期并存,按「当前前台窗口所在屏」一刀切会切错。游戏或全屏演示若把任何布局重排当成破坏沉浸的事,更稳妥的是两种输入共用一套已经按触摸排好的命中,而不是来回变密度。
怎么落地
- 在指针事件上分支,而不是在「平板模式」开关上分支;第一击触摸就应按触摸命中处理。
- 悬停才出现的操作在触摸下要有立刻可点的替代,不要等用户发现「现在没有光标」。
- 布局从键鼠密度改到触摸密度时,避免在手指已经按下之后才移动目标;能预先按可触尺寸排的控件就常驻可触尺寸。
- 验证:窗口开着、鼠标还在用,合盖成帐篷,立刻用手指点刚才鼠标所在的那一组控件。第一击必须命中原意。再翻回来用鼠标,确认没有必须重新打开应用才能恢复指针精度。把「第一击落空」和「第一击时按钮挪走了」分开记。