From 28081b76891ddbbb825dee6c202037d78aa8f164 Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Sun, 17 Jan 2016 02:53:37 -0800 Subject: libinput --- sway/ipc-server.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'sway/ipc-server.c') diff --git a/sway/ipc-server.c b/sway/ipc-server.c index 8d92b919..58a291cd 100644 --- a/sway/ipc-server.c +++ b/sway/ipc-server.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "ipc-server.h" #include "log.h" #include "config.h" @@ -20,6 +21,7 @@ #include "list.h" #include "stringop.h" #include "util.h" +#include "input.h" static int ipc_socket = -1; static struct wlc_event_source *ipc_event_source = NULL; @@ -325,6 +327,24 @@ void ipc_client_handle_command(struct ipc_client *client) { json_object_put(workspaces); // free break; } + case IPC_GET_INPUTS: + { + json_object *inputs = json_object_new_array(); + if (input_devices) { + for(int i=0; ilength; i++) { + struct libinput_device *device = input_devices->items[i]; + char* identifier = libinput_dev_unique_id(device); + json_object *device_object = json_object_new_object(); + json_object_object_add(device_object, "identifier", json_object_new_string(identifier)); + json_object_array_add(inputs, device_object); + free(identifier); + } + } + const char *json_string = json_object_to_json_string(inputs); + ipc_send_reply(client, json_string, (uint32_t) strlen(json_string)); + json_object_put(inputs); + break; + } case IPC_GET_OUTPUTS: { json_object *outputs = json_object_new_array(); -- cgit v1.2.3