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


66

我最近转移到OS X,发现系统“ Russian Phonetic”的布局不令人满意(这不是我惯用的布局)。如何创建自定义布局?

我已经读过有关Ukelele的文章,但是我创建并复制到的布局Library/Keyboard Layouts没有出现在“键盘偏好设置”中。

我正在使用OS X 10.9 Mavericks。我在互联网上搜索解决方案,但其中大多数已过时。


在MacOS之前,您使用哪种布局?Paul Gorodyansky的?您介意分享您的Ukelele布局吗?
davidair



10.9及更高版本似乎使用了不同的键盘布局文件类型;Ukelele也为我带来了升级。我丢失了mu自定义的OCS键盘-OCS在奇怪的地方使用了一些奇怪的西里尔字母。
aramis

Answers:


63
  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),其中包括从应用程序内安装布局的选项。我仍然需要进入系统偏好设置来激活它,但是根本不需要通过命令行。


1
谢谢!不过,我有一个重要说明:Ukelele保存的XML文件需要.keylayout扩展。这样工作:)
mik01aj 2013年

使用包格式可以将.icns图标文件放入包内(与.keylayout相同的位置),并且选择的图标可以显示在输入源旁边。(Ukelele可以通过菜单将图标添加到分发包中。您确实需要一个.icns)。
ebukva 2014年

1
您还可以通过将icns文件另存为来为XML布局文件添加图标/Library/Keyboard Layouts/My Keyboard Layout.icns
Lri 2014年

无需将其保存在某个位置并手动进行移动,您可以以root用户身份启动ukelele,以便可以将其直接保存到/ library / keyboard布局中
Rayjax 2014年

我还必须.keylayout 直接编辑文件以更改name第5行中的属性。在此之前,它不会显示在“系统偏好设置”中,可能是因为它与现有布局具有相同的名称。没人遇到这个吗?o_O
frnhr

12

创建键盘布局文件

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

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

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

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

重新启动后,您可以在系统偏好设置->键盘->输入源菜单中添加输入源。如果您在Ukelele中将一种语言附加到键盘,则可能在“其他”或“该语言”下可用。

输入源菜单

如何创建一个.icns文件

mkdir layout.iconset

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

# All sizes necessary
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

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

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

GitHub上的示例项目

我在GitHub上的Ukrainian-Russian项目是一个演示,当前正在Mavericks 10.9.5上运行。


2
乌克兰-俄罗斯项目链接为+1。现在与一些伙伴分享。谢啦!
西藏沿海地区


1
乌克兰语-俄罗斯语项目链接的出价为+1。我们支持您@CameronLowellPalmer(及其他)!
Per Lundberg 2015年

4

Ukelele可能为您工作,只是被警告说它似乎是在软件级别(而不是硬件级别)重新绑定密钥,因此您可能会开始遇到一些问题,例如某些应用无法识别修饰符或特殊的密钥重新绑定,无法在密码对话框等中使用它

如果您正在寻找更强大的解决方案,请查看Karabiner


Karabinier也更好,因为您不必复制配置文件,它可以直接工作。你可以在开始在杂项/系统默认的配置启用它
bormat

-1

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

我有OS X 10.10.5(Yosemite)。即使我尝试了其他一些建议,Ukelele的当前版本也不起作用。最后,我卸载了当前版本并安装了较旧的稳定版本(1.8.4)。之后,它就很好了。无需重新启动。只需将新布局保存在“库/键盘布局”中。然后打开键盘首选项,输入源。通过单击添加,您将+在“其他”中看到新的布局。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.