diff --git a/src/libei-device.c b/src/libei-device.c index aeb40a9..cc9982d 100644 --- a/src/libei-device.c +++ b/src/libei-device.c @@ -157,6 +157,10 @@ _public_ OBJECT_IMPLEMENT_GETTER(ei_keymap, size, size_t); _public_ OBJECT_IMPLEMENT_GETTER(ei_keymap, device, struct ei_device *); +_public_ +OBJECT_IMPLEMENT_GETTER(ei_keymap, user_data, void *); +_public_ +OBJECT_IMPLEMENT_SETTER(ei_keymap, user_data, void *); static void ei_keymap_destroy(struct ei_keymap *keymap) diff --git a/src/libei-private.h b/src/libei-private.h index 96d3254..777156d 100644 --- a/src/libei-private.h +++ b/src/libei-private.h @@ -132,6 +132,7 @@ struct ei_device { struct ei_keymap { struct object object; struct ei_device *device; + void *user_data; enum ei_keymap_type type; int fd; size_t size; diff --git a/src/libei.h b/src/libei.h index 24e0db4..4579226 100644 --- a/src/libei.h +++ b/src/libei.h @@ -654,6 +654,12 @@ ei_keymap_ref(struct ei_keymap *keymap); struct ei_keymap * ei_keymap_unref(struct ei_keymap *keymap); +void +ei_keymap_set_user_data(struct ei_keymap *keymap, void *user_data); + +void * +ei_keymap_get_user_data(struct ei_keymap *keymap); + /** * Notify the server that the client is no longer listening to events * from this device. diff --git a/src/libeis-device.c b/src/libeis-device.c index 207b697..d3aa138 100644 --- a/src/libeis-device.c +++ b/src/libeis-device.c @@ -43,6 +43,10 @@ _public_ OBJECT_IMPLEMENT_GETTER(eis_keymap, size, size_t); _public_ OBJECT_IMPLEMENT_GETTER(eis_keymap, device, struct eis_device *); +_public_ +OBJECT_IMPLEMENT_GETTER(eis_keymap, user_data, void *); +_public_ +OBJECT_IMPLEMENT_SETTER(eis_keymap, user_data, void *); static void eis_keymap_destroy(struct eis_keymap *keymap) diff --git a/src/libeis-private.h b/src/libeis-private.h index 6bb77db..515bd82 100644 --- a/src/libeis-private.h +++ b/src/libeis-private.h @@ -174,6 +174,7 @@ struct eis_event { struct eis_keymap { struct object object; struct eis_device *device; + void *user_data; enum eis_keymap_type type; int fd; size_t size; diff --git a/src/libeis.h b/src/libeis.h index 7213f80..2618474 100644 --- a/src/libeis.h +++ b/src/libeis.h @@ -601,6 +601,12 @@ eis_keymap_ref(struct eis_keymap *keymap); struct eis_keymap * eis_keymap_unref(struct eis_keymap *keymap); +void * +eis_keymap_get_user_data(struct eis_keymap *eis_keymap); + +void +eis_keymap_set_user_data(struct eis_keymap *eis_keymap, void *user_data); + /** * Return the device this keymap belongs to, or `NULL` if it has not yet * been assigned to a device.