diff options
Diffstat (limited to 'drivers/usb/input/xpad.c')
| -rw-r--r-- | drivers/usb/input/xpad.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/drivers/usb/input/xpad.c b/drivers/usb/input/xpad.c index 6a12a943b938..df97e5c803f9 100644 --- a/drivers/usb/input/xpad.c +++ b/drivers/usb/input/xpad.c | |||
| @@ -2,6 +2,10 @@ | |||
| 2 | * X-Box gamepad - v0.0.6 | 2 | * X-Box gamepad - v0.0.6 |
| 3 | * | 3 | * |
| 4 | * Copyright (c) 2002 Marko Friedemann <mfr@bmx-chemnitz.de> | 4 | * Copyright (c) 2002 Marko Friedemann <mfr@bmx-chemnitz.de> |
| 5 | * 2004 Oliver Schwartz <Oliver.Schwartz@gmx.de>, | ||
| 6 | * Steven Toth <steve@toth.demon.co.uk>, | ||
| 7 | * Franz Lehner <franz@caos.at>, | ||
| 8 | * Ivan Hawkes <blackhawk@ivanhawkes.com> | ||
| 5 | * 2005 Dominic Cerquetti <binary1230@yahoo.com> | 9 | * 2005 Dominic Cerquetti <binary1230@yahoo.com> |
| 6 | * 2006 Adam Buchbinder <adam.buchbinder@gmail.com> | 10 | * 2006 Adam Buchbinder <adam.buchbinder@gmail.com> |
| 7 | * | 11 | * |
| @@ -29,6 +33,7 @@ | |||
| 29 | * - ITO Takayuki for providing essential xpad information on his website | 33 | * - ITO Takayuki for providing essential xpad information on his website |
| 30 | * - Vojtech Pavlik - iforce driver / input subsystem | 34 | * - Vojtech Pavlik - iforce driver / input subsystem |
| 31 | * - Greg Kroah-Hartman - usb-skeleton driver | 35 | * - Greg Kroah-Hartman - usb-skeleton driver |
| 36 | * - XBOX Linux project - extra USB id's | ||
| 32 | * | 37 | * |
| 33 | * TODO: | 38 | * TODO: |
| 34 | * - fine tune axes (especially trigger axes) | 39 | * - fine tune axes (especially trigger axes) |
| @@ -54,6 +59,13 @@ | |||
| 54 | * - fixed d-pad to axes mapping | 59 | * - fixed d-pad to axes mapping |
| 55 | * | 60 | * |
| 56 | * 2002-07-17 - 0.0.5 : simplified d-pad handling | 61 | * 2002-07-17 - 0.0.5 : simplified d-pad handling |
| 62 | * | ||
| 63 | * 2004-10-02 - 0.0.6 : DDR pad support | ||
| 64 | * - borrowed from the XBOX linux kernel | ||
| 65 | * - USB id's for commonly used dance pads are present | ||
| 66 | * - dance pads will map D-PAD to buttons, not axes | ||
| 67 | * - pass the module paramater 'dpad_to_buttons' to force | ||
| 68 | * the D-PAD to map to buttons if your pad is not detected | ||
| 57 | */ | 69 | */ |
| 58 | 70 | ||
| 59 | #include <linux/kernel.h> | 71 | #include <linux/kernel.h> |
| @@ -90,8 +102,35 @@ static const struct xpad_device { | |||
| 90 | { 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", MAP_DPAD_TO_AXES }, | 102 | { 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", MAP_DPAD_TO_AXES }, |
| 91 | { 0x045e, 0x0289, "Microsoft X-Box pad v2 (US)", MAP_DPAD_TO_AXES }, | 103 | { 0x045e, 0x0289, "Microsoft X-Box pad v2 (US)", MAP_DPAD_TO_AXES }, |
| 92 | { 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", MAP_DPAD_TO_AXES }, | 104 | { 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", MAP_DPAD_TO_AXES }, |
| 93 | { 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", MAP_DPAD_TO_AXES }, | 105 | { 0x045e, 0x0287, "Microsoft Xbox Controller S", MAP_DPAD_TO_AXES }, |
| 94 | { 0x0c12, 0x8809, "RedOctane Xbox Dance Pad", MAP_DPAD_TO_BUTTONS }, | 106 | { 0x0c12, 0x8809, "RedOctane Xbox Dance Pad", MAP_DPAD_TO_BUTTONS }, |
| 107 | { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", MAP_DPAD_TO_AXES }, | ||
| 108 | { 0x046d, 0xca84, "Logitech Xbox Cordless Controller", MAP_DPAD_TO_AXES }, | ||
| 109 | { 0x046d, 0xca88, "Logitech Compact Controller for Xbox", MAP_DPAD_TO_AXES }, | ||
| 110 | { 0x05fd, 0x1007, "Mad Catz Controller (unverified)", MAP_DPAD_TO_AXES }, | ||
| 111 | { 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", MAP_DPAD_TO_AXES }, | ||
| 112 | { 0x0738, 0x4516, "Mad Catz Control Pad", MAP_DPAD_TO_AXES }, | ||
| 113 | { 0x0738, 0x4522, "Mad Catz LumiCON", MAP_DPAD_TO_AXES }, | ||
| 114 | { 0x0738, 0x4526, "Mad Catz Control Pad Pro", MAP_DPAD_TO_AXES }, | ||
| 115 | { 0x0738, 0x4536, "Mad Catz MicroCON", MAP_DPAD_TO_AXES }, | ||
| 116 | { 0x0738, 0x4540, "Mad Catz Beat Pad", MAP_DPAD_TO_BUTTONS }, | ||
| 117 | { 0x0738, 0x4556, "Mad Catz Lynx Wireless Controller", MAP_DPAD_TO_AXES }, | ||
| 118 | { 0x0738, 0x6040, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS }, | ||
| 119 | { 0x0c12, 0x8802, "Zeroplus Xbox Controller", MAP_DPAD_TO_AXES }, | ||
| 120 | { 0x0c12, 0x8810, "Zeroplus Xbox Controller", MAP_DPAD_TO_AXES }, | ||
| 121 | { 0x0c12, 0x9902, "HAMA VibraX - *FAULTY HARDWARE*", MAP_DPAD_TO_AXES }, | ||
| 122 | { 0x0e4c, 0x1097, "Radica Gamester Controller", MAP_DPAD_TO_AXES }, | ||
| 123 | { 0x0e4c, 0x2390, "Radica Games Jtech Controller", MAP_DPAD_TO_AXES}, | ||
| 124 | { 0x0e6f, 0x0003, "Logic3 Freebird wireless Controller", MAP_DPAD_TO_AXES }, | ||
| 125 | { 0x0e6f, 0x0005, "Eclipse wireless Controller", MAP_DPAD_TO_AXES }, | ||
| 126 | { 0x0e6f, 0x0006, "Edge wireless Controller", MAP_DPAD_TO_AXES }, | ||
| 127 | { 0x0e8f, 0x0201, "SmartJoy Frag Xpad/PS2 adaptor", MAP_DPAD_TO_AXES }, | ||
| 128 | { 0x0f30, 0x0202, "Joytech Advanced Controller", MAP_DPAD_TO_AXES }, | ||
| 129 | { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", MAP_DPAD_TO_AXES }, | ||
| 130 | { 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", MAP_DPAD_TO_AXES }, | ||
| 131 | { 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS }, | ||
| 132 | { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS }, | ||
| 133 | { 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES }, | ||
| 95 | { 0x0000, 0x0000, "Generic X-Box pad", MAP_DPAD_UNKNOWN } | 134 | { 0x0000, 0x0000, "Generic X-Box pad", MAP_DPAD_UNKNOWN } |
| 96 | }; | 135 | }; |
| 97 | 136 | ||
