const struct input_absinfo *absinfo;
int value;
+ if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_X) ||
+ !libevdev_has_event_code(device->evdev, EV_ABS, ABS_Y))
+ return;
+
if (bit_is_set(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_X) ||
bit_is_set(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_Y)) {
absinfo = libevdev_get_abs_info(device->evdev, ABS_X);
{
const struct input_absinfo *absinfo;
+ if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_PRESSURE))
+ return;
+
if (bit_is_set(tablet->changed_axes,
LIBINPUT_TABLET_TOOL_AXIS_PRESSURE)) {
absinfo = libevdev_get_abs_info(device->evdev, ABS_PRESSURE);
{
const struct input_absinfo *absinfo;
+ if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_DISTANCE))
+ return;
+
if (bit_is_set(tablet->changed_axes,
LIBINPUT_TABLET_TOOL_AXIS_DISTANCE)) {
absinfo = libevdev_get_abs_info(device->evdev, ABS_DISTANCE);
{
const struct input_absinfo *absinfo;
+ if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_WHEEL))
+ return;
+
if (bit_is_set(tablet->changed_axes,
LIBINPUT_TABLET_TOOL_AXIS_SLIDER)) {
absinfo = libevdev_get_abs_info(device->evdev, ABS_WHEEL);
{
const struct input_absinfo *absinfo;
+ if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_Z))
+ return;
+
if (bit_is_set(tablet->changed_axes,
LIBINPUT_TABLET_TOOL_AXIS_ROTATION_Z)) {
absinfo = libevdev_get_abs_info(device->evdev,