16" eGalax USB Touchscreen
USB ID: 0eef:0001
Using evdev, touchscreen comes up and more or less. Calibration does not work. Moreover, when a drag event happens, the cursor is not moved relative to the position. It appears that the code is entering the relative-positioning block and doing additional offsetting.
The device is identified as a TOUCHPAD rather than TOUCHSCREEN:
(II) config/hal: Adding input device eGalax Inc. USB TouchController
(II) LoadModule: "evdev"
(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
compiled for 1.6.1, module version = 2.2.99
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 4.0
(**) eGalax Inc. USB TouchController: always reports core events
(**) eGalax Inc. USB TouchController: Device: "/dev/input/event5"
(II) eGalax Inc. USB TouchController: Found 2 mouse buttons
(II) eGalax Inc. USB TouchController: found absolute axes
(II) eGalax Inc. USB TouchController: Found x and y absolute axes
(II) eGalax Inc. USB TouchController: Found absolute touchpad
(II) eGalax Inc. USB TouchController: Configuring as touchpad
(**) eGalax Inc. USB TouchController: YAxisMapping: buttons 4 and 5
(**) eGalax Inc. USB TouchController: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController" (type: TOUCHPAD)
(**) eGalax Inc. USB TouchController: (accel) keeping acceleration scheme 1
(**) eGalax Inc. USB TouchController: (accel) filter chain progression: 2.00
(**) eGalax Inc. USB TouchController: (accel) filter stage 0: 20.00 ms
(**) eGalax Inc. USB TouchController: (accel) set acceleration profile 0
Commenting out the following lines in the event handler (~line 468):
abs = 0;
rel = 1;
Prevents the code from entering the relative motion code, making it drag linearly.
Additionally, the above leaves "abs" set, making the code enter the next block ("abs && pEvdev->tool"), where the calibration settings take effect.
The reason the touchscreen is detected as a touchpad appears to be that "num_buttons" is 2, as per the above X.org log output. Forcing it down the path of being set as a touchscreen does not affect the behaviour.
Please download http://people.freedesktop.org/~whot/evtest.c, compile it with "gcc -o evtest evtest.c" and then run it as root with "./evtest /dev/input/eventX" where X is the number for the device. You can get the number by looking at /proc/bus/input/devices. Use the device to reproduce the issue and attach the output of evtest here.
INVALID, no response since may.
Well, via eMail you blamed the kernel and that was that, and I was on vacation until just recently. But, I suppose it can be marked invalid.
christ, I forgot about our email exchange. Sorry. Can you please summarize what was in the emails and attach it here so that it's archived in one place.
Turns out it was my bad memory. The exchange I'm thinking of is actually bug #21726. This bug is basically a dupe of that one, though the symptoms are slightly different. I haven't had a chance to try these with a newer kernel, but I'll be surprised if anything's changed.
7 years later... let's admit this won't get fixed (if it still is a problem)