Sync the key state on startup
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 13 Aug 2013 23:44:21 +0000 (09:44 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 14 Aug 2013 00:22:55 +0000 (10:22 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
libevdev/libevdev.c

index 0d315ec..0641b97 100644 (file)
@@ -232,6 +232,10 @@ libevdev_set_fd(struct libevdev* dev, int fd)
        if (rc < 0)
                goto out;
 
+       rc = ioctl(fd, EVIOCGKEY(sizeof(dev->key_values)), dev->key_values);
+       if (rc < 0)
+               goto out;
+
        /* rep is a special case, always set it to 1 for both values if EV_REP is set */
        if (bit_is_set(dev->bits, EV_REP)) {
                for (i = 0; i < REP_CNT; i++)