skmp / reicast-emulator

Reicast was a multiplatform Sega Dreamcast emulator
https://reicast.emudev.org
Other
1.1k stars 345 forks source link

Latest Reicast build doesn't recognize controller inputs on Nvidia Shield TV #1555

Open farmerbb opened 5 years ago

farmerbb commented 5 years ago

Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.

Platform Branch Hash CIDL
Android 8.0 Latest Google Play beta unknown no

Description of the Issue

The latest reicast beta on Nvidia Shield TV doesn't seem to recognize any inputs from the official Shield controller (2017). This applies both to the main menu as well as in-game (launched via frontend). While in game, the Back button does seem to be recognized, however, no controller inputs are recognized inside the quick menu that pops up.

Debugging Steps Tested

See above

Logs Gathered

None, however, I can gather logs if needed

Screenshots

None

farmerbb commented 5 years ago

Screenshot_20190414-133116

I was able to use a mouse to get to the settings menu. Inside the controls section I noticed that the Nvidia Shield controller was mapped to port B by default (see screenshot). As soon as I changed the port to A, I was able to use the controller to navigate the settings menu.

flyinghead commented 5 years ago

If the device has a touchscreen, then a Virtual Gamepad is added to port A, and other gamepads are attached to ports B, C, ... Here there is no Virtual Gamepad but it seems one of the devices on port A was mistakenly detected as a gamepad, which caused the external gamepad to be connected to port B. Do you have a remote and does it work to navigate the menus?

farmerbb commented 5 years ago

I do own a Shield Remote, and it appears to get assigned to port A by default.

I figured out what the culprit was, though. I own a Harmony Hub, which gets recognized by the Shield as the "Harmony Keyboard" in the screenshot. I was able to clear reicast's app data with the Harmony Hub unplugged, then after re-launching reicast, everything got assigned to port A, including the Shield controller.

So what seems to be happening is, on first launch, reicast detects that both a keyboard and a game controller are connected to the device, and assigns the keyboard to port A and the controller to port B.