Evdev for a touchscreen w/ digitizer

Peter Hutterer peter.hutterer at who-t.net
Sun Jun 3 17:16:53 PDT 2012


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?
 
> 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.

Cheers,
  Peter
 
> 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  26816
>       Min        0
>       Max    32760
>       Fuzz       7
>     Event code 1 (ABS_Y)
>       Value  14784
>       Min        0
>       Max    32760
>       Fuzz       7
>     Event code 47 (ABS_MT_SLOT)
>       Value      0
>       Min        0
>       Max        1
>     Event code 53 (ABS_MT_POSITION_X)
>       Value      0
>       Min        0
>       Max    32760
>       Fuzz       7
>     Event code 54 (ABS_MT_POSITION_Y)
>       Value      0
>       Min        0
>       Max    32760
>       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 1338733218.242186, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 26160
> Event: time 1338733218.242189, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 12256
> Event: time 1338733218.242210, type 3 (EV_ABS), code 0 (ABS_X), value 26160
> Event: time 1338733218.242212, type 3 (EV_ABS), code 1 (ABS_Y), value 12256
> Event: time 1338733218.242215, -------------- SYN_REPORT ------------
> Event: time 1338733218.305181, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 12304
> Event: time 1338733218.305202, type 3 (EV_ABS), code 1 (ABS_Y), value 12304
> Event: time 1338733218.305204, -------------- SYN_REPORT ------------


More information about the xorg-devel mailing list