OpenStickCommunity / GP2040-CE

Multi-Platform Gamepad Firmware for Raspberry Pi Pico and other RP2040 boards
https://gp2040-ce.info
MIT License
1.24k stars 279 forks source link

Macro option "hold repeat" does not deactivate after release of button #1044

Closed wesleysni closed 3 weeks ago

wesleysni commented 1 month ago

Expected Behavior

While using the macro activation type option "hold repeat" while having macro button held down macro should repeat until it is released then it should stop replaying the macro sequence.

Current Behavior

In current v0.7.9 RC1 release, macro activates then does not stop, requiring to unplug the pcb.

Context

Steps to Reproduce

Screenshot provided will explain

Screenshots & Files

Screenshot 2024-06-04 171813

TheTrainGoes commented 1 month ago

Tested this on RC1.

The first test was a random setup of macros to check overall function - no issues.

The second test was a copy of the setup presented in the reported issue - was able to replicate.

The third test was changing exclusive to interruptible - no issues.

Conclusion from testing is that the combination of exclusive and hold repeat causes the loop.

arntsonl commented 4 weeks ago

Should be fixed in RC2!

wesleysni commented 4 weeks ago

Ok so with RC2 it does indeed stop upon releasing the button

problem is the macro is not executed on the initial button press, it is only fully executed if you hold the assigned button(s) for the whole duration of the macro. upon releasing the macro buttons at any time, the macro input sequence will stop at the very frame you release the macro button(s).

this is with hold repeat selected

image

TheTrainGoes commented 3 weeks ago

Hi @wesleysni ,

Good catch here. We will have to talk internally to see if this is a bug or how the original function of toggle was intended to work.

TheTrainGoes commented 3 weeks ago

Hi @wesleysni ,

We have talked internally and this is the intended function of the modes. The same behaviour happens on the toggle setting.

Our definitions for the various modes are:

I will update the documentation to make this more clear.