aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/libinput/keyboard.c1
-rw-r--r--backend/wayland/wl_seat.c12
-rw-r--r--backend/x11/backend.c1
3 files changed, 12 insertions, 2 deletions
diff --git a/backend/libinput/keyboard.c b/backend/libinput/keyboard.c
index 065d8ead..9a24c791 100644
--- a/backend/libinput/keyboard.c
+++ b/backend/libinput/keyboard.c
@@ -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);
diff --git a/backend/wayland/wl_seat.c b/backend/wayland/wl_seat.c
index a2da8df5..74eaf9bd 100644
--- a/backend/wayland/wl_seat.c
+++ b/backend/wayland/wl_seat.c
@@ -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,
diff --git a/backend/x11/backend.c b/backend/x11/backend.c
index 97b0dd8c..f76b314e 100644
--- a/backend/x11/backend.c
+++ b/backend/x11/backend.c
@@ -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 ?