Przejrzałem skrypt macieja i porównałem do swojego. Obydwa realizują to samo zadanie czyli odczyt przycisków w drążku Cougara oraz ich prezentację. Macieja dodatkowo ma przypisania do joysticka i jest widziany w pc. Różnice projektów polegają na zastosowaniu innych rejestrów. W moim przypadku zastosowałem CD 4021 takie jakie są w drążku Cougara. Maciej zastosował MCP23017, które pracują w I2C a moje w SPI. MCP23017 mają opcję pullup, dlatego nie potrzebujemy rezystorów na wejściach rejestrów. Dodatkowa korzyść to biblioteka Wire.h w której są bardzo dobre funkcje, które ułatwiają pisanie skryptu. Skrypt macieja umożliwia realizację drążka Cougara. Pozostałe sprawy czyli osie x, y oraz przepustnicę trzeba dopisać do programu.
Wracając do MMJoy2 to myślę, że dla budowniczych swoich własnych joysticków jest to dobre rozwiązanie pod warunkiem, że realizują tylko joystick. Setup MMJoy2 umożliwia konfigurowanie, nie ma potrzeby pisania skryptów. Dodatkowe funkcje są atrakcyjne tzn. "emulacja klawiatury", ale ryzykowne. Tutaj mogę wspomnieć o moich testach z enkoderem. Może ktoś na forum zrobi takie testy u siebie, będzie możliwość porównania.
Myślę, że projekt zrobienia czegoś podobnego do MMJoy2 jest bardzo atrakcyjny, ale trudny w realizacji. Na poparcie mojej tezy wspomnę o projektach Damosa DMKeys8 oraz DMJoy. Stosuje te same uP co w Leonardo. Problem polega między innymi na małej pamięci tych uP. Damos chciał zrobić DMJoy z możliwością programowania klawiatury, ale nie jest to takie proste. Były problemy z enkoderami, ale zostało to rozwiązane. Dostępne na rynku tanie enkodery są złej jakości i trudno zrobić program, który to uwzględnia.
Co do mnie to będę dalej zajmował się Arduino w różnych jego zastosowaniach. Ponieważ mam kokpit zrobiony pod BMS4 to próbuję znaleźć zastosowanie dla tego symulatora i tu jest problem, ale może znajdę na forum informacje jak przechwytywać dane z symulatora i je realizować w Arduino.