使用pynput同时监听鼠标和键盘


pynput概述

pynput主要包括两个类,pynput.mousepynput.keyboard,顾名思义,前者可以用来控制和监听鼠标(或者触控板?),后者可以用来控制和监听键盘。

pynput官方文档

如何使用

安装

pip install pynput

导入

from pynput import mouse, keyboard

定义监听函数

# 监听鼠标
def on_click(x, y, button, pressed):
    if button == mouse.Button.middle and pressed:
        print("middle pressed")
    elif button == mouse.Button.middle and (not pressed):
        print("middle not pressed")
# 监听键盘
def on_press(key):
    try:
        if key.char in ['1','2','3']:
        	print(key.char)
    except AttributeError:
		print('special key {0} pressed'.format(key))

注意:定义监听键盘函数时,一定要使用try except捕获AttributeError异常,否则按到诸如ctrl或者shift之类的按键会报错。

监听

# 非阻塞方式监听鼠标
mouse_listener = mouse.Listener(on_click=on_click)
mouse_listener.start()

# 阻塞方式监听键盘
with keyboard.Listener(on_press=on_press) as keyboardListener:
    keyboardListener.join()

注意:一个要用非阻塞方式,另一个要用阻塞方式才行,如果只监听其中一个,那么需要监听的那个用阻塞方式。


本人水平很菜,如果文章有差错,还望指正。

谢谢§ԾᴗԾ§


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM