我写了一个监控鼠标事件的代码,我想监控鼠标的左右按键,当我按下左键或者右键时输出并且记录下来,
但是我的这段代码好像只能对右键反应,而且点击左键的输出一样,这是哪里出问题了,希望大佬帮我看看,谢谢
对了,我的需求很简单,就是实时监控鼠标左右键,按下键时记录下来保存为npy数据。不用监控鼠标坐标
from pynput import mouse
from pynput.mouse import Button, Controller
import numpy as np
right=[]
left=[]
no=[]
mouse_out=[]
def on_move(x, y):
print('Pointer moved to {0}'.format((x, y)))
def on_click(x, y, button, pressed):
right_data=[]
left_data=[]
no=[]
if Button.right:
right_data = [0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
#print('{0} at {1}'.format(
#'Pressed' if pressed else 'Released',(x, y)))
#print("右键",right_data)
elif button == Button.left:
left_data = [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
print('{0} at {1}'.format('Pressed' if pressed else 'Released',(x, y)))
print("左键",left_data)
if not pressed:
no=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
return right_data,left_data,no
# Stop listener
def on_scroll(x, y, dx, dy):
print('Scrolled {0} at {1}'.format(
'down' if dy < 0 else 'up',(x, y)))
# Collect events until released
with mouse.Listener(on_click=on_click) as listener:
listener.join()
#print(right_data)
#np.save(r'C:\Users\Administrator\Desktop\ckpt_dir\mouse_data',right_data)