wl_list_for_each(device, &seat->devices_list, link) {
if (device->caps & EVDEV_KEYBOARD)
- write(device->fd, ev, sizeof *ev);
+ write(device->fd, ev, sizeof ev);
}
}
}
}
}
+ if (TEST_BIT(ev_bits, EV_LED)) {
+ device->caps |= EVDEV_KEYBOARD;
+ }
/* This rule tries to catch accelerometer devices and opt out. We may
* want to adjust the protocol later adding a proper event for dealing
/* Use non-blocking mode so that we can loop on read on
* evdev_input_device_data() until all events on the fd are
* read. mtdev_get() also expects this. */
- device->fd = weston_launcher_open(ec, path, O_RDONLY | O_NONBLOCK);
+ device->fd = weston_launcher_open(ec, path, O_RDWR | O_NONBLOCK);
if (device->fd < 0)
goto err0;