Add bindcode to binding events.

master
Mikkel Oscar Lyderik 9 years ago
parent 93c93dd0f7
commit e3ddcaabc4

@ -667,10 +667,16 @@ void ipc_event_binding_keyboard(struct sway_binding *sb) {
json_object_object_add(sb_obj, "event_state_mask", modifiers); json_object_object_add(sb_obj, "event_state_mask", modifiers);
// TODO: implement bindcode json_object *input_codes = json_object_new_array();
json_object_object_add(sb_obj, "input_code", json_object_new_int(0));
json_object *symbols = json_object_new_array(); json_object *symbols = json_object_new_array();
if (sb->bindcode) { // bindcode: populate input_codes
uint32_t keycode;
for (i = 0; i < sb->keys->length; ++i) {
keycode = *(uint32_t *)sb->keys->items[i];
json_object_array_add(input_codes, json_object_new_int(keycode));
}
} else { // bindsym: populate symbols
uint32_t keysym; uint32_t keysym;
char buffer[64]; char buffer[64];
for (i = 0; i < sb->keys->length; ++i) { for (i = 0; i < sb->keys->length; ++i) {
@ -679,7 +685,9 @@ void ipc_event_binding_keyboard(struct sway_binding *sb) {
json_object_array_add(symbols, json_object_new_string(buffer)); json_object_array_add(symbols, json_object_new_string(buffer));
} }
} }
}
json_object_object_add(sb_obj, "input_codes", input_codes);
json_object_object_add(sb_obj, "symbols", symbols); json_object_object_add(sb_obj, "symbols", symbols);
json_object_object_add(sb_obj, "input_type", json_object_new_string("keyboard")); json_object_object_add(sb_obj, "input_type", json_object_new_string("keyboard"));

Loading…
Cancel
Save