DeckTap (LAN MVP)
May 18, 2025 ยท View on GitHub
๐ก DeckTap is a lightweight local-network remote for controlling presentations.
Use your phone to wirelessly control PowerPoint, Keynote, PDF slideshows โ no app installation needed.
โจ Features
- ๐ฑ Control slides via your phone browser
- ๐ Works over local Wi-Fi/Hotspot network
- ๐ฅ Simulates keyboard arrow keys to navigate slides
- ๐ Minimal setup: run a local Node.js server and scan a QR code
- ๐ No internet required, safe and private
๐ฆ Project Structure
decktap/
โโโ client/ # Computer side agent
โ โโโ lan.js # LAN control
โ โโโ cloud.js # Connect cloud relay server in the future
โ โโโ config.js
โ
โโโ controller/ # Mobile phone controller web page
โ โโโ index.html
โ
โโโ server-cloud/ # Cloud server for remote control in the future
โ โโโ server.js
โ
โโโ README.md
โโโ LICENSE
โโโ package.json
โโโ .gitignore
๐ง Prerequisites
macOS Permissions
DeckTap uses @nut-tree/nut-js to simulate keyboard events. On macOS, you need to grant Accessibility permissions to your terminal:
- Open System Settings > Privacy & Security > Accessibility
- Click the lock icon ๐ to make changes
- Click the + button
- Select
Terminal.app(or iTerm, VS Code, etc. depending on what you use) - Check the box next to your terminal app
Note: Without these permissions, DeckTap won't be able to control your presentations.
๐ Getting Started (LAN Mode)
-
Install dependencies:
cd decktap-web && npm install && npm run build cd .. && npm install -
Grant accessibility permissions (macOS only):
- Follow the steps in macOS Permissions
- Restart your terminal after granting permissions
-
Start the server:
npm start -
Connect with your phone:
- Connect your phone to the same WiFi network(only support private WiFi without vlan, not working on campus network) as your computer
- Open the displayed URL in your phone's browser or Scan the QR code
-
- Start controlling your presentation (Use ๐ to switch left and right hand mode)
-
๐ฑ๏ธ Standalone Distribution Quick Start (Not available yet, an Electron client will be developed in the future)
If you received a standalone executable version of DeckTap (such as decktap-macos, decktap-win.exe, or decktap-linux), you can run it directly without installing Node.js or any dependencies.
Steps
-
macOS / Linux users:
- Before the first run, grant execute permission (only needed once):
chmod +x decktap-macos - Run:
./decktap-macos
- Before the first run, grant execute permission (only needed once):
-
Windows users:
- Run it in the command prompt:
decktap-win.exe
- Run it in the command prompt:
-
First run on macOS: Please follow the terminal prompts to grant Accessibility permissions (see above macOS Permissions).
-
Scan the QR code or open the displayed URL on your phone to start controlling your presentation!
If you encounter issues such as failure to run, insufficient permissions, or cannot access the page, please send the terminal error message to the developer for help.
