I think I found the most annoying solution from the point of view of the developper but the best one from the point of view of the user
Basically, the payloads in /aurei/payloads/ should be called 0.bin, 1.bin, 2.bin, etc, up to whatever you want.
Then, when booting, AuReiNand reads a keyconfig.bin file that describes several pad states and if one of them is the current pad state, then a payload is loaded accordingly. Otherwise, AuReiNand is booted.
For example, if the keyconfig.bin file says "L+R+B, A, SELECT, L+R+X" and if L+R+X is pressed while AuReiNand is booted, then 4.bin is booted.
Now, how do we configure keys for the payloads ?
Well, that's a feature to add to the menu. Or even more annoying for the developper (
) while booting, AuReiNand counts the number of payloads in /aurei/payloads/ and the number of pad states described in keyconfig.bin and if there are more payloads than pad states, it lets the user register pad states for the remaining payloads.
Yeah, I warned at the beginning, most annoying solution for the dev... Not sure if this should be done by AuReiNand or be a boot manager of its own.