[PATCH libinput 11/24] tools: Handle LIBINPUT_EVENT_POINTER_TOOL_UPDATE events in event-debug
Carlos Garnacho
carlosg at gnome.org
Mon Apr 21 10:11:20 PDT 2014
Print out time, tool type and serial for those events.
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
---
tools/event-debug.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/tools/event-debug.c b/tools/event-debug.c
index 17dafe0..19a9321 100644
--- a/tools/event-debug.c
+++ b/tools/event-debug.c
@@ -202,6 +202,9 @@ print_event_header(struct libinput_event *ev)
case LIBINPUT_EVENT_POINTER_AXIS_FRAME:
type = "POINTER_AXIS_FRAME";
break;
+ case LIBINPUT_EVENT_POINTER_TOOL_UPDATE:
+ type = "POINTER_TOOL_UPDATE";
+ break;
case LIBINPUT_EVENT_TOUCH_DOWN:
type = "TOUCH_DOWN";
break;
@@ -342,6 +345,49 @@ print_axis_frame_event(struct libinput_event *ev)
}
static void
+print_tool_update_event(struct libinput_event *ev)
+{
+ struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev);
+ const char *tool;
+
+ switch (libinput_event_pointer_get_tool(p)) {
+ case LIBINPUT_TOOL_NONE:
+ tool = "none";
+ break;
+ case LIBINPUT_TOOL_PEN:
+ tool = "pen";
+ break;
+ case LIBINPUT_TOOL_ERASER:
+ tool = "eraser";
+ break;
+ case LIBINPUT_TOOL_BRUSH:
+ tool = "brush";
+ break;
+ case LIBINPUT_TOOL_PENCIL:
+ tool = "pencil";
+ break;
+ case LIBINPUT_TOOL_AIRBRUSH:
+ tool = "airbrush";
+ break;
+ case LIBINPUT_TOOL_FINGER:
+ tool = "finger";
+ break;
+ case LIBINPUT_TOOL_MOUSE:
+ tool = "mouse";
+ break;
+ case LIBINPUT_TOOL_LENS:
+ tool = "lens";
+ break;
+ default:
+ abort();
+ }
+
+ print_event_time(libinput_event_pointer_get_time(p));
+ printf("%s (0x%x)", tool, libinput_event_pointer_get_tool_serial(p));
+ printf("\n");
+}
+
+static void
print_touch_event_without_coords(struct libinput_event *ev)
{
struct libinput_event_touch *t = libinput_event_get_touch_event(ev);
@@ -401,6 +447,9 @@ handle_and_print_events(struct libinput *li)
case LIBINPUT_EVENT_POINTER_AXIS_FRAME:
print_axis_frame_event(ev);
break;
+ case LIBINPUT_EVENT_POINTER_TOOL_UPDATE:
+ print_tool_update_event(ev);
+ break;
case LIBINPUT_EVENT_TOUCH_DOWN:
print_touch_event_with_coords(ev);
break;
--
1.9.0
More information about the wayland-devel
mailing list