Technical Docs
LANpad User and Developer Reference manual
1. Architecture Overview
LANpad uses a local-first client-server bridge. The desktop application starts a local HTTP and WebSocket server (binding to port 8000 by default). Your mobile device acts as a secondary command pad, scanning the dynamic host parameters, generating connection session keys, and sending clipboard and keystroke commands across the local Wi-Fi.
2. Keyboard Injection Simulation
The simulation engine translates incoming text packets into low-level keyboard scans via PyAutoGUI. Key behaviors include:
- Words Per Minute (WPM): Adjustable speed settings (default 120 WPM) to match human typing rhythms.
- Character Mapping: Translates unicode symbols into active system layout keycodes to prevent syntax failures.
- Emergency Override: Pressing the
ESCkey instantly halts any ongoing typing sequence.
3. Security Boundaries
By default, local network transmissions utilize unencrypted HTTP channels. To prevent eavesdropping by rogue devices:
- Always execute LANpad over secure, password-protected WPA2/WPA3 Wi-Fi connections.
- Pair exclusively with mobile devices you own.
- Disconnect or quit the server when not actively transfering data.
4. Troubleshooting
Q: Mobile app cannot connect to the server?
A: Verify that both your laptop and phone are connected to the exact same Wi-Fi subnet and that AP Isolation is disabled on the router.
Q: Keyboard input skips characters or symbols?
A: Make sure your target active application window has keyboard focus and your system language matches standard QWERTY configurations.