Commit graph

83 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
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
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
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
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
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
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
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
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
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
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
Peter Hutterer
7645b083f4 test: fix up the tests to test for resolution now too
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:11:34 +10:00
Peter Hutterer
a05b1880e1 test: write resolution for uinput devices after creating the device
EVIOCSABS allows us to set the device's abs axes to the desired resolution.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:11:31 +10:00
Peter Hutterer
b17ba48458 test: add test for event values (type and code)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-04 11:11:51 +10:00
Peter Hutterer
07910f8bf4 test: unify test case creation in test-event-names.c
Simple rename from custom test case variable names to tc

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-04 11:05:39 +10:00
Peter Hutterer
2fa2d4f0d0 test: add test for extracting the right slot values on startup
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-03 15:53:50 +10:00
Peter Hutterer
33d0fff566 test: add a few sync test cases for incomplete syncs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-02 14:02:58 +10:00
Peter Hutterer
d347e7d4e4 test: add test for abs and mt syncing
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 14:40:22 +10:00
Peter Hutterer
6f78a7adab test: test for trying to enable invalid abs axis
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 13:36:25 +10:00
Peter Hutterer
592d5167e4 test: add tests for mt event values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 13:36:23 +10:00
Peter Hutterer
f7c580976c test: add tests for checking event values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 13:36:20 +10:00
Peter Hutterer
3343076530 test: add new helper function for absolute events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 13:12:20 +10:00
Peter Hutterer
3ad61372c8 test: add test for filtered event delivery
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 10:10:25 +10:00
Peter Hutterer
0aa639b443 Disallow disabling of EV_SYN
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 10:10:25 +10:00
Peter Hutterer
b6f07ec222 test: add test for changing kernel abs values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 10:10:22 +10:00
Peter Hutterer
1baeedc953 test: add test for getting abs axis data
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 09:32:02 +10:00
Peter Hutterer
15df738068 test: copy absinfo over to the uinput_user_dev before creation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 09:31:38 +10:00
Peter Hutterer
0954af8ec8 test: rename two loop variables to be more meaningful
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 09:26:29 +10:00
Peter Hutterer
ad656b1dc9 test: move a block out of the inner loop
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 09:25:19 +10:00
Peter Hutterer
f24a9b510d test: fix parameter name for uinput_device_set_abs_bit
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 08:54:39 +10:00
Peter Hutterer
96fc93df1a test: add two more tests for enabling/disabling invalid events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 08:42:44 +10:00
Peter Hutterer
fe30bf7d96 Drop code for kernel-enabling bits
We can't enable axes on devices at runtime in the kernel, not even
for uinput devices. So this API can't work anyway, remove it before
someone thinks it does work.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-30 15:27:24 +10:00
Peter Hutterer
ca4b63d2b5 test: add test for kernel-enabling bits
This test fails because we can't actually enable bits at runtime, guess I
should've thought of that before. Either way, commit this test (and revert it
again) so the test is in the repository in case we do get this ability later.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-30 15:26:13 +10:00
Peter Hutterer
f456a9dce4 test: use new convenience function for uinput device creation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 18:19:50 +10:00
Peter Hutterer
baf248fa4a test: move device creation into a shared function
remove some of that code duplication in the tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 18:19:42 +10:00
Peter Hutterer
f9532700bc test: provide uinput convenience function for varargs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 18:10:21 +10:00
Peter Hutterer
a30f4cfa8a test: prepare a common header file for all tests
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 18:00:42 +10:00
Peter Hutterer
6e5fc880c9 test: add tests for device bit manipulation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 17:54:26 +10:00