-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
46 lines (42 loc) · 1.44 KB
/
main.py
File metadata and controls
46 lines (42 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import toml
import argparse
from pynput import keyboard
import sys
import playback
import record
# arguments
parser = argparse.ArgumentParser(description="llmacro - by EN")
parser.add_argument("file",type=str,help="Where to record/play macros")
parser.add_argument("--play",action="store_true",help="playback mode")
parser.add_argument("--loop",action="store_true",help="loop mode")
parser.add_argument("--start",action="store_true",help="start without asking")
arguments = parser.parse_args()
# input settings
input_settings = toml.load("./shortcuts.toml")
start_macro = input_settings["start"]
stop_macro = input_settings["stop"]
print(f"press \"{start_macro}\" to start recording/playback")
print(f"press \"{stop_macro}\" to stop recording/playback")
# create settings
macro_settings = {
"file":arguments.file,
"play":arguments.play,
"loop":arguments.loop,
"await":arguments.start,
"start":keyboard.KeyCode.from_char(start_macro),
"stop":keyboard.KeyCode.from_char(stop_macro)
}
# begin playback/recording
if not macro_settings["await"]:
with keyboard.Events() as events:
for event in events:
if event.key == macro_settings["start"]:
break
if macro_settings["play"]:
print("begin playing macro")
playback.begin(macro_settings)
print("done playing macro")
else:
print("begin recording macro")
record.begin(macro_settings)
print("done recording macro")