TASEmulators / TASEmulators/BizHawk

Autofire controls override joypad.set

Open
#4,769 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk Repro: Affects 2.11.1
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Summary

Autofire inputs override buttons being unheld by Lua's joypad.set.

Repro
  1. Open a ROM
  2. In Config -> Controllers... -> Autofire Controls, bind a button to a keyboard key. For example, bind the "A" button to the "D" key.
  3. Open the Lua Console
  4. Ensure the game is paused
  5. In the Lua Console's input box, set the button to false with joypad.set. For example, joypad.set({A = false})
  6. Select the main form
  7. Ensure input display is turned on (View -> Display Input)
  8. Press the key configured for autofire. ("D" in this example)
Output

Observe that the autofire button is held.

Host env.

Bizhawk 2.11.1 and master branch, Windows 11

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Lua console's joypad.set handling alongside the Config → Controllers → Autofire Controls input path, using the reported reproduction steps. The fix is complete when setting A to false through joypad.set prevents the configured autofire key from holding A, including with the input display enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.