From ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 26 May 2017 16:34:10 -0400 Subject: [PATCH] elput: store device pressure for use in events --- src/lib/elput/elput_evdev.c | 10 ++++++---- src/lib/elput/elput_private.h | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 16157440ae..94de728e2d 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -547,6 +547,7 @@ _pointer_init(Elput_Seat *seat) seat->ptr = ptr; seat->count.ptr = 1; + ptr->pressure = 1.0; _seat_caps_update(seat); @@ -573,6 +574,7 @@ _touch_create(Elput_Seat *seat) if (!touch) return NULL; touch->seat = seat; + touch->pressure = 1.0; return touch; } @@ -665,7 +667,7 @@ _pointer_motion_send(Elput_Device *edev) ev->multi.radius = 1; ev->multi.radius_x = 1; ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; + ev->multi.pressure = ptr->pressure; ev->multi.angle = 0.0; ev->multi.x = ev->x; ev->multi.y = ev->y; @@ -768,7 +770,7 @@ _pointer_button_send(Elput_Device *edev, enum libinput_button_state state) ev->multi.radius = 1; ev->multi.radius_x = 1; ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; + ev->multi.pressure = ptr->pressure; ev->multi.angle = 0.0; ev->multi.x = ev->x; ev->multi.y = ev->y; @@ -995,7 +997,7 @@ _touch_event_send(Elput_Device *dev, int type) ev->multi.radius = 1; ev->multi.radius_x = 1; ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; + ev->multi.pressure = touch->pressure; ev->multi.angle = 0.0; ev->multi.x = ev->x; ev->multi.y = ev->y; @@ -1043,7 +1045,7 @@ _touch_motion_send(Elput_Device *dev) ev->multi.radius = 1; ev->multi.radius_x = 1; ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; + ev->multi.pressure = touch->pressure; ev->multi.angle = 0.0; ev->multi.x = ev->x; ev->multi.y = ev->y; diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h index 217383fa7a..ee74cfc67f 100644 --- a/src/lib/elput/elput_private.h +++ b/src/lib/elput/elput_private.h @@ -150,6 +150,7 @@ struct _Elput_Pointer double x, y; int buttons; unsigned int timestamp; + double pressure; int minx, miny; int hotx, hoty; @@ -179,6 +180,7 @@ struct _Elput_Touch int slot; unsigned int points; unsigned int timestamp; + double pressure; struct {