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