summaryrefslogtreecommitdiff
path: root/libevdev/libevdev.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-08-14 09:44:21 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-08-14 10:22:55 +1000
commita36dcecd9e11804ed8e6a01d651ae4cc79b9cb32 (patch)
tree3b334f779157eb5c98878e3c54e25f117c68c343 /libevdev/libevdev.c
parent09a1f6e427186956d9de6df35f377ecbbce715b1 (diff)
downloadlibevdev-a36dcecd9e11804ed8e6a01d651ae4cc79b9cb32.tar.gz
Sync the key state on startup
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Diffstat (limited to 'libevdev/libevdev.c')
-rw-r--r--libevdev/libevdev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
index 0d315ec..0641b97 100644
--- a/libevdev/libevdev.c
+++ b/libevdev/libevdev.c
@@ -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++)