pylibtermkey is a set of Python bindings for libtermkey, a library for interpreting terminal input. Other Python bindings are out of date and not easily installable. This project has a few differences:
- libtermkey is automatically built as part of this project
- pybind11 is used for easy binding
- unit tests are included
- precompiled wheels are built from this repo and available on PyPI
To install from PyPI:
pip install pylibtermkey
A minimal example of obtaining a keystroke and printing the results:
import pylibtermkey_cpp as termkey tk = termkey.TermKey() res, key = tk.waitkey() print(res) print(tk.strfkey(key, termkey.TermKeyFormat.VIM)
Note that, by default, termkey will read from stdin causing python terminal to not display typed characters. It is best to use termkey in an pre-written script rather in a REPL setup (as you will not be able to see what you are typing once termkey is active).
To build this project:
Building from source requires cmake (
pip install cmake).
To run the unit tests:
python setup.py test
or use nose: