mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 08:00:08 +01:00
util: print legacy axis events for debugging
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1268>
This commit is contained in:
parent
1dec6f98b0
commit
8fcacca7da
1 changed files with 57 additions and 1 deletions
|
|
@ -524,6 +524,62 @@ print_tablet_button_event(struct libinput_event *ev,
|
||||||
libinput_event_tablet_tool_get_seat_button_count(p));
|
libinput_event_tablet_tool_get_seat_button_count(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
print_legacy_pointer_axis_event(struct libinput_event *ev,
|
||||||
|
const struct libinput_print_options *opts)
|
||||||
|
{
|
||||||
|
struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev);
|
||||||
|
double v = 0, h = 0;
|
||||||
|
int v_discrete = 0, h_discrete = 0;
|
||||||
|
const char *have_vert = "", *have_horiz = "";
|
||||||
|
const char *source = NULL;
|
||||||
|
enum libinput_pointer_axis axis;
|
||||||
|
char time[16];
|
||||||
|
|
||||||
|
switch (libinput_event_pointer_get_axis_source(p)) {
|
||||||
|
case LIBINPUT_POINTER_AXIS_SOURCE_WHEEL:
|
||||||
|
source = "wheel";
|
||||||
|
break;
|
||||||
|
case LIBINPUT_POINTER_AXIS_SOURCE_FINGER:
|
||||||
|
source = "finger";
|
||||||
|
break;
|
||||||
|
case LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS:
|
||||||
|
source = "continuous";
|
||||||
|
break;
|
||||||
|
case LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT:
|
||||||
|
/* No device uses wheel tilt */
|
||||||
|
abort();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
abort();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL;
|
||||||
|
if (libinput_event_pointer_has_axis(p, axis)) {
|
||||||
|
v = libinput_event_pointer_get_axis_value(p, axis);
|
||||||
|
v_discrete = libinput_event_pointer_get_axis_value_discrete(p, axis);
|
||||||
|
have_vert = "*";
|
||||||
|
}
|
||||||
|
axis = LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL;
|
||||||
|
if (libinput_event_pointer_has_axis(p, axis)) {
|
||||||
|
h = libinput_event_pointer_get_axis_value(p, axis);
|
||||||
|
h_discrete = libinput_event_pointer_get_axis_value_discrete(p, axis);
|
||||||
|
have_horiz = "*";
|
||||||
|
}
|
||||||
|
|
||||||
|
print_event_time(time, opts->start_time, libinput_event_pointer_get_time(p));
|
||||||
|
return strdup_printf("%s\tvert %.2f/%d%s horiz %.2f/%d%s (%s)",
|
||||||
|
time,
|
||||||
|
v,
|
||||||
|
v_discrete,
|
||||||
|
have_vert,
|
||||||
|
h,
|
||||||
|
h_discrete,
|
||||||
|
have_horiz,
|
||||||
|
source);
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
print_pointer_axis_event(struct libinput_event *ev,
|
print_pointer_axis_event(struct libinput_event *ev,
|
||||||
const struct libinput_print_options *opts)
|
const struct libinput_print_options *opts)
|
||||||
|
|
@ -972,7 +1028,7 @@ libinput_event_to_str(struct libinput_event *ev,
|
||||||
event_str = print_pointer_button_event(ev, &opts);
|
event_str = print_pointer_button_event(ev, &opts);
|
||||||
break;
|
break;
|
||||||
case LIBINPUT_EVENT_POINTER_AXIS:
|
case LIBINPUT_EVENT_POINTER_AXIS:
|
||||||
/* ignore */
|
event_str = print_legacy_pointer_axis_event(ev, &opts);
|
||||||
break;
|
break;
|
||||||
case LIBINPUT_EVENT_POINTER_SCROLL_WHEEL:
|
case LIBINPUT_EVENT_POINTER_SCROLL_WHEEL:
|
||||||
case LIBINPUT_EVENT_POINTER_SCROLL_FINGER:
|
case LIBINPUT_EVENT_POINTER_SCROLL_FINGER:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue