libkinput (pronounced similar to "lib-key-input") is a small, lightweight command line edition library. It was written as a smaller alternative to the readline library. The main goal of the project is to implement a clean lightweight and easy to modify readline equivalent for small and medium CLI applications.


  • Small and fast
  • Supports multi-byte characters via wide characters
  • Does not use ncurses (can be compiled to use ncurses terminfo, if required)
  • Automatic history handling
  • Easy to modify and add additional features, such as signal and key sequence bindings


You can get the latest development version source code from our git repository.

If you are an Arch Linux user, you can easily find this package in the Arch Linux User Repository (AUR) - thanks go to Henri Häkkinen for preparing and uploading the package. Dive in here for more details.

You can also see all previous stable versions here.

Source Code

You can check out libkinput source code using our GitWeb interface or by simply cloning our repository to your computer. It's as simple as writing:

git clone git://

in your console, provided that you have the git package installed. Of course you can modify and use libkinput at will, as long as you obey the rules of the GNU Public License version 3. We highly encourage you to participate in the development of kinput as well - feel free to send us useful patches and links to your branches, and we will consider merging the changes with our main repository. Please feel free to contact the ASNlibs project maintainer for this purpose - Łukasz 'sil2100' Zemczak.


  1. Getting started with kinput
  2. Using kinput in your application
  3. Advanced features
  4. Examples

User documentation:

  1. Keyboard bindings?

For more specific information about libkinput API, see our doxygen generated documentation or the source code headers. Our web hosted doxygen documentation is updated daily from our main git repository, so it is most likely always up-to-date with the latest revision. If you are interested in documentation for the current, stable version, please consult the source code headers from the tarball.

Last modified 11 years ago Last modified on 03/06/10 20:11:08