Utilities to read single characters and key-strokes
See it at:
Library to easily read single chars and key strokes.
Goal and Philosophy
Born as a python-inquirer requirement.
The idea is to have a portable way to read single characters and key-strokes.
pip install readchar
readchar library works with python 2.7, 3.4, 3.5, 3.6 and Pypy.
import readchar c = readchar.readchar() key = readchar.readkey()
There are just two methods:
Reads the next char from
stdin, returning it as a string with length 1.
Reads the next key-stroke from
stdin, returning it as a string.
A key-stroke can have:
- 1 character for normal keys: ‘a’, ‘z’, ‘9’…
- 2 characters for combinations with ALT: ALT+A, …
- 3 characters for cursors: ->, <-, …
- 4 characters for combinations with CTRL and ALT: CTRL+ALT+SUPR, …
There is a list of previously captured chars with their names in
readchar.key, in order to be used in comparisons and so on. This list is not enough tested and it can have mistakes, so use it carefully. Please, report them if found.
Sadly, this library has only being probed on GNU/Linux. Please, if you can try it in another SO and find a bug, put an issue or send the pull-request.
How to contribute
You can download the code, make some changes with their tests, and make a pull-request.
In order to develop or running the tests, you can do:
- Clone the repository.
git clone https://github.com/magmax/python-readchar.git
- Create a virtual environment:
- Enter in the virtual environment
- Install dependencies
pip install -r requirements.txt -r requirements-dev.txt
- Run tests
Please, Execute the tests before any pull-request. This will avoid invalid builds.
Copyright (c) 2014, 2015 Miguel Angel Garcia (@magmax9).
Based on previous work on gist getch()-like unbuffered character reading from stdin on both Windows and Unix (Python recipe), started by Danny Yoo.
Licensed under the MIT license.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|readchar-2.0.1-py2-none-any.whl (6.9 kB) Copy SHA256 hash SHA256||Wheel||2.7|
|readchar-2.0.1-py3-none-any.whl (6.9 kB) Copy SHA256 hash SHA256||Wheel||3.6|