-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuuid_shortcut.py
39 lines (32 loc) · 1023 Bytes
/
uuid_shortcut.py
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
from typing import cast
import pynput
import sys
import pyperclip
import uuid
if sys.platform == "darwin":
TRIGGER_BASE = f"<cmd>+<shift>"
SHORTCUT_KEY = cast(str, pynput.keyboard.Key.cmd.value)
else:
TRIGGER_BASE = f"<ctrl>+<shift>"
SHORTCUT_KEY = cast(str, pynput.keyboard.Key.ctrl.value)
SHIFT_KEY = cast(str, pynput.keyboard.Key.shift.value)
def copy_paste_uuid(keyboard_controller: pynput.keyboard.Controller):
pyperclip.copy(str(uuid.uuid4()))
keyboard_controller.release(SHIFT_KEY)
keyboard_controller.press(SHORTCUT_KEY)
keyboard_controller.press("v")
keyboard_controller.release("v")
keyboard_controller.release(SHORTCUT_KEY)
def main():
keyborad_controller = pynput.keyboard.Controller()
try:
with pynput.keyboard.GlobalHotKeys(
{
f"{TRIGGER_BASE}+v": lambda: copy_paste_uuid(keyborad_controller),
}
) as h:
h.join()
except:
print("\nBye")
if __name__ == "__main__":
main()