It was back in April 2017 that I made the first move toward building a custom keyboard. I'd followed a discussion and came to the conclusion that I needed to buy the microcontroller to handle the keyboard. This was to be a Leonardo Pro Micro ATMega32U4 (or so it was described). Sparkfun sell an 'official' version, but the version I bought was essentially the same, except for much cheaper.
I've verified this works when connected to USB and I even managed to run my own 'sketch' after editing code using the Arduino IDE. I still think I should create a solder bridge on the J1 connection to put the device into 5V mode, but it worked fine without any meddling.
I'm still not clear on whether I have to download and flash a complete replacement firmware for this device in order to use it as a proper keyboard controller. The default firmware makes the device appear as a USB keyboard, but you have to write software to make it do anything. I tested this by having it type a 'z' when I shorted pin 9 to ground. I've got fewer data lines than I have switches that need to be connected. There's a method of doing this, Michał Trybus gives a very detailed explanation of the theory on his website, komar's techblog.