summaryrefslogtreecommitdiffstats
path: root/wayland
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2015-12-10 08:32:56 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2015-12-10 08:32:56 -0500
commit7614cb0373f5439807c1ec6de6ae7e13711e61bb (patch)
treeb5b6a668f0ba7da5c1ca55213e95966bf29ad406 /wayland
parentCopy+paste swaybg code to swaylock for testing (diff)
downloadsway-7614cb0373f5439807c1ec6de6ae7e13711e61bb.tar.gz
sway-7614cb0373f5439807c1ec6de6ae7e13711e61bb.tar.zst
sway-7614cb0373f5439807c1ec6de6ae7e13711e61bb.zip
Add keyboard handling shims to registry
Diffstat (limited to 'wayland')
-rw-r--r--wayland/registry.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/wayland/registry.c b/wayland/registry.c
index 11e6e51d..883c69d3 100644
--- a/wayland/registry.c
+++ b/wayland/registry.c
@@ -38,6 +38,40 @@ static const struct wl_output_listener output_listener = {
38 .scale = display_handle_scale 38 .scale = display_handle_scale
39}; 39};
40 40
41static void keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
42 uint32_t format, int fd, uint32_t size) {
43}
44
45static void keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
46 uint32_t serial, struct wl_surface *surface, struct wl_array *keys) {
47}
48
49static void keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
50 uint32_t serial, struct wl_surface *surface) {
51}
52
53static void keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
54 uint32_t serial, uint32_t time, uint32_t key, uint32_t state_w) {
55}
56
57static void keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
58 uint32_t serial, uint32_t mods_depressed, uint32_t mods_latched,
59 uint32_t mods_locked, uint32_t group) {
60}
61
62static void keyboard_handle_repeat_info(void *data, struct wl_keyboard *keyboard,
63 int32_t rate, int32_t delay) {
64}
65
66static const struct wl_keyboard_listener keyboard_listener = {
67 .keymap = keyboard_handle_keymap,
68 .enter = keyboard_handle_enter,
69 .leave = keyboard_handle_leave,
70 .key = keyboard_handle_key,
71 .modifiers = keyboard_handle_modifiers,
72 .repeat_info = keyboard_handle_repeat_info
73};
74
41static void registry_global(void *data, struct wl_registry *registry, 75static void registry_global(void *data, struct wl_registry *registry,
42 uint32_t name, const char *interface, uint32_t version) { 76 uint32_t name, const char *interface, uint32_t version) {
43 struct registry *reg = data; 77 struct registry *reg = data;
@@ -51,6 +85,10 @@ static void registry_global(void *data, struct wl_registry *registry,
51 } else if (strcmp(interface, wl_seat_interface.name) == 0) { 85 } else if (strcmp(interface, wl_seat_interface.name) == 0) {
52 reg->seat = wl_registry_bind(registry, name, &wl_seat_interface, version); 86 reg->seat = wl_registry_bind(registry, name, &wl_seat_interface, version);
53 reg->pointer = wl_seat_get_pointer(reg->seat); 87 reg->pointer = wl_seat_get_pointer(reg->seat);
88 reg->keyboard = wl_seat_get_keyboard(reg->seat);
89 if (reg->keyboard) {
90 wl_keyboard_add_listener(reg->keyboard, &keyboard_listener, reg);
91 }
54 } else if (strcmp(interface, wl_output_interface.name) == 0) { 92 } else if (strcmp(interface, wl_output_interface.name) == 0) {
55 struct wl_output *output = wl_registry_bind(registry, name, &wl_output_interface, version); 93 struct wl_output *output = wl_registry_bind(registry, name, &wl_output_interface, version);
56 struct output_state *ostate = malloc(sizeof(struct output_state)); 94 struct output_state *ostate = malloc(sizeof(struct output_state));