Get python versions up-to-date.

I can't remember now why I did all this, but I did. It's fine.
This commit is contained in:
Eli Ribble 2022-09-07 16:23:30 -06:00
parent 7664f34de5
commit a3cb632170
2 changed files with 29 additions and 29 deletions

View File

@ -41,40 +41,39 @@ def main() -> None:
print("You cannot specify 'delay' and 'trigger'")
sys.exit(1)
now = time.time()
_do_delay(args.delay)
_do_trigger(args.trigger)
LOGGER.info("Capturing...")
now = time.time()
# Add dummy events to lock in the time start
event_queue = queue.Queue()
event_queue.put(
mouse.ButtonEvent(
event_type=mouse.UP,
button=mouse.RIGHT,
time=now,
))
event_queue.put(
keyboard.KeyboardEvent(
event_type=keyboard.KEY_UP,
name=" ",
scan_code=57,
time=now,
)
)
hook = functools.partial(_on_hook, event_queue)
keyhook = keyboard.hook(hook)
mousehook = mouse.hook(hook)
print("Capturing...")
try:
keyboard.wait(args.trigger)
except KeyboardInterrupt:
keyboard.unhook(keyhook)
mouse.unhook(mousehook)
with open(args.output, "w") as output:
hook = functools.partial(_on_hook, now, output)
keyhook = keyboard.hook(hook)
mousehook = mouse.hook(hook)
try:
keyboard.wait(args.trigger)
except KeyboardInterrupt:
keyboard.unhook(keyhook)
mouse.unhook(mousehook)
LOGGER.info("Wrote %s", args.output)
_save_events(event_queue, args.output)
def _on_hook(event_queue, event):
def _on_hook(start, output, event):
LOGGER.debug(str(event))
event_queue.put(event, block=False)
relative_time = event.time - start
if isinstance(event, keyboard.KeyboardEvent):
output.write(
f"{relative_time},k,{event.event_type},{event.scan_code},{event.name}\n")
elif isinstance(event, mouse.ButtonEvent):
output.write(
f"{relative_time},mb,{event.event_type},{event.button}\n")
elif isinstance(event, mouse.MoveEvent):
output.write(
f"{relative_time},mm,{event.x},{event.y}\n")
elif isinstance(event, mouse.WheelEvent):
output.write(
f"{relative_time},mw,{event.delta}\n")
else:
raise ValueError(f"{event} is not recognized")
def _do_delay(delay: int) -> None:
if not delay:

View File

@ -73,6 +73,7 @@ def _play_event_mouse(event) -> None:
mouse.press(event.button)
elif isinstance(event, mouse.MoveEvent):
mouse.move(event.x, event.y, absolute=True)
# mouse.move(event.x, event.y)
elif isinstance(event, mouse.WheelEvent):
mouse.wheel(event.delta)