我用 Apple 键盘已经有一阵子了,但住在欧洲的话,想买到我用惯了的美式布局键盘可不容易。
在 macOS 上有一个“简单”的办法,只需一条终端命令就能重新映射键盘:
watch -n1 -x hidutil property -m ’{“ProductID”:592, “VendorID”:1452}’ —set ’{“UserKeyMapping”:[{“HIDKeyboardModifierMappingSrc”:0x700000035,“HIDKeyboardModifierMappingDst”:0x700000064}]}’
这段代码的作用,是把分节符键( § )改成输出反引号/波浪号( `/ ~ )键。
watch -n1 -x 这部分会每秒执行一次,因为 macOS 有时会把这个设置弄丢,通常发生在电脑进入睡眠,或者键盘被拔掉再重新插上的时候。
请注意,在某些版本的 macOS 上并没有预装 watch 工具,需要通过 Homebrew 或 MacPorts 之类的工具来安装。
上面的代码适用于 USB 接口、带保加利亚语字母的欧洲布局 Apple 外接键盘。对于其他类型的键盘,可能需要对按键的十六进制值稍作调整。
这条命令的一个变体,同样适用于 MacBook Pro 自带的同类键盘,只需要把 0x700000035 和 0x700000064 这两个值的位置对调即可。
我一直在想要不要写个工具来自动帮我做这件事,不过现在我觉得,还是花钱买一把布局正确的新键盘更划算 🙂