你所不知道的鼠標(biāo)

<br />

dota打了快10年,水平一點沒進步,最近已經(jīng)開始被小學(xué)生們虐,但這并不能妨礙我作為年長豬隊友,仗著物質(zhì)優(yōu)勢,擁有各種神器鼠標(biāo)鍵盤。大神和我說,以你的豬意識,遠(yuǎn)沒到設(shè)備影響水平的時候。而我的一貫哲學(xué)是,反正意識水平就這樣了,如果設(shè)備好一點,發(fā)揮多少還是有些進步的。
<br />

但每次剛換鼠標(biāo)都是后悔剁手,因為怎么動都不如舊糟糠順手。 今天看到這個問題,才想起鼠標(biāo)移動的過程里藏著這么一個好梗。回答完覺得還沒顯完老夫手段,再補發(fā)一彈。

<br />

筆記本觸摸板的滑動距離是如何映射到屏幕上的實際距離的?
做兩個實驗:
1.緩慢移動手指,這時候屏幕上光標(biāo)的移動速度基本等同手指的移動速度
2.快速移動手指,這時候與1移動相同的距離,但是屏幕上的光標(biāo)可以移動很遠(yuǎn)的距離
我想知道:
1.觸摸板是用什么樣的方法來判斷手指移動的速度?
2.應(yīng)該用什么樣的映射方法使人覺得在觸摸板上進行操作是“自然的”?
3.是否有其他變量(除手指移動速度之外)決定屏幕上光標(biāo)的移動速度?

<br />
人機交互里有一個特別有名的費茨定律-Fitts' law,指點的當(dāng)前位置和目標(biāo)位置相距越遠(yuǎn),就需要越多的時間來移動;而同時,目標(biāo)的大小又會限制移動的速度,因為如果移動得太快,到達目標(biāo)時就會停不住,不得不根據(jù)目標(biāo)的大小提前減速,這就會減緩到達目標(biāo)的速度, 延長到達目標(biāo)的時間。

<br />


從一個起始位置移動到一個最終目標(biāo)所需的時間由兩個參數(shù)來決定,到目標(biāo)的距離和目標(biāo)的大?。ㄉ蠄D中的 D與 W),用數(shù)學(xué)公式表達為時間 T = a + b log2(D/W+1)
從一個起始位置移動到一個最終目標(biāo)所需的時間由兩個參數(shù)來決定,到目標(biāo)的距離和目標(biāo)的大?。ㄉ蠄D中的 D與 W),用數(shù)學(xué)公式表達為時間 T = a + b log2(D/W+1)

<br />

這個定律因為太經(jīng)典,UX少年們研究了很多(readlist),也愛用這個定律當(dāng)令箭欺負(fù)工程師改界面。

  • T = a + b log2(D/W+1)
  • T代表完成移動所需的平均時間
  • a 代表光標(biāo)開始/停止時間
  • b 代表光標(biāo)的移動速度 (主角光環(huán)加粗顯示)
  • D 代表從起點到目標(biāo)中心的距離
  • W 代表目標(biāo)的寬度 (按移動方向)

<br />

fitts' law 中一般關(guān)注在D 和 W, 但如果討論鼠標(biāo),b (代表光標(biāo)的移動速度) 其實變成了非常有意思的對象。

1.緩慢移動手指,這時候屏幕上光標(biāo)的移動速度基本等同手指的移動速度
2.快速移動手指,這時候與1移動相同的距離,但是屏幕上的光標(biāo)可以移動很遠(yuǎn)的距離
筆記本觸摸板的滑動距離是如何映射到屏幕上的實際距離的?

打開設(shè)置,取消"提高指針精確度" 再試試看?

<br />
"提高指針精確度" 是mouse acceleration的設(shè)置,不知道為什么搞了這么個詭異的翻譯,而且事實上,勾選這個通常不能讓你移動的更精確。真正地區(qū)別是你快速移動手指時,屏幕上的光標(biāo)會移動幾倍的距離。

<br />
mouse acceleration 的存在是因為以前的鼠標(biāo) cpi 特別低。早期的鼠標(biāo)只有15-20的cpi,也就是說鼠標(biāo)移動一英寸,最多能采樣出20個點??紤]到鼠標(biāo)需要能夠準(zhǔn)確地指到屏幕上的每一個像素,如果把這些點映射到屏幕上,手移動一英寸,光標(biāo)在屏幕上移動20個像素。所以跨越1280px的屏幕,需要移動64英寸,162厘米。當(dāng)時的大牛們就發(fā)明了mouse acceleration來解決這個問題,當(dāng)移動速度變快時,比例就不再是1:1,聽起來有點縮地成寸的道法味道。

<br />
事實上也不是所有人都喜歡mouse acceleration。移動的過程中是肌肉記憶和反應(yīng)時間互相適應(yīng)的過程。但mouse acceleration的存在會使得整個移動過程的坐標(biāo)映射變得非線性,從而破壞肌肉記憶 - 當(dāng)離目標(biāo)越來越近,用戶就需要不停地調(diào)整手移動速度。

<br />
另外一方面,今天的大部分鼠標(biāo)其實并不怎么需要 mouse acceleration 。在自己PC上了截了個圖,可以看到我的鼠標(biāo)是Razor DeathAdder 2013。本身是 6400的cpi, 被我降成了4900,然后禁止了mouse acceleration。因為6400 cpi 太高, 所以反而調(diào)整了sensitivity,把高cpi 重采樣成了4900。

Razor DeathAdder 2013

<br />
最后補一彈萬能的hci research。大神們好多年前就開始考慮肌肉記憶這個問題,希望能有一個線性移動距離映射(不影響肌肉記憶),同時又能縮地成尺的方案。這里面有各種充滿想像力的思路,但我最欣賞的是偶像takeo在2000年發(fā)表的 auto zoom。簡單有效。

<br />


auto zoom - 滾動條是等比例的,而瀏覽器的內(nèi)容是隨著速度縮放的

瀏覽器的內(nèi)容會根據(jù)用戶滾動地速度自動地放大縮小,以此來保證在用戶端感知滾動條移動地速度是恒定地。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容