From 31dd18fd973947adf21eb129955e33599b6617c4 Mon Sep 17 00:00:00 2001 From: Agnes Date: Sat, 6 Mar 2021 21:53:04 +0100 Subject: Make curses async --- cursed.py | 10 ++++++---- main.py | 11 +++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cursed.py b/cursed.py index 905b457..e07ea05 100644 --- a/cursed.py +++ b/cursed.py @@ -1,11 +1,13 @@ import curses import asyncio +import sys class Console(): def __init__(self, stdscr): self.stdscr = stdscr def __enter__(self): + print("ENTER") curses.noecho() curses.cbreak() self.stdscr.keypad(True) @@ -17,16 +19,16 @@ class Console(): curses.endwin() -def start(on_str, on_tab): +async def start(on_str, on_tab): stdscr = curses.initscr() with Console(stdscr) as _: string = "" while True: - char = stdscr.getkey() + char = await asyncio.to_thread(stdscr.getkey) if char == '\n': - on_str(string) + await on_str(string) string = "" elif char == '\t': - on_tab() + await on_tab() else: string += char diff --git a/main.py b/main.py index 51ab636..5336d05 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,12 @@ import cursed +import asyncio -def on_str(s): +async def on_str(s): print(s) -def on_tab(): - print("Nu tryckte nån på tab") -cursed.start(on_str, on_tab) +async def on_tab(): + print("tab") + + +asyncio.new_event_loop().run_until_complete(cursed.start(on_str, on_tab)) -- cgit v1.2.1