雪星实验室

💡非线性时间连续操控感 - 论如何提升键盘编辑操作体验

提升键盘操作体验的手法有很多。 这里来提一种叫做非线性时间连续操控感。

什么是固定重复延迟?

转贴百度经验对键盘重复延迟的介绍

键盘的重复延迟是指你按下一个键,延迟一段时间后,不停的按这个箭,而重复速度就是指不停的按这个箭的时间间隔。这样的设置有什么用处呢?比如你在看一篇很长的文档的时候,通过键盘按下箭头键来往下翻页调整进度,如果要调整的比较多就要不停的按下箭头键,按下松开,按下松开不停的重复,这时可以简化操作,直接按住下箭头不放,延迟一段时间后,就开始自动一直往下翻页。但是重复的速率如果过快就容易超过目标页,又要按上箭头调整,所以这个速度和延迟都会影响感知。

建议不要设置的过快也不要设置的过慢,过慢的话,还不如直接通过按下松开按下松开的方法重复快,过快的话,不容易控制重复的次数。

当键盘按键按下时,如果系统检测到按键按下的时间超过一定长度,就会开始重复给应用程序发送按键按下的消息,这里发出的消息个数,和时间成正比。

但是!

作为对比,设 nn 为 A、B 两点之间的距离,

  • 如果我们以恒定速度 v=1 移动,也就是从A点到B点,时间复杂度为 O(n)O(n)
  • 如果我们以加速度 a=1 移动,那么从A点到B点固定重复延迟,时间复杂度为 O(n)O(n)
  • $ s = v t => t=s/v t $
  • $ s = v_0 + a t^2 $

则时间复杂度为 O(n)O(n)

人类对这个世界的感知并非线性,而是更接近于某种对数时间。

在日常生活中,非线性反馈系统随处可见,

也就是说,随着我按键按下的时间拉长,我实际期望的按键按下的次数是成指数增长的,这样才会比较符合人脑对这个世界的感觉。

那么,我如何能体验到?

雪星在他的 CapslockX 中,实现了基于非线性时间连续操控的编辑增强功能

https://github.com/snomiao/CapslockX#编辑增强插件

使用时,只需按下 Capslock + h j k l 就可以流畅地控制光标。

参考文献:


Snowstar Miao
Snowstar Miao.