libinput: Add tap configuration to weston.ini

Enable by adding the following to your weston.ini:

[libinput]
enable_tap=true

This also makes weston require libinput >= 0.5.0.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
dev
Jonas Ådahl 10 years ago committed by Pekka Paalanen
parent 886b0098c3
commit 05e4a1f768
  1. 2
      configure.ac
  2. 25
      src/libinput-device.c
  3. 3
      weston.ini.in

@ -160,7 +160,7 @@ AC_ARG_ENABLE(libinput-backend, [ --enable-libinput-backend],,
AM_CONDITIONAL([ENABLE_LIBINPUT_BACKEND], [test x$enable_libinput_backend = xyes])
if test x$enable_libinput_backend = xyes; then
AC_DEFINE([BUILD_LIBINPUT_BACKEND], [1], [Build the libinput input device backend])
PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.4.0])
PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.5.0])
fi

@ -297,6 +297,29 @@ evdev_device_set_output(struct evdev_device *device,
&device->output_destroy_listener);
}
static void
configure_device(struct evdev_device *device)
{
struct weston_compositor *compositor = device->seat->compositor;
struct weston_config_section *s;
int enable_tap;
int enable_tap_default;
s = weston_config_get_section(compositor->config,
"libinput", NULL, NULL);
if (libinput_device_config_tap_get_finger_count(device->device) > 0) {
enable_tap_default =
libinput_device_config_tap_get_default_enabled(
device->device);
weston_config_section_get_bool(s, "enable_tap",
&enable_tap,
enable_tap_default);
libinput_device_config_tap_set_enabled(device->device,
enable_tap);
}
}
struct evdev_device *
evdev_device_create(struct libinput_device *libinput_device,
struct weston_seat *seat)
@ -330,6 +353,8 @@ evdev_device_create(struct libinput_device *libinput_device,
libinput_device_set_user_data(libinput_device, device);
libinput_device_ref(libinput_device);
configure_device(device);
return device;
}

@ -61,6 +61,9 @@ path=@libexecdir@/weston-keyboard
#mode=1024x768
#transform=flipped-90
#[libinput]
#enable_tap=true
#[touchpad]
#constant_accel_factor = 50
#min_accel_factor = 0.16

Loading…
Cancel
Save