Machs einfach so wie es in verschiedenen FPGA-Implementierungen
des C64/VC20 gemacht wird. Bei diesen Projekten sind idR. immer
PS2-Adapter enthalten. Handling von SHIFT/RESTORE/etc. und
mehrere Tasten ist überhaupt kein Problem, sollte sich ohne
Schwierigkeit auf uC portieren lassen.
Einzig deine Beschaltung würde ich ändern: ROW/COL direkt
an den uC (je 8 Pins), für RESTORE ein zusätzlicher Pin. Dann würde
ich ROW als auch COL in sehr kurzen Intervallen auslesen. Ist in einer
Gruppe eine Änderung festgestellt => Richtung von ROW/COL ist
festgelegt, z.B. ROW. Dann wird das Ergebnis der PS2-Kommunikation
and COL angelegt (COL als Ausgang). So können beide Richtungen
ROW=>COL und COL=>ROW gehandelt werden.