【发布时间】:2019-12-31 00:34:00
【问题描述】:
我想创建一个函数来记录鼠标和键盘事件,直到按下特定键,然后一起重播它们。
我认为这可以通过keyboard 和mouse 模块来实现。在之前的一个问题中,我问了how to record the mouse movement until a key is pressed,得到了如下代码:
import mouse
import keyboard
events = [] #This is the list where all the events will be stored
mouse.hook(events.append) #starting the mouse recording
keyboard.wait("a") #Waiting for 'a' to be pressed
mouse.unhook(events.append) #Stopping the mouse recording
mouse.play(events) #Playing the recorded events
效果很好。由于这两个模块是由同一个人制作的,我认为键盘模块也可以使用。但事实并非如此。
mouse_events = []
keyboard_events = []
mouse.hook(mouse_events.append)
keyboard.hook(keyboard_events.append)
keyboard.wait("a")
mouse.unhook(events.append)
keyboard.unhook(events.append)
keyboard.play(events)
上面代码中的keyboard.hook(events.append) 行会抛出错误:
TypeError: unhashable type: 'list'。
我试图检查模块文件,但我无法理解其中的大部分内容。
所以,总结一下:如何同时启动鼠标和键盘录制,同时停止它们并同时运行它们? mouse 和 keyboard 模块是实现这一目标的最佳选择吗?
【问题讨论】: