diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-05-26 16:34:10 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-05-26 16:27:42 -0400 |
commit | ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2 (patch) | |
tree | 97702e3b7ddd16e9454fe8c8772bee83863ab788 | |
parent | 679872a8007f512be1882b0de7a733b34968cfbf (diff) | |
download | efl-ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2.tar.gz |
elput: store device pressure for use in events
-rw-r--r-- | src/lib/elput/elput_evdev.c | 10 | ||||
-rw-r--r-- | 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 { |