e_keyrouter: refactoring code calling a hook INTERCEPT_HOOK_DELIVER_FOCUS 86/323786/1
authorduna.oh <duna.oh@samsung.com>
Wed, 7 May 2025 08:35:50 +0000 (17:35 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 7 May 2025 09:57:16 +0000 (18:57 +0900)
Change-Id: Iaec1d58fce9bcaf6de4147728c03f67226f416df

src/bin/inputmgr/e_keyrouter_event.c

index a7b993e4697b8d4d49bbbac2126ffa92c38cde81..b96b3ba1eb26db7c508cf5bae3261ee7f9de84a0 100644 (file)
@@ -523,60 +523,56 @@ _e_keyrouter_send_key_events_focus(int type, struct wl_resource *surface_focus,
    E_Keyrouter_Event_Data *key_data;
    Eina_Bool res = EINA_TRUE;
    int key_event_log_type;
-   struct wl_client *wc = NULL;
-
-   res = e_keyrouter_intercept_hook_call(E_KEYROUTER_INTERCEPT_HOOK_DELIVER_FOCUS, type, ev);
-   key_data = (E_Keyrouter_Event_Data *)ev->data;
 
    if (type == ECORE_EVENT_KEY_DOWN)
      key_event_log_type = KEY_EVENT_LOG_TYPE_KEY_DOWN;
    else
      key_event_log_type = KEY_EVENT_LOG_TYPE_KEY_UP;
 
-   if (surface_focus)
-     wc = wl_resource_get_client(surface_focus);
-
-   if (res)
+   res = e_keyrouter_intercept_hook_call(E_KEYROUTER_INTERCEPT_HOOK_DELIVER_FOCUS, type, ev);
+   if (!res)
      {
-        if (key_data->ignored)
-          {
-             e_keyrouter_keygrab_prepend_to_keylist(NULL, NULL, ev->keycode, TIZEN_KEYROUTER_MODE_PRESSED, EINA_TRUE);
-             return EINA_TRUE;
-          }
-        else if (key_data->surface)
-          {
-             *delivered_surface = key_data->surface;
-             e_keyrouter_keygrab_prepend_to_keylist(key_data->surface, key_data->client, ev->keycode, TIZEN_KEYROUTER_MODE_PRESSED, EINA_TRUE);
-             res = e_keyrouter_wl_key_send(ev, dev, (type==ECORE_EVENT_KEY_DOWN)?EINA_TRUE:EINA_FALSE, key_data->client, key_data->surface, EINA_FALSE);
+        e_keyrouter_keygrab_prepend_to_keylist(NULL, NULL, ev->keycode, TIZEN_KEYROUTER_MODE_PRESSED, EINA_TRUE);
+        return EINA_FALSE;
+     }
 
-             _e_keyrouter_log_key_event(key_event_log_type, "FOCUS HOOK",
-                                        ev->keycode,
-                                        EINA_FALSE,
-                                        E_KRT_CSTAT_ALIVE,
-                                        key_data->surface,
-                                        key_data->client);
+   key_data = (E_Keyrouter_Event_Data *)ev->data;
 
-             return EINA_TRUE;
-          }
-     }
-   else
+   if (key_data->ignored)
      {
         e_keyrouter_keygrab_prepend_to_keylist(NULL, NULL, ev->keycode, TIZEN_KEYROUTER_MODE_PRESSED, EINA_TRUE);
-        return EINA_FALSE;
+        return EINA_TRUE;
+     }
+   else if (key_data->surface)
+     {
+        *delivered_surface = key_data->surface;
+        e_keyrouter_keygrab_prepend_to_keylist(key_data->surface, key_data->client, ev->keycode, TIZEN_KEYROUTER_MODE_PRESSED, EINA_TRUE);
+        res = e_keyrouter_wl_key_send(ev, dev, (type==ECORE_EVENT_KEY_DOWN)?EINA_TRUE:EINA_FALSE, key_data->client, key_data->surface, EINA_FALSE);
+
+        _e_keyrouter_log_key_event(key_event_log_type, "FOCUS HOOK",
+                                   ev->keycode,
+                                   EINA_FALSE,
+                                   E_KRT_CSTAT_ALIVE,
+                                   key_data->surface,
+                                   key_data->client);
+        return EINA_TRUE;
      }
 
-   _e_keyrouter_send_key_event(type, surface_focus, NULL,ev, dev, EINA_TRUE);
+   if (surface_focus)
+     {
+        _e_keyrouter_send_key_event(type, surface_focus, NULL, ev, dev, EINA_TRUE);
 
-   _e_keyrouter_log_key_event(key_event_log_type, "FOCUS DIRECT",
-                              ev->keycode,
-                              EINA_TRUE,
-                              E_KRT_CSTAT_ALIVE,
-                              surface_focus,
-                              wc);
+        _e_keyrouter_log_key_event(key_event_log_type, "FOCUS DIRECT",
+                                   ev->keycode,
+                                   EINA_TRUE,
+                                   E_KRT_CSTAT_ALIVE,
+                                   surface_focus,
+                                   wl_resource_get_client(surface_focus));
 
-   *delivered_surface = surface_focus;
+        *delivered_surface = surface_focus;
+     }
 
-   return res;
+   return EINA_TRUE;
 }
 
 static Eina_Bool