
由于对Programmer Dvorak(我目前使用的,下文简称PD)不是那么满意,决定自己设计一个布局。
首先字母按键必须是Dvorak的,要站在巨人的肩膀上,而不是快蹄那个赢在宽度上的矮子。
其次括号必须相邻或对称分布,PD的中括号真心不行,小括号也有点不对称,我在初期经常输成(*。
我把四种括号放在了两只手的食指上,对称分布,最常用的()[]在下,<>{}在上(如果是HTML+CSS的程序员,应该反过来)。
Backspace和Delete应该近一点再近一点,最好对称分布。CapsLock可以稍微滚远一点。
Caps滚蛋后,我让Tab下移一格,这样原来Tab的位置就能和Enter上方的位置相呼应,给Backspace和Delete正好。
ESC键也靠近一点,到原来Back的位置上,Caps就去左上角安家落户吧。
上下左右,以及PgUp、PgDn、Home、End用得很多,尽可能近一些。
Shift、Alt、Ctrl这些键有左半边就够用了。右半边可以和上下左右互换一下,这样移动光标的时候右手就不用挪过去。
数字键可以直接扔到小键盘去,能够腾出5个键位的空间。这样PgUp、PgDn、Home、End就有地方了,我把它们放在双手中指和无名指的正上方。
PgUp、PgDn、Home、End、Delete腾出来的地方,以及没有用处的Scroll Lock,可以根据自己的需要添加一些多媒体键。
PD的小键盘本来是个很不错的设计,Shift下加入了十六进制的补充字符,还加入了等号(小键盘怎么能没有等号?)、括号、x这些数学上常用的符号。
可愚蠢的是,它脑残地将123与789互换,说是为了和手机、ATM机一样。对此我想说整天玩手机和ATM机的程序员不是好程序员。而且0就应该和1挨在一起,而不是9。(若不是抛弃了主键区的数字键,我会把那里的0挪到1的左边)。
因此我取其精华去其糟粕,使用了PD小键盘Shift上那些字符,而保留123在下,789在上的布局。
符号的分布上
文章中常用的;:,.?!这六个符号应该聚集在一起,并且里字母近些。就在PD的基础上把?!分别放到,.的顶上。
两个斜杠放在一个键上也比较合理。逻辑运算与和或(&|)我也放在了同一个键上。
此外,对于不同的语言可以有不同的版本。
比如上面说的HTML+CSS程序员,把<>和()、{}和[]互换会更好。
再比如我平时用php,所以$用得很多,放到了方便的位置,其它一些语言就可以把钱放远一点。
至于如何转换为这个布局,最理想的方法是使用kbdedit这个神器。可惜这个软件没有免费版或破解版,国内购买又十分不便。试用版不能生成dll文件。所以只能放弃。
退而求其次使用Keyboard Layout Manager改变键上的字符组合,再用ScancodeMap改变键的位置。
这样的缺点就是Scancode Map 会影响所有输入法,导致中文拼音输入法不能用数字选字了。
谁有kbdedit,帮忙生成一下这个布局的dll文件,不胜感激。