尝试Dvorak键盘布局

On March 7, 2010, in 计算机, by bucunzai

在水木社区NewSoftware板,关于微软拼音输入法2010的帖子里面,有网友提到Dvorak局部,后面有人跟帖说第一次用Dvorak的活人,颇觉好奇,开firefox放狗

了解计算机发展史的人应该知道,现在通用的QWERTY 键盘布局 其实是为了降低打字速度(因为在“远古”时代,打字过快会导致卡键),故意把常用键隔开。

Dvorak布局,中文译作 德沃夏克,基于字母出现频率和手的生理基础来设计的。网站1有一些关于Dvorak的详细介绍,还有这里也是一个新手入门可看的wiki,最直观地从下图可以看出一些端倪,元音aoeui和常用的辅音安排在中间行。网站1还提供了键盘布局的pdf文档。基于统计的数据也试图说明,使用Dvorak布局,近2/3的按键都在中间行,中文的数据似乎也差不多。

扫盲过后,似乎值得一试。如果在windows上,想要体验一番的话,下面是最常见的流程:

1. 在原版windows上使用Dvorak键盘布局:

开始—控制面板—区域和语言选项—语言 选项卡—详细信息—在“已安装的服务”中点击添加,输入语言中文英文都行,下面的键盘布局选 美国英语-Dvorak

保存确定之后,打开一个文本文件,在输入法指示器/或者默认的ctrl-shift把输入法切换成Dvorak,就可以体验一把。

2. 如果你的系统是西红柿花园版或者飓风之类的精简版windows,Dvorak键盘布局很可能已经在精简的时候就被xx了,在上面添加的时候也没有,怎么办呢。简单,第一步,到找dll下载站下载,并解压缩对应操作系统(包括2000,XP,2003)的kbddv.dll,放到windows\system32目录下,然后把下面的文字另存为.reg文件,双击导入,那么在1中提到的,添加键盘布局时,Dvorak又回来了

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00010409]
"Layout File"="KBDDV.DLL"
"Layout Id"="0002"
"Layout  Text"="美国英语-Dvorak"
"Layout Display  Name"="@%SystemRoot%\\system32\\input.dll,-5092"

3. 好像还是有点问题,这样添加的Dvorak是以一个输入法的形式出现的,输入英文当然方便,只要切换一下就好了,可对于广大其他程序和中文输入法呢,它们还是按照QWERTY的布局接受键盘输入。要适应两套布局简直是灾难!。

有没有一种办法直接把系统的全局按键统统改过来。有人说把键盘拆了,按新布局装好 :P ,可这样是不行滴。想到打魔兽的时候,讨厌的win键当然是要屏蔽掉的,而且还有一些快捷键也需要修改,许多游戏改键工具都可以做到。那么有没有一个小工具,打开就切换成Dvorak布局,切换一下又回到QWERTY布局呢,当然有,在SourceForge的这儿,不过我试用了一下发现这个小工具很糟糕,切换一次就少掉一个输入法 -__-,得照1中类似的方法,把输入法重新添加回来

且不说这个删输入法的bug,要开着一个小工具自然不是geek的做法,在Linux下面改改keytables就好了,windows可没有这么简单的地方,功夫不负有心人,总是有办法的,在另一种键盘布局colemak的页面找到了关键字scancode,啥?扫描码?有兴趣可以到微软的页面看看,总之是通过注册表的如下位置

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

来实现键盘映射,也就是说,windows按照你定制的scancode map,让程序接收到的按键是映射后的。在这里找到一份已经写好的scancode map,先把下面的文字另存为 qwerty.reg,留着备用。。。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"ScanCode Map"=hex:00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00

把下面的文字另存为dvorak.reg文件,双击导入注册表,重启后生效

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"ScanCode Map"=hex:00,00,00,00,00,00,00,00,22,00,00,00,2d,00,30,00,24,00,2e,00,\
11,00,33,00,33,00,11,00,12,00,20,00,34,00,12,00,1b,00,0d,00,0d,00,1b,00,16,\
00,21,00,17,00,22,00,20,00,23,00,1a,00,0c,00,2e,00,17,00,23,00,24,00,14,00,\
25,00,31,00,26,00,35,00,1a,00,30,00,31,00,13,00,18,00,26,00,19,00,2f,00,34,\
00,28,00,10,00,0c,00,28,00,19,00,13,00,18,00,1f,00,1f,00,27,00,2c,00,35,00,\
15,00,14,00,22,00,16,00,25,00,2f,00,10,00,2d,00,21,00,15,00,27,00,2c,00,00,\
00,00,00

如果发现比较悲剧,照着pdf文档或者图都不会打字的话,还是回去QWERTY布局吧,双击刚才存好的qwerty.reg,双击导入注册表,重启后生效

变回以前布局的另一种办法是到注册表的如下位置,删除右边的Scancode Map键值即可

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

4. 尝试的最终结果

我试了一下之后还是换会了QWERTY的键盘布局,综合考虑到前辈1提到的一些忠告前辈2的介绍文后的评论里有人提到Dvorak的所谓优势其实也值得商榷,还有最开始那个网站提到的优势劣势对比。对我来说,一个是快捷键的问题,一个是VIM的问题(因为VIM的按键设计是基于QWERTY的,跟字母没多大关系,关键是键的位置),再者QWERTY的确是太太太太通用了,从PC到上网本再到智能手机都是这样的,迁移成本太高了,能咋办?

对QWERTY为什么这么强大,有兴趣的同学可以看看reason.com在1996年的一篇文章

然后呢?然后就没有然后了

Tagged with:  

One Response to 尝试Dvorak键盘布局

  1. lltg says:

    vim可以设置的,设置好之后,默认模式下是QWERTY的位置,插入模式是Dvorak

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Page 1 of 11