javalang

bluetooth DS4 WebVRController

Recommended Posts

Hello everybody, I'm looking fore some advice using a PS4 (DS4) Contoller for mobiles. So far I've found at least one PLAYGROUND  where the camera zoom is responding to my Controller keys.  But I have no idea which type of WebVRController is instantiated and how the key-mapping happens (I'm not fit in debugging mobile applications) . Maybe there is one specific WebVRController already implemented or is the Generic type the right one?  Does someone have experience with this topic? My hardware conection: Dualshock controller (DS4) paired with an android mobile.

Thanks in advance

Share this post


Link to post
Share on other sites

Thanks @Deltakosh, but I'm afraid there is no VRController involved. I think it's just a key emulation like the UP/dn/left/right keys on a pc-keyboard which is active if I pair the contoller with the mobile. Anyway, I will follow the description of "how to use gamepads" to see if any of the methods will be called...

 

Share this post


Link to post
Share on other sites

@javalang When I've done controller work in the past, I've tested using http://html5gamepad.com/ . If it doesn't show up there, there's probably a connection issue. If it does show up there than it should work with Babylon's  "how to use gamepads" api's, if it doesn't it's likely a button layout issue, if thats the case, I might fallback to using html5 gamepad api's directly . 

Share this post


Link to post
Share on other sites

@trevordev Thanks for the reply,  I also did some  tests with html5gamepad but on the PC side. My interest is on the mobile side and it's very difficult for me to see what's going on. I just started an android app "Gamepad Tester" where I can see that most of the buttons are working well including Joysticks and X/Y buttons. But this app is for sure a native app and probably not using the html5 interfaces.

Can you give me a hint how to find out the supported or connected controllers? Is  "VRHelper.onControllerMeshLoaded.add(onControllerAttached);" the only way I can log the existence of a controller? And another question: I don't understand why the "onControllerAttached" callback has something to do with a loaded Mesh, what is if I have no Mesh to load?

Thanks again for your help

Share this post


Link to post
Share on other sites

@trevordev about html5gamepad: on the android mobile there are no buttons reacting at all!

Only the website itself is scrolling if I press the navigation keys.

So I have to figure out first this problem first, maybe my controller isn' t supported to use with the html5 spec.

Share this post


Link to post
Share on other sites

I've played around with the GamePad API for GearVR and Daydream controllers and after figuring out how to debug them the coding part was easy.  The gamepad API you can check yourself what is being returned.  Looks like your controller is not supported by gamepad API, based on what you are saying though.  Do you get any devices returned at all when connected?

Check out this post for how to debug Android devices (over USB or WiFi).  Very useful for figuring out what is happening with gamepad :)

 

Share this post


Link to post
Share on other sites

@brianzinn thank you for the link, I tried your method today but unfortenately after some debugging my bluetooth connection was corrupted and I gave up,  I will give another try.

Quote

Do you get any devices returned at all when connected

  No I don't, but this is probably because the gamepad API is event-driven (so far I've seen) and the controller is already connected (paired) over bluetooth. 

Share this post


Link to post
Share on other sites

It was soo simple -> I didn' realize that chrome also have a develpment-browser version for mobiles (chrome-Dev) ,  I installed the browser and enabled the chrome://flags: WebVR and Gamepad extensions ->voila  Gamepad Tester is running using DS4 wireless on the mobile.

BTW,  the DS4-controller on the PC (connected via USB) is  recognized as BABYLON.GenericPad

Now I'm going to figure out which type of controller is attached to the mobile, it's neither a BABYLON.Xbox360Pad nor a BABYLON.GenericPad. There is a controller connected but I have to do some debug now.

Thanks for helping me and I hope this info is useful for another people.

 

Share this post


Link to post
Share on other sites

OK, last message, the DS4 Controller is mapped as a BABYLON.GenericPad and has the id: Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 09cc). The image below shows the button values. Would be fine if someone creates a class for this widespread controller :)

DS4.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.