This project aims to allow any user to convert their old device into a macro keypad. Similar to a Stream Deck.
Very Slowly being re-built as a proper electron application. In the future, if time permits, I'd also like to create native Windows/Mac/Linux(GTK) varients as well, but that currently seems very unlikely.
- Download the latest release from the releases tab.
- Extract the zip file.
- Open a terminal to the root of the extracted folder, and run
pip install -r requirements.txtto install the projects dependencies.- If the above does not work, try
py -m pip install -r requirements.txtorpython3 -m pip install -r requirements.txt
- If the above does not work, try
- In the same terminal, navigate to
/serverand runpython3 ./server.py- If the above does not work, try
py ./server.py
- If the above does not work, try
- In a second terminal, navigate to
/webclientand runpython3 -m http.server 8080.- If the above does not work, try
py -m http.server 8080
- If the above does not work, try
- On a device of your choosing, navigate a web browser to
http://<YOUR IP ADDRESS>:8080- In the IP address field, enter the same IP address
- for the port, the default is
8765 - the default password is
PASSWORD123
Please note that this project is still in the prototyping phase, and should only be used for testing or development purposes. Running this in a production environment could put you and your data at risk.
server.pyopens a websocket server, and waits for a client to connect.- When the client device opens
index.htmleither locally or through a webserver, it connects to the websocket server thatserver.pyhas created. - When the user taps on a macro key, it sends the macro key number to the server.
- If the server determines that a valid macro key number has been sent, it inputs
ctrl+shift+F<MACRO NUMBER> - If the server is able to successfully input those key, it returns a success.
- If the client receives a success, it will highlight the key in green for 250ms
- If the server encounters an issues, it returns an error
- If the client receives an error, it will highlight the key in red for 250ms.
