Pynput - DanielMueller1309/Python GitHub Wiki

Controlling the keyboard

from pynput.keyboard import Key, Controller

keyboard = Controller()

# Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)

#Press key and release after press
keyboard.tap(Key.space)
# Type a lower case A; this will work even if no key on the
# physical keyboard is labelled 'A'
keyboard.press('a')
keyboard.release('a')

# Type two upper case As
keyboard.press('A')
keyboard.release('A')
with keyboard.pressed(Key.shift):
    keyboard.press('a')
    keyboard.release('a')

# Type 'Hello World' using the shortcut type method
keyboard.type('Hello World')

Monitoring the keyboard

Use pynput.keyboard.Listener like this:

from pynput import keyboard

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

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

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

# ...or, in a non-blocking fashion:
listener = keyboard.Listener(
    on_press=on_press,
    on_release=on_release)
listener.start()

Keys

alt = 0 A generic Alt key. This is a modifier.

alt_gr = 0 The AltGr key. This is a modifier.

alt_l = 0 The left Alt key. This is a modifier.

alt_r = 0 The right Alt key. This is a modifier.

backspace = 0 The Backspace key.

caps_lock = 0 The CapsLock key.

cmd = 0 A generic command button. On PC platforms, this corresponds to the Super key or Windows key, and on Mac it corresponds to the Command key. This may be a modifier.

cmd_l = 0 The left command button. On PC platforms, this corresponds to the Super key or Windows key, and on Mac it corresponds to the Command key. This may be a modifier.

cmd_r = 0 The right command button. On PC platforms, this corresponds to the Super key or Windows key, and on Mac it corresponds to the Command key. This may be a modifier.

ctrl = 0 A generic Ctrl key. This is a modifier.

ctrl_l = 0 The left Ctrl key. This is a modifier.

ctrl_r = 0 The right Ctrl key. This is a modifier.

delete = 0 The Delete key.

down = 0 A down arrow key.

end = 0 The End key.

enter = 0 The Enter or Return key.

esc = 0 The Esc key.

f1 = 0 The function keys. F1 to F20 are defined.

home = 0 The Home key.

insert = 0 The Insert key. This may be undefined for some platforms.

left = 0 A left arrow key.

media_next = 0 The next track button.

media_play_pause = 0 The play/pause toggle.

media_previous = 0 The previous track button.

media_volume_down = 0 The volume down button.

media_volume_mute = 0 The volume mute button.

media_volume_up = 0 The volume up button.

menu = 0 The Menu key. This may be undefined for some platforms.

num_lock = 0 The NumLock key. This may be undefined for some platforms.

page_down = 0 The PageDown key.

page_up = 0 The PageUp key.

pause = 0 The Pause/Break key. This may be undefined for some platforms.

print_screen = 0 The PrintScreen key. This may be undefined for some platforms.

right = 0 A right arrow key.

scroll_lock = 0 The ScrollLock key. This may be undefined for some platforms.

shift = 0 A generic Shift key. This is a modifier.

shift_l = 0 The left Shift key. This is a modifier.

shift_r = 0 The right Shift key. This is a modifier.

space = 0 The Space key.

tab = 0 The Tab key.

up = 0 An up arrow key.

Use keyboard and MouseController at same time:

from pynput.keyboard import Key, Controller as KeyboardController
from pynput.mouse import Button, Controller as MouseController

keyboard = KeyboardController()
mouse = MouseController()

Keyboard Tab rebuild Prozedure for pyinstaller exe

Prozedure:

def key_tap(anzahl, keyname):
    k = int(anzahl)
    for j in range(k):
        keyboard.press(keyname)
        keyboard.release(keyname)

Maincode:

# im Maincode dann die anzahl der Taps und danach den gewünschten key eintragen
key_tap(12, Key.tab)

Keyboard Combi of more keys in combination like alt + f4 or some else

Prozedure:

def key_combi(keyzahl, keys):
    k = int(keyzahl)
    for j in range(0, k):
        keyboard.press(keys[j])
    for j in range(0, k):
        keyboard.release(keys[j])

Maincode:

# signal in first character set the number of buttons to press
# say in the brackets [...,...,...]  which key in order from left to right you want to press and release
key_combi(2, [Key.alt_l, Key.f4])

Quelle: https://pythonhosted.org/pynput/keyboard.html