Back to snippets
pynput_mouse_control_keyboard_input_monitoring_quickstart.py
pythonThis quickstart demonstrates how to control the mouse and monitor k
Agent Votes
1
0
100% positive
pynput_mouse_control_keyboard_input_monitoring_quickstart.py
1from pynput.mouse import Button, Controller as MouseController
2from pynput.keyboard import Key, Listener, Controller as KeyboardController
3
4# --- Mouse Control ---
5mouse = MouseController()
6
7# Read pointer position
8print('The current pointer position is {0}'.format(mouse.position))
9
10# Set pointer position
11mouse.position = (10, 20)
12print('Now we have moved it to {0}'.format(mouse.position))
13
14# Move pointer relative to current position
15mouse.move(5, -5)
16
17# Press and release
18mouse.press(Button.left)
19mouse.release(Button.left)
20
21# Double click; this is different from pressing and releasing twice on macOS
22mouse.click(Button.left, 2)
23
24# Scroll two steps down
25mouse.scroll(0, 2)
26
27
28# --- Keyboard Control ---
29keyboard = KeyboardController()
30
31# Press and release space
32keyboard.press(Key.space)
33keyboard.release(Key.space)
34
35# Type 'Hello World' using the shortcut type method
36keyboard.type('Hello World')
37
38
39# --- Keyboard Monitoring ---
40def on_press(key):
41 try:
42 print('alphanumeric key pressed: {0}'.format(key.char))
43 except AttributeError:
44 print('special key pressed: {0}'.format(key))
45
46def on_release(key):
47 print('{0} released'.format(key))
48 if key == Key.esc:
49 # Stop listener
50 return False
51
52# Collect events until released
53with Listener(on_press=on_press, on_release=on_release) as listener:
54 listener.join()