diff --git a/kittens/tui/handler.py b/kittens/tui/handler.py index ebf1d2569..8d97c749c 100644 --- a/kittens/tui/handler.py +++ b/kittens/tui/handler.py @@ -45,6 +45,7 @@ class Handler: mouse_tracking = MouseTracking.none terminal_io_ended = False overlay_ready_report_needed = False + perform_default_key_actions = True # ctrl-c/ctrl-d will call on_interrupt and on_eot def _initialize( self, diff --git a/kittens/tui/loop.py b/kittens/tui/loop.py index 218cd9b9b..63d7fc003 100644 --- a/kittens/tui/loop.py +++ b/kittens/tui/loop.py @@ -330,12 +330,13 @@ class Loop: except Exception: pass else: - if k.matches('ctrl+c'): - self.handler.on_interrupt() - return - if k.matches('ctrl+d'): - self.handler.on_eot() - return + if self.handler.perform_default_key_actions: + if k.matches('ctrl+c'): + self.handler.on_interrupt() + return + if k.matches('ctrl+d'): + self.handler.on_eot() + return self.handler.on_key_event(k) def _on_pm(self, pm: str) -> None: