Git Product home page Git Product logo

Comments (8)

bwRavencl avatar bwRavencl commented on June 12, 2024

Hi KP,

thank you for the information you provided already.
Unfortunately based on the log file alone I can not yet give you any advice on why the controller is not detected.

Some technical background:
ControllerBuddy uses a library called LWJGL which in turn is based on another library called GLFW. ControllerBuddy asks these librarys which gamepads are present and then, continually polls the gamepads to receive their current state (i.e. state of the axes and if buttons are pressed or not).
On your system it seems that GLFW fails to detect your Xbox Controller.
GLFW uses a database called SDL_GameControllerDB which contains entries on a vast majority of the different makes and models of gamepads that exist.
It is this point where we should start and ensure that there is a database entry for your specific kind of Xbox controller.
If what you are using is a standard, official Microsoft Xbox controller it is somewhat surprising to me that a database entry could be missing for it, however let’s validate that:

There is a tool called SDL2 Gamepad Tool which can be used to check if a gamepad is found in the database and if not helps you to create a database entry for it.
It would be very helpful if you could download and run said tool and then report back to me with a screenshot of the output and also include the so called GUID of your gamepad. This is a unique identifier for a specific gamepad model that is used to reference database entries. If the GUID of your gamepad is not present in the database this would explain why your gamepad is not detected. We could simply create an entry and mapping for your model and provide it to the folks of SDL_GameControllerDB. Afterwards I would create a new build of ControllerBuddy that uses the latest version of the database and your controller should be detected.

Cheers,
Matteo

from controllerbuddy.

16arnoldk avatar 16arnoldk commented on June 12, 2024

Hi Matteo,

I downloaded SDL2 Gamepad Tool and tried connecting the Xbox one controller. Even after a PC and controller restart the software does not see my gamepad - only the vjoy virtual controller (which I configured per the Controllerbuddy getting started setup) shows as an option to connect to. I am using a standard Xbox one controller, in this case the Cyberpunk 2077 edition xbox one controller (https://www.gamestop.com/s/gamestop-us/gaming-accessories/controllers/xbox-one/products/microsoft-xbox-one-wireless-controller-cyberpunk-2077/220330.html?sku=10123010-11100057.html). The computer itself, Xbox PC apps, and Steam all see the controller without issue. I'm not sure how to find the globally unique ID (GUID) and quick google search didn't yield much helpful - how do I access this number?

Thanks!

from controllerbuddy.

bwRavencl avatar bwRavencl commented on June 12, 2024

Hi KP,

okay thanks for reporting back, that confirms my suspicion that a database entry is missing for the specific model of your controller.
In SDL2 Gamepad Tool there should be a button called "Copy Gamepad GUID". After clicking said button the GUID should be in your clipboard and you can simply post it here.
I will take care of creating a database entry for your controller and take the necessary steps so that it gets included in the official SDL_GameControllerDB.
Since I have not yet submitted a new entry to the database I am currently unsure how long it might take for them to accept the entry. I am expecting that it might take a few days.
Once it has been added to the database, I will create a new ControllerBuddy build that includes the new database and your controller should work fine.
I will let you now here when that build is ready to download.

Cheers,
Matteo

from controllerbuddy.

bwRavencl avatar bwRavencl commented on June 12, 2024

After re-reading you message I noticed that the controller does not seem to show up at all in SDL2 Gamepad Tool.
However you say that Steam works fine with you gamepad.
In that case finding out the GUID of your controller might be easiest if you follow the steps listed under Steam in the SDL_GameControllerDB Readme.md:
Screenshot 2022-08-03 004619
The highlighted text in the example corresponds to the GUID of the PS4 Controller.
Your controller should have a different entry, if in doubt simply post the whole file.

from controllerbuddy.

16arnoldk avatar 16arnoldk commented on June 12, 2024

Hi Matteo,

Here is the GUID listing from Steam. Note, the controller is identified as a steam virtual gamepad not as Xbox One controller (different from your example with a PS4 controller).

Thanks!

KP

"SDL_GamepadBind" "03000000de280000ff11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows

from controllerbuddy.

bwRavencl avatar bwRavencl commented on June 12, 2024

Unfortunately the GUID you posted is not the correct one.
As far as I know your Xbox One controller should be listed as "XInput Controller" not as "Steam Virtual Gamepad".

I did some more digging and the more I am thinking about it, the SDL2 Gamepad Tool should have listed your controller even without its GUID being in the database. The whole purpose of the tool is to create database entries for controller missing in the database.

Also if SDL2 Gamepad Tool does not see your gamepad I am pretty sure the Steam Gamepad Mapping tool won't recognize it either. Under the hood both use SDL2 to "speak" to your gamepad.

Am I correct in assuming that what you probably meant with Steam is seeing your gamepad is that it works with games in Steam and not that using Steams controller mapping features works?

Do you connect your controller via USB cable, via an Xbox wireless dongle or via Bluetooth and have you tried different USB ports to connect it?

What you could also try is to locate the device in the Windows device manager and remove it from there and then reconnect it physically.

Unfortunately it is very hard to tell where the issue lies in your case. All I can say is that as long SDL2 Gamepad Tool does not see your gamepad, ControllerBuddy will not see it either.

from controllerbuddy.

16arnoldk avatar 16arnoldk commented on June 12, 2024

Hi Matteo,

As an engineer, my first question when something isn't working is "have you turned it off and back on again?"

Turns out, we hadn't tried the correct "turn off and back on" method. I deleted the controller from Windows device manager, restarted my computer, readded it and ControllerBuddy now seems to be working! I will follow through the remainder of the setup video and let you know if anything is not working.

Also, I checked the Steam config log and the GUID for the xbox controller is now present: 030000005e040000ff02000000007801,XInput Controller

For reference, by "Steam is seeing my gamepad" I meant I could use the mapping feature for in-game, big picture, and desktop modes without issue. This was before the GUID showed up in the log, interesting. Also, I have been connecting by microUSB to USB the entire time (bluetooth didn't work, not sure why, maybe this "turn off and turn on" will solve that too).

Thank you for all the support, looking forward to using the app!

KP

from controllerbuddy.

bwRavencl avatar bwRavencl commented on June 12, 2024

Awesome! I'm happy that you could solve it this way.

If you have any further questions feel free to contact me.
I have also set-up a Discord server a while ago, it's meant for questions and discussions, so far there is not a lot going on there, but feel free to join if you are interested. πŸ˜‰

Have a nice day,
Matteo

from controllerbuddy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.