X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=input_utils.py;fp=input_utils.py;h=b19bfe16726dd5995a9d8db52cc7be49b67c8201;hb=dab5654d392f69fb00bed49cf8ffb80f37642ea5;hp=913146a313608398d902a03eef7fe824399cd6fc;hpb=64a9a97fdff29f4bb9eef4e80faaeaa520d59506;p=python_utils.git diff --git a/input_utils.py b/input_utils.py index 913146a..b19bfe1 100644 --- a/input_utils.py +++ b/input_utils.py @@ -24,6 +24,7 @@ def single_keystroke_response( def _single_keystroke_response_internal( valid_responses: List[str], timeout_seconds=None ) -> str: + os_special_keystrokes = [3, 26] # ^C, ^Z if timeout_seconds is not None: signal.signal(signal.SIGALRM, _handle_timeout) signal.alarm(timeout_seconds) @@ -33,6 +34,8 @@ def single_keystroke_response( response = readchar.readchar() if response in valid_responses: break + if ord(response) in os_special_keystrokes: + break return response finally: if timeout_seconds is not None: