[PATCH libinput 4/9] touchpad: make palm detection logging a bit easier
Peter Hutterer
peter.hutterer at who-t.net
Wed Mar 29 04:59:03 UTC 2017
Nested trinary conditions are fun, but...
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/evdev-mt-touchpad.c | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index e891dea..3fd1f29 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -715,6 +715,8 @@ tp_palm_detect_edge(struct tp_dispatch *tp,
static void
tp_palm_detect(struct tp_dispatch *tp, struct tp_touch *t, uint64_t time)
{
+ const char *palm_state;
+ enum touch_palm_state oldstate = t->palm.state;
if (tp_palm_detect_dwt_triggered(tp, t, time))
goto out;
@@ -726,12 +728,28 @@ tp_palm_detect(struct tp_dispatch *tp, struct tp_touch *t, uint64_t time)
goto out;
return;
-
out:
+ if (oldstate == t->palm.state)
+ return;
+
+ switch (t->palm.state) {
+ case PALM_EDGE:
+ palm_state = "edge";
+ break;
+ case PALM_TYPING:
+ palm_state = "typing";
+ break;
+ case PALM_TRACKPOINT:
+ palm_state = "trackpoint";
+ break;
+ case PALM_NONE:
+ default:
+ abort();
+ break;
+ }
evdev_log_debug(tp->device,
"palm: palm detected (%s)\n",
- t->palm.state == PALM_EDGE ? "edge" :
- t->palm.state == PALM_TYPING ? "typing" : "trackpoint");
+ palm_state);
}
static inline const char*
--
2.9.3
More information about the wayland-devel
mailing list