From f9e57e580798e981b39c5a942865c02baf693a0b Mon Sep 17 00:00:00 2001 From: Doman Date: Thu, 3 Feb 2022 13:38:39 +0100 Subject: [PATCH] fixed del word and added tab+enter stop --- fasttyper/listener.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/fasttyper/listener.py b/fasttyper/listener.py index f2ff621..5fecd8e 100644 --- a/fasttyper/listener.py +++ b/fasttyper/listener.py @@ -13,23 +13,34 @@ class Action(enum.Enum): class Listener: def __init__(self): - pass + self.tabbed = False def handle_key(self, key): action = Action.invalid - if key == 263: - action = Action.del_char # TODO + if key == "\t": + self.tabbed = True + elif key == "\n" and self.tabbed: + raise StoppingSignal() + elif key == 263: + action = Action.del_word + self.tabbed = False elif isinstance(key, int): - pass + self.tabbed = False elif key == chr(127): action = Action.del_char + self.tabbed = False elif key == " ": action = Action.add_space + self.tabbed = False elif key == "\n": action = Action.add_newline + self.tabbed = False elif key.isprintable(): action = Action.add_char + self.tabbed = False + else: + self.tabbed = False return action, key