OK, I hope we can scare up someone who has done exactly (or close to) this. I can't think of the two "old timers" who usually show up when this kind of thing is on the table.
In the meantime, your life will be considerably easier (!) if you slow your roll a bit and...
- write a sketch that turns on and off one LED (with series resistor) attached to an output pin by each press of a pushbutton attached to an input pin.
Of course many here could hand that to you, but the point is to burnish your programming chops a bit, you will not regret slogging through whatever it takes to accomplish this simple task.
- add printing a message to the serial monitor when the LED goes on.
I understand that ultimately you will use the Pro Micro's ability to do a USB-MIDI connection, so maybe
- find / write a very small program that sends one note out on the USB/MIDI connection when you press that pushbutton.
Again, you should be able to find, read and come to grips with these simple coding challenges.
And appy polly loggies if you already can do that blindfolded underwater. You did say the programming was a challenge, my main message is:
Do not start with a giant program you don't understand. Work from the smallest successes as you learn and build "parts" that will be used (or riffed offa) in the final design.
For a change of pace, get to know that multiplexer part - I have looked and I am sure it will be useful.
http://adam-meyer.com/arduino/CD74HC4067
The basic idea of the scanning process (which you might google and learn more about) is to pick a row with one multiplexer and route it to the input pin you'll use for the row sense, and pick a column with the other multiplexer and route it to the output pin you will use for the column probe.
If the switch at that cross point (C3, haha) is closed, the probe will be able to show up at the sense, otherwise we learn that the switch is open.
Which is why I thought a little side trip to see how a dinky keypad is scanned, though ppl use a library, you will see and can even read that code.
This is worth some time:
And I came across this, take a few with it:
a7