I have a XBOX ONE S controller, which i want to connect to my PC on which arch linux is running.

I know there is a driver called xpad, which is already installed by default. My first question is: As far as I know this driver is only working if you connect the gamepad by USB, is this correct?

The driver (xpad) works as expected when connected by usb. But I want to connect the gamepad via bluetooth. And that works very well too, but I don't understand why! My second question therefore is: Which driver does control the gamepad? Since xpad seems not to be the one which drives the gampad via bluetooth (i blacklisted it), which driver is it? My third question is: I heard that 'bluez' handles the controller as a HID device, which is some kind of standardizes - is that correct?

Thank you in advance!

By the way: My last question: can someone tell me a good book on the topic of driver programming and/or general kernel structure - e.g. i do not really understand how evdec, joydev, xpad, bluez, input and so on communicate. I want to understand exactly what happens when i plug in a usb device or connect it via bluetooth.

  • To address your second question, you could try the lsmod command before and after you connect the controller and see which driver module gets loaded? – Time4Tea Jun 21 '18 at 21:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.