diff options
-rwxr-xr-x | src/keyboard.py | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/keyboard.py b/src/keyboard.py index 94eba47f..0a1391ea 100755 --- a/src/keyboard.py +++ b/src/keyboard.py @@ -179,13 +179,36 @@ class Keyboard(object): return ret_list if __name__ == '__main__': + import sys keyboard = Keyboard() s = curses.initscr() curses.noecho() curses.cbreak() s.keypad(1) + curses.start_color() + curses.use_default_colors() + curses.init_pair(1, 2, -1) + s.attron(curses.A_BOLD | curses.color_pair(1)) + s.addstr('Type Ctrl-c to close\n') + s.attroff(curses.A_BOLD | curses.color_pair(1)) + pressed_chars = [] while True: - chars = keyboard.get_user_input(s) - for char in chars if chars else '': - s.addstr('%s ' % (char)) + + try: + chars = keyboard.get_user_input(s) + for char in chars if chars else '': + s.addstr('%s ' % (char)) + pressed_chars.append(chars) + + except KeyboardInterrupt: + break + curses.echo() + curses.cbreak() + curses.curs_set(1) + curses.endwin() + for char_list in pressed_chars: + if char_list: + print(' '.join((char for char in char_list)), end=' ') + print() + sys.exit(0) |