Woaw, chapeau, excellent

En attendant ta future 1.6 officielle prévu tu as dis en Avril Mai ?
Je me suis fait une version avec le xBRZ software (donc ds tous les jeux), le pad analogique fixé ds le menu de chaque jeux, et le fait que "quitter la partie" me sort du jeu (ds chaque jeu), comme ça plus besoin de clavier sur PI

C'est un palliatif disons

Il y a un autre truc que tu pourrais prendre de RETROARCH qui est vraiment top, je sais que l'émulateur Amiga viens aussi de s'en inspirer, c'est pour la gestion des manettes.
En fait qd on a plusieurs manettes chez soit, différentes comme moi, chaque fois que l'on lance un emu ou ici Solaris les ID des touches donné par UDEV changent. du coup il faut tout reconfigurer.
Dés que l'on branche une manette elle est reconnu et possède un ID unique.
https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.cEst alors créé un fichier avec la chaque touche de la manette assigné à un ID générique.
# 8Bitdo NES30 Pro settings
input_device = "8Bitdo NES30 Pro"
input_driver = "udev"
# Buttons for RetroArch Pad.
input_start_btn = "11"
input_select_btn = "10"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "0"
input_b_btn = "1"
input_x_btn = "3"
input_y_btn = "4"
input_l_btn = "6"
input_l2_btn = "8"
input_l3_btn = "13"
input_r_btn = "7"
input_r2_btn = "9"
input_r3_btn = "14"
# Axis for RetroArch D-Pad.
# Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number.
input_l_x_plus_axis = "+0"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"
input_r_x_plus_axis = "+2"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
# Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as exit emulators, save states,
# and load states, as well as any other functionality in an emulator. (In the example below 8 is the select key
# and 9 is the start key so when I hold down select and press start it will exit the emulator.)
# HOTKEY
input_enable_hotkey_btn = "10"
# INPORTANT
input_exit_emulator_btn = "11"
input_reset_btn = "h0down"
input_menu_toggle_btn = "3"
# USED
input_hold_fast_forward_btn = "7"
input_rewind_btn = "6"
input_load_state_btn = "1"
input_save_state_btn = "0"
input_pause_toggle_btn = "4"
input_osk_toggle_btn = "14"
input_disk_eject_toggle_btn = "h0up"
input_disk_next_btn = "h0right"
input_disk_prev_btn = "h0left3"
Ainsi que des fonction perso assignés à des touches que l'on utilise dans retroarch mais donc utilisable n'importe ou ailleurs, on les utilise en simultané avec la HOTKEY.
Et vraiment le système de hotkey pour avoir des fonctions en plus sur un pad avec peux de boutons comme la sauvegarde etc c pas mal du tout

Ainsi chaque manette ayant son fichier, une fois qu'on les as configuré, dans l'Emu ou Solaris on aura tjs le mm comportement puis que ds ton ini tu ne va plus sauver 1, 2, 11, 15 mais input_a_btn, input_y_btn, etc ..
C'est vraiment je pense et comme d'autres une excellente idée. surtout que l'on peux fournir plusieurs de ces fichiers avec Solarus déjà configurés.
D'ailleurs je t'écris tout ça, mais avec tout ce que tu as codé et la qualité de ton code, tu aurais peut être mm pu porter Solarus en temps que moteur de RETROARCH. Et ainsi mm si c une contrainte je suppose au niveau du codage au dépars, de toutes ces fonctionnalités. Savestate, Screenshot, accélération du temps, retour arrière rembobiner, les filtres identique à ce que tu code en ce moment, et surtout un support de ton moteur sur presque toutes les machines qui existent à ce jour. Et comme tu lance des .solarus c top c'est comme une rom d'émulateur.
En jeux Homebrew ils ont déjà porté Cave Story et Mr.Boom ... C'est peut être aussi une idée à creuser pour toi, mais une fois en SDL 2 c'est apparemment simple de faire le portage.