keyrouter: add an api(pepper_keyrouter_event_handler) to provide a pepper key event... 11/119811/3
authorJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 20 Mar 2017 07:38:21 +0000 (16:38 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 21 Mar 2017 07:33:54 +0000 (16:33 +0900)
Change-Id: Ia3baee215882d892cea09524bb613b159119890f

src/lib/keyrouter/pepper-keyrouter.c
src/lib/keyrouter/pepper-keyrouter.h

index 5bcee3c49627aba80ebe79d8a77f8452df112569..91b7670be0243024aad5f6474a1485fe6ed9e705 100644 (file)
@@ -375,6 +375,24 @@ _pepper_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version
        pepper_list_insert(&pepper_keyrouter->resources, &rdata->link);
 }
 
+PEPPER_API void
+pepper_keyrouter_event_handler(pepper_event_listener_t *listener,
+                               pepper_object_t *object,
+                               uint32_t id, void *info, void *data)
+{
+       pepper_input_event_t *event;
+       pepper_keyrouter_t *pepper_keyrouter;
+
+       PEPPER_CHECK((id == PEPPER_EVENT_KEYBOARD_KEY),
+                    return, "%d event is not handled by keyrouter\n", id);
+       PEPPER_CHECK(info, return, "Invalid event\n");
+       PEPPER_CHECK(data, return, "Invalid data. Please insert pepper_keyrouter\n");
+
+       event = (pepper_input_event_t *)info;
+       pepper_keyrouter = (pepper_keyrouter_t *)data;
+       pepper_keyrouter_key_process(pepper_keyrouter, event->key, event->state, event->time);
+}
+
 PEPPER_API pepper_keyrouter_t *
 pepper_keyrouter_create(pepper_compositor_t *compositor)
 {
index 2804b10f40b172fc883a45260e03a20c8c3901a3..c109dc397288cf80970b63e15e06283507c4e461 100644 (file)
@@ -30,3 +30,4 @@ PEPPER_API void pepper_keyrouter_destroy(pepper_keyrouter_t *pepper_keyrouter);
 
 PEPPER_API void pepper_keyrouter_set_seat(pepper_keyrouter_t *pepper_keyrouter, pepper_seat_t *seat);
 PEPPER_API void pepper_keyrouter_key_process(pepper_keyrouter_t *pepper_keyrouter, unsigned int key, unsigned int state, unsigned int time);
+PEPPER_API void pepper_keyrouter_event_handler(pepper_event_listener_t *listener, pepper_object_t *object, uint32_t id, void *info, void *data);