@feature
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
*/
EAPI void elput_input_keyboard_cached_context_set(Elput_Manager *manager, void *context);
+/**
+ * Set a cached keymap to be used for keyboards
+ *
+ * @param manager
+ * @param keymap
+ *
+ * @ingroup Elput_Input_Group
+ * @since 1.18
+ */
+EAPI void elput_input_keyboard_cached_keymap_set(Elput_Manager *manager, void *keymap);
+
# endif
# undef EAPI
{
if (--info->refs > 0) return;
+ xkb_keymap_unref(info->keymap.map);
+
if (!external)
{
- xkb_keymap_unref(info->keymap.map);
if (info->keymap.area) munmap(info->keymap.area, info->keymap.size);
if (info->keymap.fd >= 0) close(info->keymap.fd);
}
if ((context) && (manager->cached.context == context)) return;
manager->cached.context = context;
}
+
+EAPI void
+elput_input_keyboard_cached_keymap_set(Elput_Manager *manager, void *keymap)
+{
+ EINA_SAFETY_ON_NULL_RETURN(manager);
+
+ if ((keymap) && (manager->cached.keymap == keymap)) return;
+ manager->cached.keymap = keymap;
+}
struct
{
+ struct xkb_keymap *keymap;
struct xkb_context *context;
} cached;