I am having an issue with an ELO Touchscreen (vendor 04e7 prod 0007) which
communicates as an HID device.

It seems that the HID report descriptor contains 5 fields, the first of
which has HID = 0x10000 (GenericDesktop.0000).  This ends up generating a
usage entry with type EV_ABS and code ABS_X (0).

Field 1 maps to EV_KEY and BTN_MOUSE which is appropriate, then field 2
initially maps to EV_ABS and ABS_X as it is supposed to, but toward the
bottom of hidinput_configure_usage(), it finds that this event is alreay
reserved (by field 0's bogus entry) and bumps it to the next event, ABS_Y.

Field 3 does the same thing and starts out as ABS_Y, but finds that
event already taken and mutates it to ABS_Z.  Field 4 "correctly" maps
a touch pressure report to code 0x0b.

So, the problem seems to be that field 0 gets through
hidinput_configure_usage() and gets ABS_X assigned to it.  This field
has flags = 0x01 (CONSTANT), and the HID value is 0000, both of which
would seem likely reasons to bounce it from the routine early.  I have
done this as a test, and it seems to cure the problem.

I'm not sure what the right magic to look for is, nor what to do when it
is detected (in my test, I set type=EV_MAX and code=0, which is certainly
not right, but it seems to never get sent anyway...).

Has this been noted before?  This is in the 2.4.20 kernel, but I peeked
into the 2.6 kernel and it looked the same there..  I know that there is
some code out there that looks for ABS_Y and ABS_Z for the X and Y
position reports, which seems a totally ugly workaround to me.

Thank you for your advise!

Marcus Hall


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to