I participated in the first LauzHack with my friend Sacha Bron. This project is our entry to the hackathon; we built it in less than 24 hours. Even though some sponsors were present in at the event, we chose to work on our own idea, which we thought about at the start of the event.
The app follows a classis Client-Server architecture.
The server, written in node.js, needs to be ran on the desktop computer. It opens an HTTP server, a WebSocket server, and instructs the user to open a the HTTP link on his smartphone. The HTTP serves a simple HTML page with a script. The WebSocket listens from incoming connections from this HTML page. Once connected, the server always looks for the name of the focused application, and sends the corresponding layout to the client.
The client loads the page on the phone, and then contacts the WebSocket server. Once connected, the server will periodically inform to the smartphone what buttons to show. Once the user clicks on a button, the information is sent to the WebSocket server, which will execute the button's corresponding action on the user's desktop using a simulated keyboard shortcut.
Maquereau can be downloaded on the GitHub. Instructions on how to install it and use it also sit there. It is compatible with Windows 10, OS X, and any linux running an X server.
Some desktop applications have been programmed with a layout. We thought about some a few that would have benefits being controlled remotely : Chrome, PowerPoint, Spotify, etc... . The compatibility list also lies on GitHub.