Re: joydev.c and saitek cyborg evo force

From: Dmitry Torokhov
Date: Tue Jun 12 2007 - 09:45:39 EST

On 6/12/07, Renato Golin <rengolin@xxxxxxxxx> wrote:
On 12/06/07, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
> We need to find out why you see [-127, 127] range, because if joydev
> would see [0, 4096] range it would perform automatic correction and
> map values like this:
> c0: 2048, c1: 2048, c2: 262144, c3: 262144

Hi Dmitry,

That's the values I got *after* calibration. Before, because the
correction is set to a small signed value, it corrects wrongly and
report a random mix of signed and unsigned values when moving in one

Yes, if correction was calculated for [127; 127] range and the device
would feed [0; 4096] it would of course produce wrong results.

> Which is fine as far as I can see. What utility did you use that
> reported [-127; 127] range?

At joydev_connect, the last parameter "input_dev" reports me that
range (dev->absmax[i] and dev->absmin[i]). When I turned on HID_DEBUG
it reported [0, 4096] for both axis 0 and 1, which is correct so it
must be between HID and joydev.

Any change you could locate and run "evtest" utility and post its results?

My point is that the auto-calibration could automagically solve all
range problems in all devices by zeroing the range and adapting the
ranges afterwards. If it can affect other devices as well as
joysticks, the calibration could happen in HID instead of joydev.

We do not want to fix only joydev as it leaves other nput handlers
(for example access through evdev) still broken. That's why I want to
figure out where [0;4096] is being changed to [-127; 127].

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at