Skip the waiting entirely if wait is set to 0 or lower rather than creating a timer of 0

This commit is contained in:
James Fitzgerald 2022-06-28 10:40:34 -04:00 committed by xs5871
parent c5c927acf2
commit 4707b92fd4

@ -57,11 +57,14 @@ class RapidFire(Module):
self._toggled_keys.remove(key) self._toggled_keys.remove(key)
self._deactivate_key(key, keyboard) self._deactivate_key(key, keyboard)
return return
keyboard.tap_key(key.meta.kc) if key.meta.wait > 0:
self._waiting_keys.append(key) keyboard.tap_key(key.meta.kc)
self._active_keys[key] = keyboard.set_timeout( self._waiting_keys.append(key)
key.meta.wait, lambda: self._on_timer_timeout(key, keyboard) self._active_keys[key] = keyboard.set_timeout(
) key.meta.wait, lambda: self._on_timer_timeout(key, keyboard)
)
else:
self._on_timer_timeout(key, keyboard)
def _rf_released(self, key, keyboard, *args, **kwargs): def _rf_released(self, key, keyboard, *args, **kwargs):
if key not in self._active_keys: if key not in self._active_keys:
@ -70,6 +73,8 @@ class RapidFire(Module):
if key not in self._waiting_keys: if key not in self._waiting_keys:
return return
self._toggled_keys.remove(key) self._toggled_keys.remove(key)
if key in self._waiting_keys:
self._waiting_keys.remove(key)
self._deactivate_key(key, keyboard) self._deactivate_key(key, keyboard)
def _deactivate_key(self, key, keyboard): def _deactivate_key(self, key, keyboard):