mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
seat.c: check finger count before enabling tapfor libinput device
This commit is contained in:
parent
2a7086d9f7
commit
4a8fcf5c6d
1 changed files with 24 additions and 3 deletions
27
src/seat.c
27
src/seat.c
|
|
@ -11,17 +11,38 @@ input_device_destroy(struct wl_listener *listener, void *data)
|
||||||
free(input);
|
free(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
new_pointer(struct seat *seat, struct input *input)
|
configure_libinput(struct wlr_input_device *wlr_input_device)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* We want to enable full libinput configuration eventually, but
|
* We want to enable full libinput configuration eventually, but
|
||||||
* for the time being, lets just enable tap.
|
* for the time being, lets just enable tap.
|
||||||
*/
|
*/
|
||||||
|
if (!wlr_input_device) {
|
||||||
|
warn("%s:%d: no wlr_input_device", __FILE__, __LINE__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
struct libinput_device *libinput_dev =
|
struct libinput_device *libinput_dev =
|
||||||
wlr_libinput_get_device_handle(input->wlr_input_device);
|
wlr_libinput_get_device_handle(wlr_input_device);
|
||||||
|
if (!libinput_dev) {
|
||||||
|
warn("%s:%d: no libinput_dev", __FILE__, __LINE__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (libinput_device_config_tap_get_finger_count(libinput_dev) <= 0) {
|
||||||
|
warn("libinput device finger count <= 0");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
info("tap enabled for libinput device");
|
||||||
libinput_device_config_tap_set_enabled(libinput_dev,
|
libinput_device_config_tap_set_enabled(libinput_dev,
|
||||||
LIBINPUT_CONFIG_TAP_ENABLED);
|
LIBINPUT_CONFIG_TAP_ENABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
new_pointer(struct seat *seat, struct input *input)
|
||||||
|
{
|
||||||
|
if (wlr_input_device_is_libinput(input->wlr_input_device)) {
|
||||||
|
configure_libinput(input->wlr_input_device);
|
||||||
|
}
|
||||||
wlr_cursor_attach_input_device(seat->cursor, input->wlr_input_device);
|
wlr_cursor_attach_input_device(seat->cursor, input->wlr_input_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue