New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make joystick support more reliable #66
Comments
This is the first I'm hearing about this. The current issues with joystick support are caused by browser implementations. Chrome doesn't detect newly plugged in controllers until you restart it. Firefox is fine. Other browsers don't support gamepads. Unless MESS is being weird with the joystick input somehow? |
In my experience, if I wasn't hitting a joystick button exactly when it was checking for me hitting a joystick button, it wouldn't detect it. I have to hold buttons down. Even if the issue is just browser-specific differences, there needs to be browser-specific messaging about what it takes to get the joystick working. There isn't enough feedback to the user. |
For some reason, the joypad thing seems to be a lot better at Internet On Sat, Jan 18, 2014 at 12:28 PM, Vitorio notifications@github.com wrote:
|
Yeah, that's because the gamepad API is polling-based. There's nothing we can do on that front, unfortunately. The spec on events related to button events is blank, and has been blank for years: |
That doesn't mean nothing can be done. For example, how long does the polling take to register on each browser and platform? Is it consistent per-browser? Does it vary based on the type of joystick? Let's say you're sure to detect a gamepad or not if they hold a button down for five seconds. You could improve the experience and make it more reliable by saying, "hold a primary joystick button (A, B, X, Y, fire, etc.) down for five seconds and we'll see if we can detect it." Give them a button to click on to start a countdown and replace it with a success indicator. There's always something we can do. |
Oh! Is this the controller detection in the frontend, or button presses during gameplay? If you are talking about the former, yes, I know the issue. I was extremely conservative with the callback for that because I did not want to impact performance. I believe it checks every second. However, it should not miss any button presses -- the browser magically makes the gamepad available to the webpage once the first button has been hit, so the callback will see the controller the next time the callback fires. And yes, there is much more that can be done there. There's the whole chrome-must-be-restarted-if-you-plug-in-a-new-controller business and other things that we could explain. |
I and my friends are confused about controls for MESS platforms. |
@ociebieda Unfortunately, each MESS platform and game may have different keyboard mappings for its control schemes. A gamepad is not necessary, but it might take some playing around to figure out each control set. If you're playing games through the Internet Archive, most of them should have control descriptions in the body and links to online scans of the manuals (if you're playing them elsewhere, all bets are off). Sometimes you can hit Tab (I think) to bring up the MESS menus to reconfigure controls, but not always. Unfortunately, the priority of the project has been around getting the systems running, and not for getting particular games especially usable. If there are specific games you have trouble with, you can comment on the Internet Archive page, or file a new issue here (don't just comment on existing ones), and label it as a question. |
Most of interested people will going to use these emulators more with games than other software. |
Joystick support seems intermitted across browsers and platforms. Make this more robust with proper UI indicators.
The text was updated successfully, but these errors were encountered: