Table of Contents
Introduction
Here is another option to turn your Android device into a button box with basic functionality. The best part? It’s free and open source, you can check out the ButtonBox GitHub repository here. Compared to some of the paid options we have looked at before this one is fairly barebones.
One major shortcoming of this app is the fact that it will only let you remap the buttons to 0-9 and A-Z. No combos, F-keys, or even arrow keys which is a pretty major weakness. In addition, the layouts you see either portrait or landscape is the entirety of the customization you get with this app, so no moving buttons around, changing their order, or changing how they appear. Also, this repository hasn’t seen a commit since 2019 so I wouldn’t count on further development from its creator.
On the other hand, seeing as how the whole thing is open-source and written in java one of the easier programming languages to pick up. Forking the thing to add what you want shouldn’t be too difficult if you were so inclined.
Below is the text of the app’s readme file.
Button Box is an app for gamers to control their sim or game experience through the phone by simulating keyboard inputs. Simply attach it to your existing gaming hardware and peripherals for extra buttons and controls at your fingerprints.
Download the server here: https://github.com/MohammadAdib/ButtonBoxServer/releases
https://github.com/MohammadAdib/ButtonBoxApp#readme
The following is taken from the readme file for the ButtonBoxServer application.
Button Box Server
ButtonBox server for the companion Android app: https://github.com/MohammadAdib/ButtonBoxApp
- Make sure all devices are on the same network. ButtonBox uses UDP to connect the devices together
- Download the latest
ButtonBoxServer.jar
file (from https://github.com/MohammadAdib/ButtonBoxServer/releases) and make sure you have Java installed.- Open a terminal, and navigate to the folder with the jar file. (
cd Downloads
for most people)- Run the command
java -jar ButtonBoxServer.jar
and open the app on your phone.It should look similar to this:
Enjoy!
https://github.com/MohammadAdib/ButtonBoxServer#readme
Default key bindings
- A/B/X/Y are mapped to their respective keys (pressing them is the same as pressing those keys on your keyboard)
- The red +/- buttons are mapped to Q and W respectively.
- The yellow +/- buttons are mapped to E and R respectively.
- The blue +/- buttons are mapped to T and Y respectively.
Long pressing on the button allows you to choose a new key binding. Key bindings are unique, meaning you cannot have more than one button bind to a key.
How it works
Button Box uses UDP to connect the devices together. The app has a built in repetitive 10 second heartbeat to check for connectivity with servers. Auto-discovery is possible as both the app and server have a UDP client and server passing ack’s back and forth.
For simulating key presses, a java Robot is used.
Future development
Future plans to expand this might include integration with real-time telemetry from games like Assetto Corsa
Conclusion
If all you need is the ability to hit one of 10 different keys without fiddling with your keyboard this app is perfect for you. If you need expanded functionality, macros, multiple key presses, or anything other than 0-9 & A-Z then this app is not going to be suited to your needs.
Related
If you need more than just the basics, we highly recommend you see our post on the Sim Dashboard app.
Here is a really good-looking app which you should avoid MATRIC.
Or you could turn your android device into a full-fledged game controller with another free app.