From 8fafea9d026b2b65599456e70d3f5aa61ef073d1 Mon Sep 17 00:00:00 2001 From: yum Date: Mon, 22 May 2023 03:59:45 -0700 Subject: Add keyboard toggle Users can now configure a keybind to start/stop/dismiss the STT when in desktop mode. The default keybind is ctrl+x, since by default VRC doesn't use 'x' for anything. --- Scripts/keybind_event_machine.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Scripts/keybind_event_machine.py (limited to 'Scripts/keybind_event_machine.py') diff --git a/Scripts/keybind_event_machine.py b/Scripts/keybind_event_machine.py new file mode 100644 index 0000000..3ce6794 --- /dev/null +++ b/Scripts/keybind_event_machine.py @@ -0,0 +1,21 @@ +import keyboard +import time + +class KeybindEventMachine: + def __init__(self, keybind: str): + self.keybind = keybind + self.events = [] + keyboard.add_hotkey(keybind, self.onPress) + + def onPress(self) -> None: + self.events.append(time.time()) + + # Returns the timestamp when the keybind was pressed, or 0 if no keypresses + # are queued. + def getNextPressTime(self) -> int: + if len(self.events) == 0: + return 0 + ret = self.events[0] + self.events = self.events[1:] + return ret + -- cgit v1.2.3