/* create new hide timer if it doesn't exist */
if (!_e_illume_kbd->timer)
- {
- _e_illume_kbd->timer =
- ecore_timer_add(0.2, _e_mod_kbd_cb_delay_hide, NULL);
- }
+ _e_illume_kbd->timer = ecore_timer_add(0.2, _e_mod_kbd_cb_delay_hide, NULL);
}
void
{
if (!_e_illume_kbd->border) return;
if (_e_illume_kbd->border->zone != zone) return;
- printf("Kbd Fullscreen Set: %d\n", fullscreen);
- printf("\tCurrent: %d\n", _e_illume_kbd->fullscreen);
if ((!!fullscreen) != _e_illume_kbd->fullscreen)
_e_illume_kbd->fullscreen = fullscreen;
}
}
}
else if (!kbd->border)
- {
- kbd->waiting_borders =
- eina_list_remove(kbd->waiting_borders, ev->border);
- }
+ kbd->waiting_borders = eina_list_remove(kbd->waiting_borders, ev->border);
return 1;
}
if (_focused_state <= ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF)
e_mod_kbd_hide();
else
- {
- // Layout set
- e_mod_kbd_show();
- }
+ e_mod_kbd_show();
return 1;
}
{
Eina_List *l;
E_Zone *zone;
+ E_Illume_Keyboard *kbd;
E_Border *bd;
int x, y, w, h;
/* make sure this property changed on a zone */
if (!(zone = e_util_zone_window_find(event->win))) return;
+ /* get the keyboard */
+ if (!(kbd = e_illume_keyboard_get())) return;
+ if (!kbd->border) return;
+
+ /* get the geometry */
+ x = kbd->border->x;
+ w = kbd->border->w;
+ h = kbd->border->h;
+
+ /* adjust Y for keyboard visibility because keyboard uses fx_offset */
+ y = 0;
+ if (kbd->border->fx.y <= 0) y = kbd->border->y;
+
/* get the geometry. This is X round-trip :( */
/* NB: Remove X Round-Trip */
- ecore_x_e_illume_keyboard_geometry_get(zone->black_win, &x, &y, &w, &h);
+// ecore_x_e_illume_keyboard_geometry_get(zone->black_win, &x, &y, &w, &h);
/* look for conformant borders */
EINA_LIST_FOREACH(e_border_client_list(), l, bd)