All of lore.kernel.org
 help / color / mirror / Atom feed
* Issue with egalax_ts in linux-boundary
@ 2013-07-01 15:53 Erik Botö
  2013-07-01 16:45 ` Eric Nelson
  2013-07-01 16:56 ` Fabio Estevam
  0 siblings, 2 replies; 9+ messages in thread
From: Erik Botö @ 2013-07-01 15:53 UTC (permalink / raw)
  To: meta-freescale@yoctoproject.org

[-- Attachment #1: Type: text/plain, Size: 1743 bytes --]

Hi,

When trying to use a nitrogen6x board with Freescale MCIMX-LVDS1
touchscreen together with Qt5 to create a QtQuick GUI that uses multitouch
gestures I discovered that the touchscreen driver (egalax_ts) does not work
as intended with Qt5. I'm not entirely sure if it's Qt that is not handling
a case that should be ok or if it's the driver that is misbehaving, but I
think it's the driver that is at fault.

The problem is that when pressing two fingers on the screen and then when
you lift one finger only the lifted finger will be reported before sending
the next SYN_REPORT, instead of also reporting the other present fingers
before SYN_REPORT.

Is there a separate mailing list for boundary-linux or is this list ok? I
thought this might be useful to get "on the record" here anyway if someone
else hits the same issue.

Cheers,
Erik Botö
Pelagicore AB

Proposed fix:

--- git/drivers/input/touchscreen/egalax_ts.c 2013-06-19 18:17:31.073736481
+0200
+++ git.new/drivers/input/touchscreen/egalax_ts.c 2013-07-01
17:04:21.054466334 +0200
@@ -173,6 +173,23 @@
  input_report_abs(input_dev, ABS_MT_TRACKING_ID, id);
  input_event(input_dev, EV_ABS, ABS_MT_TOUCH_MAJOR, 0);
  input_mt_sync(input_dev);
+ /* report other pointers as well */
+ for (i = 0; i < MAX_SUPPORT_POINTS; i++) {
+ if (!events[i].valid)
+ continue;
+ dev_dbg(&client->dev, "report id:%d valid:%d x:%d y:%d",
+ i, valid, x, y);
+
+ input_report_abs(input_dev,
+ ABS_MT_TRACKING_ID, i);
+ input_report_abs(input_dev,
+ ABS_MT_TOUCH_MAJOR, 1);
+ input_report_abs(input_dev,
+ ABS_MT_POSITION_X, events[i].x);
+ input_report_abs(input_dev,
+ ABS_MT_POSITION_Y, events[i].y);
+ input_mt_sync(input_dev);
+ }
 #endif
  }

[-- Attachment #2: Type: text/html, Size: 3167 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-03  7:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-01 15:53 Issue with egalax_ts in linux-boundary Erik Botö
2013-07-01 16:45 ` Eric Nelson
2013-07-01 18:49   ` Erik Botö
2013-07-01 16:56 ` Fabio Estevam
2013-07-01 17:06   ` Eric Nelson
2013-07-01 18:59     ` Erik Botö
2013-07-02  8:13       ` Erik Botö
2013-07-02 12:01         ` Otavio Salvador
2013-07-03  7:09           ` Erik Botö

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.