使用大写锁定来锁定fn键或其他方式来锁定fn键?


2

我想要实现的很简单:

  • caps lockon =已fn锁定(使用功能键)。
  • caps lockoff = fnunlock(使用媒体键)。

我找到了围绕这个问题的几个主题,但他们的解决方案对我没有帮助:

  • 选中/取消选中键盘首选项面板中的“使用fn键作为标准”选项是我在按下/取消caps lock按键时要实现的功能。
  • 其他解决方案,如Functionflip程序或重新映射键盘工具,如Karabiner似乎不是解决我的问题的建议。

你知道可以实现这一目标的程序或解决方案吗?

如果不:

  • 我可以为caps lock密钥分配程序吗?怎么样?
  • 我可以使用脚本在“键盘”偏好设置面板中切换选项吗?

Answers:


2

要解决帖子中的最后一点,“ 我可以使用脚本切换键盘首选项窗格中的选项吗? ”,这是AppleScript 代码,它将切换“使用所有F1,F2等键作为标准的状态” “键盘系统首选项”的“键盘”选项卡上的“功能键”复选框。

tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.keyboard"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell

quit application "System Preferences"

注意:此代码在OS X 10.8.5下进行了测试。可能需要针对OS X的更高版本进行调整。

您可以在AppleScript应用程序中使用此代码,该应用程序可以放置在Dock或可以分配键盘快捷键等的Automator服务工作流程中。如果您需要帮助,请询问。


0

实际上,如果你仍然使用Karabiner Elements,有一种更简单的方法来实现这一点:

虽然它是“世界”(Karabiner / shell / GUI)的混合体,但它的魅力在于你不需要任何其他应用程序来获得它“快捷方式”;-)

{ "parameters": {
          "basic.to_delayed_action_delay_milliseconds": 1000},
"from": {
          "key_code": "return_or_enter",
          "modifiers": {
                "mandatory": ["control", "shift" ] }
        },
 "to": [{"shell_command": "open -g /System/Library/¬ 
                           PreferencePanes/Keyboard.prefPane/"
                              }],
 "to_delayed_action": {
       "to_if_invoked": [                     ___
            {"key_code": "tab"},                 |   These key-codes
            {"key_code": "tab"},                 |   can be replaced
            {"key_code": "tab"},                 |   by a single osa-
            {"key_code": "tab"},                 |   script, more ele-
            {"key_code": "tab"},                 |   gantly, listed
            {"key_code": "spacebar"},            |   below !         *)
            {"key_code": "q",                    |   
             "modifiers": ["command"]},       ___| < (Easier to handle)
            {"key_code": "escape"}] },
 "type": "basic"
}
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

(* 'tell application \"System Events\" to tell process ¬
    \"System Preferences\"\n click checkbox 1 of tab group 1 ¬
    of window 1\n end tell\n quit application \"System Preferences\"'

如您所见,系统首选项键盘由shell命令打开,该命令要求“等待时间”以跟随键码(毫秒:1000)。

我没有找到一个按键快捷键来获取复选框,所以它通过5个“标签”导航,一个“空格键”(=点击),关闭prefpane并设置一个最终的“逃脱”(没有它我的系统反应延迟)。
(我附加了一个额外的,实际上是第一个答案的AppleScript的一部分,但改编为:\n换行符,\"特殊键。)

我安装了一个“Ctrl-Shift-Enter”快捷方式,你可以使用s.th. 否则......
(“CAPS_LOCK”在事件查看器发送或者 KEY_DOWN KEY_UP -按两次改变状态!)

这段代码可以手动插入你的karabiner.json,或者作为“复杂修改”导入需要“标题:>规则:>描述:>操纵器:” - 框架(回收现有的)。

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.