Python practice === python control keyboard and mouse: pynput, pythonpynput

Source: Internet
Author: User

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:

  • Pynput. mouse: class that controls and monitors the mouse or touchpad.

  • Pynput. keyboard: contains the control and monitoring keyboard class.

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()

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.