add setup script with mouse click recording

This commit is contained in:
Nayan Sawyer
2026-04-02 17:08:30 -04:00
parent 7932a5d9f2
commit ef5bfc5931
4 changed files with 177 additions and 1 deletions

33
tfc-forge-macro/setup.py Normal file
View File

@@ -0,0 +1,33 @@
"""
Record mouse click coordinates to stdout. Run: python setup.py
"""
from __future__ import annotations
from pynput import keyboard, mouse
def main() -> None:
print("Recording clicks (on press). Press Esc to stop.", flush=True)
def on_click(x: float, y: float, button: mouse.Button, pressed: bool) -> None:
if pressed:
print(f"{int(round(x))}\t{int(round(y))}\t{button}", flush=True)
def on_release(key: keyboard.Key | keyboard.KeyCode) -> bool | None:
if key == keyboard.Key.esc:
mouse_listener.stop()
return False
return None
mouse_listener = mouse.Listener(on_click=on_click)
mouse_listener.start()
try:
with keyboard.Listener(on_release=on_release) as kbd_listener:
kbd_listener.join()
finally:
mouse_listener.stop()
if __name__ == "__main__":
main()