From af0a24c702914d60d15ae64ac952b78bff89f30f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 15 Jan 2021 11:38:31 +0530 Subject: [PATCH] Make key demo output prettier --- kittens/key_demo/main.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/kittens/key_demo/main.py b/kittens/key_demo/main.py index 044da7c7c..1798e450d 100644 --- a/kittens/key_demo/main.py +++ b/kittens/key_demo/main.py @@ -21,10 +21,7 @@ class KeysHandler(Handler): self.cmd.set_cursor_visible(False) self.print('Press any keys - Ctrl+C or Ctrl+D will terminate') - def on_text(self, text: str, in_bracketed_paste: bool = False) -> None: - self.print('Text input: ' + text) - - def on_key(self, key_event: KeyEvent) -> None: + def on_key_event(self, key_event: KeyEvent, in_bracketed_paste: bool = False) -> None: etype = { PRESS: 'PRESS', REPEAT: 'REPEAT', @@ -41,7 +38,16 @@ class KeysHandler(Handler): mods = '+'.join(lmods) if mods: mods += '+' - self.print('Key {}: {}{} [{}]'.format(etype, mods, key_event.key, encode_key_event(key_event))) + key = f'{mods}{key_event.key} ' + self.cmd.colored(key, 'green') + self.cmd.colored(etype + ' ', 'yellow') + self.cmd.styled(key_event.text, italic=True) + self.print() + rep = 'CSI ' + encode_key_event(key_event)[2:] + rep = rep.replace(';', ' ; ').replace(':', ' : ')[:-1] + ' ' + rep[-1] + self.cmd.styled(rep, fg='magenta') + self.print() + self.print() def on_interrupt(self) -> None: self.quit_loop(0)