Find a file
Peter Hutterer 93bc9a329d Add per-device log handlers
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>
2014-06-05 15:16:06 +10:00
doc Mark the log functions with the printf format attribute 2014-06-05 15:15:12 +10:00
include/linux include: update linux/input.h for kernel 3.13 2014-01-22 09:15:14 +10:00
libevdev Add per-device log handlers 2014-06-05 15:16:06 +10:00
m4 m4: fix CC_CHECK_WERROR and CC_FLAG_VISIBILITY macros 2014-06-05 15:16:06 +10:00
test Add per-device log handlers 2014-06-05 15:16:06 +10:00
tools tools: Fix compiler warning 2014-02-26 07:24:46 +10:00
.gitignore Review/update .gitignore files 2013-11-19 09:34:23 +10:00
autogen.sh autogen.sh: remove unneeded m4 configuration workaround 2013-11-19 09:37:06 +10:00
configure.ac libevdev 1.2.99.1 2014-06-05 15:16:05 +10:00
COPYING Update COPYING file. 2013-11-15 09:30:10 +10:00
libevdev.pc.in Fix name and version in pkgconfig file 2013-07-24 07:27:17 +10:00
Makefile.am Pass --no-print-directory to make 2013-08-26 07:59:07 +10:00
README.md README: remove the warning, it's stable now 2014-02-11 16:27:50 +10:00

libevdev - wrapper library for evdev input devices

libevdev is a wrapper library for evdev devices. it moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc.

git://git.freedesktop.org/git/libevdev http://cgit.freedesktop.org/libevdev/

The eventual goal is that libevdev wraps all ioctls available to evdev devices, thus making direct access unnecessary.

Go here for the API documentation: http://www.freedesktop.org/software/libevdev/doc/latest/

File bugs in the freedesktop.org bugzilla: https://bugs.freedesktop.org/enter_bug.cgi?product=libevdev

Patches, questions and general comments should be submitted to the input-tools@lists.freedesktop.org mailing list: http://lists.freedesktop.org/mailman/listinfo/input-tools