1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

为什么 108 键的全键盘具备单独的小键盘,还保留字母上面的数字呢?

本帖由 漂亮的石头2021-11-25 发布。版面名称:知乎日报

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,020
    赞:
    46
    [​IMG] invalid s,我特别喜欢和聪明人交往,因为不用考虑他们的尊严——乔布斯 阅读原文

    1、键盘最早出现在机械打字机时代。

    这时候的键盘只有字母区,没有数字区;同时也没有 ctrl、shift 等控制键。

    [​IMG]

    注意这个键盘已经是后期作品了。早期键盘,按键排列是按英文字母表顺序来的,带来的问题就是熟练打字员敲字敲太快了、导致打字机里面的机械结构卡死。

    [​IMG]

    看看这复杂的结构,想象下如果敲字太快、第一个按键尚未完全释放第二个按键就按下了,里面的杠杆会不会“打架”?

    “打架”就意味着当前输入位置移过去的活字会有两个。当前一个尚未离开、第二个就要挤进来时,自然会造成故障——如果你练过大力金刚指,因此损坏打字机都正常。

    就是没练过,两个活字往一个槽挤,搞不好就弄的谁也进不去也谁都出不来了——这就是所谓的“卡键”。

    怎么办呢?

    QWERTY['kwɜːtɪ],指 QWERTY 键盘,又称柯蒂键盘、全键盘,是最为广泛使用的键盘布局方式,由克里斯托夫·拉森·授斯(Christopher Latham Sholes)发明,1868 年申请专利,1873 年使用 QWERTY 布局的第一台商用打字机成功投放市场。QWERTY 键盘布局的目的是为了解决当时打字机因打字速度太快而卡壳的问题,实现“在不会卡死的情况下尽力提高打字速度”的目的,该布局被沿用。​

    很容易想象,像打字机那样复杂的、多个活字在“光标”(打字机时代哪来的光标!理解意思)位置抢输出的话,那么允许用户像玩格斗游戏那样 0.1 秒输入十几个键,那是必然出现活字为了抢位置而“打架”问题的。

    因此,qwerty 键盘故意打乱了所有英文字母的位置,确保它难以快速敲入——换句话说,人为的制造了键与键之间的输入间歇。

    换句话说,这里存在两个解决方案,方案一是螺蛳壳里做道场,给本就复杂狭小的打字机增加一个“活字互斥”机关,避免其卡键;方案二是调整一下活字排列顺序、再改一改按键刻字:你觉得哪个方案更简单、成本更低?

    注意了,这里说的是“人为制造键与键之间的输入间歇”——必须存在这个间歇,这才能绕开卡键问题;但这个“间歇”的存在并不一定会降低整体的键入速度。

    换句话说,在过去的设计里,你可以快一些、再快一些、还能再快……卡壳了。

    这输入效率就不能看了。

    而现在的新设计呢,你可以快一些、再快一些、还能再快、快完更快……永不卡壳!

    你看,这个人为制造的间歇的存在,反而提高了整体键入速度——但请注意,这个“提高键入速度”和“人为制造间歇、避免卡键”并不矛盾。

    比如键盘玩格斗玩多的都知道,我们可以 ASD 按成一声,可以在跳踢 - 落地这一瞬间内敲入 asdad+j+i 甚至更复杂的指令。换句话说,a-s 之间的键入时间差可能不足 5 个 ms,甚至更快;而按键回弹速度并没有那么快(所以其中有一个短暂时期,a-s 是同时按下的)——这要是机械结构,必然造成 a 和 s 两个字模同时挤到同一个位置(或者 A 尚未输出、输出位置已经走动开始输出 D),这就是“卡键”。

    如果把这样可以连续输入的键略微分割开,使得两个按键之间间隔 10ms,卡键就再也不会出现了。

    而哪怕按键间隔高达 100ms,每分钟也能敲入 600 个字符。这个速度已经极为可观了。

    换句话说,以局部的减速换取整体效率的提高。

    当然,这个卡键可能和打字机自己的结构问题、人员的输入习惯、语言的常见字母组合等问题都相关,总之是很多因素的复合:为了方便,过去的科普中笼统称之为“减慢输入速度”,然后就被人钻牛角尖、理解歪了。然后又有人钻着牛角尖辟谣,闹的越辟越谣……

    请正视和承认语言的模糊性,不要钻牛角尖,更不要恶意揣测他人——你过于上纲上线的行为,本来就是乌烟瘴气的谣言环境的一部分。

    再说清楚一点:你用键盘在 1 分钟内敲入 1000 个按键,算平均击键间隔的话就超过了 50ms;但不同字符连续输入时,其间隔是不均匀的——特别熟练、且紧挨着两个按键,其间隔可能压缩到 10ms 甚至 5ms、3ms、2ms,这时候就容易卡键;而不太熟练的两个字母,哪怕你 1 分钟键入 2000 键,它的间隔也会超过 20、30 个 ms,它是永远不会卡键的。
    因此,当两个字母相邻、使得我们可以食指中指随意一滚就输进去时,哪怕你的输入速度只能到每分钟 300 个字符,都可能在输出这两个字母时卡键。因为它的输入间隔太短暂了,只有 2~5 个 ms。
    而故意摘开这两个字母,让它分别用左手食指、右手中指输入;或者逼打字者把手指离开最舒服也最快的 asdf 这些基本键位,那么哪怕考虑到输入不均匀性,你就是能打到每分钟 2000 键,任意两个击键之间的间隔也必然会超过 10ms,这就规避了卡键问题。

    这就是用“局部输入速率的降低”换取“整体输入速率的提升”的内部逻辑——你快到卡键,速度也只能每分钟三五百,因为某些键,你越熟练,它越耽误事;因为它的耽误,导致你只能“收着速度”,于是其他键就更慢了。现在故意减低这两个键的输入速度,那么你的整体键入速度就可以突破 2000。因为你再练都不会出现卡键了——所有键入间隔都均匀了,那么你自然可以连续提升。​

    2、当所有人习惯了 qwerty 键盘时,一切就回不去了

    现在的键盘绝对不存在卡键问题。一个键就是一个键,敲下去,触发电信号,完了。这么简单的结构,你就是一屁股坐上去、弄的 30 个键同时输入,那也卡不了键。

    但习惯的力量是强大的。哪怕你仍然按字母表顺序方便初学者学习记忆、或者像 Dvorak 键盘那样通过精心安排的布局尽可能的提高键入速度,主流键盘仍然固定在 qwerty 了——哪怕这种键盘存在“把 57%的键入任务给了大多数人更弱、更不灵活的左手”这样的“缺陷”。

    [​IMG]

    或许普通人没有感觉;但我们程序员经常在程序中敲一些数字——但和会计不同,这类数字往往很短、混杂在字母序列中:

    [​IMG]
    网上找的。吐槽下这个拼音输入 typo,你“便利”了,读者未必能一下反应过来是“遍历”

    类似的,文档写作,也经常混输一些数字:

    [​IMG]

    为了输入这么两三个数字,把右手移到小键盘区、敲入,再挪回来……你不嫌累我还嫌烦呢。

    而且手挪这么远,要么眼睛看,要么摸一下小键盘 5 上面那个横杠才能准确定位——光这么一折腾,一到三秒钟就过去了。

    就在主键盘区直接敲入数字,多好——做久了的程序员基本都能盲打数字,自始至终不用看。

    所以埋汰程序员的键盘,经常主键盘区干干净净,小键盘区一层灰。

    3、小键盘有什么用?

    小键盘是给财会人员用的。他们有大量的数字输入需求,主键盘敲入太麻烦也太慢了——手指得伸长才能按到,而且很多人没法用小指够到 1/0,得用无名指代替,很容易打乱输入节奏。

    换句话说,敲一个短数字无所谓,敲长数字很容易导致手指失去定位、造成输入错误、拖慢输入速度。

    给他们一个小键盘,输入溜到飞起……

    所以,如果你跑咸鱼看到有人出键盘,吹嘘说是银行退下来的……这很容易鉴别,看键帽磨损情况。主键盘区完好无损、小键盘区磨出油光,那可能真是银行 / 财会的人用的。

    但如果是主键盘区打油……

    特别的,asdw 磨损严重,那就是玩游戏玩的。

    4、为什么有了单独的小键盘还保留主键盘区的数字?

    很简单,除了财会等需要大量输入数字的相关专业人士,其他人并不需要小键盘——绝大多数情况下,小键盘就是摆一边吃灰用的。

    当然,非财会人员偶尔也可能需要输入一些数字。连续输入多个数字时,自然还是小键盘更方便——这就是为什么明明大部分人的数字小键盘买来就是在吃灰、但他们仍然不会选择没有数字小键盘区的 97 键键盘的原因。

    反正又不贵,备而不用总比着急用时没有强。

    换句话说,对于不需要大量输入数字的人来说,主键盘区的数字才是更好用、更常用的;小键盘区反而是个摆设。

    对他们来说,小键盘区没有都行;但主键盘区没有数字,那是万万不行。

    阅读原文
     
正在加载...