在使用 iMac 附带的无线键盘后,我换成了 MS Ergo Natural 4000 键盘。令人惊讶的是,我不得不安装额外的软件,因为 OS X 无法识别我使用的是哪种键盘。
之后我进入系统首选项并在“输入源”选项卡上将主输入法首先设置为“英国 - 微软”,其次设置为“瑞士德语”(无线键盘):
然而...OS X 总是将我的输入法重置回瑞士德语,这让我很抓狂。
我的右上角有一个标志,这样我就能看到什么时候发生变化。
注意:我已将“输入源选项”设置为“在所有文档中使用相同的选项”,我假设这意味着在运行的任何程序中保持相同的语言。
它还会跳转回登录页面。
有谁知道如何解决这一问题?
答案1
如果系统在未经您要求的情况下切换语言,则意味着当前输入源不知何故变得不可用。如果您使用自定义输入源(放在 ~/Library/Keyboard Layouts 下)然后锁定屏幕,则可能会发生这种情况。锁定屏幕归系统所有,因此无法访问您的自定义布局,只能访问系统范围的布局。当前源不可用,它将自动恢复为另一个源。
要解决此问题,请确保您的自定义键盘布局放在 /Library 下,而不是 /Users/You/Libary 下。移动文件后,从列表中删除输入源,重新启动,然后重新放回。
答案2
在类似情况下,我遇到的一种可能性是您正在按键盘快捷键来切换输入源。
在 Snow Leopard 偏好设置中,默认选择上一个输入源的快捷键是 Command-Space。在“语言和文本”偏好设置的屏幕截图中,您可以看到此快捷键处于活动状态(另一个用于选择下一个输入源的快捷键在该屏幕截图中处于非活动状态):
使用 Command-Space有点奇怪†,因为 Spotlight 也使用这个快捷键。但如果多次分配一个快捷键,Snow Leopard 会显示警告,你的屏幕截图不是显示。因此,Command-Space 不会在 Mac 上激活 Spotlight:
†从Apple 支持:Command-Space:显示或隐藏 Spotlight 搜索字段(如果安装了多种语言,则可以通过启用的脚本系统轮换)
答案3
就我而言,我有一个.keylayout
用 Ukelele 创建的自定义项,并手动复制到/Library/Keyboard Layouts
。
我在键盘设置下配置了两个输入源。一个是内置输入源(英国输入源),另一个是我的自定义键盘布局。
在某些应用程序中,我可以自由地在两种键盘布局之间切换。但是,有些应用程序(日历、Safari)的操作系统拒绝切换到我的自定义布局。如果我启用了自定义布局,那么只要切换到日历,布局就会自动切换回英国布局。
经过一番思考,我.keylayout
从网上下载了一个已知良好的自定义布局。我将其与我的布局进行了比较,发现有几个不同之处。
这是我在自定义布局中的内容:
<keyboard group="126" id="-2" name="Custom Layout" maxout="3">
这是我将其改为的(使用下载的版本作为参考):
<keyboard group="0" id="16003" name="Custom Layout" maxout="1">
我删除了键盘设置下的自定义布局,注销,重新登录,然后再次添加自定义布局。
不确定是group
、id
还是maxout
值导致了问题,但我很高兴地说这个问题现在已经解决了。
顺便说一句,有趣的是,我已经使用这种自定义布局十年了,从来没有遇到过这个问题。现在我正在使用一台新的 Mac(带有 macOS Monterey 12.4),这是我第一次遇到这个问题。