OK. Zrobiłem rysunek wyjaśniający do swojej analizy key-matrix'a: (sorry za malunki w paincie :karpik, ale trudno to lepiej wyjaśnić)
Układ działa tak, że dla każdej z kombinacji portów PCx->(PBx,PDx) jest sprawdzane, czy płynie między nimi prąd. W danym momencie zasilana jest tylko jedna para z tej kombinacji np. dla PC0 jest to następująca sekwencja zasilania par i testowania przepływu::
PC0 i PB0
PC0 i PB1
PC0 i PB2
PC0 i PB3
PC0 i PB4
PC0 i PB5
PC0 i PB6
PC0 i PB7
PC0 i PD4
PC0 i PD5
PC0 i PD6
PC0 i PD7
Przy zwartym przycisku prąd płynie, przy rozwartym - nie. Kolorami oznaczyłem poszczególne przepływy.
Można wciskać wiele przycisków na raz i wszystko będzie ok, tak jak tu:

Jednak wystarczy wcisnąć pechowo 3 przyciski - i zaczną pojawiać się błędy: tutaj pokazany jest test dla (PC1->PB0) oraz (PC1->PB1). Na skrzyżowaniu PC1-PB1 przycisk nie jest wciśnięty a prąd i tak popłynie - właśnie z powodu zmniejszenia ilości diod. Nie jest to groźne dla zwykłego Joystick;a, ale dla kokpitu, gdzie są przyciski dwustanowe - już tak!
