~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/input/devices/xpad.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/input/devices/xpad.rst (Version linux-6.11.5) and /Documentation/input/devices/xpad.rst (Version linux-4.4.302)


  1 ==============================================    
  2 xpad - Linux USB driver for Xbox compatible co    
  3 ==============================================    
  4                                                   
  5 This driver exposes all first-party and third-    
  6 controllers. It has a long history and has enj    
  7 as Windows' xinput library caused most PC game    
  8 controller compatibility.                         
  9                                                   
 10 Due to backwards compatibility all buttons are    
 11 This only affects Original Xbox controllers. A    
 12 have only digital face buttons.                   
 13                                                   
 14 Rumble is supported on some models of Xbox 360    
 15 Original Xbox controllers nor on Xbox One cont    
 16 the Xbox One's rumble protocol has not been re    
 17 the future could be supported.                    
 18                                                   
 19                                                   
 20 Notes                                             
 21 =====                                             
 22                                                   
 23 The number of buttons/axes reported varies bas    
 24                                                   
 25 - if you are using a known controller             
 26 - if you are using a known dance pad              
 27 - if using an unknown device (one not listed b    
 28   module configuration for "Map D-PAD to butto    
 29   pads" (module option dpad_to_buttons)           
 30                                                   
 31 If you set dpad_to_buttons to N and you are us    
 32 the driver will map the directional pad to axe    
 33 If you said Y it will map the d-pad to buttons    
 34 style games to function correctly. The default    
 35                                                   
 36 dpad_to_buttons has no effect for known pads.     
 37 claimed dpad_to_buttons could be used to force    
 38 This is not true. Both dpad_to_buttons and tri    
 39 unknown controllers.                              
 40                                                   
 41                                                   
 42 Normal Controllers                                
 43 ------------------                                
 44                                                   
 45 With a normal controller, the directional pad     
 46 The jstest-program from joystick-1.2.15 (jstes    
 47 axes and 10 buttons.                              
 48                                                   
 49 All 8 axes work, though they all have the same    
 50 and the zero-setting is not correct for the tr    
 51 is some limitation of jstest, since the input     
 52 didn't have a look at jstest itself yet).         
 53                                                   
 54 All of the 10 buttons work (in digital mode).     
 55 right side (A, B, X, Y, black, white) are said    
 56 report their values as 8 bit unsigned, not sur    
 57                                                   
 58 I tested the controller with quake3, and confi    
 59 in game functionality were OK. However, I find    
 60 play first person shooters with a pad. Your mi    
 61                                                   
 62                                                   
 63 Xbox Dance Pads                                   
 64 ---------------                                   
 65                                                   
 66 When using a known dance pad, jstest will repo    
 67                                                   
 68 For dance style pads (like the redoctane pad)     
 69 have been made.  The old driver would map the     
 70 in the driver being unable to report when the     
 71 left+right or up+down, making DDR style games     
 72                                                   
 73 Known dance pads automatically map the d-pad t    
 74 correctly out of the box.                         
 75                                                   
 76 If your dance pad is recognized by the driver     
 77 of buttons, see section 0.3 - Unknown Controll    
 78                                                   
 79 I've tested this with Stepmania, and it works     
 80                                                   
 81                                                   
 82 Unknown Controllers                               
 83 -------------------                               
 84                                                   
 85 If you have an unknown Xbox controller, it sho    
 86 the default settings.                             
 87                                                   
 88 HOWEVER if you have an unknown dance pad not l    
 89 work UNLESS you set "dpad_to_buttons" to 1 in     
 90                                                   
 91                                                   
 92 USB adapters                                      
 93 ============                                      
 94                                                   
 95 All generations of Xbox controllers speak USB     
 96                                                   
 97 - Original Xbox controllers use a proprietary     
 98 - Wireless Xbox 360 controllers require a 'Xbo    
 99   for Windows'                                    
100 - Wired Xbox 360 controllers use standard USB     
101 - Xbox One controllers can be wireless but spe    
102   yet supported.                                  
103 - Xbox One controllers can be wired and use st    
104                                                   
105                                                   
106                                                   
107 Original Xbox USB adapters                        
108 --------------------------                        
109                                                   
110 Using this driver with an Original Xbox contro    
111 adapter cable to break out the proprietary con    
112 You can buy these online fairly cheap, or buil    
113                                                   
114 Such a cable is pretty easy to build. The Cont    
115 compound device (a hub with three ports for tw    
116 the controller device) with the only differenc    
117 (5 pins vs. 4 on standard USB 1.0 connectors).    
118                                                   
119 You just need to solder a USB connector onto t    
120 yellow wire unconnected. The other pins have t    
121 connectors so there is no magic to it. Detaile    
122 can be found on the net ([1]_, [2]_, [3]_).       
123                                                   
124 Thanks to the trip splitter found on the cable    
125 original one. You can buy an extension cable a    
126 you can still use the controller with your Xbo    
127                                                   
128                                                   
129                                                   
130 Driver Installation                               
131 ===================                               
132                                                   
133 Once you have the adapter cable, if needed, an    
134 the xpad module should be auto loaded. To conf    
135 /sys/kernel/debug/usb/devices. There should be    
136                                                   
137 .. code-block:: none                              
138    :caption: dump from InterAct PowerPad Pro (    
139                                                   
140     T:  Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 D    
141     D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00    
142     P:  Vendor=05fd ProdID=107a Rev= 1.00         
143     C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA        
144     I:  If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Su    
145     E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl= 1    
146     E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl= 1    
147                                                   
148 .. code-block:: none                              
149    :caption: dump from Redoctane Xbox Dance Pa    
150                                                   
151     T:  Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 D    
152     D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00    
153     P:  Vendor=0c12 ProdID=8809 Rev= 0.01         
154     S:  Product=XBOX DDR                          
155     C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA        
156     I:  If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Su    
157     E:  Ad=82(I) Atr=03(Int.) MxPS=  32 Ivl=4m    
158     E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=4m    
159                                                   
160                                                   
161 Supported Controllers                             
162 =====================                             
163                                                   
164 For a full list of supported controllers and a    
165 IDs see the xpad_device[] array\ [4]_.            
166                                                   
167 As of the historic version 0.0.6 (2006-10-10)     
168 were supported::                                  
169                                                   
170  original Microsoft XBOX controller (US),    v    
171  smaller  Microsoft XBOX controller (US),    v    
172  original Microsoft XBOX controller (Japan), v    
173  InterAct PowerPad Pro (Germany),            v    
174  RedOctane Xbox Dance Pad (US),              v    
175                                                   
176 Unrecognized models of Xbox controllers should    
177 Xbox controllers. Unrecognized Dance Pad contr    
178 the module option 'dpad_to_buttons'.              
179                                                   
180 If you have an unrecognized controller please     
181                                                   
182                                                   
183 Manual Testing                                    
184 ==============                                    
185                                                   
186 To test this driver's functionality you may us    
187                                                   
188 For example::                                     
189                                                   
190     > modprobe xpad                               
191     > modprobe joydev                             
192     > jstest /dev/js0                             
193                                                   
194 If you're using a normal controller, there sho    
195 18 inputs (8 axes, 10 buttons), and its values    
196 the sticks and push the buttons.  If you're us    
197 show 20 inputs (6 axes, 14 buttons).              
198                                                   
199 It works? Voila, you're done ;)                   
200                                                   
201                                                   
202                                                   
203 Thanks                                            
204 ======                                            
205                                                   
206 I have to thank ITO Takayuki for the detailed     
207     http://euc.jp/periphs/xbox-controller.ja.h    
208                                                   
209 His useful info and both the usb-skeleton as w    
210 (Greg Kroah-Hartmann; Vojtech Pavlik) helped a    
211 the basic functionality.                          
212                                                   
213                                                   
214                                                   
215 References                                        
216 ==========                                        
217                                                   
218 .. [1] http://euc.jp/periphs/xbox-controller.j    
219 .. [2] http://xpad.xbox-scene.com/                
220 .. [3] http://www.markosweb.com/www/xboxhackz.    
221 .. [4] https://elixir.bootlin.com/linux/latest    
222                                                   
223                                                   
224 Historic Edits                                    
225 ==============                                    
226                                                   
227 2002-07-16 - Marko Friedemann <mfr@bmx-chemnitz    
228  - original doc                                   
229                                                   
230 2005-03-19 - Dominic Cerquetti <binary1230@yaho    
231  - added stuff for dance pads, new d-pad->axes    
232                                                   
233 Later changes may be viewed with                  
234 'git log --follow Documentation/input/devices/    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php