mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 05:40:04 +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));
|
||||
}
|
||||
|
||||
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 *
|
||||
print_pointer_axis_event(struct libinput_event *ev,
|
||||
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);
|
||||
break;
|
||||
case LIBINPUT_EVENT_POINTER_AXIS:
|
||||
/* ignore */
|
||||
event_str = print_legacy_pointer_axis_event(ev, &opts);
|
||||
break;
|
||||
case LIBINPUT_EVENT_POINTER_SCROLL_WHEEL:
|
||||
case LIBINPUT_EVENT_POINTER_SCROLL_FINGER:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue