aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/vkbd/e_kbd_int.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-08-20 11:54:00 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-08-20 11:54:00 +0900
commitc93d394f3bf5983811e1b936f98c7f4faf53da44 (patch)
tree05d0d8485264e7dcc375645375da75c405209d93 /src/modules/vkbd/e_kbd_int.c
parentvkbd - fix seg with multi touch (diff)
downloadenlightenment-c93d394f3bf5983811e1b936f98c7f4faf53da44.tar.gz
vkbd - fix 2 finger floating drag
Diffstat (limited to 'src/modules/vkbd/e_kbd_int.c')
-rw-r--r--src/modules/vkbd/e_kbd_int.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/modules/vkbd/e_kbd_int.c b/src/modules/vkbd/e_kbd_int.c
index f1d38f278..5fbe6856e 100644
--- a/src/modules/vkbd/e_kbd_int.c
+++ b/src/modules/vkbd/e_kbd_int.c
@@ -726,13 +726,8 @@ _e_kbd_int_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EI
if (ki->down.stroke)
{
- if ((ki->down.down) &&
- (// 2 finger drag
- (eina_list_count(ki->layout.multis) == 1) ||
- // or ctrl is held
- (evas_key_modifier_is_set(ev->modifiers, "Control"))))
+ if (ki->down.twofinger)
{
- ki->down.twofinger = 1;
if (il_kbd_cfg->fill_mode == 3)
{
ki->x = ki->x0 + ev->cur.canvas.x - ki->down.x;
@@ -751,6 +746,12 @@ _e_kbd_int_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EI
else if ((dy < 0) && (-dy > il_kbd_cfg->slide_dim)) ki->down.stroke = 1;
if (ki->down.stroke)
{
+ if ((ki->down.down) &&
+ (// 2 finger drag
+ (eina_list_count(ki->layout.multis) == 1) ||
+ // or ctrl is held
+ (evas_key_modifier_is_set(ev->modifiers, "Control"))))
+ ki->down.twofinger = 1;
ky = ki->layout.pressed;
if (ky) _e_kbd_int_key_release(ki, ky);
while (ki->layout.multis)
@@ -839,12 +840,9 @@ _e_kbd_int_cb_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA
(il_kbd_cfg->fill_mode != 3))
{
// handle 2 finger gesture
- if (dir == DOWN)
- {
- e_kbd_int_hide(ki);
- }
+ if (dir == DOWN) e_kbd_int_hide(ki);
}
- else
+ else if (!ki->down.twofinger)
_e_kbd_int_stroke_handle(ki, dir);
}
if (il_kbd_cfg->fill_mode == 3)