Короче, придерживайтесь простоты. Никаких диодов никаких резисторов на портах, только pullUp и активный 0 для сканирования. Обрабатывайте сколько угодно одновременных нажатий кроме фантомно-опасных, т.е. тех, которые изменяют сканирующую маску(то есть дали на скан-линии один нолик, а прочитали с них же - не один). Такие ситуации просто игнорируйте.