darthcloud / BlueRetro

Multiplayer Bluetooth controllers adapter for retro video game consoles
https://blueretro.io
Apache License 2.0
1.23k stars 104 forks source link

System Shutdown Button Combo Not Working Reliably #830

Closed The-Randalorian closed 2 months ago

The-Randalorian commented 7 months ago

BlueRetro firmware version

1.9.1-beta-23 (see #823 ), 1.9.0, earlier versions

BlueRetro firmware specification

HW2

BlueRetro firmware variant

System specific

BlueRetro hardware type

Internal install modkit

Manufacturer

Laserbear

System used

Nintendo GameCube

Bluetooth controller brand & name

Xbox Core Controller

What is problem? (only list ONE problem per report)

When attempting to use the system shutdown button combo (LT + RT + Menu + A on my controller) the system will not always shut down.

It seems to be able to happen any time the system is turned on, but seems to happen the most when:

  1. The console was powered off, then back on via the physical power switch or power plug.
  2. The console was turned on via the reset button.

The issue can be temporarily resolved by attempting the following (sometimes multiple times):

  1. Disconnecting the controller via the controller power button, then reconnecting it.
  2. Disconnecting the controller via the console reset button (hold 3-6 seconds), then reconnecting it.
  3. Powering the console off, then on again (will not work on it's own, but may allow above options to work.)

What did you expect to happen?

The system should shut down when using the system shutdown combo.

Attach files like logs or Bluetooth traces here

No response

Edit: fix referenced issue number (832 -> 823)

konwektor commented 6 months ago

This happens if you power off/reset console without disconnecting gamepad. BR is accepting combos but doesnt do anything, no reaction. My way is always disconnecting gamepad with combo (LT+RT+START+A) or switching off if it is internal (LT+RT+START+X)

The-Randalorian commented 6 months ago

This happens if you power off/reset console without disconnecting gamepad. BR is accepting combos but doesnt do anything, no reaction. My way is always disconnecting gamepad with combo (LT+RT+START+A) or switching off if it is internal (LT+RT+START+X)

That kinda seems to defeat the purpose of a button combo to turn off the console though. The point is I should be able to use that to switch off the console, so the feature should work, and I shouldn't have to manually disconnect the controller then turn off the console.

What I have found always avoids the issue is pressing and releasing any button before attempting a system shutdown through button combo. I first discovered this issue when I was turning my console on and off without using it to debug the fix for #823 . If I actually do anything with the console at all, it seems to be fine.

darthcloud commented 6 months ago

With my xbox controller its very consistent.

I first hold LT then hold RT then Hold menu then hold A, upon releasing A the combo is triggered.

Not that you should do that exact sequence, it check for all of them at once (with no other buttons) and trigger as soon one is released.

darthcloud commented 2 months ago

I think this might be related to how BlueRetro init the trigger and joystick axes. I did get into that state yesterday.

An important note for Xbox controller is that you need to press a digital button like A first a couple time before touching the trigger and joystick to allow blueretro to calibrate them properly. This is noted here: https://github.com/darthcloud/BlueRetro/wiki/Controller-pairing-guide#4---xbox-pairing-guide

Otherwise if your first press include the trigger then that value will become the center and it will be impossible to reach the trigger maximum.

Also if you were using multi controller simultaneously there was a bug on GameCube now fixed in this beta: https://github.com/darthcloud/BlueRetro/actions/runs/8680779369

The-Randalorian commented 2 months ago

I was using one controller, so the trigger init was probably the reason.

darthcloud commented 2 months ago

I'll close for now, feel free reopen if it turn out not to be related to trigger init.