[Python] Detect press of alt key with pynput keyboard

Discussão em 'Python' iniciado por Stack, Julho 29, 2025.

  1. Stack

    Stack Membro Participativo

    I am trying to hold down the alt key when I press it with pynput. I checked the documentation and could not find a list saying how to call all specific keys or detect all specific keys. So that sucks.

    I've used their cookie-cutter code for detecting presses to try and detect keys:

    from pynput.keyboard import Key, Listener

    def on_press(key):
    print('{0} pressed'.format(
    key))

    def on_release(key):
    print('{0} release'.format(
    key))
    if key == Key.esc:
    # Stop listener
    return False

    # Collect events until released
    with Listener(
    on_press=on_press,
    on_release=on_release) as listener:
    listener.join()


    but when I try to modify it like this...

    from pynput import keyboard

    def on_press(key):
    try:
    print('Alphanumeric key pressed: {0} '.format(
    key.char))
    except AttributeError:
    print('special key pressed: {0}'.format(
    key))

    def on_release(key):
    print('Key released: {0}'.format(
    key))
    if key == keyboard.Key.alt_1: <------ this
    print('test')

    # Collect events until released
    with keyboard.Listener(
    on_press=on_press,
    on_release=on_release) as listener:
    listener.join()


    It just quits when I attempt to press alt or any key I select for the if statement.

    Ideally, I'd like to do this:

    from pynput import keyboard

    def on_release(key):
    if key == keyboard.Key.alt_1:
    keyboard.press.alt_1

    # Collect events until released
    with keyboard.Listener(on_release=on_release) as listener:
    listener.join()


    but obviously, I can't even reach this point. Help?

    Continue reading...

Compartilhe esta Página