From 6effca7b61e87c7d17885d007d94e556a0137651 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Wed, 17 Jul 2019 17:12:20 -0400 Subject: ipc: add an input event This adds an ipc event related to input devices. Currently the following changes are supported: - added: when an input device becomes available - removed: when an input device is no longer available - xkb_keymap_changed: (keyboards only) the keymap changed - xkb_layout_changed: (keyboards only) the effective layout changed --- sway/input/input-manager.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sway/input/input-manager.c') diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c index 4fd980c4..dd84a0b3 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c @@ -12,6 +12,7 @@ #include "sway/config.h" #include "sway/input/input-manager.h" #include "sway/input/seat.h" +#include "sway/ipc-server.h" #include "sway/server.h" #include "stringop.h" #include "list.h" @@ -584,6 +585,8 @@ static void handle_device_destroy(struct wl_listener *listener, void *data) { seat_remove_device(seat, input_device); } + ipc_event_input("removed", input_device); + wl_list_remove(&input_device->link); wl_list_remove(&input_device->device_destroy.link); free(input_device->identifier); @@ -656,6 +659,8 @@ static void handle_new_input(struct wl_listener *listener, void *data) { "device '%s' is not configured on any seats", input_device->identifier); } + + ipc_event_input("added", input_device); } static void handle_inhibit_activate(struct wl_listener *listener, void *data) { -- cgit v1.2.3-54-g00ecf