move keyboard to seat

This commit is contained in:
Tony Crisci 2017-11-03 09:01:34 -04:00
parent 9bd0f47efd
commit 5354fe8729
13 changed files with 176 additions and 43 deletions

View file

@ -54,6 +54,7 @@ void handle_keyboard_key(struct libinput_event *event,
struct libinput_event_keyboard *kbevent =
libinput_event_get_keyboard_event(event);
struct wlr_event_keyboard_key wlr_event = { 0 };
wlr_event.device = wlr_dev;
wlr_event.time_msec =
usec_to_msec(libinput_event_keyboard_get_time_usec(kbevent));
wlr_event.keycode = libinput_event_keyboard_get_key(kbevent);

View file

@ -151,6 +151,7 @@ static void keyboard_handle_key(void *data, struct wl_keyboard *wl_keyboard,
assert(dev && dev->keyboard);
struct wlr_event_keyboard_key wlr_event;
wlr_event.device = dev;
wlr_event.keycode = key;
wlr_event.state = state;
wlr_event.time_msec = time;
@ -162,8 +163,15 @@ static void keyboard_handle_modifiers(void *data, struct wl_keyboard *wl_keyboar
uint32_t mods_locked, uint32_t group) {
struct wlr_input_device *dev = data;
assert(dev && dev->keyboard);
wlr_keyboard_notify_modifiers(dev->keyboard, mods_depressed, mods_latched,
mods_locked, group);
struct wlr_event_keyboard_modifiers wlr_event;
wlr_event.device = dev;
wlr_event.keyboard = dev->keyboard;
wlr_event.mods_depressed = mods_depressed;
wlr_event.mods_latched = mods_latched;
wlr_event.mods_locked = mods_locked;
wlr_event.group = group;
wlr_keyboard_notify_modifiers(dev->keyboard, &wlr_event);
}
static void keyboard_handle_repeat_info(void *data, struct wl_keyboard *wl_keyboard,

View file

@ -50,6 +50,7 @@ static bool handle_x11_event(struct wlr_x11_backend *x11, xcb_generic_event_t *e
case XCB_KEY_RELEASE: {
xcb_key_press_event_t *ev = (xcb_key_press_event_t *)event;
struct wlr_event_keyboard_key key = {
.device = &x11->keyboard_dev,
.time_msec = ev->time,
.keycode = ev->detail - 8,
.state = event->response_type == XCB_KEY_PRESS ?