You can import this changeset into BK by piping this whole message to: '| bk receive [path to repository]' or apply the patch as usual. =================================================================== ChangeSet@1.719, 2002-06-16 18:54:33+02:00, vojtech@twilight.ucw.cz Add a quirk and handling of gamepads with broken logical minimum and maximum on the X and Y axes. hid-core.c | 20 ++++++++++++++++++++ hid.h | 1 + 2 files changed, 21 insertions(+) diff -Nru a/drivers/usb/hid-core.c b/drivers/usb/hid-core.c --- a/drivers/usb/hid-core.c Sun Jun 16 18:54:50 2002 +++ b/drivers/usb/hid-core.c Sun Jun 16 18:54:50 2002 @@ -1086,6 +1086,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 + struct hid_blacklist { __u16 idVendor; __u16 idProduct; @@ -1115,6 +1118,7 @@ { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS124U, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD }, { 0, 0 } }; @@ -1172,6 +1176,22 @@ } hid->quirks = quirks; + + + if (hid->quirks & HID_QUIRK_BADPAD) { + + struct hid_field *field; + + if (!hid_find_field(hid, EV_ABS, ABS_X, &field)) { + field->logical_minimum = 0; + field->logical_maximum = 255; + } + + if (!hid_find_field(hid, EV_ABS, ABS_Y, &field)) { + field->logical_minimum = 0; + field->logical_maximum = 255; + } + } for (n = 0; n < interface->bNumEndpoints; n++) { diff -Nru a/drivers/usb/hid.h b/drivers/usb/hid.h --- a/drivers/usb/hid.h Sun Jun 16 18:54:50 2002 +++ b/drivers/usb/hid.h Sun Jun 16 18:54:50 2002 @@ -186,6 +186,7 @@ #define HID_QUIRK_NOTOUCH 0x02 #define HID_QUIRK_IGNORE 0x04 #define HID_QUIRK_NOGET 0x08 +#define HID_QUIRK_BADPAD 0x10 /* * This is the global enviroment of the parser. This information is =================================================================== This BitKeeper patch contains the following changesets: + ## Wrapped with gzip_uu ## begin 664 bkpatch29749 M'XL(`-K"##T``[56;6_;-A#^+/Z*&PH4S6K+?!$E686#V+&Q!NT6SUF"%BA@ M4!)E:;:E5)*=K%7_^TCY)6FFIE[6V8(,WAT?'GG//?0SN"QD[AGK[,]2!C%Z M!J^SHO2,\B99)+.X-%?!C1E\4O9)EBE[)\Z6LK.-[OCSSJKPV]2TD(H8BS*( M82WSPC.(R?:6\J]KZ1F3T2^7;_L3A'H].(U%.I,7LH1>#_GSDW`E%^8\ST1L M9OFLVKLKBC'!'!/*+!O3"CN8\,IV0N%8#'/+@'.`E MA39&`_CO29^B`/IA"`(^KI)\#B(-04&$BR2=01;!3"SEM0@+N$G*&/P\F\L4 M%MDL"<0"EDF:+%=+!:&G+<6M'D&60AE+>%<;WX.XE86)WH"%7=M%X[M31^U_ M^4$("XR.&W8=YHDNN*9!)TY",[ZW>T[4[BW.K&[E=YV(,LF([P0^"_QOG6\S MGBZ?^G*+.A7&EDL/2B5XF`KK*IS*CEQ*F2-HY+J<1^ZAJ;2#+)<;T/OY4(=3 M7I.Z.;Z9X4_,%UBQAS+K;AC6Z1F/&4/"4^=[Q(>_VC& M;_B^YWJ4Y0>17;-:(>S(GF8EY+*XED&I433Q.+6`T*=UOT5/&@3ZK8V&'4$Y7PWU&Y\I%II4^US:.CWX;GD^G9*^/OEV>3-]-!?Z@L\*6E M,1T+B*W@/R`CB>"%WOYQ7=\"GO]CSA%\UH%&4>:KH`05/(T2N0CAY_KGE5%[ M-AOB;[(BJ4)```` ` end