--- /dev/null
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef LABWC_KEYBOARD_H
+#define LABWC_KEYBOARD_H
+
+#include <stdbool.h>
+
+struct seat;
+struct keyboard;
+struct wlr_keyboard;
+
+void keyboard_init(struct seat *seat);
+void keyboard_finish(struct seat *seat);
+
+void keyboard_setup_handlers(struct keyboard *keyboard);
+void keyboard_set_numlock(struct wlr_keyboard *keyboard);
+void keyboard_cancel_keybind_repeat(struct keyboard *keyboard);
+bool keyboard_any_modifiers_pressed(struct wlr_keyboard *keyboard);
+
+#endif /* LABWC_KEYBOARD_H */
*/
void desktop_focus_topmost_view(struct server *server);
-void keyboard_cancel_keybind_repeat(struct keyboard *keyboard);
-void keyboard_key_notify(struct wl_listener *listener, void *data);
-void keyboard_modifiers_notify(struct wl_listener *listener, void *data);
-void keyboard_set_numlock(struct wlr_keyboard *keyboard);
-void keyboard_init(struct seat *seat);
-bool keyboard_any_modifiers_pressed(struct wlr_keyboard *keyboard);
-void keyboard_finish(struct seat *seat);
-
void seat_init(struct server *server);
void seat_finish(struct server *server);
void seat_reconfigure(struct server *server);
#include <wlr/interfaces/wlr_keyboard.h>
#include "action.h"
#include "idle.h"
+#include "input/keyboard.h"
#include "input/key-state.h"
#include "labwc.h"
#include "menu/menu.h"
should_cancel_cycling_on_next_key_release = false;
}
-void
+static void
keyboard_modifiers_notify(struct wl_listener *listener, void *data)
{
struct keyboard *keyboard = wl_container_of(listener, keyboard, modifier);
}
}
-void
+static void
keyboard_key_notify(struct wl_listener *listener, void *data)
{
/* This event is raised when a key is pressed or released. */
keybind_update_keycodes(seat->server);
}
+void
+keyboard_setup_handlers(struct keyboard *keyboard)
+{
+ struct wlr_keyboard *wlr_kb = keyboard->wlr_keyboard;
+
+ keyboard->key.notify = keyboard_key_notify;
+ wl_signal_add(&wlr_kb->events.key, &keyboard->key);
+ keyboard->modifier.notify = keyboard_modifiers_notify;
+ wl_signal_add(&wlr_kb->events.modifiers, &keyboard->modifier);
+}
+
void
keyboard_finish(struct seat *seat)
{
// SPDX-License-Identifier: GPL-2.0-only
+#include "input/keyboard.h"
#include "labwc.h"
#include "regions.h"
#include "resize_indicator.h"
#include "common/graphic-helpers.h"
#include "common/list.h"
#include "common/mem.h"
+#include "input/keyboard.h"
#include "labwc.h"
#include "regions.h"
#include "view.h"
#include <wlr/types/wlr_touch.h>
#include <wlr/util/log.h>
#include "common/mem.h"
+#include "input/keyboard.h"
#include "input/key-state.h"
#include "labwc.h"
#include "view.h"
wlr_keyboard_group_add_keyboard(seat->keyboard_group, kb);
}
- keyboard->key.notify = keyboard_key_notify;
- wl_signal_add(&kb->events.key, &keyboard->key);
- keyboard->modifier.notify = keyboard_modifiers_notify;
- wl_signal_add(&kb->events.modifiers, &keyboard->modifier);
+ keyboard_setup_handlers(keyboard);
wlr_seat_set_keyboard(seat->seat, kb);
#include "common/graphic-helpers.h"
#include "common/list.h"
#include "common/mem.h"
+#include "input/keyboard.h"
#include "labwc.h"
#include "view.h"
#include "workspaces.h"