通过命令行更改 OS X 键盘类型

通过命令行更改 OS X 键盘类型

我有一台 Mac,并使用外接键盘。

我知道,每当您连接新键盘时,OS X 都会要求您通过按几个键来检测键盘布局,并且可以通过 Apple 菜单 > 系统偏好设置 > 键盘 > 更改键盘类型... 按钮完成相同的操作。

不知何故,我的 OS X 每次重新启动时都会忘记布局设置,并要求我重新设置布局。此外,我希望它无论使用哪种键盘都能坚持使用一种布局。

有没有什么简单的方法可以实现这一点?我觉得应该有以下两种方法:

  • 控制台命令执行与 UI 相同的操作,或者
  • Keyboard.prefPane 使用的对内核或者某些驱动程序的底层函数调用。

提前谢谢大家。

答案1

警告:在执行下述操作后,我遇到了一些 macOS 崩溃。按外接键盘上的任意键都会导致我的 MacBook 崩溃。我通过 (sudo) 删除 恢复了/Library/Preferences/com.apple.keyboardtype.plist

虽然您可能需要注销/重新启动才能使其生效,但您可以/Library/Preferences/com.apple.keyboardtype.plist使用以下命令将值写入与键盘相对应的条目:默认值。我相信 41 这个值代表 ISO。

sudo defaults write /Library/Preferences/com.apple.keyboardtype.plist keyboardtype -dict-add "49948-1133-0" 41

通过查找键盘的供应商和产品 ID 来找出需要更改哪个词典键:

ioreg -p IOUSB -c IOUSBDevice | grep -e class -e idVendor -e idProduct

PS我注意到更改键盘类型按钮并不总是出现。有时重新插入键盘后会出现,有时则不会出现。即使这样,更改类型也不会有任何效果。

相关内容