首页 > diary > 准备试Dvorak键盘

准备试Dvorak键盘

2009年5月5日 Galaxy 发表评论 阅读评论

前几天看到cnbeta上一个帖子的评论,又一次看到QWERTY键盘布局不符合人体工学的说法,不过这次,我记住了对应的优化版的名字——德沃夏克键盘Dvorak Simplified Keyboard)。

然后呢,g之,找到清华某毕业生的网页,当然还有些其他网站。

下面是一个德沃夏克键盘布局示意图,深色按键表示德沃夏克键盘上与QWERTY不同的按键,浅色按键表示与QWERTY相同的按键。
dvorak-blue
这个地方有手指分工图,稍有区别。
dvorak keyboard diagram with finger guidelines

引用几段话:

我从2004年底开始从QWERTY转向德沃夏克键盘。在开始转变时,我把德沃夏克键盘的画在一张十六开纸上,贴在墙上,当想不起来按键位置的时候就看看这张纸。一个星期之后,我就基本转变过来了。我没有想到转变得会这么快。

那时候,我用电脑时间长了手腕会痛。使用Dvorak键盘后,尽管我用电脑时间没少,但手腕却再也没有痛过。

我本来想写一个程序统计英语单词的字母在Dvorak和QWERTY键盘上的分布频率,但是这里有一个很详细的统计结果,我就不想去弄了。这个统计证明用德沃夏克键盘输入英文远比QWERTY键盘科学和快捷。下面我要证明对于输入汉字,这个结论依然成立。

拼音输入法是最常用的汉字输入法。统计文本有两篇,一篇是一篇网络上一个人写的拼音网络日记,另一篇是国标2312所有汉字。我统计了用全拼输入这两篇文本时每个字母在Dvorak键盘和QWERTY键盘上的分布频率。统计是用一个Python程序实现的。

Dvorak键盘中间行累计频率最高,其次是上面行和下面行,而QWERTY键盘累计频率从高到低依次是上面、中间和下面行。这两篇拼音文字虽然内容完全不同,但是统计结果却很相像。Dvorak中间行占到了70%之多,而QWERTY的中间行只占到了35%。按起来最不舒服的下排,Dvorak只有12%,而QWERTY则占了22%。

这个计结果告诉我们,在Dvorak键盘上用拼音输入法输入汉字,要比QWERTY更快,更舒适。鉴于这样的结果,以及我使用德沃夏克键盘这么久没有问题,不想继续被QWERTY键盘折磨的人就不要犹豫转变了。

下面是对一篇拼音网络日记的统计结果。

表1:一篇拼音文章在Dvorak键盘上的分布

0.00% , 1.61% . 3.94% p 0.16% y 2.81% f 0.72% g 4.18% c 3.22% r 0.32% l 2.41% 19.37%
a 13.75% o 6.51% e 6.51% u 7.40% i 12.70% d 3.54% h 6.27% t 1.77% n 8.52% s 1.53% 68.49%
q 0.56% j 1.77% k 0.80% x 1.61% b 2.01% m 1.45% w 2.01% v 0.00% z 1.93% 12.14%

表2:一篇拼音文章在QWERTY键盘上的分布

q 0.56% w 2.01% e 6.51% r 0.32% t 1.77% y 2.81% u 7.40% i 12.70% o 6.51% p 0.16% 40.76%
a 13.75% s 1.53% d 3.54% f 0.72% g 4.18% h 6.27% j 1.77% k 0.80% l 2.41% 34.97%
z 1.93% x 1.61% c 3.22% v 0.00% b 2.01% n 8.52% m 1.45% , 1.61% . 3.94% 24.28%

下面是对GB2312中所有汉字拼音的统计结果。

表3:GB2312汉字拼音在Dvorak键盘上的分布

0.00% , 0.00% . 0.00% p 1.10% y 2.78% f 0.97% g 6.53% c 2.06% r 0.53% l 2.25% 16.22%
a 11.80% o 6.11% e 4.94% u 9.94% i 13.26% d 1.54% h 6.25% t 1.29% n 12.88% s 2.29% 70.30%
q 1.54% j 2.49% k 0.94% x 1.93% b 1.52% m 1.35% w 0.97% v 0.12% z 2.63% 13.48%

表4:GB2312汉字拼音在QWERTY键盘上的分布

q 1.54% w 0.97% e 4.94% r 0.53% t 1.29% y 2.78% u 9.94% i 13.26% o 6.11% p 1.10% 42.46%
a 11.80% s 2.29% d 1.54% f 0.97% g 6.53% h 6.25% j 2.49% k 0.94% l 2.25% 35.06%
z 2.63% x 1.93% c 2.06% v 0.12% b 1.52% n 12.88% m 1.35% 22.48%

关于Dvorak键盘的一些不正确的想法:

  • × Dvorak键盘只适合英语输入。
    错。上面的统计结果表明Dvorak同样适合汉语拼音输入法。

  • × 没有Dvorak键盘。
    错。有卖,这里有一些图片

  • × 可以把QWERTY键盘的键拆下重装成一个Dvorak键盘。

    错。不同行的键形状不同,不能互换位置。拆下自己键盘上的键看看。


首次更新: 2004年12月4日


这家伙半天没提输入法的事,当然,原因是他用的Linux。Win下嘛:
http://zcecil.net/?p=169
設定的方法也很簡單, 首先, 打開「地區及語言選項」, 把所有的輸入法通通移掉. 這時候「美式鍵盤」會不能移, 這是正常的. 再來, 新增輸入法, 語言不用動, 鍵盤配置選擇 United States-Dvorak. 把它設成預設值, 這樣你的英文輸入就會自動變成 dvorak 了. 唯一的問題是在遊戲中, 有些遊戲中的熱鍵抓到的會是原始的鍵位(應該跟DirectX用的API有關), 但是輸入訊息之類的還是會是dvorak的.

再來是中文, 執行 regedit, 搜尋 liunt.ime. 會看到一些key是 Layout File, 值是 kbdus.dll 的地方. 把 kbdus.dll 改成 kbddv.dll, 表示使用 dvorak 作為 layout. 再重新把無蝦米加入輸入法中就可以了!


http://blog.llwang.org/?p=21
这位是日语派的……(搞计算机的“宅”果然多)

我遭遇的情況實在是一堆問題都湊在一起了:

  1. 日文輸入
    • MS-IME 有時候會壞掉,切換日文的按鈕會不見。
  2. 101/104 鍵的非日文鍵盤
    • 要切換日文得用 alt-` 或用滑鼠點。有時候兩個都會失靈。
  3. FFXI 裡輸入日文
    • 加強了切換日文失敗的可能性
  4. Dvorak 的鍵盤排列方式
    • 一般作法會導致 alt-` 無法使用
  5. XP x64
    • 很多解法不相容於 x64

一般要使用 Dvorak 鍵盤排列輸入日文最簡單的解法是用 regedit 把 MS-IME 的 keyboard layout dll 從 kbdjpn.dll 換成 kbddv.dll。這個作法有一個缺點,就是一些像 alt-` 之類的特殊功能鍵會不能用。

Alt-` 不能用的話切換日文就只好用滑鼠點,可是 MS-IME 三不五時就會失靈,按鈕會不見沒得點。尤其在玩 FFXI 的時候更是常發生這種事。而且,FFXI 有時候會吃掉滑鼠 click,導致沒切到日文或是遊戲角色亂跑。Zcecil 推薦可以使用 ATOK,比較不會發生按鈕消失無法切換的事,可是角色亂跑還是很討厭。

另外一個解法是安裝窓使いの憂鬱從 driver 那邊改 layout。可是窓使いの憂鬱已經停止發展了,而且沒有 x64 版,所以我還是不能用。

於是我最近決定直接來 hack kbdjpn.dll 和 kbd101.dll,把鍵盤 layout 那一段用 kbddv.dll 裡面那一段蓋過去。幸運的是這幾個檔鍵盤 layout 那段的資料大小是一樣的,所以直接用 hex editor 就可以了。改完之後現在我在 FFXI 裡切日文也可以直接用 alt-` 來切,就方便多了。

要注意的是 XP x64 裡面有兩份 kbdjpn.dll 和 kbd101.dll,分別在 system32 和 SysWOW64 裡。我之前用 HxD 改的時候因為 HxD 有一個 bug 所以 system32 下的一直沒改到。後來改到之後現在日文輸入用得很高興。另外一點要注意的地方是,如果用的是日文 106/109 鍵鍵盤或是 NEC 鍵盤而不是 101/104 鍵鍵盤的話,可能需要改 kbd106.dll 或 kbdnec.dll 而不是 kbd101.dll。


压轴的当然是Galaxy自己的方法,话说有多少人有耐心看到这的……
改注册表,手工或用输入法设置工具 IME TOOL(还是mirror一下imetool2.8.0版吧)

位置在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0210804之类的地方,把Layout File由 kbdus.dll 改成 KBDDV.DLL 就可以了。(顺便,这是“谷歌拼音输入法 2.0”的)
当然,应该要重启。

系统默认的Dvorak的Layouts编号,就是把00000409改成00010409,当然,是以United States-Dvorak为例。


登录是的密码输入那块,Win7的话直接在对话框中点复制到默认用户应该就可以了,手工的话:
http://hi.baidu.com/youtianli/blog/item/3c07b20334ee50ed09fa935f.html

如果妳跟我一樣,還沒有嘗試過 Dvorak 的話,這個「 Introducing the Dvorak Keyboard 」站台或許是很好的開始點;我也是從這裡開始認識 Dvorak 的。在 Dvorak Pros and Cons 頁面裡就列出了許多 Dvorak 的優點,和唯一的缺點;也許這也能讓妳選擇是否也要跳船到 Dvorak 鍵盤配置。

一開始妳大概也會像我一樣,先抓一份 dvorkeys.pdf 然後印出來放在電腦旁邊(或者乾脆拿來當桌布?);接下來我在我的 WIndows XP 裡,到「控制台/地區及語言選項/語言/詳細資料(D)/設定」去,有一個「已安裝的服務 (I)」,我按下了一旁的「新增 (D) 」按鈕,輸入法語言仍舊選中文 (台灣)鍵盤配置/輸入法則選了 United States-Dvorak ,順手也把預設輸入語言換成了「中文 (台灣) - United States-Dvorak 」。

這樣還沒有結束,我還得要修改 Windows 的登錄檔,纔能夠在開完機詢問密碼的時候,就用 Dvorak 來鍵入密碼。我使用了 regedit.exe 來修改登錄,找到 HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\1 這個鍵,它本來的值是 00000404 ,然後我改成了代表 Dvorak 的 00010409

然後大概就可以從 Learning Dvorak: Typing Tutors 所列出的教學軟體裡,選一個來練了。我選的是 Typing Tutor SoftwareLearn to type tutor 2.5 ,這個軟體可以免費試用一個月,好像剛好就夠了。


反正我转全了,原始出处懒得考了……

Tags: , , , ,

Related posts

分类: diary 标签: , , , , 3,215 views
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
  1. Galaxy
    2009年5月5日21:39 | #1

    唉,还是要改00000804……
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804]

    ori:
    “Layout Text”=”Chinese (Simplified) – US Keyboard”
    “Layout Display Name”=”@%SystemRoot%\\system32\\input.dll,-5072″
    “Layout File”=”KBDUS.DLL”

    set:
    “Layout Text”=”United States-Dvorak (US)”
    “Layout Display Name”=”United States-Dvorak (US)”
    “Layout File”=”KBDDV.DLL”

    想把00804完全变成10409的话:
    “Layout Text”=”United States-Dvorak”
    “Layout Display Name”=”@%SystemRoot%\\system32\\input.dll,-5092″
    “Layout File”=”KBDDV.DLL”


    唉,刚换过来,感觉就是鼠标用的多了……
    不过,伴随效果是,登录的也换过来了。

    [回复]

  2. Galaxy
    2009年5月6日00:47 | #2

    minute 00:27:11
    问题在于小心被自己锁了
    minute 00:27:54
    别人的机体不会随便让你这么搞的,到时候习惯了改不过来就抓瞎了……
    minute 00:28:11
    键位习惯要纠正需要大环境


    嘛,这,将作为我赚钱买本本的动力……

    其实,大不了像外语那样。我现在勉强算掌握2.3门语言,稍微虐下小脑,逼它记2种layout,应该不会挂……
    (我在说啥?

    [回复]

  3. Galaxy
    2009年5月6日03:23 | #3

    剪切:Shift+Delete
    复制:Ctrl+Insert
    粘贴:Shift+Insert

    唉,^X ^C ^V 已经不能单手按了……

    [回复]

  4. Galaxy
    2009年5月19日16:26 | #4

    We live in a CTRL+C world. Programs have their shortcut keys hard-wired in as CTRL+C, CTRL+V, etc. Having all the common keyboard shortcuts moved all around is a huge pain.

    西方人比较彻底,Peter Klausler选择了换软件……
    Dvorak diagram I use the Dvorak

    keyboard layout because it’s fast and comfortable.  In fact,
    I’m now using Dvorak on wireless Apple and Microsoft Bluetooth
    keyboards, which were kind of a trick
    to
    interface with Linux.  (Source code for using Bluetooth keyboards
    and mice with Linux is linked to that page.)  I really like
    Apple’s Bluetooth keyboard very much.  You must try Dvorak
    if you spend a lot of time typing.  It takes about a week to get
    comfortable with it and a couple more to get up to speed.
     It’s trivial and free to reconfigure X, Macs, or Windows to
    believe that the keyboard is Dvorak so there’s no good reason not to
    make the switch.  Your fingers will thank you later!

    I have written a text editor optimized for Dvorak
    called aoeui. Take a look if you’re
    tired of fighting with Emacs and the Vi clones.

    While I have also once experimented with an evolutionary
    algorithm
    to try to discover
    better keyboard layouts, I was not able to construct anything as
    good as Dvorak.

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

Locations of visitors to this page