From: Scott Gasch Date: Tue, 24 May 2022 23:13:32 +0000 (-0700) Subject: Add method to get up/down/enter keystrokes. X-Git-Url: https://wannabe.guru.org/gitweb/?a=commitdiff_plain;h=c08841600a2f61049cdb1a152407a1fb8ca129a5;p=python_utils.git Add method to get up/down/enter keystrokes. --- diff --git a/input_utils.py b/input_utils.py index 5e36db1..d958db2 100644 --- a/input_utils.py +++ b/input_utils.py @@ -85,6 +85,23 @@ def press_any_key( return single_keystroke_response(None, prompt=prompt, timeout_seconds=timeout_seconds) +def up_down_enter() -> Optional[str]: + os_special_keystrokes = [3, 26] # ^C, ^Z + while True: + key = readchar.readkey() + if len(key) == 1: + if ord(key) in os_special_keystrokes: + return None + if ord(key) == 13: + return 'enter' + elif len(key) == 3: + if ord(key[0]) == 27 and ord(key[1]) == 91: + if ord(key[2]) == 65: + return "up" + elif ord(key[2]) == 66: + return "down" + + def keystroke_helper() -> None: """Misc util to watch keystrokes and report what they were."""