From 3d107add874d063448607e53711914056b52d7f7 Mon Sep 17 00:00:00 2001 From: liyunze <50455574+liyunze-coding@users.noreply.github.com> Date: Wed, 8 May 2024 21:13:43 +0800 Subject: [PATCH] added key_duration, to differentiate from key_delay --- functions.py | 12 +++++++++--- main.py | 5 +++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/functions.py b/functions.py index 1c9969e..8353cd5 100644 --- a/functions.py +++ b/functions.py @@ -9,8 +9,11 @@ import win32con # Windows only class TwitchPlaysX: - def __init__(self, key_delay, keymap, channel_name, x_limit, kill_commands) -> None: + def __init__( + self, key_duration, key_delay, keymap, channel_name, x_limit, kill_commands + ) -> None: self.os = self.get_os() + self.key_duration = key_duration self.key_delay = key_delay self.keymap = keymap self.channel_name = channel_name.lower() @@ -19,13 +22,16 @@ class TwitchPlaysX: # not tested def sendKeyLinux(self, button): - subprocess.run(["xdotool", "key", button]) + subprocess.run(["xdotool", "keydown", button]) + time.sleep(self.key_duration) + subprocess.run(["xdotool", "keyup", button]) time.sleep(self.key_delay) def sendKeyWindows(self, button): win32api.keybd_event(self.keymap[button], 0, 0, 0) - time.sleep(self.key_delay) + time.sleep(self.key_duration) win32api.keybd_event(self.keymap[button], 0, win32con.KEYEVENTF_KEYUP, 0) + time.sleep(self.key_delay) def get_os(self): os_name = platform.system() diff --git a/main.py b/main.py index 8d81754..9a3f499 100644 --- a/main.py +++ b/main.py @@ -5,7 +5,8 @@ import asyncio # SETTINGS CHANNEL_NAME = "CHANNEL_NAME" # Twitch channel name -KEYDELAY = 0.3 +KEY_DURATION = 0.5 +KEY_DELAY = 0.1 X_LIMIT = 10 # "up20" will be converted to "up10" if X_LIMIT is 10 KILL_SWITCH_COMMANDS = ["!killpokemon"] # must be all lowercase @@ -48,7 +49,7 @@ async def main(): keymap = windowsKeyMap if os_type == "Windows" else linuxKeyMap twitchPlaysX = TwitchPlaysX( - KEYDELAY, keymap, CHANNEL_NAME, X_LIMIT, KILL_SWITCH_COMMANDS + KEY_DURATION, KEY_DELAY, keymap, CHANNEL_NAME, X_LIMIT, KILL_SWITCH_COMMANDS ) print(f"Starting TwitchPlaysX for channel: {CHANNEL_NAME}")