loading firmware is relatively easy on a teensy. You load up the teensy loader, open the firmware in it, then press the buttons in order (load, program, reset) and you're good to go. For other devices you put them in bootloader mode, then boot up atmel flip, open the USB port, then click the buttons in order.
using DFU bootloader for the arduino pro micros for example you just copypasta the instruction, add the correct serial port and go.
Really depends on what hardware you want to use and what firmware you want to put on it. I believe hasu's "TMK_firmware" allows for mouse keys but I've never used it. (and I think you have to modify source and then build the program every time you want to change layouts.
For ease of use I really like soarer's controlelr code. you just program the matrix into a human readable text file, run scas then scwr to write it. To update layout, just modify the config file, and re-run those commands. Super easy. You dont need to re build the firmware, reset the microcontroller or even unplug it.