‹ 指南

全新輸入引擎:手指、滑鼠、觸控板、手寫筆,各有各的處理 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 裡告訴我們——設定 › 帳戶 › 意見回饋——並說明當時用的是手指、滑鼠、觸控板還是手寫筆。