[dinput][joystick_linuxinput] make axes work,
that are "not in a row"
frick at sc-networks.de
Fri Jan 12 03:56:42 CST 2007
On Thu, Jan 11, 2007 at 01:10:21PM -0700, Vitaliy Margolen wrote:
> What you described is SetProperty(DIPROP_RANGE). What I'm talking about
> is the range we get from device itself. In the map_axis we have:
> if (val > hmax) This->joydev->havemax[axis] = hmax = val;
> if (val < hmin) This->joydev->havemin[axis] = hmin = val;
to my knowledge this code is useless. it got copied over from the
> We either need to query the device for what it's ranges are, or use
> default range (as it's done in joystick_linux).
we allready query it. see the code in alloc_device where the
have(min|max) is set.
> Right. But can we query device for the current axes position? They are
> analog devices, and should provide absolute position.
well instead of using ...[AXE_ABS] (another axe) we could use the
current value from the device. what it is worth for is this:
i bet nearly all apps just call alloc_device and SetProperty in the
beginning or when some config is involved. so AXE_ABS is for sure
between MIN/MAX (kernel should assert that) and in nearly all cases
represent the "null"-state of the device. so if someone fiddles with
this input device between find_joydevs and alloc/setprop the value in
DJOYSTATE2 would be wrong.
IMHO its not worth the hastle there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 163 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20070112/53bccf39/attachment.pgp
More information about the wine-devel