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