#define ABS_MT_TOOL_X 0x3c /* Center X tool position */
#define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */
-
#define ABS_MAX 0x3f
#define ABS_CNT (ABS_MAX+1)
'filtered' .. event is not sent (but may be sent later)
'delayed' ... event is sent with wall-clock delay
-
1) P---| R P normal, R normal
2) R---| P R normal, P normal
3) P---R--| P P normal, R filtered, delayed, P normal
the second event). These cases are currently unhandled.
*/
-
enum debounce_event {
DEBOUNCE_EVENT_PRESS = 50,
DEBOUNCE_EVENT_RELEASE,
flushed = false;
}
-
dispatch->debounce.button_code = changed[i];
debounce_handle_event(dispatch,
is_down ?
return;
}
-
dispatch->debounce.state = DEBOUNCE_STATE_IS_UP;
snprintf(timer_name,
if (!(device->seat_caps & EVDEV_DEVICE_POINTER))
return;
-
if (dispatch->wheel.y != 0) {
wheel_degrees.y = -1 * dispatch->wheel.y *
device->scroll.wheel_click_angle.y;
slot->state = SLOT_STATE_NONE;
}
-
slot->dirty = false;
}
LIBINPUT_SWITCH_TABLET_MODE)
return;
-
switch (libinput_event_switch_get_switch_state(swev)) {
case LIBINPUT_SWITCH_STATE_OFF:
fallback_resume(dispatch, device);
if (dx > 0) { /* right move */
static const char r_l_r = 0x5; /* {Right, Left, Right} */
-
t->hysteresis.x_motion_history |= (1 << 2);
if (t->hysteresis.x_motion_history == r_l_r) {
tp->hysteresis.enabled = true;
"guessing... see %strackpoints.html\n",
HTTP_DOC_LINK);
-
prop = udev_device_get_property_value(device->udev_device,
"POINTINGSTICK_SENSITIVITY");
if (prop) {
.absinfo = NULL,
.events = events,
)
-
LIBINPUT_BUTTON_STATE_RELEASED);
}
-
libwacom_destroy(wacom);
libwacom_database_destroy(db);
#endif
litest_timeout_debounce();
libinput_dispatch(li);
-
litest_event(dev, EV_KEY, BTN_LEFT, 0);
litest_event(dev, EV_SYN, SYN_REPORT, 0);
/* release is now held back,
BTN_LEFT,
LIBINPUT_BUTTON_STATE_RELEASED);
-
litest_assert_empty_queue(li);
}
END_TEST
BTN_LEFT,
LIBINPUT_BUTTON_STATE_RELEASED);
-
litest_assert_empty_queue(li);
}
END_TEST
BTN_LEFT,
LIBINPUT_BUTTON_STATE_RELEASED);
-
litest_touch_up(dev, 0);
litest_assert_empty_queue(li);
}
litest_drain_events(li);
litest_touch_move_to_extended(dev, this, 50, 50, 50, 50, axes, 1, 1);
-
litest_touch_up(dev, this);
litest_touch_up(dev, other);
BTN_LEFT,
LIBINPUT_BUTTON_STATE_RELEASED);
-
litest_assert_empty_queue(li);
}
END_TEST
int this = which % 2,
other = (which + 1) % 2;
-
if (!touchpad_has_palm_pressure(dev))
return;
litest_enable_tap(dev->libinput_device);
litest_drain_events(li);
-
litest_touch_down(dev, 0, 50, 50);
litest_touch_up(dev, 0);
libinput_dispatch(li);
BTN_LEFT,
LIBINPUT_BUTTON_STATE_RELEASED);
-
litest_assert_empty_queue(li);
}
END_TEST
static unsigned long last_ms = 0;
unsigned long time, dt;
-
time = us2ms(tv2us(&ev->time));
if (last_ms == 0)
last_ms = time;
indent_pop(ctx);
}
-
static inline void
print_bits_codes(struct record_context *ctx,
struct libevdev *dev,
sigprocmask(SIG_UNBLOCK, &mask, NULL);
-
return 0;
}
goto out;
}
-
devices = all_devices();
d = devices;