Aplikasi Smartphone Presentation Remote & Laser Pointer untuk Microsoft PowerPoint, Google Slides, dan Canva berbasis WebSockets, Python, dan Android ADB.
Unduh langsung file APK ke HP Android Anda untuk menikmati kontrol slide menggunakan tombol volume fisik:
- 📲 Download PPTRemote.apk (Versi Terbaru v1.2.1) (GitHub Releases)
- 📦 Download Langsung dari Repositori (Raw File) (Mirror)
Saat melakukan presentasi penting (seperti sidang skripsi, seminar, pitch deck bisnis, atau kuliah umum), pembicara sering kali terbatas karena harus menekan tombol spasi atau panah di keyboard laptop secara manual, atau menggunakan pointer fisik konvensional.
PPTController mengubah smartphone (Android / iOS) Anda menjadi alat kendali presentasi profesional (wireless presenter remote) berlatensi sangat rendah (< 15 ms).
Aplikasi ini mendukung kontrol navigasi slide dan pointer laser untuk berbagai platform presentasi populer:
- Microsoft PowerPoint (Slideshow fullscreen, Presenter View, dan mode edit)
- Canva Presentation (di Google Chrome, Edge, Firefox)
- Google Slides (dengan pintasan laser pointer
L) - PDF Presenter / Adobe Acrobat Reader
- Navigasi Slide Universal & Responsif (Anti Double-Jump):
- Tombol Sentuh di HP: Tombol NEXT besar yang ramah jempol dan tombol PREV.
- Proteksi Single-Keystroke & Debounce: Menjamin setiap penekanan tombol hanya memajukan/memundurkan tepat 1 slide (mencegah slide melompat ganda).
- Dukungan Tombol Volume Fisik (Android): Tekan tombol fisik Volume Up pada bodi HP untuk Next Slide dan Volume Down untuk Prev Slide. Anda bisa berpindah slide tanpa perlu melihat layar HP atau bahkan saat HP berada di dalam saku jas/celana.
- Native Laser Pointer & High-RPS Air-Mouse:
- Mode Touchpad: Sentuh dan geser jempol di kotak touchpad HP untuk mengarahkan laser pointer secara presisi tanpa lag.
- Mode Air-Mouse (Gyroscope) dengan Dynamic Ballistics: Gerakkan kursor di udara hanya dengan sedikit jentikan pergelangan tangan berkat kurva akselerasi non-linear. Menjangkau seluruh sudut layar tanpa perlu gerakan tangan lebar.
- Pilihan Kecepatan Gyro Instan: Tersedia tombol preset kecepatan (1x Normal, 2x Cepat, dan 3x Turbo) yang dapat diubah dalam 1 ketukan.
- Dukungan Multi-Engine: Otomatis menyesuaikan mesin pointer:
Ctrl + Luntuk PowerPoint,Luntuk Google Slides, dan mouse tracking halus untuk Canva. - Otomatis kembali ke kursor panah standar saat sentuhan dilepas.
- Pintasan Presenter Terpadu:
- Mulai Slideshow (
F5): Memulai presentasi dari awal. - Lanjut Slideshow (
Shift + F5): Melanjutkan slide show dari slide aktif. - Layar Hitam / Blackout (
B): Menggelapkan layar untuk menarik fokus audiens ke pembicara (dilengkapi proteksi sentuhan tak disengaja). - Layar Putih / Whiteout (
W): Memutihkan layar. - Keluar Presentasi (
Esc): Mengakhiri slide show. - Canva Magic Shortcuts: Tombol confetti (🎉), drumroll (🥁), bubbles (🫧), dan quiet (🤫).
- Mulai Slideshow (
- Ergonomi & Produktivitas Pembicara:
- Stopwatch / Presentation Timer: Penghitung durasi waktu presentasi langsung di layar HP agar durasi bicara tetap terkontrol.
- Haptic Vibration Feedback: Ponsel bergetar lembut saat tombol ditekan sebagai konfirmasi taktil.
- Screen Wake-Lock: Menjaga layar ponsel tidak terkunci atau mati otomatis selama presentasi berlangsung.
- Dua Mode Akses Fleksibel:
- Mode Web PWA (Zero-Install): Cukup scan QR Code dari kamera HP mana pun (Android/iPhone) tanpa perlu menginstal aplikasi.
- Mode Native Android APK (
PPTRemote.apk): Mengizinkan integrasi tombol fisik volume bodi ponsel.
| Komponen | Teknologi / Tools | Keterangan |
|---|---|---|
| Backend Server | Python 3.12, FastAPI, Uvicorn, WebSockets | Server lokal real-time berlatensi ultra-rendah (<15ms) |
| Desktop GUI Host | Tkinter, Pillow, QRCode | Panel kontrol desktop laptop dengan tampilan QR Code |
| Input Engine | Windows Win32 API (ctypes), user32.dll, pynput |
Injeksi keystroke tingkat native ke desktop interaktif (WinSta0\default) |
| Mobile Web Remote | HTML5, CSS3 Modern Dark Mode, JavaScript ES6 | WebSockets, Touch Events, Vibration API, Wake Lock API |
| Android Companion | Java, Android SDK 34, Android WebView, Gradle 8.9 | Menangkap event hardware KEYCODE_VOLUME_UP & KEYCODE_VOLUME_DOWN |
| DevSecOps & Testing | Pytest, GitHub CLI (gh), ADB (Android Debug Bridge) |
Audit keamanan tanpa leak kredensial, automated test suite |
- Laptop/PC berbasis Windows 10 / 11.
- Telah terinstal Python 3.10+.
- Smartphone (Android atau iOS) yang terhubung ke laptop melalui:
- Opsi 1 (USB Debugging / Kabel USB): Paling direkomendasikan untuk stabilitas maksimal di ruang sidang/seminar.
- Opsi 2 (Wi-Fi / Hotspot): Smartphone dan laptop berada di jaringan Wi-Fi yang sama atau HP mengaktifkan Personal Hotspot ke laptop.
-
Clone repositori ini:
git clone https://github.com/Adrian463588/PPTController.git cd PPTController -
Instal dependensi Python yang dibutuhkan:
pip install -r requirements.txt
-
Jalankan server pengontrol:
- Cara Cepat: Klik dua kali file
start_controller.bat - Atau lewat terminal:
python app.py
Panel host akan muncul di layar laptop dan menampilkan QR Code serta URL server (misal:
http://192.168.0.5:8765). - Cara Cepat: Klik dua kali file
Pilih salah satu metode koneksi berikut:
- Hubungkan HP Android ke laptop menggunakan kabel USB dan pastikan USB Debugging aktif.
- Jalankan perintah reverse port forwarding sekali saja di terminal laptop:
adb reverse tcp:8765 tcp:8765
- Buka browser di HP Anda dan ketikkan alamat:
Atau buka aplikasi PPT Remote di HP Android Anda, masukkan alamat
http://127.0.0.1:8765127.0.0.1:8765, lalu tekan Hubungkan.
- Pastikan HP dan laptop terhubung ke jaringan Wi-Fi yang sama (atau laptop terhubung ke Hotspot HP Anda).
- Arahkan kamera HP ke QR Code yang tampil di layar laptop.
- Buka tautan yang muncul. Antarmuka remote controller akan langsung terbuka di browser HP Anda.
- Buka file presentasi Anda di laptop (Microsoft PowerPoint atau Canva).
- Di layar smartphone:
- Tekan tombol ▶ Mulai (F5) untuk memulai slideshow presentasi.
- Tekan tombol NEXT (atau tombol fisik Volume Up di HP) untuk maju ke slide berikutnya.
- Tekan tombol PREV (atau tombol fisik Volume Down di HP) untuk mundur ke slide sebelumnya.
- Geser jempol Anda di kotak touchpad HP untuk mengaktifkan dan menggerakkan Laser Pointer Merah PowerPoint.
- Gunakan tombol timer ▶ di HP untuk memantau durasi waktu berbicara Anda.
Proyek ini telah dilengkapi test suite otomatis menggunakan pytest:
python -m pytest tests/test_controller.py -vProyek ini dikembangkan dengan prinsip DevSecOps:
- Zero Credential Leaks: Tidak ada API key, token otentikasi, atau kredensial rahasia yang disimpan dalam repositori.
- Sanitasi File: Menggunakan
.gitignorekomprehensif untuk mencegah berkas sampah (build artifacts, cache Python/Gradle, dan log sesi) terunggah ke repositori publik. - Isolated Focus Control: Input controller berinteraksi secara aman pada desktop interaktif Windows tanpa mengganggu proses sistem lainnya.
Dibuat dengan dedikasi oleh: Adrian Syah Abidin
- GitHub: @Adrian463588
Didistribusikan di bawah lisensi MIT. Silakan gunakan dan modifikasi secara bebas untuk kebutuhan presentasi, riset, atau perkuliahan Anda.