Add libinput based input device backend
While disable by default, passing --enable-libinput-backend to
./configure switches the input backend in weston's drm, fbdev and rpi
compositing backends to use libinput instead of udev-seat.c, evdev.c and
friends.
When enabled, weston now also depends on libinput >= 0.1.0.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/Makefile.am b/Makefile.am
index 64d0743..5ff4f83 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,8 +50,6 @@
src/compositor.h \
src/input.c \
src/data-device.c \
- src/filter.c \
- src/filter.h \
src/screenshooter.c \
src/clipboard.c \
src/zoom.c \
@@ -181,12 +179,33 @@
x11_backend_la_SOURCES = src/compositor-x11.c
endif
+INPUT_BACKEND_SOURCES = src/udev-input.h
+
+if ENABLE_LIBINPUT_BACKEND
+INPUT_BACKEND_LIBS = $(LIBINPUT_BACKEND_LIBS)
+INPUT_BACKEND_SOURCES += \
+ src/libinput-seat.c \
+ src/libinput-seat.h \
+ src/libinput-device.c \
+ src/libinput-device.h
+else
+INPUT_BACKEND_SOURCES += \
+ src/filter.c \
+ src/filter.h \
+ src/udev-seat.c \
+ src/udev-seat.h \
+ src/evdev.c \
+ src/evdev.h \
+ src/evdev-touchpad.c
+endif
+
if ENABLE_DRM_COMPOSITOR
module_LTLIBRARIES += drm-backend.la
drm_backend_la_LDFLAGS = -module -avoid-version
drm_backend_la_LIBADD = \
$(COMPOSITOR_LIBS) \
$(DRM_COMPOSITOR_LIBS) \
+ $(INPUT_BACKEND_LIBS) \
libshared.la -lrt \
libsession-helper.la
drm_backend_la_CFLAGS = \
@@ -196,11 +215,7 @@
$(GCC_CFLAGS)
drm_backend_la_SOURCES = \
src/compositor-drm.c \
- src/udev-seat.c \
- src/udev-seat.h \
- src/evdev.c \
- src/evdev.h \
- src/evdev-touchpad.c \
+ $(INPUT_BACKEND_SOURCES) \
src/libbacklight.c \
src/libbacklight.h
@@ -239,6 +254,7 @@
rpi_backend_la_LIBADD = $(COMPOSITOR_LIBS) \
$(RPI_COMPOSITOR_LIBS) \
$(RPI_BCM_HOST_LIBS) \
+ $(INPUT_BACKEND_LIBS) \
libsession-helper.la \
libshared.la
rpi_backend_la_CFLAGS = \
@@ -251,11 +267,7 @@
src/rpi-renderer.c \
src/rpi-renderer.h \
src/rpi-bcm-stubs.h \
- src/udev-seat.c \
- src/udev-seat.h \
- src/evdev.c \
- src/evdev.h \
- src/evdev-touchpad.c
+ $(INPUT_BACKEND_SOURCES)
if ENABLE_EGL
rpi_backend_la_LIBADD += $(EGL_LIBS)
@@ -278,6 +290,7 @@
fbdev_backend_la_LIBADD = \
$(COMPOSITOR_LIBS) \
$(FBDEV_COMPOSITOR_LIBS) \
+ $(INPUT_BACKEND_LIBS) \
libsession-helper.la \
libshared.la
fbdev_backend_la_CFLAGS = \
@@ -288,11 +301,7 @@
$(GCC_CFLAGS)
fbdev_backend_la_SOURCES = \
src/compositor-fbdev.c \
- src/udev-seat.c \
- src/udev-seat.h \
- src/evdev.c \
- src/evdev.h \
- src/evdev-touchpad.c
+ $(INPUT_BACKEND_SOURCES)
endif
if ENABLE_RDP_COMPOSITOR