The Xbox One Controller is a fantastic gamepad, and although Microsoft has only recently started bundled the drivers for it in Windows 10, there are drivers available for Windows 7 and 8 on their website. Mac users do not have an official driver, but there is an lightweight open source solution that works well.
For all operating systems, the controller will only connect over the USB cable, not wirelessly, however Microsoft is releasing an adapter later this fall.
Newer Xbox One controllers (the bluetooth ones) work, with a little bit of configuration, with Linux I believe. Other than that, if you want wireless, then popular options are: DS4, Steam Controller and Logitech F710.
Windows Drivers
Windows provides driver downloads on their support page. Be sure to download the correct version (32 bit or 64 bit) for your architecture. After installation, your controller should work fine when plugged in, but it may still be synced with the console. If it is, just turn the console and the controller off, plug in the controller, and turn the controller back on. If you want to use the controller on your Xbox again, you’ll have to do the same process to sync it to the console.
You can check if the controller is working in the Devices panel in the settings, under ‘Connected Devices’. It should display simply as ‘Controller’. Alternatively, the home button on the controller will be lit and not flashing.
Mac Drivers
Xbox One Wireless Controller Manual
The Mac driver package, called Xone-OSX, is created by FranticRain on Github. The source code is available, but for anyone wanting a simple package to install, check the releases page. There is a disk image with a package installer that will automatically install the drivers and the System Preferences panel to go along with it.
The controller will register in most Steam games as an input device, and can be configured in the ingame settings, but for anyone looking to use the controller outside of games or map the buttons to specific keys, there is a freeware application, Enjoyable, which works incredibly well. You can even map the joystick and trigger buttons to control the mouse, which works very well with games like Minecraft or any first-person shooter.
Xbox Controller On Linux
Note that your controller will show up in some menus, including in Enjoyable, as an Xbox 360 controller. There isn’t really a difference internally as both the gamepads have the same layout.
Linux Drivers
Surprisingly, other than Windows 10, Linux is the only OS in the list to include native support for the Xbox One Controller. If your distro is running any kernel version past 3.17, you are good to go. SteamOS also has support for the controller.
I have my controller connected via Bluetooth to my Ubuntu (xfce) laptop. However, it does not work like a controller in games it's supposed to be acting like a controller for. It's always in it's 'mouse mode', and I have no idea how to make it actually function like a controller instead of controlling the mouse. I can't even click or anything. When I let go of the joystick the cursor goes back to the center of the screen.
I have checked Steam settings and everything, with the controller configurations and big picture configurations, which is what an Xbox ambassador told me to check (he unfortunately didn't have knowledge on Linux which is why I'm here). None of it changed anything.
Is there some sort of code I need to execute or something? And does anyone at least know how I can delete the drivers for the controller so I can re-pair it and let it download again? Thanks!
(I had to give it the category Windows despite it being in Linux because I'm honestly lost and have no idea where to go. I tried Xbox Live chat but they didn't know)