why does my gamepad work via bluetooth but not via usb

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite
1












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.







share|improve this question






















  • 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 at 21:13














up vote
1
down vote

favorite
1












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.







share|improve this question






















  • 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 at 21:13












up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





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.







share|improve this question














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.









share|improve this question













share|improve this question




share|improve this question








edited Nov 10 '17 at 23:50

























asked Nov 10 '17 at 23:34









flood

62




62











  • 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 at 21:13
















  • 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 at 21:13















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 at 21:13




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 at 21:13















active

oldest

votes











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f403838%2fwhy-does-my-gamepad-work-via-bluetooth-but-not-via-usb%23new-answer', 'question_page');

);

Post as a guest



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f403838%2fwhy-does-my-gamepad-work-via-bluetooth-but-not-via-usb%23new-answer', 'question_page');

);

Post as a guest













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?