evdev: Let dispatch instances set their own capabilities

It's up to a evdev device backend to configure seat capabilities it
supports. Even though it may be possible for a touchpad to have extra
keys, there is currently no support for sending keyboard events from the
touchpad driver, and if that would be implemented, it'd be a detail of
the touchpad driver, not the generic evdev device part.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Jonas Ådahl 2014-07-26 21:34:47 +02:00
parent e3f39004a2
commit c17282ffc4
2 changed files with 3 additions and 0 deletions

View file

@ -824,6 +824,8 @@ tp_init(struct tp_dispatch *tp,
if (tp_init_palmdetect(tp, device) != 0)
return -1;
device->seat_caps |= EVDEV_DEVICE_POINTER;
return 0;
}

View file

@ -707,6 +707,7 @@ evdev_configure_device(struct evdev_device *device)
log_info(libinput,
"input device '%s', %s is a touchpad\n",
device->devname, device->devnode);
return device->dispatch == NULL ? -1 : 0;
}
for (i = KEY_ESC; i < KEY_MAX; i++) {
if (i >= BTN_MISC && i < KEY_OK)