2001-04-25 21:45:05

by Vivek Dasmohapatra

[permalink] [raw]
Subject: drivers/usb/hid.c


Hi: Been battling w. my new Gravis joystick [kernel 2.4.3-ac5] - the
driver wouldn't recognise it through the gameport, but would through the
USB port [the stick came with a converter]. I did have one problem though:
I had to apply the following one line patch to get the joystick hat to
work correctly: Don't know if this is generally correct, as I only have
one USB joystick with which to test it.

--- linux/drivers/usb/hid.c~ Sat Apr 21 20:34:33 2001
+++ linux/drivers/usb/hid.c Sat Apr 21 20:38:51 2001
@@ -78,7 +78,7 @@
static struct {
__s32 x;
__s32 y;
-} hid_hat_to_axis[] = {{ 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}, { 0, 0}};
+} hid_hat_to_axis[] = {{ 0, 0}, { 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}};

static char *hid_types[] = {"Device", "Pointer", "Mouse", "Device", "Joystick",
"Gamepad", "Keyboard", "Keypad", "Multi-Axis Controller"};


--
I've had a perfectly wonderful evening. But this wasn't it.
-- Groucho Marx



2001-04-26 08:32:15

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: drivers/usb/hid.c

On Wed, Apr 25, 2001 at 10:44:37PM +0100, Vivek Dasmohapatra wrote:
>
> Hi: Been battling w. my new Gravis joystick [kernel 2.4.3-ac5] - the
> driver wouldn't recognise it through the gameport, but would through the
> USB port [the stick came with a converter]. I did have one problem though:
> I had to apply the following one line patch to get the joystick hat to
> work correctly: Don't know if this is generally correct, as I only have
> one USB joystick with which to test it.
>
> --- linux/drivers/usb/hid.c~ Sat Apr 21 20:34:33 2001
> +++ linux/drivers/usb/hid.c Sat Apr 21 20:38:51 2001
> @@ -78,7 +78,7 @@
> static struct {
> __s32 x;
> __s32 y;
> -} hid_hat_to_axis[] = {{ 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}, { 0, 0}};
> +} hid_hat_to_axis[] = {{ 0, 0}, { 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}};
>
> static char *hid_types[] = {"Device", "Pointer", "Mouse", "Device", "Joystick",
> "Gamepad", "Keyboard", "Keypad", "Multi-Axis Controller"};

I'll have to verify, but either a fix got lost somewhere, or this is a
bug in the joystick. The hats were working fine.

--
Vojtech Pavlik
SuSE Labs