如何在 OS X 中自定义键盘布局?

如何在 OS X 中自定义键盘布局?

我最近换用了 OS X,发现系统“俄语拼音”布局不令人满意(这不是我习惯的布局)。我该如何创建自定义布局?

我读过尤克里里,但我创建并复制的布局Library/Keyboard Layouts没有显示在“键盘偏好设置”中。

我使用的是 OS X 10.9 Mavericks。我在网上搜索了解决方案,但大多数都过时了。

答案1

  1. 打开 Ukelele,选择“文件”>“从当前输入源新建”。在新版本的 Ukelele 中,它还会自动为键盘布局分配一个新 ID。
  2. 编辑键盘布局。
  3. 将键盘布局保存到某个临时位置,例如桌面。(直接保存到桌面会/Library/Keyboard Layouts/失败,且不会发出任何提示。)您可以使用这两种格式中的任意一种。按住按键时显示的 iOS 风格弹出窗口仅适用于捆绑格式。但单个 XML 文件(默认)格式更简单。使用 XML 时,请确保文件以扩展名保存.keylayout
  4. 将键盘布局移至。无法在密码对话框或登录窗口中选择/Library/Keyboard Layouts/中的键盘布局。~/Library/Keyboard Layouts/
  5. 重启电脑。注销并重新登录是不够的。
  6. 从系统偏好设置中启用新的键盘布局。

要应用键盘布局更改,请运行sudo touch /Library/Keyboard\ Layouts/并重新启动。

https://web.archive.org/web/20151030180252/http://osxnotes.net/keylayout-files-and-ukelele.html了解更多信息。


更新(2015 年 10 月):Ukelele 有新版本(3.0.0),其中包含从应用程序内安装布局的选项。我仍然需要进入系统偏好设置来激活它,但根本不需要通过命令行。

答案2

创建键盘布局文件

我也用过尤克里里生成键盘布局。然后您可以导出.bundle.keylayout文件并将其复制到/Library/Keyboard Layouts

sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

如果您希望将键盘图标捆绑在一个文件中,Ukelele 提供了导出到 Bundle 的选项。因此在这种情况下,请复制文件.bundle。或者,您可以将图标分开,然后以相同的名称将它们复制到同一个文件夹中。

sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

重启后,您可以在系统偏好设置->键盘->输入源菜单中添加输入源。如果您在 Ukelele 中为键盘添加了语言,则可能在其他或语言下可用。

输入源菜单

如何创建 .icns 文件

mkdir layout.iconset

然后将以下 PNG 添加到文件夹中:

# All sizes necessary
icon_16x16.png
[email protected]
icon_32x32.png
[email protected]
icon_128x128.png
[email protected]
icon_256x256.png
[email protected]
icon_512x512.png
[email protected]

您不需要所有这些,但这是官方列表。有些像素数是多余的,但可以指示密度。

iconutil --convert icns --output layout.icns layout.iconset/

GitHub 上的示例项目

我的乌克兰语-俄语GitHub 上的项目是一个正在 Mavericks 10.9.5 上运行的演示。

答案3

尤克里里可能对您有用,但请注意,它似乎是在软件级别(而不是硬件级别)重新绑定键,因此您可能会开始遇到一些问题,例如某些应用程序无法识别修饰符或特殊键重新绑定,无法在密码对话框中使用它等。

如果你正在寻找更强大的解决方案,请查看登山扣

答案4

使用较旧的稳定 Ukelele 版本 1.8.4...无需重启

我有 OS X 10.10.5 (Yosemite)。即使我尝试了其他几个建议,Ukelele 的当前版本仍然无法工作。最后,我卸载了当前版本并安装了较旧的稳定版本 (1.8.4)。之后它工作正常。无需重启。只需在 Library/Keyboard Layouts 中保存新布局即可。然后打开键盘偏好设置、输入源。单击 添加+,您应该会在“其他”中看到新布局。

相关内容