We wanted to make a better macro program that would allow people to easily add keyboard shortcuts.
What it does
Under the release section of the github page there is a zip file with 3 executable JARs. The background JAR must always be running in order for the macro service to work. Once it starts, the first keyboard to receive a button press will be marked as the macro keyboard. This keyboard will no longer type anything, only macros. The recorder JAR can be run to record new macros by pressing the start button, typing on a normal keyboard, then pressing stop. The macro can be given a name and it will be saved in the user's Documents folder. After that, the config JAR can be run to attach macro keys to recorded macros by pressing the key on the macro keyboard, then selecting an existing macro script.
How we built it
This project relies on a script written in LuaMacro, a language created for handling keyboard inputs. Then there is Java code wrapped around it which handles the UI and macro saving and loading.
Challenges we ran into
At first getting LuaMacro and Java to work together was tricky but we eventually made it work.
Accomplishments that we're proud of
We managed to get the keyboard to completely redirect input without any nasty side effects or UI issues.
What we learned
Redirecting keyboard input is very difficult, but we learned how to do it.
What's next for Hackro
We had planned to make a feature where macros could be uploaded and downloaded from the Internet using the Google Drive API, but we ran out of time. We will try to do that next.