discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2

commit ba1ab3a8b1b79b65c03c7c94e731a4396d9ebbf2
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri May 26 16:34:10 2017 -0400

    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
      {

-- 


Reply via email to