使用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