scroll doesn't work with my touchscreen

Bug #1001429 reported by David López
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
easystroke (Ubuntu)
Fix Committed
Undecided
Unassigned

Bug Description

 I used ubuntu 12.04 and easystroke 0.5.4 in a wetab tablet, I defined a scroll gesture that worked fine. Today I've updated to 0.5.5.1 but the scroll doesn't work anymore with my touchscreen. The rest of my 0.5.4 gestures work fine in 0.5.5.1, only the scroll fails and only with the egalax touchscreen (I've tested with an usb mouse and everything works as it's supposed). Tested easystroke 0.5.5.1 from PPA and compiling myself, same bad behaviour in both cases.

PD: I don't want to downgrade to 0.5.4 for this bug lp:#995841

Revision history for this message
Tom Jaeger (thjaeger) wrote :

Can you attach the output of 'easystroke -vvvvv' when attempting the scroll gesture?

Revision history for this message
David López (david-lopez-upct) wrote :
Download full text (11.3 KiB)

Hi Tom. First of all, thank you for easystroke, it's a 'must have' software in a tablet.

I don't use ubuntu anymore, I've moved to Arch. I've found that easystroke behavior depends on if evdev driver is built with or without mtdev, so I have just tested

- easystroke 0.5.5.1 from Arch repo
- easystroke 0.5.4 compiled from sources, replacing 'lboost_serialization_mt' with 'lboost_serializationt' in Makefile

and

- xf86-input-evdev 2.7.3 from Arch repo (mtdev is a dependence)
- xf86-input-evdev 2.7.3 built from Arch PKGBUILD but removing the mtdev dependence

I have 2 scroll gestures, named 'Gesto 3' and 'Gesto 4'. These are the results of the 4 combinations, I've repeated 3-4 times the gestures in gnome-terminal. By the way, I use LXDE with openbox.

*** easystroke 0.5.4+evdev without mtdev: scroll is PERFECT! (there are other problems with the touchscreen, but not the scroll) ***
root@perl ~ # easystroke -vvvv
Loaded preferences.
Loaded actions.
grabbing: None
Opened Device 9 ('eGalax Inc. USB TouchController': absolute, pressure).
grabbing: Button
Entered window 0x1a00004 -> 0x1a00004
Entered window 0x1c00004 -> 0x1c00004
Press (XI2): 1 (1142,593, 420,763) - () at t = 622548
Giving focus to window 0x1c00004
New event handling stack: Idle Stroke
grabbing: None
Release (XI2): 1 (1137,256, 297,759) - () at t = 622807
Executing Action Gesto 4
New event handling stack: Idle Scroll
Press (XI2): 1 (1156,600, 435,013) - () at t = 623625
Release (XI2): 1 (1102,572, 491,265) - () at t = 628466
New event handling stack: Idle
grabbing: Button
Press (XI2): 1 (1158,601, 206,256) - () at t = 630000
Giving focus to window 0x1c00004
New event handling stack: Idle Stroke
grabbing: None
Release (XI2): 1 (1149,930, 294,384) - () at t = 630203
Executing Action Gesto 3
New event handling stack: Idle Scroll
Press (XI2): 1 (1156,600, 187,131) - () at t = 631252
Release (XI2): 1 (1122,582, 477,765) - () at t = 637324
New event handling stack: Idle
grabbing: Button
Entered window 0x0 -> 0x1a00004
Entered window 0x1a00004 -> 0x1a00004
Press (XI2): 1 (79,374, 735,772) - () at t = 639937
New event handling stack: Idle Stroke
grabbing: None
Release (XI2): 1 (80,042, 735,397) - () at t = 640054
New event handling stack: Idle
grabbing: Button
^CExiting...

*** easystroke 0.5.4+evdev without mtdev: scroll is PERFECT! (there are other problems with the touchscreen, but not the scroll) ***
root@perl ~ # easystroke -vvvv
Loaded preferences.
Loaded actions.
grabbing: None
Opened Device 9 ('eGalax Inc. USB TouchController': absolute, pressure).
grabbing: Button
Entered window 0x1a00004 -> 0x1a00004
Press (XI2): 1 (1161,936, 207,006) - (27872,000, 8832,000, 976,000) at t = 65218
New event handling stack: Idle Stroke
grabbing: None
Release (XI2): 1 (1153,265, 280,134) - (27664,000, 11952,000) at t = 65382
Executing Action Gesto 3
New event handling stack: Idle Scroll
Press (XI2): 1 (1151,264, 222,757) - (27616,000, 9504,000, 542,000) at t = 65954
Release (XI2): 1 (1151,931, 533,641) - (27632,000, 22768,000) at t = 74399
New event handling stack: Idle
grabbing: Button
Press (XI2): 1 (1147,929, 457,889) - (27536,000, 19536,000, 710,000) at t = 75602
New event handling...

Revision history for this message
Tom Jaeger (thjaeger) wrote :

Thanks, so it turns out that the X server doesn't emit raw events for touch events. Kind of makes sense.

Revision history for this message
David López (david-lopez-upct) wrote :

A little update; in my Arch system I've downgraded xf86-input-evdev from 2.7.3 to 2.6.0 (built without mtdev) and now the scroll works perfectly in easystroke 0.5.5.1. I've had a lot of problem with all the 2.7 evdev drivers (from 2.7.0 to 2.7.3), so maybe this is not an easystroke issue.

Revision history for this message
David López (david-lopez-upct) wrote :

This bug is still present with easystroke 0.5.6 and xf86-input-evdev driver 2.7.3 built with mtdev 1.1.3 driver, scroll doesn't work at all. With xf86-input-evdev driver 2.7.3 built without mtdev driver scroll works with huge lag, it's almost useless. With xf86-input-evdev driver 2.6.0 built without mtdev driver scroll is perfectly smooth and I haven't notice any issue. Do you want easystroke -vvvvv output?

I use 64 bits archlinux in a ekoore perl tablet (wetab, exopc, mobi one clone; with an egalax touchscreen).

Revision history for this message
Tom Jaeger (thjaeger) wrote :

The original plan was to release 0.6.0 with touch support (including a fix for this issue) shortly after 0.5.6. But it turns out that touch support in the X server isn't as mature as one would hope, and I'm currently working on identifying what the issues are. So it'll probably be a while before I can enable touch support (it will most likely have to wait until the next X server release). If you're feeling adventurous, you can check out the current state of affairs on the 'next' branch in git.

Now the purpuse of the switch to raw events for 'scroll' was so that relative devices wouldn't hit the screen edge. There is obviously no way of avoiding that for touch screens, so going back to regular grabs for absolute devices will fix the issue for now. I've applied a patch to the easystroke-0.5 branch, and this will be part of the next point release.

Changed in easystroke (Ubuntu):
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.