e_comp_wl_input: fix keygrab fail issue in non input thread mode 23/314523/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 12 Jul 2024 11:19:51 +0000 (20:19 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 15 Jul 2024 01:45:47 +0000 (10:45 +0900)
Change-Id: I3981314f10682af3a6dd4a295e0f3c8c2c34b7bd
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_comp_screen.c
src/bin/inputmgr/e_input_backend.c
src/bin/server/e_comp_wl_input.c

index c067c7d7d9e9c11badeb6b8ff10113d9093225c0..5ccffc69d6e673f426c48e53310a8099c41fbd6d 100644 (file)
@@ -199,6 +199,14 @@ _e_comp_screen_cb_input_device_add(void *data, int type, void *event)
           }
         comp->wl_comp_data->ptr.num_devices++;
      }
+   else if (e->clas == ECORE_DEVICE_CLASS_KEYBOARD)
+     {
+        if (!e_input_thread_mode_get())
+          {
+             e_comp_input_key->kbd.num_devices++;
+             e_comp_wl_input_keyboard_enabled_set(EINA_TRUE);
+          }
+     }
    else if (e->clas == ECORE_DEVICE_CLASS_TOUCH)
      {
         e_comp_wl_input_touch_enabled_set(EINA_TRUE);
index 0be8bbd483ea9b441791707db4dede03716454a6..5100e2175d766b4c153eaaf627d63c87ad8a0f4e 100644 (file)
@@ -327,10 +327,13 @@ _e_input_add_ecore_device(E_Input_Evdev *evdev, Ecore_Device_Class clas, Ecore_D
    e_device_class_set(e_dev, clas);
    e_device_subclass_set(e_dev, subclas);
 
-   if (clas == ECORE_DEVICE_CLASS_KEYBOARD)
+   if (e_input_thread_mode_get())
      {
-        e_comp_input_key->kbd.num_devices++;
-        e_comp_wl_input_keyboard_enabled_set(EINA_TRUE);
+        if (clas == ECORE_DEVICE_CLASS_KEYBOARD)
+          {
+             e_comp_input_key->kbd.num_devices++;
+             e_comp_wl_input_keyboard_enabled_set(EINA_TRUE);
+          }
      }
 
    if (!evdev->e_dev)
index 5e7e9bc00a5d98ee763848a451cc5b3b4d130519..616ebbcc98c29e10233732dd9cba20810d47219a 100644 (file)
@@ -516,7 +516,7 @@ _e_comp_wl_input_cb_unbind_seat(struct wl_resource *resource)
 {
    E_Comp_Wl_Seat *seat = wl_resource_get_user_data(resource);
 
-   DBG("Unbind seat: %u (client: %p)", wl_resource_get_id(resource), wl_resource_get_client(resource));
+   INF("Unbind seat: %u (client: %p)", wl_resource_get_id(resource), wl_resource_get_client(resource));
 
    e_comp_wl->seat.resources =
      eina_list_remove(e_comp_wl->seat.resources, resource);
@@ -556,7 +556,7 @@ _e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data EINA_UNUSED,
         E_FREE(seat);
         return;
      }
-   DBG("Bind seat: %u (client: %p)", wl_resource_get_id(res), client);
+   INF("Bind seat: %u (client: %p)", wl_resource_get_id(res), client);
 
    /* store version of seat interface for reuse in updating capabilities */
    e_comp_wl->seat.version = version;