Чего я хочу добиться, так это просто:
Я нашел пару тем по этой проблеме, но их решения мне не помогли:
Знаете ли вы программы или решения, которые могут достичь этого?
Если не:
Чтобы ответить на последний пункт в вашем сообщении « Могу ли я переключить параметр на панели настроек клавиатуры с помощью сценария? », Вот код 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, которому можно назначить сочетание клавиш и т. д. Если вам нужна помощь, просто спросите.
На самом деле, если вы все равно используете 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\"'
Как видите, Системные настройки Клавиатура открывается командой оболочки, которая требует «время ожидания» для следующих кодов клавиш (миллисекунд: 1000).
Я не нашел сочетания клавиш, чтобы добраться до флажка, поэтому он перемещается по 5 «вкладкам», одному «пробелу» (= щелчок), закрывает предварительную панель и устанавливает окончательный «экран» (без него моя система реагирует с задержка).
(Я добавил дополнительный, фактически часть AppleScript 1-го ответа, но адаптированный: \n
для разрывов строк, \"
для специальных клавиш.)
Я установил ярлык «Ctrl-Shift-Enter», вы можете использовать s.th. else …
(«caps_lock» в EventViewer отправляет либо key_down, либо key_up — нажмите дважды, чтобы изменить состояние!)
Этот код можно вставить в ваш karabiner.json вручную или импортировать как «сложную модификацию», для которой требуется «заголовок: > правила: > описание: > манипуляторы:» -framework (перерабатывать существующий).