Is there a way to have a non-blocking version that returns None or raises an exception if there no current key?
Or, even better, to have a timeout, and then do the above after the timeout has passed and no key was pressed or no character entered, respectively?