A remote control application for Linux (X11) using a Go server and a React Native mobile client.
- Trackpad: Move mouse, single-finger tap for left click.
- Scroll: Two-finger drag for vertical and horizontal scrolling.
- Right Click: Two-finger tap.
- Keyboard: Full text input and special keys (Backspace, Enter).
- Alt+Tab: Dedicated bar to switch windows easily with haptic feedback.
- Sensitivity: Independent sliders for mouse and scroll speed.
- Auto-Discovery: mDNS support and network scanning to find your PC.
The server requires X11 to simulate mouse and keyboard events.
Navigate to the server directory and create a .env file:
cd server
cp .env.example .env # Or create one manuallyEdit .env:
WS_PORT=1488
SERVER_PASSWORD=1234Since the server runs in Docker, you must allow it to access your display:
xhost +local:dockerdocker compose up -d --buildIf you have Go installed locally, install dependencies and run:
sudo apt install libx11-dev libxtst-dev libpng-dev # Debian/Ubuntu/PopOS
go mod download
go run cmd/main.goThe client is built with Expo (React Native).
cd client
npm installnpx expo startScan the QR code with the Expo Go app on your Android or iOS device.
- Ensure your phone and PC are on the same Wi-Fi network.
- Use the Search icon in the app to scan the network, or tap the + button to add your PC's IP manually.
- Default Port:
1488 - Default Password:
1234
- "Could not open main display": Ensure you ran
xhost +local:docker. - Connection Timed Out: Check your PC's firewall. You might need to allow the port:
sudo ufw allow 1488/tcp
- Scrolling doesn't work: Ensure your Linux environment uses X11 (Wayland is currently not supported by
robotgo).