-
Notifications
You must be signed in to change notification settings - Fork 0
Home
-
This is a cross-platform remote control application, implemented using TypeScript.
-
Preferably, a single server is responsible for:
- Serving the frontend.
- Receiving and injecting remote input events.
-
Intended for LAN usage only.
-
No system-level dependencies may be assumed to exist.
These must be implemented and verified before UI polish or configuration UX.
-
Remote cursor movement.
-
Remote mouse clicks:
- Left click
- Right click
-
Remote scrolling.
-
Remote keyboard input using the client device’s system keyboard.
-
Browser-accessible
/settingsroute. -
Displays:
- Editable IP address.
- Editable port.
-
Default values shown on first launch.
-
User can modify and save values.
-
Displays:
- Clickable link:
<LAN_IP>:<PORT>/trackpad - QR code encoding the same URL.
- Clickable link:
-
On save:
- The link is regenerated and redirected.
- The QR code is regenerated.
Layout order (top → bottom):
- Navigation bar (Trackpad / Settings)
- Trackpad area
- Control keys + extra keys
- Keyboard
-
Cursor Mode:
- Acts as a standard trackpad.
-
Scroll Mode:
- One-finger scrolling in any direction.
-
Modifier control with states:
- Hold
- Lock
- Release
Intended for key combinations (e.g. Ctrl, Shift, Ctrl+Shift+V).
-
Copy
-
Paste
Optimized for one-finger usage.
-
Mode toggle (Cursor / Scroll)
-
Right click
-
Keys commonly missing from mobile keyboards.
-
Includes (but is not limited to):
- Backspace
- Delete
- Windows / Meta
- Ctrl
- Shift
- Alt
- Tab
- Fn
- Media keys
- Arrow keys
- Uses the client device’s system keyboard.
- No custom keyboard UI is implemented.
- Keyboard input is sent directly to the server.
-
If supported by the platform:
- The keyboard should remain visible.
- Input should be sent directly to the server without extra steps.
-
This behavior is conditional and not guaranteed.
Applicable only if a stable local address can be provided for the server.
-
The web application is installable as a PWA.
-
Once installed, the user should not need to:
- Re-scan a QR code.
- Manually revisit the URL for regular use.
-
The application may be packaged using:
- Tauri, if achievable without deep Rust knowledge.
- Otherwise, Electron.
-
Linux:
- Distributed only as Flatpak.
-
Other desktop platforms:
- Distributed as standalone executables.
- Remote gamepad support.
- Multiple simultaneous connections.
- Handwritten input recognition.