by Audrey M. Roy Greenfeld | Sat, Feb 8, 2025
Here I play with using Pynput as a system level keylogger, from within my Jupyter notebook version of this.
from pynput import keyboard
def on_press(key): try: print(key.char, end='', flush=True) except AttributeError: print(key, end='', flush=True)
def on_release(key): print(f"↑{key.char if hasattr(key, 'char') else key}", end='', flush=True) if key == keyboard.Key.esc: return False # Stop listener
Yeah, I implemented them differently for variety, since this is all just for fun. The second feels nicer.
listener = keyboard.Listener(on_press=on_press, on_release=on_release) listener.start()