前言

今天是我使用 Dvorak Programmer 键盘布局的第十四天,也终于熬过了更换键盘布局的艰难期,把以前的键盘布局的肌肉记忆改了过来。这十几天,我也体会到 键盘布局的不便。作为一个准码农的我,大半辈子都要和键盘打交道了,所以只要有解决办法,那都不是事。但u1s1,如果你不是做程序员这一行,我劝你还是不要选择 dvp 键盘,dv 已经足够了,因为大多数电脑已经自带 dv 的键盘布局了。

为了方便使用 dvp 键盘的兄弟萌,我整理 Windows10、macOS 更换 dvp 键盘的教程,并提供一个在 Windows10 下快速更换键盘布局的解决方案。

更换教程

Windows10

安装

  1. Roland Kaufmann 的站点下载 kbddvp-127-i386.exe 程序安装
  2. win + r 组合键打开 运行 ,输入 regedit 后回车打开注册表编辑程序,进入到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804 ,把 Layout File 的数据改为 kbddvp.dll
  3. 注销或重启电脑就可以把所有简体中文键盘都改为 dvp 键盘布局。

注意⚠️:这是目前可以较好全局更换键盘布局的办法,但无论安装什么输入法,只要是中文输入都是 dvp 键盘了。

快捷更换布局

Windows 修改键盘布局是通过修改注册表实现的,这就非常好办了,强大的 DOS 可以帮你快捷地完成布局的切换。具体如下:

新建一个 .bat 文件,名字随意,然后复制以下代码到文件里。

@echo off

rem Author: Ackerven Sagiri

:main
echo 1. QWERTY to Dvorak
echo 2. Dvorak to QWERTY
set /p choice=Enter nunber  
if /i "%choice%"=="1" goto Action1
if /i "%choice%"=="2" goto Action2
cls&set choice=&goto main

:Action1

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804" /v "Layout File" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804" /v "Layout File" /t REG_SZ /d kbddvp.dll /f 

shutdown -l

exit

:Action2

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804" /v "Layout File" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804" /v "Layout File" /t REG_SZ /d kbdus.dll /f 

shutdown -l

exit

macOS

添加布局文件到系统

  1. Roland Kaufmann 的站点下载 layout driver package 程序
  2. 直接打开 pkg 包安装,如果提示 “xxx已损坏” 或者 “打不开xxx” 可以参考 这里
  3. 如果你的系统是 Mavericks 或者更高,必须先重建布局缓存,系统才能识别新的布局。

首先删除旧的缓存:

sudo rm -f /System/Library/Caches/com.apple.IntlDataCache.le*

然后重启电脑构建新的缓存。

macOS 10.15 (Catalina)

如果以上在 macOS 10.15 (Catalina) 失败,可以试试手动提取布局并复制到系统中。

假设安装包已经下载到 ~/Downloads 文件夹中,执行以下命令:

cat ~/Downloads/Programmer\ Dvorak\ v1.2.pkg/Contents/Archive.pax.gz |\ gunzip | ( cd / && sudo cpio --quiet -R root:admin -idm ./Library/Keyboard\ Layouts/Programmer\ Dvorak.bundle )

设置键盘

添加布局后,在 系统偏好设置 中添加 dvp 键盘:

  • 单击屏幕左上角的Apple菜单
  • 从出现的菜单中 选择 系统偏好设置
  • 单击打开的窗口第二行中的 键盘 图标
  • 选择 输入法
  • 单击左下角的 + 按钮
  • 在左侧列表的顶部选择 英语
  • 选择右侧列表的 Programmer Dvorak 布局
  • 单击屏幕右上角的“输入菜单”图标(小键盘或小旗)
  • 从显示的列表中选择 Programmer Dvorak

这样就可以使用 dvp 键盘布局了。如果需要输入中文,按 Caps Lock 切换为中文,也是使用 dvp 键盘了。

键盘类型

根据作者的描述,如果你的键盘是 ANSI 键盘,则无法使用 Compose 键。因为 Shift 键之间 ANSI 键盘只有 10 个键,而 ISO 键盘有 11 个键。而恰好中国和美国都是使用 ANSI 键盘。

你可以按 Tab 键上面的键,如果没有得到美元($)符号,则必须更改键盘类型:

  1. 单击屏幕左上角的Apple菜单
  2. 从出现的菜单中 选择 系统偏好设置
  3. 在打开的窗口中单击 键盘 图标
  4. 选择 键盘 标题
  5. 单击 更改键盘类型
  6. 单击 继续 按钮
  7. 按提示按键
  8. 从列表中选择“ ISO(欧洲)”
  9. 单击 完成 按钮

注意⚠️:

如果没有 更改键盘布局 按钮,执行

sudo rm -rf /Library/Preferences/com.apple.keyboardtype.plist

然后,如果你的是 USB 键盘,把键盘拔出再插进去,如果不是,则需要重启电脑。

如果你用的是 Apple 制造的键盘,电脑可能会自动检测其类型,并不会显示 键盘设置助理 。在这种情况下,可以尝试手动开启:

sudo open /System/Library/CoreServices/KeyboardSetupAssistant.app/Contents/MacOS/KeyboardSetupAssistant

如果设置后仍然导致错误,则可能是键盘未知。

你可以执行:

defaults read /Library/Preferences/com.apple.keyboardtype "keyboardtype"

# 如果你的电脑系统是 MacOS X 10.6 Snow Leopard或更早版本,还可以尝试以下命令
python -c 'from Carbon import Evt; print "ADB Manager Device ID = ", Evt.LMGetKbdType ()'
python -c 'import gestalt; print "Gestalt Keyboard Type = ", gestalt.gestalt ("kbd ")'
osascript -e 'tell application "Finder" to get computer "kbd "'

并将结果截图并邮件发给 Roland Kaufmann . ([email protected])

作者是挪威人,所以发邮件最好使用英语。

登陆窗口

如果需要在登陆窗口也使用 dvp 键盘,执行:

sudo cp ~/Library/Preferences/com.apple.HIToolbox.plist /Library/Preferences/

参考

  1. Installing the Programmer Dvorak Keyboard Layout on macOS
Last modification:September 5th, 2020 at 01:42 am
如果觉得我的文章对你有用,请随意赞赏