|
import pyautogui |
|
from pynput import keyboard |
|
import yaml |
|
|
|
|
|
regions = [ |
|
"screen_top_left", |
|
"screen_bot_right", |
|
] |
|
|
|
map_regions = [ |
|
"map_top_left", |
|
"map_bot_right", |
|
"confirm_button", |
|
"kodiak", |
|
"hobart", |
|
] |
|
|
|
next_round_button = "next_round_button" |
|
|
|
coords = [] |
|
|
|
PRESS_KEY = "a" |
|
|
|
|
|
def on_press(key): |
|
try: |
|
if key.char == PRESS_KEY: |
|
x, y = pyautogui.position() |
|
print(x, y) |
|
coords.append([x, y]) |
|
return False |
|
except AttributeError: |
|
pass |
|
|
|
|
|
def get_coords(players=1): |
|
for region in regions: |
|
print(f"Move the mouse to the {region} region and press 'a'.") |
|
with keyboard.Listener(on_press=on_press) as keyboard_listener: |
|
keyboard_listener.join(timeout=40) |
|
|
|
for p in range(1, players+1): |
|
for region in map_regions: |
|
region = region + f"_{p}" |
|
regions.append(region) |
|
print(f"Move the mouse to the {region} region and press 'a'.") |
|
with keyboard.Listener(on_press=on_press) as keyboard_listener: |
|
keyboard_listener.join(timeout=40) |
|
|
|
regions.append(next_round_button) |
|
print(f"Move the mouse to the {next_round_button} region and press 'a'.") |
|
with keyboard.Listener(on_press=on_press) as keyboard_listener: |
|
keyboard_listener.join(timeout=40) |
|
|
|
screen_regions = {reg: coord for reg, coord in zip(regions, coords)} |
|
|
|
|
|
with open("screen_regions.yaml", "w") as f: |
|
yaml.dump(screen_regions, f) |
|
|
|
return screen_regions |
|
|
|
|
|
if __name__ == "__main__": |
|
_ = get_coords(players=1) |
|
|