===============
 Python-uinput
===============

Uinput is a Linux kernel module which allows attaching user-space
device drivers into the Linux kernel. Python-uinput provides a
pythonic API to the Linux uinput-system.

Author: Tuomas Jorma Juhani Räsänen <tuomasjjrasanen@tjjr.fi>
Homepage: <http://tjjr.fi/sw/python-uinput/>

How to use
==========

Create an input device with key-capabilities and use it to type a greeting:

    import uinput

    events = (uinput.KEY_E, uinput.KEY_H, uinput.KEY_L, uinput.KEY_O)

    device = uinput.Device(events)

    device.emit(uinput.KEY_H, 1) # Press.
    device.emit(uinput.KEY_H, 0) # Release.
    device.emit(uinput.KEY_E, 1)
    device.emit(uinput.KEY_E, 0)
    device.emit(uinput.KEY_L, 1)
    device.emit(uinput.KEY_L, 0)
    device.emit(uinput.KEY_L, 1)
    device.emit(uinput.KEY_L, 0)
    device.emit(uinput.KEY_O, 1)
    device.emit(uinput.KEY_O, 0)

How to install
==============

Python-uinput uses libudev and therefore requires libudev development
files, more specifically libudev.h, to get compiled. On Debian and its
derivatives, the header file is packaged in libudev-dev.

After satisfying dependencies described above, the basic installation
is easy. Just run the following command:

  python setup.py install --prefix=/usr/local

How to report bugs
==================

The bug database is hosted in Launchpad. If you have found a bug or
have an improvement idea you want to share, please report it at
<https://bugs.launchpad.net/python-uinput>. However, to avoid
duplicate bug reports, before reporting, please check if similiar or
identical bug has already been reported. If the description of the
existing bug report If so, you can still subscribe to the existing bug
to track its progress.

If you are unsure whether the problem you have is due to a bug, you
can ask questions at <https://answers.launchpad.net/python-uinput>.

How to contribute
=================

In addition to reporting bugs and improvement suggestions, you are
encouraged to contribute bug-fixes or features. Source code is
maintained in Git VCS. The main repository is hosted in GitHub,
<https://github.com/tuomasjjrasanen/python-uinput/> and mirrored in
Launchpad as a Bazaar repository. The preferred way to contibute code
is to clone the main Git repository and send a pull-request. Good old
patches via email are also accepted.

How to copy
===========

Python-uinput is free (libre) software and licensed under the terms of
GNU Public License version 3 or later. In short, it means that you are
free to copy, modify and redistribute this software as long as you
place the derivative work under a compatible license. See COPYING for
details.
