From d51c8f94205780d15154e7aac72cc34a251ebe3f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 21 Dec 2015 12:53:00 +1000 Subject: [PATCH] tablet: always set the pressure offset Signed-off-by: Peter Hutterer Acked-by: Jason Gerecke --- src/evdev-tablet.c | 8 ++++++++ src/libinput-private.h | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c index 6ca2c185..f1b22f1f 100644 --- a/src/evdev-tablet.c +++ b/src/evdev-tablet.c @@ -881,6 +881,8 @@ tablet_get_tool(struct tablet_dispatch *tablet, /* If we didn't already have the new_tool in our list of tools, * add it */ if (!tool) { + const struct input_absinfo *pressure; + tool = zalloc(sizeof *tool); *tool = (struct libinput_tablet_tool) { .type = type, @@ -891,6 +893,12 @@ tablet_get_tool(struct tablet_dispatch *tablet, tool->pressure_offset = 0; tool->has_pressure_offset = false; + + pressure = libevdev_get_abs_info(tablet->device->evdev, + ABS_PRESSURE); + if (pressure) + tool->pressure_offset = pressure->minimum; + tool_set_bits(tablet, tool); list_insert(tool_list, &tool->link); diff --git a/src/libinput-private.h b/src/libinput-private.h index 246986e1..3d714af8 100644 --- a/src/libinput-private.h +++ b/src/libinput-private.h @@ -277,7 +277,7 @@ struct libinput_tablet_tool { int refcount; void *user_data; - int pressure_offset; + int pressure_offset; /* in device coordinates */ bool has_pressure_offset; };