‹ 指南

全新输入引擎:手指、鼠标、触控板、手写笔,各有各的处理 v26.7.0+

从 26.7.0 起,终端里的每一次点按、拖动、滚动和双指缩放,都由 Term 自己的输入引擎来理解——它知道这一下来自手指、鼠标、触控板还是手写笔。

需要 Term v26.7.0 或更高版本。

撰写于

改了什么

终端里的每个手势——点一下、长按、拖动滚屏、双指缩放、鼠标点击、滚轮——以前都要先经过系统给所有 App 的通用手势处理。那套处理是为按钮和列表设计的,很多时候分不清是什么在碰屏幕:等 Term 拿到时,手指点一下和鼠标点一下看起来一模一样。

26.7.0 起,这些全部由 Term 自己理解,就在绘制终端的同一个引擎里。每个判断都清楚地知道输入来自哪里,于是手指、鼠标、触控板、手写笔都能得到最合适的响应。

鼠标选字,就该像鼠标

在平板或二合一设备上用鼠标拖选文字,以前得到的是手机式的选择:两端各一个圆形手柄,再加一个盖在文字上的复制弹窗——这都是给指尖准备的。现在鼠标选中就是一片高亮,和电脑上一样。复制用 Ctrl+Shift+C 或右键菜单。

以前 平板上用鼠标拖选 build 4812 passed, tagged:选区两端各有一个圆形手柄,复制 / 粘贴 / 全选 / 取消 弹窗盖住了下一行。
以前:鼠标拖选也按触屏处理——两个手柄,外加一个挡住下一行的弹窗。
26.7.0 26.7.0 里同样的鼠标拖选:文字被高亮,别的什么都没出现,两行都看得清。
26.7.0:同样的拖选只是一片高亮,什么都不挡。

用手指则完全不变:长按依旧选中单词并带可拖动的手柄,松手依旧弹出复制。

手机忙的时候,点按也照样算数

双击就是两次靠得很近的点按。以前 Term 按 App 处理到每次点按的时间来计算间隔——而第一下点按常常会弹出键盘,让 App 忙上一小会儿。现在 Term 按手指真正碰到屏幕的时间来算,所以快速双击就是双击,哪怕 App 刚好忙了一下。长按也一样。

你常用的一切照旧

快了约三倍

用上新引擎,Term 通常约 0.4 毫秒就能判断出你这一下的含义——在华为手机上实测(每个版本各点 20 次),从系统把触摸交给 Term,到 Term 判定这是一次点按为止:

以前26.7.0 起
手指抬起 → Term 判定为点按(典型值)1.07 毫秒0.38 毫秒
最快的一次0.57 毫秒0.17 毫秒
双击单词(试 10 次)10 / 1010 / 10

作为对照,60 Hz 屏幕上一帧大约是 17 毫秒。

每种设备都测过

新引擎在手机、平板和二合一设备上,用手指、鼠标、滚轮和键盘逐项检查:长按与双击选字、滚动与惯性滑动、方向键摇杆、双指缩放、鼠标选字与右键菜单、tmux 里的点击、Shift 选字——每个版本都跑一百多项检查。

如果觉得哪里和以前不一样,请在 App 里告诉我们——设置 › 账户 › 反馈与建议——并说明当时用的是手指、鼠标、触控板还是手写笔。