Я работаю с Synergy (GUI) и пытаюсь создать клавиши регулировки громкости, которые изменяют громкость одного компьютера независимо от того, какой экран активен в данный момент. У меня есть два экрана, давайте назовем их A и B. Для простоты я буду ссылаться только на горячую клавишу увеличения громкости, так как добавление громкости вниз и отключение звука должно быть простым, если я могу понять один из них.
Если я нажму F12 на A или B, я хочу увеличить громкость на B.
Я пробовал несколько настроек:
1)
On keystroke(F12):
Switch to Screen B
Send key VolumeUp
2)
On keystroke(F12):
Switch to Screen B
Send key F12
AHK Script defines F12 as hotkey VolumeUp On B
3)
Both of the above
Switch to Screen A
Ни один из них не дал мне ту функциональность, которую я ищу. Часто громкость не меняется, как и экран. Фактически, их настройка иногда приводила к тому, что скрипт AHK не работал. Моя абсолютно предпочтительная функциональность будет:
On keystroke(F12):
Determine which screen is currently active
Make Screen B active if it isn't already
Increase the system volume
Return to the previously active screen
У кого-нибудь есть указания на то, как заставить это работать?
== Редактировать, больше информации == Сценарий AHK:
F11::Send {Volume_Down 3} ; Lower the master volume by 3 interval (typically 5%)
Return
F12::Send {Volume_Up 3}
Return
F10::Send {Volume_Mute} ; Mutes The system Volume
Return
Опять же, обратите внимание, что этот скрипт отлично работает локально.
Синергия Config:
section: screens
balthazar:
halfDuplexCapsLock = false
halfDuplexNumLock = false
halfDuplexScrollLock = false
xtestIsXineramaUnaware = false
switchCorners = none
switchCornerSize = 0
midnight:
halfDuplexCapsLock = false
halfDuplexNumLock = false
halfDuplexScrollLock = false
xtestIsXineramaUnaware = false
switchCorners = none
switchCornerSize = 0
end
section: aliases
end
section: links
balthazar:
right = midnight
midnight:
left = balthazar
end
section: options
relativeMouseMoves = false
screenSaverSync = true
win32KeepForeground = false
switchDelay = 10
switchCorners = none
switchCornerSize = 0
keystroke(F11) = switchToScreen(midnight), keyDown(F11,midnight) ; keyUp(F11,midnight)
keystroke(F12) = switchToScreen(midnight), keyDown(F12,midnight) ; keyUp(F12,midnight)
keystroke(F10) = switchToScreen(midnight), keyDown(F10,midnight) ; keyUp(F10,midnight)
end
Как видите, я ковырялся с горячими клавишами. Я был почти уверен, что это будет работать, но это не так :(
== РЕДАКТИРОВАТЬ, больше информации ==
Хорошо, основываясь на некоторых IRC-чатах, которые я делал, я решил подойти к этому следующим образом: клиентам придется индивидуально переводить любой ключ, который они хотят, в AudioUp, а Synergy отправит все команды AudioUp до полуночи. Горячая клавиша Synergy теперь выглядит так:
keystroke(AudioUp) = keystroke(AudioUp,midnight)
Затем я установил AHK с:
F12::Send {Volume_Up 3}
И я надеялся, что это сделает. Но это не так. Я собираюсь выяснить, является ли AHK виновником здесь (возможно, Volume_Up!= AudioUp)