Evdev for a touchscreen w/ digitizer

Cedric Sodhi manday at gmx.net
Mon Jun 4 00:36:10 PDT 2012


On Mon, Jun 04, 2012 at 10:16:53AM +1000, Peter Hutterer wrote:
> On Sun, Jun 03, 2012 at 09:54:28PM +0200, Cedric Sodhi wrote:
> > Hello,
> > 
> > There is an EETI eGalax 0eef:a001 Touchscreen and a Wacpm 056a:0090
> > ISDV4 stylus device.
> > 
> > Evtest output for a simple "tap" on the eGALAX is attached.
> > 
> > With Xorg 1.12.2, inputproto 2.2 on gentoo, "xinput list egalax" yields
> > 
> > eGalax_eMPIA Technology Inc. PCAP MultiTouch Controller id=13   [slave
> > pointer  (2)]
> > Reporting 3 classes:
> > 	Class originated from: 13
> > 	Buttons supported: 5
> > 	Button labels: Button Unknown Button Unknown Button
> > Unknown Button Wheel Up Button Wheel Down
> > 	Button state:
> > 	Class originated from: 13
> > 	Detail for Valuator 0:
> > 		Label: Abs MT Position X
> > 		Range: 0.000000 - 32760.000000
> > 		Resolution: 0 units/m
> > 		Mode: absolute
> > 		Current value: 640.000000
> > 	Class originated from: 13
> > 	Detail for Valuator 1:
> > 		Label: Abs MT Position Y
> > 		Range: 0.000000 - 32760.000000
> > 		Resolution: 0 units/m
> > 		Mode: absolute
> > 		Current value: 400.000000
> > 
> > But there are no events reported, instead, Xorg.0.log lists
> > 
> > [ 25099.433] [dix] eGalax_eMPIA Technology Inc. PCAP MultiTouch
> > Controller: unable to find touch point 0
> 
> is this logged just once or repeatedly?

It used to be logged repeatedly. It no longer happens and I cannot
reproduce it. However, although the pointer now moves, I get no button
events. I've attached yet another log of evtest and I also CC this email
to Benjamin Tissoires, who used to help me get the eGalax to work.

In fact, the issue seems somewhat like the problem when the eGalax was
not properly handled by the kernel. If the evtest log does not
immediately reveal where the problem lies, I may bisect; but this could
become rather lengthy, I don't even know whether the problem lies in
evdev, in Xorg or in usb-hid.

I hope you can tell by the evtest log whether the reports from the
kernel are okay.
>  
> > Could you help? What should I do?
> > 
> > And even if I get the eGalax to work through evdev - how do I make the
> > Stylus take "precedence" over the touchscreen, so that I can rest my
> > palm on the screen while writing, without the two devices fighting for
> > the pointer?
> 
> as I said on the linuxwacom list, this requires some sort of client-side
> solution. Neither the X server nor the drivers know that the two devices are
> interfering, to them it's just two devices used at the same time.

As for that, I'll submit under a distinct subject, for I think this
"problem" should and can be solved generically for good.

Cedric
> 
> Cheers,
>   Peter
-------------- next part --------------
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0xa001 version 0x210
Input device name: "eGalax_eMPIA Technology Inc. PCAP MultiTouch Controller"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  22528
      Min        0
      Max    32767
      Fuzz       7
    Event code 1 (ABS_Y)
      Value  21168
      Min        0
      Max    32767
      Fuzz       7
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        9
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max    32767
      Fuzz       7
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max    32767
      Fuzz       7
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1338794791.107562, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 16
Event: time 1338794791.107563, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 22496
Event: time 1338794791.107564, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 18016
Event: time 1338794791.107573, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1338794791.107574, type 3 (EV_ABS), code 0 (ABS_X), value 22496
Event: time 1338794791.107575, type 3 (EV_ABS), code 1 (ABS_Y), value 18016
Event: time 1338794791.107576, -------------- SYN_REPORT ------------
Event: time 1338794791.197575, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 18032
Event: time 1338794791.197585, type 3 (EV_ABS), code 1 (ABS_Y), value 18032
Event: time 1338794791.197586, -------------- SYN_REPORT ------------
Event: time 1338794791.198566, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1338794791.198575, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1338794791.198576, -------------- SYN_REPORT ------------


More information about the xorg-devel mailing list