221robotics / RobotOpen-HTML5-DriverStation

Chrome DS app for RobotOpen
Apache License 2.0
3 stars 6 forks source link

gamepad controller not working with RobotOpenDS #15

Open jennadeboisblanc opened 7 years ago

jennadeboisblanc commented 7 years ago

It's possible I'm doing something wrong, but I've followed the AndyMark instructions for connecting a controller to RobotOpenDS. I plug in the controller (Logitech Gamepad F310) and press a button. Never registers. Tried on Mac and Windows (multiple machines). Tried a variety of timing/ uplugging and replugging strategies. Nothing seems to work so can't connect controller.

ajlapp commented 7 years ago

There is a currently untracked bug that broke this in newer versions of Chrome....all of the joystick support is handled in HTML5 and is out of our control. Chrome support for this is more or less dead...the current work-around is to use version 53 of Chrome.

Sorry for the hassle.

http://www.team221.com/robotopen/ds.html

jennadeboisblanc commented 7 years ago

Thanks for the reply! No idea if this is relevant, but the gamepad.js app here appears to work on my computer with the Logitech F310. Looks like code can be forked. Do you happen to know/ think this library might work, or will it more or less run into the same issues as the current RobotOpenDS implementation? Or maybe these gamepad.js libraries are the same.

ajlapp commented 7 years ago

This is possible....but the fastest short term fix is to just use the older Chrome version.

If you do manage to fork it and fix it then please share. :)

We are supporting this as much as possible but aren't actively developing the embedded Chrome app since Google announced that they'd be killing this all in the near future. We'll likely move to our own app at some point.

ericbarch commented 7 years ago

Hey jennadeboisblanc,

Appreciate the info! FYI Chrome 54+ broke the Joystick API for Chrome Extensions only. As the DS app must be an extension to support native networking, we're in a bit of a tricky spot. The same code that we use in the extension works just fine if we load it from a web page. But without being in an extension, there is no way to communicate with the robot.

Still hoping the Chrome team fixes this. As of today it is still untriaged: https://bugs.chromium.org/p/chromium/issues/detail?id=462546

Eric