xinput-calibrator XChangeDeviceProperty calls ignored
koansoftware at gmail.com
Thu Feb 11 07:20:27 PST 2010
Peter Hutterer ha scritto, Il 11/02/2010 00:18:
> On Wed, Feb 10, 2010 at 05:28:57PM +0100, Marco Cavallini wrote:
>> Simon Thum ha scritto, Il 27/01/2010 13:29:
>>> Marco Cavallini wrote:
>>>> Simon Thum ha scritto, Il 27/01/2010 11:47:
>>>>> Marco Cavallini wrote:
>>>>>> I'm testing and debugging xinput-calibrator and looks like
>>>>>> CalibratorEvdev::do_set_prop - XChangeDeviceProperty calls are ignored
>>>>>> by Xorg.
>>>>> Properties may reject attempts to change their value (to specific
>>>>> values). Also, if the properties don't exist before, you may be creating
>>>>> them but they don't have any actual meaning.
>>>> If I see the following properties, should I be able to set an of them?
>>> Yeah you should. But it's important to get the value and type right.
>>> Citing from evdev-properties.h:
>>> /* Run-time calibration */
>>> /* CARD32, 4 values [minx, maxx, miny, maxy], or no values for unset */
>>> #define EVDEV_PROP_CALIBRATION "Evdev Axis Calibration"
>>> (you should have this file if you compiled evdev or have a *-dev package)
>>> You ought to be getting errors if it doesn't work:
>>> simon at simons ~ $ xinput --set-prop 6 "Device Accel Constant Deceleration" -1
>>> X Error of failed request: BadValue (integer parameter out of range for
>>> Major opcode of failed request: 139 (XInputExtension)
>>> Minor opcode of failed request: 57 ()
>>> Value in failed request: 0xf3
>>> Serial number of failed request: 17
>>> Current serial number in output stream: 18
>> My calls are successfull and I get back any error.
>> I still have no effects on XChangeDeviceProperty calls.
>> Anybody could point me where to continue digging?
>> For instance, where is XChangeDeviceProperty?
> xserver/Xi/xiproperty.c, ProcXChangeDeviceProperty, or if you're using
> server 1.7 xinput will likely use XIChangeProperty. that's in the same file,
> but called ProcXIChangeProperty.
> that again calls into the property handler, for acceleration properties that
> is one of the AccelSet*Property calls in xserver/dix/ptrveloc.c.
> for evdev properties, it's EvdevSetProperty in xf86-input-evdev/src/evdev.c.
> That's likely where the Error is coming from.
> Can you provide some more detail though, it might be a trivial fix once I
> can reproduce it. What's the URL for the calibrator program and what
> property are you trying to set?
>> How it manage the raw coordinates coming from /dev/input/touchscreen0 ?
> not quite sure what you mean there.
you was right!
The problem was caused by double "InputDevice" definition in xorg.conf
Removing the mouse device xinput calibrator work smoothly.
Thank you all.
More information about the xorg