nuhrin / pandafe

"Universal" SDL frontend for Pandora
GNU General Public License v3.0
5 stars 0 forks source link

Controls: Possibility for customization #7

Open porg opened 11 years ago

porg commented 11 years ago

The goal is to have a well-thought standard key assignment, which satifies the majority out-of-the-box, but nevertheless, for those individualists among us ;-) there should be the possibility to alter the key assignments, particularly interesting if you have other/multiple input devices (gamepads, etc).

Good example for consideration: PCSX ReARMed does a wonderful job at how to define key assignments for one or multiple input devices.

can-derson commented 11 years ago

Does it really make sense to support other input devices besides the Pandora itself (usb/bluetooth gamepad)? Whats the use case there? I have always assumed that where this was present in PNDs it had been inherited from desktop oriented codebases (easier to keep that rip it out). Do folks actually use this?

While I did hack this kind of thing together for a desktop version, it was definitely a hack and would need some more work finish and integrate. I'd rather avoid the extra complexity unless its actually going to be used.

I imagine even if multiple devices are useful I'll start with just customizable native Pandora controls.

porg commented 11 years ago

As stated above: PCSX ReARMed allows multiple input devices, which allows multi-players on one Pandora. Use cases: Both for portable gaming (screen large enough for 2 players sitting in front of it) or for no doubt useful if using the TV-out functionality of the Pandora!

But of course, the first goal is to allow customization per se, and only later, if ever, some less mainstream features such as multiple input devices. I just mentioned it now, because if you write that customization functions from scratch, you have the possibility to consider multiple input devices into your code design. For starters only use 1 device (the internal controls), but leave the "open gaps" to be potentially filled later. Instead of having to rebuild the whole thing later.