Make key demo output prettier
This commit is contained in:
parent
7ea1deba8f
commit
af0a24c702
@ -21,10 +21,7 @@ class KeysHandler(Handler):
|
|||||||
self.cmd.set_cursor_visible(False)
|
self.cmd.set_cursor_visible(False)
|
||||||
self.print('Press any keys - Ctrl+C or Ctrl+D will terminate')
|
self.print('Press any keys - Ctrl+C or Ctrl+D will terminate')
|
||||||
|
|
||||||
def on_text(self, text: str, in_bracketed_paste: bool = False) -> None:
|
def on_key_event(self, key_event: KeyEvent, in_bracketed_paste: bool = False) -> None:
|
||||||
self.print('Text input: ' + text)
|
|
||||||
|
|
||||||
def on_key(self, key_event: KeyEvent) -> None:
|
|
||||||
etype = {
|
etype = {
|
||||||
PRESS: 'PRESS',
|
PRESS: 'PRESS',
|
||||||
REPEAT: 'REPEAT',
|
REPEAT: 'REPEAT',
|
||||||
@ -41,7 +38,16 @@ class KeysHandler(Handler):
|
|||||||
mods = '+'.join(lmods)
|
mods = '+'.join(lmods)
|
||||||
if mods:
|
if mods:
|
||||||
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:
|
def on_interrupt(self) -> None:
|
||||||
self.quit_loop(0)
|
self.quit_loop(0)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user