return EINA_TRUE;
}
-EINTERN Eina_Bool
-e_input_device_output_name_set(E_Input_Device *dev, const char *input, const char *output)
+static E_Input_Evdev *
+_e_input_device_find_by_path(E_Input_Device *dev, const char *input)
{
- E_Input_Seat *seat;
E_Input_Evdev *evdev = NULL;
+ E_Input_Evdev *found_evdev = NULL;
Eina_List *l, *ll;
+ E_Input_Seat *seat;
Eina_Bool found = EINA_FALSE;
- if (!dev)
- dev = _e_input_device_default_get();
-
EINA_SAFETY_ON_TRUE_RETURN_VAL(!dev, EINA_FALSE);
EINA_SAFETY_ON_TRUE_RETURN_VAL(!input, EINA_FALSE);
- EINA_SAFETY_ON_TRUE_RETURN_VAL(!output, EINA_FALSE);
EINA_LIST_FOREACH(dev->seats, l, seat)
{
EINA_LIST_FOREACH(e_input_seat_evdev_list_get(seat), ll, evdev)
if (!e_util_strcmp(evdev->path, input))
{
found = EINA_TRUE;
+ found_evdev = evdev;
break;
}
}
if (found) break;
}
- if (!found || !evdev)
+ return found_evdev;
+}
+
+EINTERN Eina_Bool
+e_input_device_output_name_set(E_Input_Device *dev, const char *input, const char *output)
+{
+ E_Input_Evdev *evdev = NULL;
+
+ EINA_SAFETY_ON_TRUE_RETURN_VAL(!output, EINA_FALSE);
+
+ if (!dev)
+ dev = _e_input_device_default_get();
+
+ evdev = _e_input_device_find_by_path(dev, input);
+ if (!evdev)
{
ERR("Failed to find input device: %s", input);
return EINA_FALSE;
EINTERN Eina_Bool
e_input_device_seat_name_set(E_Input_Device *dev, const char *input, const char *seat_name)
{
- E_Input_Seat *seat;
E_Input_Evdev *evdev = NULL;
- Eina_List *l, *ll;
- Eina_Bool found = EINA_FALSE;
+
+ EINA_SAFETY_ON_TRUE_RETURN_VAL(!seat_name, EINA_FALSE);
if (!dev)
dev = _e_input_device_default_get();
- EINA_SAFETY_ON_TRUE_RETURN_VAL(!dev, EINA_FALSE);
- EINA_SAFETY_ON_TRUE_RETURN_VAL(!input, EINA_FALSE);
- EINA_SAFETY_ON_TRUE_RETURN_VAL(!seat_name, EINA_FALSE);
- EINA_LIST_FOREACH(dev->seats, l, seat)
- {
- EINA_LIST_FOREACH(e_input_seat_evdev_list_get(seat), ll, evdev)
- {
- if (!e_util_strcmp(evdev->path, input))
- {
- found = EINA_TRUE;
- break;
- }
- }
- if (found) break;
- }
-
- if (!found || !evdev)
+ evdev = _e_input_device_find_by_path(dev, input);
+ if (!evdev)
{
ERR("Failed to find input device: %s", input);
return EINA_FALSE;