summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-05-26 16:34:10 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-05-26 16:27:42 -0400
commitba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2 (patch)
tree97702e3b7ddd16e9454fe8c8772bee83863ab788
parent679872a8007f512be1882b0de7a733b34968cfbf (diff)
downloadefl-ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2.tar.gz
elput: store device pressure for use in events
-rw-r--r--src/lib/elput/elput_evdev.c10
-rw-r--r--src/lib/elput/elput_private.h2
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
{