[Tutor] call key on_press event multiple times when key is held down
eryk sun
eryksun at gmail.com
Tue Jul 4 15:55:51 EDT 2017
On Tue, Jul 4, 2017 at 8:50 AM, Carlton Banks <noflaco at gmail.com> wrote:
> I am using pynput <https://pypi.python.org/pypi/pynput> for keyboard events
You could use an event that enables a recording loop. The on_press and
on_release callbacks of the Listener [1] would set() and clear() this
event, respectively. For example:
import threading
from pynput import keyboard
def main():
do_record = threading.Event()
def on_press(key):
if key == keyboard.Key.cmd_l:
do_record.set()
def on_release(key):
if key == keyboard.Key.cmd_l:
do_record.clear()
with keyboard.Listener(on_press=on_press,
on_release=on_release) as listener:
do_record.wait()
frames = []
while do_record.is_set():
print('Started recording')
# record and append audio frame
print('Stopped recording')
listener.join()
[1]: http://pythonhosted.org/pynput/keyboard.html#pynput.keyboard.Listener
More information about the Tutor
mailing list