===============
 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
==============

If your are using Ubuntu or Debian, the easiest way to install
python-uinput is to install it as a pre-built binary package. Please
refer to the homepage for the instructions.

Otherwise, you are probably planning to build the source
package. 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 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 always 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. The source code is
maintained in Git and the main repository is hosted at GitHub,
<https://github.com/tuomasjjrasanen/python-uinput/>. 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.
