使用Caps Lock在Sierra上切换语言


9

Sierra添加了此功能,可让您通过Caps Lock从非拉丁版式从a切换为拉丁版式。尽管我上次检查俄语是非拉丁语言,但它不适用于俄语。

有谁能解决这个错误吗?


1
我测试了其中的一些,似乎只有俄语和希腊语可能无法使用。可能是Apple必须修复的问题。
Tom Gewecke '16

哦:(问题是seil不再起作用了。所以我被卡住了:(时间降级了
。– JBaruch

有没有人发送错误报告?
icem

1
它也不适用于保加利亚语(语音)布局。没有复选框“使用大写锁定键来回切换保加利亚语”。
0xC0DEGURU

@TomGewecke根据此消息来源,日语也无法工作(韩国人也很可能。我想知道中国人是否工作)。但是,我仍在El Capitan上,因此我没有对其进行测试。
Blaszard

Answers:


4

我的测试表明,大写锁定切换功能现在可以与High Sierra中的西里尔文,希腊文和亚美尼亚文键盘一起使用。(这些在塞拉利昂不起作用)。


阿里路亚!我可以退休Karabiner!
JBaruch

6

要使用大写锁定键切换键盘布局,您需要使用命令(在Terminal.app中)将大写锁定重新映射到F18:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}'

然后,转到“系统偏好设置” /“键盘” /“快捷方式” /“输入源”,使用“大写锁定”键切换输入源。

Mac os Sierra上不需要其他软件。

要使此功能在注销后保持正常运行,请执行以下操作:创建~/bin/caps2f18.sh具有以下内容的文件:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}' > /dev/null 2>&1

使它可执行:

chmod +x ~/bin/caps2f18.sh

创建~/Library/LaunchAgents/com.user.loginscript.plist具有以下内容的文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.user.loginscript</string>
   <key>ProgramArguments</key>
   <array>
        <string>zsh</string>
        <string>-c</string>
        <string>~/bin/caps2f18.sh</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
   <key>ThrottleInterval</key>
   <integer>86400</integer>
</dict>
</plist>

执行

launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist

注销登录,或执行 launchctl start com.user.loginscript


完成此操作后,无论是否使用非拉丁键盘,大写锁定键始终会切换键盘吗?是否切换到最后使用的键盘?还是列表中的下一个?
汤姆·盖克

我有2个-我们和ua(非拉丁,cyryllic)键盘布局。此方法只是将大写锁定映射到F18。标准mac os输入源切换器未修改。
ra。

但这也会切换两个拉丁键盘,对吗?3个键盘会做什么?
Tom Gewecke

是的,也是拉丁语,如果将“在输入菜单中选择下一个来源”设置为F18(大写锁定),它将一一切换3个键盘。
ra。

4

尽管Seil和经典的Karabiner都不在Sierra下工作,但Karabiner重写了,“ Karabiner Elements”(在很早的beta中)实际上可以工作。

UI键映射尚不起作用,但是您可以在~/.karabiner.d/configuration/karabiner.json(请参见下面的示例)下编辑config json文件,以将Caps Lock映射到F19。从那里开始,一切都和以前一样-禁用Caps Lock,将地图键盘布局触发到F19,获利。

示例karabiner.json:

{  "profiles": [
    {
      "name": "Default profile",
      "selected": true,
      "simple_modifications": {
        "caps_lock": "f19"
      }
    }
  ]
}

降级推迟!


您如何将布局触发映射到F19?由于Karabiner不再工作,所以它也不工作,对吗?
Blaszard
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.