lkml.org 
[lkml]   [2002]   [Dec]   [22]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
DateSun, 22 Dec 2002 13:14:22 +0100
FromVojtech Pavlik <>
SubjectRe: [PATCH 2.5] [TRIVIAL] USB Joypad quirk
On Mon, Dec 23, 2002 at 12:20:30AM +1300, mdew wrote:
> Orginally from Vojtech Pavlik (16th June 2002 via email), to fix my
> 'broken' USB joypad, Fully tested in both 2.4.x and 2.5.52 (and
> 2.5.52-bk).

Yes, Greg, this can go in.

> 
> -mdew
> 
> 
> 
> diff -Naur a/drivers/usb/input/hid-core.c
> mdew/drivers/usb/input/hid-core.c
> --- a/drivers/usb/input/hid-core.c	2002-11-28 11:36:04.000000000 +1300
> +++ mdew/drivers/usb/input/hid-core.c	2002-12-22 23:37:51.000000000
> +1300
> @@ -1317,6 +1317,9 @@
>  #define USB_DEVICE_ID_ATEN_2PORTKVM    0x2204
>  #define USB_DEVICE_ID_ATEN_4PORTKVM    0x2205
> 
> +#define USB_VENDOR_ID_TOPMAX           0x0663
> +#define USB_DEVICE_ID_TOPMAX_COBRAPAD  0x0103
> +
>  #define USB_VENDOR_ID_MGE              0x0463
>  #define USB_DEVICE_ID_MGE_UPS          0xffff
>  #define USB_DEVICE_ID_MGE_UPS1         0x0001
> @@ -1355,6 +1358,7 @@
>  	{ USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET },
>  	{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_HIDDEV },
>  	{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS1, HID_QUIRK_HIDDEV },
> +	{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD,
> HID_QUIRK_BADPAD },
>  	{ 0, 0 }
>  };
> 
> diff -Naur a/drivers/usb/input/hid-input.c
> mdew/drivers/usb/input/hid-input.c
> --- a/drivers/usb/input/hid-input.c	2002-11-28 11:35:59.000000000 +1300
> +++ mdew/drivers/usb/input/hid-input.c	2002-12-22 23:41:25.000000000
> +1300
> @@ -357,6 +357,11 @@
>  		int a = field->logical_minimum;
>  		int b = field->logical_maximum;
> 
> +		if ((device->quirks & HID_QUIRK_BADPAD) && (usage->code == ABS_X ||
> usage->code == ABS_Y)) {
> +			a = field->logical_minimum = 0;
> +			b = field->logical_maximum = 255;
> +		}
> +		
>  		input->absmin[usage->code] = a;
>  		input->absmax[usage->code] = b;
>  		input->absfuzz[usage->code] = (b - a) >> 8;
> diff -Naur a/drivers/usb/input/hid.h mdew/drivers/usb/input/hid.h
> --- a/drivers/usb/input/hid.h	2002-11-28 11:35:46.000000000 +1300
> +++ mdew/drivers/usb/input/hid.h	2002-12-22 23:38:49.000000000 +1300
> @@ -206,6 +206,7 @@
>  #define HID_QUIRK_IGNORE	0x04
>  #define HID_QUIRK_NOGET		0x08
>  #define HID_QUIRK_HIDDEV	0x10
> +#define HID_QUIRK_BADPAD        0x12
> 
>  /*
>   * This is the global enviroment of the parser. This information is
> 



-- 
Vojtech Pavlik
SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 11:31    [W:0.156 / U:0.130 seconds]
©2003-2008 Jasper Spaans