I just finished my first breadboard model for the macro keyboard. I have used the arduino pro micro board, 4 tactile push buttons and 1 joystick. In this model I have coded 4 buttons; one for copy, one for paste, one for save and finally one for taking a screenshot of your full screen.
The code was simple, all I used was the Keyboard.press() function to press the required keys, Keyboard.write() function to write certain keys and the Keyboard.releaseAll() function to release all the pressed keys. However, one of the problems I faced was that only my copy button was working and no other button seemed to function. I soon realised that was because I wrote Keyboard.press(KEY_LEFT_CTRL) when I was suppose to write Keyboard.press(KEY_LEFT_GUI) because I was using a mac. After I changed that everything worked fine. So, if you want to build this macro keyboard for a mac then your command button would be 'KEY_LEFT_GUI' and if you want to build this for windows then your control button would be 'KEY_LEFT_CTRL'.
Furthermore, I coded the joystick to act as my arrow keys.
My next step would be to transfer all of this onto a perf board and solder them there and I will probably dive deeper into the code in my next log !