OK, so xpad.c now has XBOXONE controller support. I purchase a PowerA Spectra XBOXONE controller. All it seems to do is connect and disconnect. So thats when I noticed xpad wasn't recognizing the controller and decided to edit xpad.c and recompile.
Linux CtrlZ 3.18.7-sabayon #1 SMP Mon Feb 16 14:29:37 UTC 2015 x86_64 AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G AuthenticAMD GNU/Linux
Example
[ 660.061511] usb 3-2: new full-speed USB device number 39 using xhci_hcd
[ 660.205548] usb 3-2: New USB device found, idVendor=24c6, idProduct=542a
[ 660.205551] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 660.205554] usb 3-2: Product: Controller
[ 660.205555] usb 3-2: Manufacturer: Microsoft
[ 660.205557] usb 3-2: SerialNumber: 0000F2292EF239AD
[ 675.295032] usb 3-2: USB disconnect, device number 39
[ 675.541979] usb 3-2: new full-speed USB device number 40 using xhci_hcd
[ 675.686018] usb 3-2: New USB device found, idVendor=24c6, idProduct=542a
[ 675.686022] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 675.686024] usb 3-2: Product: Controller
[ 675.686025] usb 3-2: Manufacturer: Microsoft
[ 675.686027] usb 3-2: SerialNumber: 0000F2292EF239AD
Using the information above I was able to patch xpad.c to include the following lines 207 and 311.
EXAMPLE
206: { 0x24c6, 0x5300, "PowerA MINI PROEX Controller", 0, XTYPE_XBOX360 },
207: { 0x24c6, 0x542a, "PowerA Spectra", 0, XTYPE_XBOXONE },
310: XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers /
311: XPAD_XBOXONE_VENDOR(0x24c6), / PowerA Controllers */
Did it work? No, but I did get closer the goal. Any skillful kernel devs out there wanna help me out? I'm a big n00b when it comes to drivers editing. Basic programming I know, but this is a whole other level. I'm willing to learn tho.
#Current Output[ 1217.579190] usb 3-2: new full-speed USB device number 75 using xhci_hcd
[ 1217.721294] usb 3-2: New USB device found, idVendor=24c6, idProduct=542a
[ 1217.721298] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1217.721300] usb 3-2: Product: Controller
[ 1217.721302] usb 3-2: Manufacturer: Microsoft
[ 1217.721303] usb 3-2: SerialNumber: 0000F2292EF239AD
[ 1217.723396] input: PowerA Spectra as /devices/pci0000:00/0000:00:10.1/usb3/3-2/3-2:1.0/input/input93
[ 1232.812766] usb 3-2: USB disconnect, device number 75
[ 1233.060659] usb 3-2: new full-speed USB device number 76 using xhci_hcd
[ 1233.203764] usb 3-2: New USB device found, idVendor=24c6, idProduct=542a
[ 1233.203768] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1233.203771] usb 3-2: Product: Controller
[ 1233.203772] usb 3-2: Manufacturer: Microsoft
[ 1233.203774] usb 3-2: SerialNumber: 0000F2292EF239AD
[ 1233.205895] input: PowerA Spectra as /devices/pci0000:00/0000:00:10.1/usb3/3-2/3-2:1.0/input/input94
It appears its not making handshake of some sort? Maybe trying to speak to the controller like its a 360 controller instead of a one controller?