Несколько функций на одной горячей клавише (удерживание и отпускание клавиши) - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь создать скрипт, который снижает громкость один раз, когда горячая клавиша удерживается, и после отпускания клавиши громкость возвращается к нормальной / предыдущей громкости. Эта же клавиша (при удерживании) также должна отправлять ввод как обычная клавиша.

Случай:

  • Удерживать w - громкость клавиши снижена только один раз и w отправляется несколько раз (как при обычном удержании клавиши)
  • Release w - громкость клавиш возвращается к нормальному

Вот мой текущий скрипт, который работает для громкости, как описано:

$w::
SoundGet OldVolume
SoundSet, -20
KeyWait, w
w UP::SoundSet OldVolume
return

Я действительно пытался заставить l oop отправлять w при удерживании, но затем регулировка громкости больше не работает.

Я не уверен, возможно ли это множественное действие, когда нажатие клавиши должно делать что-то только один раз, а что-то еще несколько раз. Любая помощь приветствуется!

1 Ответ

2 голосов
/ 06 августа 2020

Вы будете в порядке, просто указав модификатор горячих клавиш ~. Это заставит горячую клавишу не потреблять ее при использовании. Таким образом, клавиша также сохранит свою обычную функциональность.

А также, вам не нужен вариант w UP горячей клавиши, просто установите старый уровень звука с помощью команды KeyWait .

Вот ваш полный сценарий:

~w::
    SoundGet, OldVolume
    SoundSet, -20
    KeyWait, w
    SoundSet, OldVolume
return
...