I’ve been making some controllers using shift registers, a teensy2 microcontroller and MMJoy2 firmware and software.
I have some hardware in my stash that I can share with you if you like.
In short, one of these shift registers can handle 8 input, so for 24 buttons you’ll need 3 of them.