Comment 108 for bug 549447

Revision history for this message
In , jordan (jordan-redhat-bugs) wrote :

I have seen this problem as well.. the input events are on RX/Z not the X/Y axis. I had to modify the evtouch X driver to handle RX/Z events as well.

The real problem is in drivers/usb/hid-input.c. The egalax 0eef:0001 touchscreen reports 2 x/y axes but only the 2nd one is active. When the 2nd set is detected, the following code is the culprit:

        while (usage->code <= max && test_and_set_bit(usage->code, bit)) {
                 usage->code = find_next_zero_bit(bit, max + 1, usage->code);
        }

Since abs_x and abs_y are already set in bit, it finds the next two open holes at rx/z.