Avec 32 E/S (Facilité de câblage en i2c) t'es tranquille. Laisse tomber l'analogique, c'est plus simple avec tes CI. T'as pas besoin de le faire reconnaitre comme 2 joysticks indépendants si tu utilises que Retroarch. (Mais je ne sais pas combien de boutons Retroarch peut encaisser...).
Retroarch permet d’utiliser un seul joystick reconnu et d'attribuer des touches/boutons différentes pour chaque joueurs. C'est pas ce que tu veux mais ça peut fonctionner. J'utilise cette solution pour jouer avec le Player 2 malgré mon panel 1 player. Utile aussi si par exemple tu veut un autre personnage a Gauntlet, P1=joy1, P2=joy2, P3=Joy3... (Tu peux même contrôler les 4 perso en même temps avec la même manette. Débile, marrant, a savoir...). Les premiers jeux 2 Players utilisant 1 seul joy, on jouait alternativement, j'utilise également cette solution. @Glooobule : La solution d'Arduino reconnu en clavier peut être intéressante, personnellement je préférerais que ce soit 1 joy (ou 2) HID, mais si ça résout le probleme. Après, pourquoi ça bug avec les jeux, je peux pas te dire, J'ai que de l'ATmega 168/328/Teensy sous la main. Je t'encourage a persévérer, ça peut être intéressant pour les prochains qui voudrais utiliser cette solution.
...qui permet 32 entrées sur les deux GPIO i2c.
Les deux GPIO i2c ? les 2 broches de l'i2c ou deux i2c distincts ? Les CI i2c sont chainables mais je pense que tu le sais.