为什么我要使用一个20年前的IBM老键盘

发表在 心得体会 | 3条评论

几天前,我在网上发了一张图片,想炫耀了一下我的新MacBook Pro笔记本强悍的多屏功能。没人感兴趣。但图上的那个老键盘却得到了不少人的评论。很多人问:为什么我会使用一个老的掉牙的键盘?

少说也有10年了,那时我去参加一个计算机博览会,这种博览会通常会展示一些你以前从未听说的很酷的硬件或一些非常新奇的东西。在这个地方我却发现有个人在卖大量的老的二手键盘。我想买一些经典IBM配件也许是件很酷的事,所以就买了一个。

不久,我当时拥有的3台PC机上自带便宜的键盘开始显得有些脏。于是我就换上了这个IBM Model M键盘,你知道这个键盘有什么特别之处吗?

使用Model M时的动静。

首先是它的声音。它的按键声音很大,用它打字时让我感觉很有成就感,像是在完成很了不起的事情。当然,这键盘不适合在公共办公室里或会议场所使用。这个 Model M 键盘的声音如此大的原因是因为它使用了弹簧扣的机械结构,每个键帽里都有一个弹簧,当你按键时就会扣住。弹簧扣的结构给了这种键盘一种很特别的手感:按键时会有很大的反弹力,但当你按到一定程度,它的反弹力突然变小,按键迅速陷下去。而这个变化发生时正是按键生效的时候,所以,你不需要把一个字母按到底就能清楚的知道可以了。

这种键盘做的非常结实,大部分的键帽都很容易拆下来清洗。

而且,它还可以让你调整按键布局。例如,我互换了键盘上Caps键,、alt键和控制键,然后在Mac机上将Caps lock键设为控制键,原控制键(现在的alt键)成了alt/option键,原来的alt键(现在的控制键)成了command键。这种键盘布局尽可能的接近苹果机键盘的样子。

系统设置里键盘面板的”Modifier keys”设置

别忘了IBM中B的意思,回到1980年代,当键盘刚刚被发明出来时,那时的PC机只能发出一两声嘟嘟声,Model M 键盘上没有任何的多媒体键。然而,这个问题很容易通过Sizzling Keys来解决,这是一个小应用,能够让你设定控制iTunes的按键。(我很奇怪为什么苹果的自定义快捷键不能实现这个)

1992年代 Model M计算机的确在当时相当先进,因为它提供了一个PS/2连接器,而不是那种老式的AT连接器。使用PS/2-to-USB转换器可以很好解决我的使用问题。

很惊奇这个2kg(4.4磅)的旗舰键盘只需要100毫安的USB接口供电。

我还弄到了两个苹果蓝牙键盘:先前的是一个老的白色的,后来的一个就是现在的银色的。白色的相当糟糕,甚至比不上那些最便宜的PC机键盘。银色的确相当不错,而且占地面积很小。

而这个Model M键盘比起我用过的所有其它键盘都满意,打字更准确。在我家里的办公桌上,它的尺寸,体重,声音跟其它的都不一样,这个Model M键盘总是放在正前面,正中央。

我想我的手指也应该同步跨入新的千禧年,我应该为它们买一个最新式的Unicomp键盘——有媒体键和USB转换器。但说一千道一万,我感觉这称心的Model M键盘,如果不是十几年的话,至少还可以用七八年。而且,我真的喜欢它的米黄色。

为什么我要使用一个20年前的IBM老键盘的更多相关文章

  1. low-code 与 20 年前的 Dreamweaver 有什么区别?

    一.low-code 是什么? A low-code development platform (LCDP) is software that provides a development envir ...

  2. 20个优秀的 JavaScript 键盘事件处理库

    键盘事件是 Web 开发中最常用的事件之一,通过对键盘事件的捕获和处理可以提高网站的易用性和交互体验.下面,我们向大家介绍收集的20款优秀的 JavaScript 键盘事件处理库,帮助开发人员轻松处理 ...

  3. 20个优秀的JavaScript 键盘事件处理库

    键盘事件是 Web 开发中最常用的事件之一,通过对键盘事件的捕获和处理可以提高网站的易用性和交互体验.下面,我们向大家介绍收集的20款优秀的 JavaScript 键盘事件处理库,帮助开发人员轻松处理 ...

  4. 大一C语言学习笔记(11)---编程篇--写一个程序,可以获取从键盘上输入的的三个数,并能够判断是否可以以这三个数字作为边长来构成一个三角形,如果可以的话,输出此三角形的周长及面积,要求 0 bug;

    考核内容: 写一个程序,可以获取从键盘上输入的的三个数,并能够判断是否可以以这三个数字作为边长来构成一个三角形,如果可以的话,输出此三角形的周长及面积: 答案: #include<stdio.h ...

  5. 一个1年前的T-SQL问题

    还记得年前的一个SQL问题,当时对SQL刚接触,因此绕开了它.用了别的办法.昨天看SQL突然想起了这个问题.百思不得其解,然后去SQL Server技术交流群,也请教了,大神高文佳,何志勇提示我因为先 ...

  6. Android OpenGL ES(十一)绘制一个20面体 .

    前面介绍了OpenGL ES所有能够绘制的基本图形,点,线段和三角形.其它所有复杂的2D或3D图形都是由这些基本图形构成. 本例介绍如何使用三角形构造一个正20面体.一个正20面体,有12个顶点,20 ...

  7. 管理与技术未必不可兼得,一个20年IT老兵的码农生涯

    作者|康德胜 我是一个喜欢写代码但几乎不太有机会写代码的CTO,也是一个看得懂财务报表.通过所有CFA(金融特许分析师)考试并获得FRM(金融风险经理)认证的拿到金融MBA的CTO,如果我有幸被称作码 ...

  8. .NET成人礼 | 还记得20年前一起拖过的控件吗?

    本文是MVP Ediwang写的回忆一个80后的拖控件的感悟,与君共勉: 每一代人都有记忆里的味道.煤球炉.黑白电视机是属于父母的记忆.而“拖控件”式编程,启蒙了无数像我这样的80后(嗯,89也算80 ...

  9. IntelliJ IDEA 20 岁了!20 年前的第 1 版曝光…

    IntelliJ IDEA 最近发布了 20 周年庆典: https://www.jetbrains.com/lp/intellijidea-20-anniversary/ IntelliJ IDEA ...

随机推荐

  1. sicily 1119 Factstone Benchmark

    题意:求满足n! < 2^k,n的最大值! 解题:指数比较转换成对数比较,达到降幂! 其中: log (n!) = log(n)+log(n-1)+...+log(1); log(2^k) = ...

  2. Zimbra8.x邮件服务器安装及配置

    官网地址:http://www.zimbra.com/downloads  下载说明:   1. 版本:    zimbra有两个大版本:Open Source Edition和 Network Ed ...

  3. MySQL定时备份之使用Linux下的crontab定时备份实例

    这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下   复制代码代码如下: ##################################### ...

  4. JS和利用openssl的object C加密得到相同的aes加密密文

    这是之前接到的一个工作内容,项目原本的登录操作是获得账号和密码以后,对密码进行一遍MD5加密,然后传递账号和密文到cgi文件.在c中获取到账户以后,从数据库中获取到密码,对密码进行一次MD5的加密,然 ...

  5. Linux 系统运行级别

    Linux运行级别从0-6,共7个.  0:关机.不能将系统缺省运行级别设置为0,否则无法启动.  1:单用户模式,只允许root用户对系统进行维护.  2:多用户模式,但不能使用NFS(相当于Win ...

  6. codevs 4650 破损的键盘(链表)

    /* 之前一直不重视链表 (好吧说实话主要是看着板子都是指针就怂了T.T) 这道题比较基础 应用了链表的思想 数组模拟指针 遇到的问题就是跑着跑着光标跳到前面或者跳到后面 我们用next储存每个点下一 ...

  7. ASP.NET-FineUI开发实践-1

    用.Net开发3年,主要接触资产管理,生产流程,质量追溯,.Net在这方面还是很靠谱的.2月低接触FineUI,那时版本是3.0+,第一眼让我想起了ExtJs,其实就是用.Net封装了ExtJs让AS ...

  8. 404 Not Find When using Owin with OAuth

    在使用Owin+OAuth时,一步一步的测试时,在用 OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = ...

  9. C#委托和事件本质

    C#中委托和事件是很重要的组成部分,而掌握委托和事件的本质将必不可少.为了能探秘本质,写了如下代码 using System; using System.Collections.Generic; us ...

  10. ASP.NET协作应用集成到trsids身份验证服务器的开发流程

    开发Actor协同模块: (参考TRSIDS4.0 协作应用集成手册[asp.net]) ASP.Net协作应用集成到IDS之前,需要开发Actor类实现协作应用回调接口中定义的本地登录.退出.用户信 ...