Tottaly agree with that.

I got in a rabbit hole trying to make a keyboard matrix work in an ISR along with debounce etc. Just a waste of time...

A tight loop is just fine. And as tumbleweed noted, use Interrupt just to note MCU that a key was pressed, maybe wake it up from sleep. Then a loop will do the rest.

Even if other interrupts are needed when keyborad is serviced, ISR will do that just fine.

Ioannis