E_API void e_devicemgr_intercept_hook_del(E_Devicemgr_Intercept_Hook *ch);
E_API Eina_Bool e_devicemgr_intercept_hook_call(E_Devicemgr_Intercept_Hook_Point hookpoint, void *event);
E_API Eina_Bool e_devicemgr_is_blocking_event(Ecore_Device_Class clas);
+E_API int e_devicemgr_inputgen_key_event_add(const char *key, Eina_Bool pressed, char *identifier);
E_API int e_devicemgr_init(void);
E_API int e_devicemgr_shutdown(void);
free(e);
}
-int
-_e_devicemgr_inputgen_key_event_add(const char *key, Eina_Bool pressed, char *identifier)
+E_API int
+e_devicemgr_inputgen_key_event_add(const char *key, Eina_Bool pressed, char *identifier)
{
Ecore_Event_Key *e;
unsigned int keycode;
case ECORE_DEVICE_CLASS_KEYBOARD:
EINA_LIST_FOREACH_SAFE(device->key.pressed, l, l_next, str_data)
{
- ret = _e_devicemgr_inputgen_key_event_add(str_data, EINA_FALSE, device->identifier);
+ ret = e_devicemgr_inputgen_key_event_add(str_data, EINA_FALSE, device->identifier);
if (ret != TIZEN_INPUT_DEVICE_MANAGER_ERROR_NONE)
DMWRN("Failed to generate key up event: %d\n", ret);
eina_stringshare_del(str_data);
}
}
- ret = _e_devicemgr_inputgen_key_event_add(keyname, pressed, identifier);
+ ret = e_devicemgr_inputgen_key_event_add(keyname, pressed, identifier);
return ret;
}
return reply;
}
+static int
+_e_test_helper_key_event_add(char *key_name, unsigned int type)
+{
+ int res;
+ char *device_identifier = NULL;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(key_name, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(e_devicemgr, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(e_devicemgr->last_device_kbd, EINA_FALSE);
+
+ device_identifier = (char *)e_devicemgr->last_device_kbd->identifier;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(device_identifier, EINA_FALSE);
+
+ res = e_devicemgr_inputgen_key_event_add(key_name, (Eina_Bool)type, device_identifier);
+
+ if (res)
+ {
+ ERR("[E_Test_Helper] Failed on generating key event ! (key_name=%s, type=%d)\n", key_name, type);
+ return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
+
static Eldbus_Message *
_e_test_helper_cb_ev_key(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
{
{
case 0:
/* key down */
- accept = EINA_TRUE;
- break;
case 1:
/* key up */
- accept = EINA_TRUE;
+ accept = _e_test_helper_key_event_add(key, type);
break;
default:
break;