Bei Deiner Methode besteht aber das Problem, dass man beim Drücken von 2 Tasten in der selben Reihe einen Kurzschluss verursacht, korrekt?
Wenn ich das genau überlege hast Du recht.
Da muss ich an meine Soft wohl noch mal ran.
Ich geb GND Potential auf eine Spalte, eine andere führt +5V.
Werden dann 2 Tasten in der selben Zeile gleichzeitig gedrückt kommt es zu einem Kurzschluß.
Das könnte man aber verhindern, indem man an die Spaltenausgänge des Controllers Dioden in Richtung Port schaltet.
Dadurch wird verhindert, das aus dem Port der auf +5V hängt ein Stromfluß in Richtung GND möglich ist.

Ein Widerstand am Port Ausgang ~220Ohm sollte das Problem auch effektiv verhindern.

Die Zeilen werden ja durch den Pullup ohnehin auf +5V gehalten.

Eine Softwaremässige Lösung wäre nur das DDR Register des entsprechenden Ports auf Output zu schalten und alle anderen Spalten als Input zu definieren.
Dadurch würden alle inaktiven Ports hochohmig und können kein Problem mehr verursachen.