工欲善其事,必先利其器之键盘与windows改键

It takes a strong man to save himself, and a great man tosave another.

                                                                                          ——《肖申克的救赎

能接受既成事实,这是克服随之而来的任何不幸的第一步。能接受最坏的情况,就能在心理上让你发挥出新的能力。忧虑最大的坏处就是摧毁我们集中精神的能力,一旦忧虑产生,我们的思想就会到处乱转,从而丧失做出决定的能力。如果你有担忧的问题,做到下面三件事: 1、问你自己:可能发生的最坏的情况是什么? 2、如果你必须接受的话,就准备接受它。 3、然后镇定地想办法改善最坏的情况。

——《人性的弱点》

不要以为渺小的,就没有力量;不要以为卑微的,就没有尊严。强者与弱者之间唯一的差别,只在于信念是否坚定

——《明朝那些事儿》

 

       记得小学上微机课,第一眼看到键盘的时候,恐怕大家的想法跟我差不多:“……诶,怎么不是按照字母表排列的呢,太坑了……”。其实这真是一个坑,而且是一个不会被填上的坑,看一则故事:

在19世纪70年代,肖尔斯公司是当时最大的专门生产打字机的厂家。由于当时机械工艺不够完善,使得字键在击打之后的弹回速度较慢,一旦打字员击键速度太快,就容易发生两个字键绞在一起的现象,必须用手很小心地把它们分开,从而严重影响了工作效率。

为了解决这个问题,设计师和工程师伤透了脑筋。后来,有一位聪明的工程师提议:打字机绞键的原因,一方面是字键弹回速度慢,另一方面也是打字员速度太快了。既然我们无法提高弹回速度,为什么不想办法降低打字速度呢?

降低打字员的速度有许多方法,最简单的方法就是打乱26个字母的排列顺序,把较常用的字母摆在笨拙的手指下,比如,字母"O"、"S"、"A"是使用频率很高的,却放在最笨拙的右手无名指、左手无名指和左手小指来击打。使用频率较低的"V"、"J"、"U"等字母却由最灵活的食指负责。

结果,这种"QWERTY"式组合的键盘诞生了,并且逐渐定型。后来,由于材料工艺的发展,字键弹回速度远大于打字员击键速度,但是很多人都已经熟悉了这个坑人的顺序,因此就这么一直流传了下来。不过,我们还是有办法改变这个情况的,读完这篇文章,你就可以通过修改windows注册表进行改键。

 

键盘上的每一个键都有两个唯一的数值进行标志。即当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生另一个唯一的数值。

比如             0x011bESC        按下产生01 释放产生1b

0x3b00 F1

通过修改注册表项来修改键盘映射的步骤如下:

1          在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\  下右键新建一个二进制值项:  "Scancode Map"

这个项目可实现对键盘按键的映射。这里映射的意思可理解为“替换”,可将任意一键替换成其它键。

该值项以16进制表示,分为五个部分,每个逗号之间都为一个字节。

"ScancodeMap" =  00,00,00,00,00,00,00,00,   02,00,00,00,   01,00, 02,00,    00,00,00,00 

8个字节。 这是版本信息号。照例写就好。

4个字节。 这是映射键的总数。按照二进制的读写规则,低位在左,高位在右。02 00 00 00 这个数实际就是:0000 00 02 。从 02 开始,一个映射键是 02 ,两个是03 ,依次递加,十个是 0B 。

2个字节。 表示替换后按键的”扫描码“。如:ESC 键的扫描码是 01 ,所以就表示 0100 。再如 左Ctrl键扫描码是 1D00, 而右Ctrl键是 1D E0 。

2个字节。 表示原按键的”扫描码“。格式同上。

以四个 00 结束。

       例子:

       将F1映射为ESC则,该值项为:

       00 00 00 0000 00 00 00 02 00 00 00 01 1b 3b 00 00 00 00 00

       将F1映射为ESC, ESC映射为F1则,该值项为:

       00 00 00 0000 00 00 00 03 00 00 00 01 1b 3b 00 3b 00 01 1b 00 00 00 00

      

       由于工作需要,笔者常常需要在VS下进行编程开发工作,虽说vs可以装载插件VA大幅度的编码效率,但是在选择匹配项或者改变光标位置的时候,不可避免的需要移动右手手肘,这是很不自然的,因此,根据这个问题,笔者设计了下面的一套改键方案,大幅度的降低右手肩部的负担,提高编码效率。

         该方案的值项如下:



总结:

就编程来说,这个方案相比不改键的方案来说,个人觉得是有很大的提高。但是,作为一个计算机从业人员来说,这个方案是治标不治本的。具体来说,恐怕正如一句话所说的:

       在一个蔚蓝的星球上,流传着一个被誉为编辑器之神的EMACS和一个被誉为神的编辑器的VIM。研究这两种编辑器中的其中一种才是王道。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值