EINTERN Eina_Bool e_input_device_block(E_Input_Device *dev, unsigned int type, void *client);
EINTERN Eina_Bool e_input_device_unblock(E_Input_Device *dev, void *client);
EINTERN Eina_Bool e_input_device_output_name_set(E_Input_Device *dev, const char *input, const char *output);
+EINTERN char *e_input_device_output_name_get(E_Input_Device *dev, const char *input);
EINTERN Eina_Bool e_input_device_seat_name_set(E_Input_Device *dev, const char *input, const char *seat_name);
#endif
return EINA_FALSE;
}
+EINTERN char *
+e_input_device_output_name_get(E_Input_Device *dev, const char *input)
+{
+ E_Input_Seat *seat;
+ E_Input_Evdev *edev = NULL;
+ Eina_List *l, *ll;
+ Eina_Bool found = EINA_FALSE;
+
+ if (!dev)
+ dev = _e_input_device_default_get();
+
+ EINA_SAFETY_ON_TRUE_RETURN_VAL(!dev, NULL);
+ EINA_SAFETY_ON_TRUE_RETURN_VAL(!input, NULL);
+ EINA_LIST_FOREACH(dev->seats, l, seat)
+ {
+ EINA_LIST_FOREACH(seat->devices, ll, edev)
+ {
+ if (!e_util_strcmp(edev->path, input))
+ {
+ found = EINA_TRUE;
+ break;
+ }
+ }
+ if (found) break;
+ }
+ if (!found || !edev)
+ {
+ ERR("Failed to find input device: %s", input);
+ return NULL;
+ }
+ return edev->output_name;
+}
+
EINTERN Eina_Bool
e_input_device_seat_name_set(E_Input_Device *dev, const char *input, const char *seat_name)
{