gitignore: ignore gcov, ctags, announce emails

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: drop some superfluous dev creation

copy/paste residue, had no effect

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Allow enabling of EV_SYN codes

Has no effect, but allow it nonetheless to avoid superfluous
conditions in client code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Don't try setting an ABS code without data

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Set the size for repeat delays based on REP_MAX

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Make sure all EV_REP bits are set

Current code was skipping REP_PERIOD

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
When enabling EV_REP, set the delay/period values

Just enabling EV_REP sets them to zero, but when enabling them directly,
a value is required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add libevdev_has_event_pending()

Returns non-zero if there are events avialable to be read.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add abs setters for changing a single value on an abs axis

Changing a single value on an abs axis is slightly more common than
having to enable that axis outright. Provide a set of accessors for
doing so.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Replace libevdev_get_abs_* with macro-generated ones

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Provide setters for name, phys, uniq

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add setters for product/vendor/bustype/version

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add setter for property bits

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: check for enabling REL_X with data

Only EV_REP and EV_ABS accept data.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Rename a few setters and getters for consistency

Deprecated:
* libevdev_get_abs_min, libevdev_get_abs_max
* libevdev_set_abs_min, libevdev_set_abs_max
* libevdev_get_input_prop_name

Will be removed in one or two versions.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Replace ID getter implementation with a define

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Rename ID setters/getters to have a consistent naming scheme

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add support for uinput device creation

This lets libevdev provide a relatively generic interface for the
creation of uinput devices so we don't need to duplicate this across
multiple projects.

Most of this is lifted from the current test implementation, with a
couple of minor changes.

EV_REP needs special handling:
Kernel allows to set the EV_REP bit, it doesn't set REP_* bits (which we
wrap anyway) but it will also set the default values (500, 33).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: add uinput creation tests

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: change device for enabling/disabling bits to use REL_*

No real effect on the test, this check is just so that a follow-up patch to
fix the tests for the new uinput backend is a bit easier to review.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>