John R. wrote:
On 03/18/10 09:18, Tias wrote:
Not sure, perhaps your starting calibration gives you a false start,
leading to a wrong calibration ?
OK...I gout rid of that from xorg,conf:
Section "InputDevice"
Identifier "Touchscreen"
Driver "evdev"
Option "Device" "/dev/input/event6"
Option "DeviceName" "Touchscreen"
EndSection
Before running xinput_calibrator:
xinput list-props Touchscreen
Device 'Touchscreen':
Device Enabled (136): 1
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (247): 1.000000
Device Accel Velocity Scaling (248): 10.000000
Evdev Reopen Attempts (253): 10
Evdev Axis Inversion (254): 0, 0
Evdev Axis Calibration (255): <no items>
Evdev Axes Swap (256): 0
Axis Labels (257): "Abs X" (251), "Abs Y" (252)
Button Labels (258): "Button Unknown" (250), "Button Unknown"
(250), "Button Unknown" (250), "Button Wheel Up" (140), "Button Wheel
Down" (141)
Evdev Middle Button Emulation (259): 2
Evdev Middle Button Timeout (260): 50
Evdev Wheel Emulation (261): 0
Evdev Wheel Emulation Axes (262): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (263): 10
Evdev Wheel Emulation Timeout (264): 200
Evdev Wheel Emulation Button (265): 4
Evdev Drag Lock Buttons (266): 0
After running version 6.1:
xinput list-props Touchscreen
Device 'Touchscreen':
Device Enabled (136): 1
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (247): 1.000000
Device Accel Velocity Scaling (248): 10.000000
Evdev Reopen Attempts (253): 10
Evdev Axis Inversion (254): 0, 0
Evdev Axis Calibration (255): -107, 761, -106, 761
Evdev Axes Swap (256): 0
Axis Labels (257): "Abs X" (251), "Abs Y" (252)
Button Labels (258): "Button Unknown" (250), "Button Unknown"
(250), "Button Unknown" (250), "Button Wheel Up" (140), "Button Wheel
Down" (141)
Evdev Middle Button Emulation (259): 2
Evdev Middle Button Timeout (260): 50
Evdev Wheel Emulation (261): 0
Evdev Wheel Emulation Axes (262): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (263): 10
Evdev Wheel Emulation Timeout (264): 200
Evdev Wheel Emulation Button (265): 4
Evdev Drag Lock Buttons (266): 0
After this, still issue with cursor not tracking where clicks occur on
touch screen.
Try starting without any calibration set, or set it to smth safe like
xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 0 1000 0 1000
With values above, then calibration:
xinput list-props Touchscreen Device
'Touchscreen':
Device Enabled (136): 1
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (247): 1.000000
Device Accel Velocity Scaling (248): 10.000000
Evdev Reopen Attempts (253): 10
Evdev Axis Inversion (254): 0, 0
Evdev Axis Calibration (255): -48, 800, 323, 1094
Evdev Axes Swap (256): 0
Axis Labels (257): "Abs X" (251), "Abs Y" (252)
Button Labels (258): "Button Unknown" (250), "Button Unknown"
(250), "Button Unknown" (250), "Button Wheel Up" (140), "Button Wheel
Down" (141)
Evdev Middle Button Emulation (259): 2
Evdev Middle Button Timeout (260): 50
Evdev Wheel Emulation (261): 0
Evdev Wheel Emulation Axes (262): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (263): 10
Evdev Wheel Emulation Timeout (264): 200
Evdev Wheel Emulation Button (265): 4
Evdev Drag Lock Buttons (266): 0
If I run calibration again (output of calibration is different):
xinput list-props Touchscreen
Device 'Touchscreen':
Device Enabled (136): 1
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (247): 1.000000
Device Accel Velocity Scaling (248): 10.000000
Evdev Reopen Attempts (253): 10
Evdev Axis Inversion (254): 0, 0
Evdev Axis Calibration (255): -131, 601, 423, 1076
Evdev Axes Swap (256): 0
Axis Labels (257): "Abs X" (251), "Abs Y" (252)
Button Labels (258): "Button Unknown" (250), "Button Unknown"
(250), "Button Unknown" (250), "Button Wheel Up" (140), "Button Wheel
Down" (141)
Evdev Middle Button Emulation (259): 2
Evdev Middle Button Timeout (260): 50
Evdev Wheel Emulation (261): 0
Evdev Wheel Emulation Axes (262): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (263): 10
Evdev Wheel Emulation Timeout (264): 200
Evdev Wheel Emulation Button (265): 4
Evdev Drag Lock Buttons (266): 0
If that does not help, then we should figure out why you get different
calibration results with different runs.
Try running running the calibrator a few times starting with the same
base calibration values (eg 0 1000 0 1000) and check by adding the -v
flag what clicks are registered and what calibraton is calculated.
Running calibration again starting with same base valies with -v:
./xinput_calibrator_x11 -v
DEBUG: XInputExtension version is 2.0
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Skipping device 'Virtual core XTEST pointer' id=4, does not
report Absolute events.
DEBUG: Skipping device 'Mouse0' id=6, does not report Absolute events.
DEBUG: Selected device: Touchscreen
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
DEBUG: Read axes swap value of 0.
Calibrating EVDEV driver for "Touchscreen" id=8
current calibration values (from XInput): min_x=0, max_x=1000
and min_y=0, max_y=1000
DEBUG: Adding click 0 (X=15, Y=0)
DEBUG: Adding click 1 (X=670, Y=0)
DEBUG: Adding click 2 (X=18, Y=489)
DEBUG: Adding click 3 (X=672, Y=492)
Doing dynamic recalibration:
Setting new calibration data: -90, 761, -106, 744
DEBUG: Succesfully applied axis calibration.
== Making the calibration permanent ==
If you have the 'xinput' tool installed, a simple way is to create a
script that starts with your X session, containing the following command(s):
xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 -90
761 -106 744
If you have evdev version 2.3.0 or higher, there are 2 more ways: the
tranditional way (xorg.conf) and the new way (udev rule):
xorg.conf: edit /etc/X11/xorg.conf and add in the 'Section
"InputDevice"' of your device:
Option "Calibration" "-90 761 -106 744"
udev rule: create the file '/etc/udev/rules.d/99_touchscreen.rules' with:
ACTION!="add|change", GOTO="xorg_touchscreen_end"
KERNEL!="event*", GOTO="xorg_touchscreen_end"
ATTRS{product}!="Touchscreen", GOTO="xorg_touchscreen_end"
ENV{x11_options.calibration}="-90 761 -106 744"
LABEL="xorg_touchscreen_end"
Again:
Skipping to relevant parts:
current calibration values (from XInput): min_x=-90, max_x=761
and min_y=-106, max_y=744
DEBUG: Adding click 0 (X=0, Y=0)
DEBUG: Adding click 1 (X=658, Y=1)
DEBUG: Adding click 2 (X=6, Y=492)
DEBUG: Adding click 3 (X=655, Y=495)
current calibration values (from XInput): min_x=-177, max_x=545
and min_y=-195, max_y=530
DEBUG: Adding click 0 (X=1, Y=0)
DEBUG: Adding click 1 (X=658, Y=0)
DEBUG: Adding click 2 (X=4, Y=490)
DEBUG: Adding click 3 (X=655, Y=490)
current calibration values (from XInput): min_x=-251, max_x=361
and min_y=-272, max_y=344
DEBUG: Adding click 0 (X=0, Y=0)
DEBUG: Adding click 1 (X=653, Y=1)
DEBUG: Adding click 2 (X=4, Y=490)
DEBUG: Adding click 3 (X=656, Y=492)
current calibration values (from XInput): min_x=-313, max_x=204
and min_y=-336, max_y=186
DEBUG: Adding click 0 (X=0, Y=0)
DEBUG: Adding click 1 (X=658, Y=5)
DEBUG: Adding click 2 (X=2, Y=499)
DEBUG: Adding click 3 (X=652, Y=502)
This shows that although the calibration values differ in different
runs, the clicks received by the calibrator are always at just about
the same coordinates.
This means that the calibration values are ignored.
Not sure what goes wrong...
Peter, do you have an idea ?
Kind regards,
Tias
_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg