import curses import asyncio import sys class Console(): def __init__(self): self.stdscr = curses.initscr() def __enter__(self): print("ENTER") curses.noecho() curses.cbreak() self.stdscr.keypad(True) print("Enter färdig") def __exit__(self, *_): print("EXIT") curses.nocbreak() self.stdscr.keypad(False) curses.echo() curses.endwin() async def start(c, on_str, on_tab): print("start") string = "" while True: char = await asyncio.to_thread(c.stdscr.getkey) if char == '\n': await on_str(string) string = "" elif char == '\t': await on_tab() else: string += char