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.