summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libevdev 1.3.1libevdev-1.3.1Peter Hutterer2014-11-131-2/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: update doxygen.in for current doxygenPeter Hutterer2014-11-131-936/+1414
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* include: update to 3.17 headerPeter Hutterer2014-11-131-0/+1
| | | | | | Adds INPUT_PROP_POINTING_STICK Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.3libevdev-1.3Peter Hutterer2014-09-091-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: fix slightly confusing code/type commentsRan Benita2014-08-281-3/+3
| | | | | Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* configure.ac: print prefix and libdirPeter Hutterer2014-08-271-0/+3
| | | | | | | When building for multiple prefixes from the same repo it's nice to see a reminder for what the current prefix is. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.3RC2libevdev-1.2.99.902Peter Hutterer2014-08-251-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: fix EVIOCREVOKE test on non-supporting kernelsPeter Hutterer2014-08-251-2/+2
| | | | | | The ioctl-returned errno is positive. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add some minimal documentation about static linkingPeter Hutterer2014-08-251-0/+14
| | | | | | | I can't recommend it, but I can't stop people from doing it, so at least document the ground rules. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Hook up nm to check for leaking symbols in the static libraryPeter Hutterer2014-08-252-4/+35
| | | | | | | | | We ignore anything that starts with an underscore, anything that starts with libevdev and main (since we test the test-static-link binary) and a couple of gcov-related functions. This should catch any functions we accidentally export. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: handle the GCOV_LDFLAGS in all testsPeter Hutterer2014-08-251-2/+3
| | | | | | | We rebuild the libevdev object files with the gcov flags for the tests, so we need to make sure those flags are present on all binaries. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: override check-local instead of checkPeter Hutterer2014-08-251-2/+6
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: add basic static link testPeter Hutterer2014-08-251-1/+6
| | | | | | Same as the dynamic link test, just with the -static flag Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* uinput: explicitly ignore the UI_DEV_DESTROY return valuePeter Hutterer2014-08-251-1/+1
| | | | | | | | | This can't fail in the kernel anyway, so cast it to shut up Coverity. Error message: "Calling function "ioctl(int, unsigned long, ...)" without checking return value (as is done elsewhere 35 out of 36 times)." Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: pass -rc to strerror, not rcPeter Hutterer2014-08-221-1/+1
| | | | | | | | rc is a negative errno Found by Coverity. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* uinput: close the managed fd on errorPeter Hutterer2014-08-221-0/+3
| | | | | | | | | Using LIBEVDEV_UINPUT_OPEN_MANAGED can leak the fd if an error occurs after opening it. Found by Coverity. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Rename symbols leaking from static library to avoid name clashesPeter Hutterer2014-08-202-12/+12
| | | | | | | | The static library currently leaks log_msg and log_priority. Both are too generic, so rename them, with a leading underscore to hint they're supposed to be private. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add libevdev_property_from_name()Peter Hutterer2014-08-205-1/+93
| | | | | | | | | 12717d79 "Add libevdev_event_type/code_from_name() resolvers" added the lookup functions for types and codes, this commit adds the missing ones for input properties. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* configure: move the python check down to re-unite the gcov check outputsPeter Hutterer2014-08-191-3/+2
| | | | | | | | | The python check was inserted between "checking whether to build with gcov" and the answering "yes", causing a lonely "yes" or "no" to wander around the config.log in vain, haunted by solitude and wondering about the binary simplicity of its life. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: drop include of libevdev-int.hPeter Hutterer2014-08-181-1/+0
| | | | | | Not needed, and shouldn't be used in a test anyway Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: use ck_assert_int_eq() where comparing integersPeter Hutterer2014-08-181-52/+52
| | | | | | | A simple ck_assert() just fails, a ck_assert_int_eq() also shows the two values. Makes failures a bit easier to debug. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* uinput: preserve the errno before cleaning upPeter Hutterer2014-08-151-1/+2
| | | | | | | libevdev_uinput_destroy() may/will botch the errno, make sure we save it before use. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* uinput: check errno against the positive valuePeter Hutterer2014-08-151-1/+1
| | | | | | | | | We use the negative errno internally, but the proper errno is always positive. Fixes device creation failures on kernels that don't support UI_SET_PROPBIT. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
* libevdev 1.3RC1libevdev-1.2.99.901Peter Hutterer2014-08-081-2/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* include: update to Linux 3.16 headerPeter Hutterer2014-08-081-1/+16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* include: add uinput.h header as wellPeter Hutterer2014-06-252-1/+150
| | | | | | | | | Older kernels don't have UI_GET_SYSNAME, and upstream is adding a few more ioctls to the uinput code. So ship the header we're using to avoid compilation errors. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* uinput: change strcpy/strcat usage for snprintfPeter Hutterer2014-06-201-5/+14
| | | | | | | | | | | | Better protection against buffer overflow, though by the time someone is manipulating your sysfs, libevdev is unlikely to be the biggest worry. Slight change in functionality: before we checked the timestamp of /sys/devices/virtual/input/inputXYZ before looking at /inputXYZ/name, now we just check the name file for the timestamp. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* uinput: use the UI_GET_SYSNAME ioctl if availablePeter Hutterer2014-06-202-15/+20
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* whitespace fixPeter Hutterer2014-06-191-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: ignore any timer_create errors in valgrindPeter Hutterer2014-06-121-2/+0
| | | | | | | | | Drop the rest of the stack trace, we know whenever check calls this we get a valgrind error if sevp in timer_create(2) is NULL. https://bugs.freedesktop.org/show_bug.cgi?id=79921 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* include: update to Linux 3.15 headerPeter Hutterer2014-06-101-0/+1
| | | | | | Adds INPUT_PROP_TOPBUTTONPAD Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add per-device log handlersPeter Hutterer2014-06-056-49/+277
| | | | | | | | | | | | | | | | | | | | | | The global log handler isn't a good choice for a low-level library. In the caser of the X server, both evdev and synaptics are now using the libevdev but are loaded from the same server process. Thus, there's only one log handler, but evdev and synaptics don't talk to each other (a bit childish, I know). Add a per-device log handler that overrides the global log handler, and fall back to the global log handler if no device log handler is set. The log macros take care of that automatically, especially as we can't do per-device log handlers for the uinput code. Note that we use the same struct for the global and device logging, so in each instance one of the two function pointers is NULL. Suicide triggers are in place in case we mess that up. This also makes libevdev_new_from_fd() a bit less useful since we can't set the log handler beforehand. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
* m4: fix CC_CHECK_WERROR and CC_FLAG_VISIBILITY macrosPeter Hutterer2014-06-051-11/+6
| | | | | | | | | | | | These macros come from systemd, but CC_CHECK_CFLAGS_SILENT was removed in systemd commit eb2e280f9c59b66965c9316eadc4c113a13ca744, breaking some of them. CC_FLAG_VISIBILITY doesn't need to require CC_CHECK_WERROR because CC_CHECK_FLAG_APPEND always append -Werror anyway. Which kinda brings into question why we have CC_CHECK_WERROR in the first place, but whavever. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.2.99.1Peter Hutterer2014-06-051-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.2.2libevdev-1.2.2Peter Hutterer2014-06-051-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Mark the log functions with the printf format attributePeter Hutterer2014-06-053-6/+8
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
* Document that we need uinput in the kernel for the test suitePeter Hutterer2014-05-221-1/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.2.1libevdev-1.2.1Peter Hutterer2014-05-141-2/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: unconditionally distribute the valgrind suppressionsPeter Hutterer2014-05-071-3/+1
| | | | | Reported-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Ignore NULL as argument in libevdev_uinput_destroy()Peter Hutterer2014-05-071-0/+3
| | | | | | | | | | | Triggered by the tests when run as non-root. Simply ignore any attempt to destroy a NULL device, which also matches the behaviour of libevdev_free(). Reported-by: Andreas Radke <a.radke@arcor.de> Reviewed-by: Daniel Martin <consume.noise@gmail.com> Tested-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libevdev 1.2libevdev-1.2Peter Hutterer2014-04-301-2/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: run all tests through valgrindPeter Hutterer2014-04-293-2/+44
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* test: disable parallel testingPeter Hutterer2014-04-291-0/+2
| | | | | | | | The tests create devices on the host system, avoid running them in parallel to avoid interference between the test devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* test: silence some valgrind warningsPeter Hutterer2014-04-282-1/+3
| | | | | | | ioctl points to uninitialized bytes - correct but we didn't use those anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* libevdev 1.2RC1libevdev-1.1.99.1Peter Hutterer2014-04-241-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Drain all events before synchronizing after SYN_DROPPEDPeter Hutterer2014-04-243-20/+302
| | | | | | | | | | | | | | | | | | | | The kernel ring buffer drops all events on SYN_DROPPED, but then continues to fill up again. So by the time we read the events, the kernel's client buffer is essentially like this: SYN_DROPPED, ev1, ev2, ev3, ...., evN The kernel's device state represents the device after evN, and that is what the ioctls return. For EV_KEY, EV_SND, EV_LED and EV_SW the kernel removes potential duplicates from the client buffer [1], it doesn't do so for EV_ABS. So we can't actually sync while there are events on the wire because the events represent an earlier state. So simply discard all events in the kernel buffer, synchronize, and then start processing again. We lose some granularity but at least the events are correct. [1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/input/evdev.c?id=483180281f0ac60d1138710eb21f4b9961901294 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Move read_more_events() up in the filePeter Hutterer2014-04-241-25/+25
| | | | | | | No functional change Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* Actually make the min queue size a minimumPeter Hutterer2014-04-101-1/+1
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* Clarify what signal-safe meansPeter Hutterer2014-04-101-3/+4
| | | | | | Just in case... Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Calling libevdev_enable_event_code() overwrites EV_ABS/EV_REP valuesPeter Hutterer2014-04-081-0/+4
| | | | | | Document this behaviour Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>