首页 > 编程语言 > 详细

Python pynput监控、控制键盘鼠标

时间:2020-02-10 18:25:09      阅读:79      评论:0      收藏:0      [点我收藏+]

原文链接:Python控制键盘鼠标pynput的详细用法

作者:botoo

pynput这个库让你可以控制和监控输入设备。

对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

  • pynput.mouse:包含控制和监控鼠标或者触摸板的类。
  • pynput.keyboard:包含控制和监控键盘的类。

地址:https://pypi.python.org/pypi/pynput

基本用法介绍:

from pynput.mouse import Button, Controller
import time 
 
mouse = Controller()
print(mouse.position)
time.sleep(3)
print(The current pointer position is {0}.format(mouse.position))
 
 
#set pointer positon
mouse.position = (277, 645)
print(now we have moved it to {0}.format(mouse.position))
 
#鼠标移动(x,y)个距离
mouse.move(5, -5)
print(mouse.position)
 
mouse.press(Button.left)
mouse.release(Button.left)
 
#Double click
mouse.click(Button.left, 1)
 
#scroll two steps down
mouse.scroll(0, 500)

监控鼠标事件 :

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

键盘输入用法:

from pynput.keyboard import Key, Controller
 
keyboard = Controller()
# 按下空格和释放空格
#Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)
# 按下a键和释放a键
#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)

键盘监听:

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

对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html

Python pynput监控、控制键盘鼠标

原文:https://www.cnblogs.com/-wenli/p/12291796.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!