I've programmed an Arduino Leonardo (or any Atmega32U4 will work) to act as a keyboard in conjunction with the bluetooth controller I built. To make things more flexible to work with as wide of a range of games/emulators I decided to add the ability to remap every button to any keyboard key through a serial terminal. Open a serial terminal (tested using the one included with the Arduino IDE), set to 9600 baud, the correct COM port for the arduino, 8n1, no appended characters, type 'Help' for instructions, 'List' for current mapping info, or 'Exit' to exit programming mode (typing anything will re-enter programming mode). Here's the code ready to be compiled and programmed into an arduino leonardo. Wire an HC-05/06 to the RX pin (using a level shifter/resistor or make sure the Atmega32U4 runs at 3.3V). I threw this code together so I give no guarantees, but I've used it with a number of games with no issues. Feel free to modify/add onto this for your own purposes. Enjoy!