Python practice === python control keyboard and mouse: pynput, pythonpynput
Python: pynput
Address: https://pypi.python.org/pypi/pynput
This library allows you to control and monitor input devices.
For each input device, it contains a sub-package to control and monitor the input device:
Basic usage:
From pynput. mouse import Button, Controllerimport time mouse = Controller () print (mouse. position) time. sleep (3) print ('the current pointer position is {0 }'. format (mouse. position) # set pointer positonmouse. position = (277,645) print ('now we have moved it to {0 }'. format (mouse. position) # move the mouse (x, y) away from the mouse. move (5,-5) print (mouse. position) mouse. press (Button. left) mouse. release (Button. left) # Double clickmouse. click (Button. left, 1) # scroll two steps downmouse. scroll (0,500)
Monitor mouse events:
from pynput import mousedef on_move(x, y ): print('Pointer moved to {o}'.format( (x,y)))def on_click(x, y , button, pressed): print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y))) if not pressed: return Falsedef on_scroll(x, y ,dx, dy): print('scrolled {0} at {1}'.format( 'down' if dy < 0 else 'up', (x, y)))while True: with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener: listener.join()
Keyboard Input usage:
from pynput.keyboard import Key, Controllerkeyboard = Controller()#Press and release spacekeyboard.press(Key.space)keyboard.release(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 Askeyboard.press('A')keyboard.release('A')# or with keyboard .pressed(Key.shift): keyboard.press('a') keyboard.release('a')#type 'hello world ' using the shortcut type methodkeyboard.type('hello world')
Keyboard listening:
from pynput import keyboarddef 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: return Falsewhile True: with keyboard.Listener( on_press = on_press, on_release = on_release) as listener: listener.join()