BOUNTY: RA Input additions
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 15/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- accessibility, frontend
Research direction
The issue does not identify files, tests, or entry points; begin by mapping the existing input, remapping, menu, camera, motion, voice, Lua, and lightgun subsystems. The requested work spans many independent features, so completion criteria would need to be narrowed before implementation can begin.
Written by the indexing model from the issue text.
Description
After my last bounty got a very small amount of traction, I thought that maybe the reason why was that the use case of that one might have been too limited. So, for this bounty, I thought that it would be better to do something that more people would appreciate: Input additions! These should help in accessibility, as well as my and others' more niche wants for RA. As for the additions:
Traditional Input additions:
1: Hold Button: This would work nearly identically to how turbo buttons work, but would keep a button held down when not pressed. This would be nice for games with run buttons, so that you don't have to constantly hold down the button to move faster.
2: Multi-button Turbo: This would allow for turbo to be enabled with multiple buttons. I don't know of a particular use case for this, but I'm sure there are a few instances where this would be useful. Multi-button would also apply for the hold button.
3: Multi-button Mapping: This would allow for one button press to be mapped to multiple buttons, or for multiple, simultaneous button presses to be mapped to an input. The former could be great for fighting games, where you might need to press multiple buttons at once for an attack, and the latter could be great for hotkey inputs, since the amount of inputs on any one controller is limited, and there are several highly useful hotkeys.
4: Sequence Mapping: This would allow for one button press to input multiple button presses in succession. This could also be great for fighting games, to help with pretzel inputs.
5: Menu Button Remapping: This would allow for menu controls to be freely remapped. While there's currently a menu controls menu, its practically useless in its current state, since the only real change you can make is switching the A and B buttons.
6: Menu Shortcut Buttons: This would allow for a specific, customizable button press, combination of concurrent button presses, or sequence of button presses to jump any particular place in the menu. This could be great to quicken menu navigation.
7: On-the-Fly Remap file Switching: This would allow for a button press to change the current button mapping to that of a different remap file. This could be great for games like Blaster Master and Multi-Game randomizers, where gameplay might dramatically change within the same game.
8: Real time Controller View: This would have a view of the controller/device that's inputs you were binding to and for, so that you could see where on the controller each remapped button would correspond to. This would be great for usability, because I can't tell you how many times I've managed to screw up my bindings when trying to get comfortable controls, and I doubt that I'm the only one who's had this problem.
Reworked Input Types:
Camera: This would allow for custom pictures or a real time video feed to be used as input for RA, either as a native input for cores that can use it, or with the ability to map certain locations or motions to most other input types. This could help 3DS emulation a lot, and could also eventually help DS emulation when we finally get DSI support, among other things.
Gyro/Accelerometer/IR: This would allow for gyro and accelerometer inputs to be mapped to buttons. Since RA already supports all 3 of these input methods, I thought that this should be there.
Voice: This would allow for voice commands to be mapped as though they were traditional inputs, and would dramatically increase the quality of the existing voice input drivers. This would be a massive upgrade in accessibility, on top of increasing the playability for the DS and 3DS cores, among others,
Extra:
Lua support for Remap File Switching: I was originally going to put up a bounty for Lua support on SNES9X before this, but that didn't work out. It would still be nice for this to be put in, for when it would be actually useful
Sinden Lightgun Universal support: This isn't at the top of the list of things that should be added, mainly because the gun isn't as available as it could be. This would be great for games like Duck Hunt, where we could finally get an accurate input method for that game and others, but as it stands, the gun just isn't available enough for me to justify making it a main requirement.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from libretro/RetroArch
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
feature request
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
All issues in libretro/RetroArch
Similar issues
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HarbourMasters/Shipwright#7229 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 comment ·
-
bug Self Built Image SNAPSHOT Supported Device target/ramips
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100