====================
- Add the ability to set arbitrary device capabilities on uinput
devices (defaults to all ``EV_KEY`` ecodes).
- Add :attr:`UInput.device` which is an open :class:`InputDevice` to
the input device that uinput 'spawns'.
- Add :func:`UInput.capabilities()` which is just a shortcut to
:func:`UInput.device.capabilities()`.
- Rename :func:`UInput.write()` to :func:`UInput.write_event()`.
- Add a simpler :func:`UInput.write(type, code, value)` method.
- Make all :func:`UInput` constructor arguments optional (default
device name is now ``py-evdev-uinput``).
- Add the ability to set ``absmin``, ``absmax``, ``absfuzz`` and
``absflat`` when specifying the uinput device's capabilities.
- Remove the ``nophys`` argument - if a device fails the
``EVIOCGPHYS`` ioctl, phys will equal the empty string.
- Make :func:`InputDevice.capabilities()` perform a ``EVIOCGABS``
ioctl for devices that support ``EV_ABS`` and return that info
wrapped in an ``AbsData`` namedtuple.
- Split ``ioctl_devinfo`` into ``ioctl_devinfo`` and
``ioctl_capabilities``.
- Split :func:`UInput.uinput_open()` to :func:`UInput.uinput_open()`
and :func:`UInput.uinput_create()`
- Add more uinput usage examples and documentation.
- Rewrite uinput tests.
- Remove ``mouserel`` and ``mouseabs`` from :class:`UInput`.
- Tie the sphinx version and release to the distutils version.
- Set 'methods-before-attributes' sorting in the docs.
- Remove ``KEY_CNT`` and ``KEY_MAX`` from :func:`ecodes.keys`.