elput: store output w/h and apply to devices on creation
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 26 May 2017 20:27:43 +0000 (16:27 -0400)
fix async device initialization for devices which need this (e.g., touchpads)

@fix

src/lib/elput/elput_evdev.c
src/lib/elput/elput_input.c
src/lib/elput/elput_private.h

index b4118fe..a212691 100644 (file)
@@ -1555,6 +1555,8 @@ _evdev_device_create(Elput_Seat *seat, struct libinput_device *device)
    edev->seat = seat;
    edev->device = device;
    edev->caps = 0;
+   edev->ow = seat->manager->output_w;
+   edev->oh = seat->manager->output_h;
 
    oname = libinput_device_get_output_name(device);
    eina_stringshare_replace(&edev->output_name, oname);
index ce3fac2..9366ff9 100644 (file)
@@ -569,6 +569,9 @@ elput_input_devices_calibrate(Elput_Manager *manager, int w, int h)
 
    EINA_SAFETY_ON_NULL_RETURN(manager);
 
+   manager->output_w = w;
+   manager->output_h = h;
+
    EINA_LIST_FOREACH(manager->input.seats, l, eseat)
      {
         EINA_LIST_FOREACH(eseat->devices, ll, edev)
index 25d820e..982d3f5 100644 (file)
@@ -253,6 +253,7 @@ struct _Elput_Manager
         struct xkb_context *context;
         int group;
      } cached;
+   int output_w, output_h;
 
    Elput_Input input;
    Eina_Bool del : 1;