e_input: add func to get output_name of input device 39/273439/1
authorduna.oh <duna.oh@samsung.com>
Fri, 1 Apr 2022 02:20:41 +0000 (11:20 +0900)
committerduna.oh <duna.oh@samsung.com>
Wed, 6 Apr 2022 00:24:24 +0000 (09:24 +0900)
Change-Id: I1c449111323c20f24602cf97ee65067bdee69f51

src/bin/e_input.h
src/bin/e_input_device.c

index 1552cbb..8ed6882 100644 (file)
@@ -117,6 +117,7 @@ E_API void e_input_touch_max_count_set(unsigned int max_count);
 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
index 049f7a3..8e8c218 100644 (file)
@@ -1396,6 +1396,39 @@ e_input_device_output_name_set(E_Input_Device *dev, const char *input, const cha
    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)
 {