Skip to main content

Volatouch Banner

Volatouch Logo

VOLATOUCH

Zero-Dependency Ultra-Low Latency Mobile Air Control & Wireless Trackpad for PC over Wi-Fi

PyPI version Python Versions License: MIT 0 Dependencies Ultra-Lightweight Platform: Windows

⚡ Quick Start • 🌟 Zero Dependencies • ✨ Features • 📱 Gestures • 💻 CLI Usage • 🛡️ Security • 🛠️ From Source


⚡ Quick Start

Install and launch Volatouch with ZERO third-party dependencies:

# 1. Install via pip (instant download, <100 KB total size)
pip install volatouch

# 2. Launch the air control server
volatouch

Open the printed URL (e.g. http://192.168.1.5:8000) in Safari or Chrome on any smartphone connected to the same Wi-Fi.
No mobile app installation, no accounts, no bloat!


🌟 100% Zero-Dependency Architecture

Unlike traditional remote desktop tools that require hundreds of megabytes of third-party libraries (OpenCV, NumPy, FastAPI, Uvicorn, etc.), Volatouch is engineered from the ground up to be completely self-contained:

  • 0 External Packages on PyPI: Requires literally 0 dependencies to install and run.
  • Native Windows GDI & GDI+ Capture: Hardware-level screen capture (<2ms) and native JPEG compression via Win32 ctypes without requiring OpenCV or Pillow.
  • Built-in Asyncio HTTP & WebSocket Server: RFC-6455 compliant WebSocket & static file server running on standard-library asyncio without FastAPI or Uvicorn.
  • Native Hardware Input Emulation: Mouse motion, clicks, wheel scrolls, and Unicode typing powered directly by Win32 SendInput / user32 APIs without pynput.
  • Pre-Bundled Web UI: Complete React + Tailwind touch interface embedded directly in the package (~220 KB), with zero Node.js / npm requirement at runtime.

✨ Features

  • 🚀 60 FPS Hardware Streaming: Sub-millisecond latency screen mirror with 8-byte double timestamp headers and single-slot atomic queues.
  • 🎯 Dual Input Modes:
    • Direct Target Mode: Tap anywhere on your phone screen to instantly teleport the cursor to that desktop point.
    • Relative Trackpad Mode: Smooth multi-touch trackpad navigation with acceleration curves.
  • 🏝️ Draggable Floating Action Island:
    • Dedicated L-Click and R-Click buttons.
    • HOLD / LOCKED Button: Persistent left-click lock with tactile vibration feedback for dragging windows and files.
    • UP & DOWN Scroll Buttons: Dedicated micro-step mouse wheel scrollers.
    • Collapsible Mini-Pill: Compact mode keeps controls out of the way.
    • Boundary Clamping: Widgets automatically re-align to stay safely within the viewport across orientation changes.
  • ⌨️ Built-In Virtual Keyboard:
    • Full QWERTY layout with dynamic Caps / Shift switching.
    • Sticky Modifiers: Ctrl, Shift, Alt, and Win (Super) lock on tap for desktop combos (e.g., Ctrl + C).
    • Function keys (F1–F12) and navigation keys.
  • 📱 Landscape Edge-to-Edge Fill: Switch between Fit and Fill modes to eliminate black bars on widescreen mobile displays.
  • 🌐 Bilingual UI: Instant toggle between English and Turkish saved in localStorage.

📱 Gesture & Touch Cheatsheet

Gesture / Action Relative Mode Direct Mode
1-Finger Drag Relative Mouse Cursor Movement Direct Cursor Navigation
1-Finger Tap Left Click (Mouse 1) Left Click at Touch Location
2-Finger Tap Right Click (Mouse 2) Right Click at Touch Location
2-Finger Scroll Smooth Vertical Wheel Scroll Smooth Vertical Wheel Scroll
Long Press (>350ms) Drag & Drop (Left Mouse Down) Drag & Drop at Location
Island [ HOLD ] Toggles Left Button Lock Toggles Left Button Lock
Island [ UP/DOWN ] Mouse Scroll Wheel Increment Mouse Scroll Wheel Increment

💻 CLI Usage

Launch Volatouch with custom network and display parameters:

usage: volatouch [-h] [--host HOST] [--port PORT] [--quality QUALITY]
                 [--scale SCALE] [--version]

Volatouch: Ultra-Low Latency Mobile Air Control & Wireless Trackpad for PC over Wi-Fi (Zero Dependencies).

options:
  -h, --help            Show this help message and exit
  --host HOST           Host network interface to bind (default: 0.0.0.0)
  -p PORT, --port PORT  Port to listen on (default: 8000)
  -q QUALITY, --quality QUALITY
                        Initial JPEG stream quality (10-100, default: 55)
  -s SCALE, --scale SCALE
                        Initial resolution scale (0.2-1.0, default: 0.70)
  -v, --version         Show program's version number and exit

Examples:

# Run on custom port
volatouch -p 8080

# Run with higher image quality
volatouch -q 75 -s 0.85

🛡️ Security & Sandbox

  1. Subnet Verification (RFC-1918): Only devices on the exact same /24 local Wi-Fi subnet can access endpoints or establish WebSocket handshakes. External requests receive an immediate 403 Forbidden.
  2. Strict Origin & CSP Protection: Enforces modern Content-Security-Policy, X-Frame-Options: DENY, and strict frame-ancestors restrictions.
  3. Whitelisted Hardware Commands: Only explicit, sanitized commands (mouse_move, mouse_click, key_tap, etc.) are processed. Arbitrary shell execution is impossible.
  4. Failsafe Key Release: When a connection drops, all pressed keys and mouse buttons are instantly released via input_ctrl.release_all() to prevent stuck keys on your PC.

🛠️ Running From Source

# 1. Clone repository
git clone https://github.com/ugurturkerkebeci/volatouch.git
cd volatouch

# 2. Run immediately (0 dependencies needed!)
python run.py

📄 License

Distributed under the MIT License. See LICENSE for full details.


Crafted with ❤️ by Uğur Türker Kebeci

Metadata

Release files for volatouch 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for volatouch 1.1.0
File Size Uploaded
volatouch-1.1.0.tar.gz 84.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for volatouch 1.1.0
File Interpreter ABI Platform
volatouch-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 167.4 kB

Release files / volatouch-1.1.0.tar.gz

Download URL volatouch-1.1.0.tar.gz
Size 84.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ef01e38704a6833ca65a8021f9bb6088b4c2f10b1b170ce0ea5aff4991257e55
BLAKE2b-256 checksum
How to use checksums
53be1ba99ee0d8f32bb3d374983f6dbd0d679b58d9d3982ea7e27ae8bf7c5368
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.7rc1

Release files / volatouch-1.1.0-py3-none-any.whl

Download URL volatouch-1.1.0-py3-none-any.whl
Size 82.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
682a0aab9aee349e81903dcb6daf8ff5851cc610a6bdb0b3513266bc513f3c4e
BLAKE2b-256 checksum
How to use checksums
7c1602e295d993fceb96babf398e4e646fcb59f9b4571bd0512b1a7bb5bab917
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.7rc1

Release history Release notifications | RSS feed

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page