Функциональная клавиша триггера с использованием AppleScript

Я пытаюсь вызвать функциональную клавишу с помощью applescript. Мне нужно, чтобы нажать клавишу «громкость вверх» с помощью fn.

Я написал следующий AppleScript, но он неэффективен:

tell application "System Events"
    key down 63 -- fn
    key code 111 -- f12
    key up 63
end tell

просто выполнение key code 111дает мне тот же результат, что и код выше,

 key down 63 

похоже, не влияет на поведение скрипта, нажимается клавиша f12 без модификатора функции.

Есть ли что-то вроде

 using function down / using fn down

точно так же, как для командной клавиши

 using command down

или есть ли другой способ добиться этого?

Клавиши увеличения/уменьшения громкости недоступны как «клавиши» из applescript. См. способ управления громкостью системы с помощью Applescript — superuser.com/questions/224264/…
@Tetsujin Эй, спасибо за ответ. Неужели нет способа вызвать их при нажатии клавиш? Я хочу активировать не только клавишу громкости. Я хочу активировать клавишу паузы в контексте, определенном ОС (можно приостановить работу VLC, iTunes и т. д.).
Вы можете называть «настоящие» F-клавиши, но не их «дополнительные функции». нажатие клавиши «F12» нажмет F12, но не Fn/F12 [не имеет значения, как вы установили системные настройки, он отправит только F12, а не увеличение громкости.]
Хорошо, спасибо, есть ли способ вызвать действия, связанные с дополнительными функциональными клавишами? Что выполняет fn+f12? Могу ли я вызвать это вручную?
На самом деле это становится проблемой XY. Вы ищете способ управления определенными функциями, громкостью, паузой и т. Д., А не нажатиями клавиш, необходимыми для запуска этих функций - по ссылке, которую я разместил, есть примеры для iTunes. Я не уверен, что VLC можно контролировать, как iTunes, когда это не самое переднее приложение, поэтому решения могут отличаться.
@Tetsujin, похоже, да, но я хочу выполнить действие, назначенное этой (дополнительной) функциональной клавише, поскольку она зависит от контекста, она делает разные вещи для разных контекстов (приложений)
тем не менее, команда «увеличение громкости» никоим образом не зависит от контекста.
@Tetsujin «Я хочу активировать не только клавишу громкости. Я хочу активировать клавишу паузы в контексте, определенном ОС (может приостановить VLC, iTunes и т. Д.)».
Медиа-клавиши не являются контекстно-зависимыми. iTunes управляется на очень низком уровне, так как он тесно интегрирован с ОС. VLC нет, так как это не так. Дуг Адамс отвечает за управление iTunes — dougscripts.com/itunes
Однако VLC приостанавливает / возобновляет воспроизведение мультимедиа при нажатии функциональной клавиши воспроизведения / паузы. Спасибо за вашу помощь!

Ответы (1)

если вы пытаетесь установить громкость в AppleScript, правильный синтаксис будет следующим, не нужно принудительно нажимать кнопки:

tell application "System Events"
set volume 4
end tell

Теперь, как вы можете видеть, это принудительный процесс. Если вам нужна большая гибкость, например, определение того, где в настоящее время находится громкость пользователей, или установка увеличения/уменьшения на 1, да, это возможно, но немного больше кода, чем я могу сделать прямо сейчас (я печатаю с моего iPhone)

Однако,

Если это возможно, и использование Automator не повлияет на вашу конечную цель. Я бы использовал Automator, если бы я был на вашем месте, он имеет встроенные функции, подобные этой, с простым перетаскиванием мотивов. «Установить громкость компьютера — один из них». Но это альтернатива, я просто эмулировал ее с помощью приведенного выше кода.