© getcodify.com |
由於語法渲染問題而影響閱讀體驗, 請移步博客閱讀~
本文GitPage地址
pynput —Moniter your keybaord
1. Mouse
1.1 Mouse Controller
from pynput.mouse import Button, Controller
mouse = Controller()
## Read pointer position
print('The current pointer position is {0}'.format(
mouse.position))
## Set pointer position
mouse.position = (10, 20)
print('Now we have moved it to {0}'.format(mouse.position))
## Move pointer relative to current position
mouse.move(5, -5)
## Press and release
mouse.press(Button.left)
mouse.release(Button.left)
while True:
mouse.press(Button.left)
## Double click; this is different from pressing and releasing
## twice on Mac OSX
mouse.click(Button.left, 2)
## Scroll two steps down
mouse.scroll(0, 2)
1.2 Mouse Monitor
##监控鼠标事件
from pynput import mouse
def 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 False
def 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()
2. Keybaord
2.1 Keyboard Controller
##键盘输入用法
from pynput.keyboard import Key, Controller
keyboard = Controller()
##Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)
keyboard.press(Key.left)
keyboard.release(Key.left)
##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')
## or
with keyboard .pressed(Key.shift):
keyboard.press('a')
keyboard.release('a')
##type 'hello world ' using the shortcut type method
keyboard.type('hello world')
2.2 Keyboard Monitor
##键盘监听
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:
return False
while True:
with keyboard.Listener(
on_press = on_press,
on_release = on_release) as listener:
listener.join()
Enjoy~
由於語法渲染問題而影響閱讀體驗, 請移步博客閱讀~
本文GitPage地址
GitHub: Karobben
Blog:Karobben
BiliBili:史上最不正經的生物狗