Commit graph

191 commits

Author SHA1 Message Date
Peter Hutterer
edc31cf12e Store the abs value after handling mt events
This way any ABS_MT_ event value that comes in will also be stored in abs_info.
That always corresponds to "current slot", so if a user calls
libevdev_set_event_value() or libevdev_get_event_value() they're actually
modifying the current slot value.

When the current slot changes, sync the state back into the absinfo values.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-26 09:52:33 +10:00
polyphemus
f29e4118fc write EV_SYN input_event along with led events to device
Other clients of an evdev device need to have the events they receive
be separated, in moment in time, from other events by an EV_SYN/
SYN_REPORT. This is the responsibility of the client who writes events
into the stream.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-26 09:52:27 +10:00
Peter Hutterer
4d4293a65b Add functions to toggle LEDs on the device
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-15 10:32:40 +10:00
Peter Hutterer
bfb6c1c6c5 Keep the LED state and sync it after SYN_DROPPED
This enables libevdev_get_event_value(dev, EV_LED, LED_NUML); to check
if a LED is on or off.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-15 10:32:40 +10:00
Peter Hutterer
74d9b4c72d Add setters for an event or slot value
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-15 10:32:37 +10:00
Peter Hutterer
62db838128 Rename libevdev_kernel_set_abs_value to libevdev_kernel_set_abs_info
Keep it in line with the non-kernel setter

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-14 10:23:15 +10:00
Peter Hutterer
a36dcecd9e Sync the key state on startup
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-14 10:22:55 +10:00
Peter Hutterer
09a1f6e427 Simplify a bit state setter
set_bit_state does exactly what the previous if/else did.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-14 10:22:51 +10:00
Peter Hutterer
551134b5fa Minor documentation improvement
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-14 10:22:48 +10:00
Peter Hutterer
e35411d959 test: devices with abs axes need to be created properly
Simply enabling the bits is not enough, we need to provide axis
information too if we want to enable this properly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-13 19:37:08 +10:00
Peter Hutterer
1619613414 Make the tests optional to drop unneeded dependencies
libevdev has no external dependencies and both check and libudev are
only required for running the unit-tests. Make them optional.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-13 07:11:50 +10:00
Peter Hutterer
55191e0502 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-13 07:05:59 +10:00
Peter Hutterer
c962cd6675 Fix stray * in documentation 2013-08-09 15:54:50 +10:00
Peter Hutterer
d8d8e75197 libevdev 0.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-08 13:21:04 +10:00
Peter Hutterer
f1ce4b69c3 Fix header guard, lowercased in some previous search/replace
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-08 13:04:40 +10:00
Peter Hutterer
1caf4ecb10 Add setters for product/vendor/bustype/version
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
c9bc2a9e39 Rename ID getters to have a consistent naming scheme
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
a1f8a4ecb8 Replace ID getter implementation with a define
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
ff9d68af0c Provide setters for name, phys, uniq
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
699399f653 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
00528f27d5 Rename a few getters for consistency
Deprecated:
* libevdev_get_abs_min, libevdev_get_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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:05 +10:00
Peter Hutterer
2ff65baf59 Replace libevdev_get_abs_* with macro-generated ones
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:04 +10:00
Peter Hutterer
7ee722ac6f Add setter for property bits
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:04 +10:00
Peter Hutterer
13bf9615d9 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:04 +10:00
Peter Hutterer
a28473cb62 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:04 +10:00
Peter Hutterer
bc73a98ca6 doc: fix css for notes and return values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-08-01 13:53:01 +10:00
Peter Hutterer
40493c3ff2 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-31 08:36:51 +10:00
Peter Hutterer
fc7c3b73a4 Make sure all EV_REP bits are set
Current code was skipping REP_PERIOD

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-31 08:36:51 +10:00
Peter Hutterer
3e795ea509 Set the size for repeat delays based on REP_CNT
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-31 08:36:43 +10:00
Peter Hutterer
6a1a0f4f0c Don't try setting an ABS code without data
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-29 14:05:21 +10:00
Peter Hutterer
b311e74d6e 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>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-29 14:05:21 +10:00
Peter Hutterer
ca6082a946 test: drop some superfluous dev creation
copy/paste residue, had no effect

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-29 14:05:21 +10:00
Peter Hutterer
ba82bee109 gitignore: ignore gcov, ctags, announce emails
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-29 14:05:11 +10:00
Peter Hutterer
d0de78cb8c libevdev 0.2.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-25 09:00:59 +10:00
Peter Hutterer
95b8446bb3 Fix name and version in pkgconfig file
evdev_read was an earlier name for this library.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-24 07:27:17 +10:00
Peter Hutterer
a482fd9256 libevdev 0.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 10:50:20 +10:00
Peter Hutterer
e4dd720cfb doc: fix two doxygen include paths to be source-relative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 10:50:20 +10:00
Peter Hutterer
c45d402979 Add libevdev.css to EXTRA_DIST
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 10:50:20 +10:00
Peter Hutterer
9ac7fd5442 Point to new API documentation URL
And fix up the tool to publish it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 08:34:55 +10:00
Peter Hutterer
9fd6c45e03 Document mailing list
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 08:21:03 +10:00
Peter Hutterer
a9a5a93a78 Change github.com references to freedesktop.org
Except for the API documentation, that'll stay on github for now until
I figure out where to put it (and have the space to put it in).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-17 13:06:35 +10:00
Peter Hutterer
76a03e5326 test: add uinput prop bits and the test for it
Turns out I was looking at an old header file, UI_SET_PROPBIT
has existed for quite a while.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-11 09:09:14 +10:00
Peter Hutterer
9e64f40f61 Don't include config.h in the public header
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-09 14:39:23 +10:00
Peter Hutterer
1d2c0d6674 doc: couple of minor documentation fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-06 10:27:10 +10:00
Peter Hutterer
0a98e92a1d doc: css changes for gnome web
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-06 10:26:54 +10:00
Peter Hutterer
7cd644015c Add a custom stylesheet to the documentation.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 11:20:50 +10:00
Peter Hutterer
72a9f3ce02 Add documentation about the test suite
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:38:14 +10:00
Peter Hutterer
20f7cb8006 test: define a common device name
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:11:34 +10:00
Peter Hutterer
4ac78fd6df test: constify the input_absinfo argument
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:11:34 +10:00
Peter Hutterer
53abcb64d5 test: don't set the abs value when initializing an uinput device
The helper function uses abs.value for the axis code (to save a parameter).
Reset that to 0 before we write to the device

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:11:34 +10:00