default_response: str = None,
timeout_seconds: int = None,
) -> str:
+ """Get a single keystroke response to a prompt."""
+
def _handle_timeout(signum, frame) -> None:
raise exceptions.TimeoutError()
def yn_response(prompt: str = None, *, timeout_seconds=None) -> str:
+ """Get a Y/N response to a prompt."""
+
return single_keystroke_response(
["y", "n", "Y", "N"], prompt=prompt, timeout_seconds=timeout_seconds
).lower()
def keystroke_helper() -> None:
+ """Misc util to watch keystrokes and report what they were."""
+
print("Watching for keystrokes; ^C to quit.")
while True:
key = readchar.readkey()