ipc get_inputs

This commit is contained in:
Tony Crisci 2017-12-18 14:27:38 -05:00
parent a949d7de5a
commit f2985000f3
4 changed files with 86 additions and 39 deletions

View file

@ -20,6 +20,7 @@
#include "sway/ipc-json.h"
#include "sway/ipc-server.h"
#include "sway/server.h"
#include "sway/input/input-manager.h"
#include "list.h"
#include "log.h"
@ -359,6 +360,19 @@ void ipc_client_handle_command(struct ipc_client *client) {
goto exit_cleanup;
}
case IPC_GET_INPUTS:
{
json_object *inputs = json_object_new_array();
struct sway_input_device *device = NULL;
wl_list_for_each(device, &input_manager->devices, link) {
json_object_array_add(inputs, ipc_json_describe_input(device));
}
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); // free
goto exit_cleanup;
}
case IPC_GET_TREE:
{
json_object *tree =