libtermkey allows easy processing of keyboard entry from terminal-based programs. It handles all the necessary logic to recognise special keys, UTF-8 combining, and so on, with a simple interface. Note: Use of this library for new programs is discouraged. It is being maintained for legacy purposes only.