[access] support back gesture
[framework/uifw/elementary.git] / src / lib / elm_win.c
index c96d26b..a141514 100755 (executable)
@@ -1961,7 +1961,7 @@ _elm_win_client_message(void *data,
                         void *event)
 {
    Elm_Access_Action_Info *a;
-   Ecore_X_Atom atom_scroll;
+   Ecore_X_Atom atom_scroll, atom_back, atom_control_panel_open;
    Elm_Win_Smart_Data *sd = data;
    Ecore_X_Event_Client_Message *e = event;
 
@@ -2000,6 +2000,8 @@ _elm_win_client_message(void *data,
         if ((unsigned int)e->data.l[0] == sd->x.xwin)
           {
              atom_scroll = ecore_x_atom_get("_E_MOD_SCREEN_READER_ACTION_SCROLL_");
+             atom_back = ecore_x_atom_get("_E_MOD_SCREEN_READER_ACTION_BACK_");
+             atom_control_panel_open = ecore_x_atom_get("_E_MOD_SCREEN_READER_ACTION_CONTROL_PANEL_OPEN_");
 
              if ((unsigned int)e->data.l[1] ==
                  ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT)
@@ -2058,6 +2060,14 @@ _elm_win_client_message(void *data,
                   _elm_access_highlight_object_scroll(ELM_WIDGET_DATA(sd)->obj,
                     e->data.l[2], e->data.l[3], e->data.l[4]);
                }
+             else if ((unsigned int)e->data.l[1] == atom_back)
+               {
+                  _elm_access_highlight_object_activate
+                    (ELM_WIDGET_DATA(sd)->obj, ELM_ACTIVATE_BACK);
+               }
+             else if ((unsigned int)e->data.l[1] == atom_control_panel_open)
+               {
+               }
           }
      }
    return ECORE_CALLBACK_PASS_ON;