diff --git a/clutter/evdev/clutter-input-device-evdev.c b/clutter/evdev/clutter-input-device-evdev.c index 812f1440f..cdd38a7cb 100644 --- a/clutter/evdev/clutter-input-device-evdev.c +++ b/clutter/evdev/clutter-input-device-evdev.c @@ -189,8 +189,12 @@ _clutter_input_device_evdev_update_leds (ClutterInputDeviceEvdev *device, ClutterInputDeviceType _clutter_input_device_evdev_determine_type (struct libinput_device *ldev) { - - if (libinput_device_has_capability (ldev, LIBINPUT_DEVICE_CAP_POINTER)) + /* This setting is specific to touchpads and alike, only in these + * devices there is this additional layer of touch event interpretation. + */ + if (libinput_device_config_tap_get_finger_count (ldev) > 0) + return CLUTTER_TOUCHPAD_DEVICE; + else if (libinput_device_has_capability (ldev, LIBINPUT_DEVICE_CAP_POINTER)) return CLUTTER_POINTER_DEVICE; else if (libinput_device_has_capability (ldev, LIBINPUT_DEVICE_CAP_TOUCH)) return CLUTTER_TOUCHSCREEN_DEVICE;