Chihuahua|
Projects

OpenMouse — Wireless PC Remote Control

Turn your Android phone into a mouse, keyboard and media remote for your PC over WiFi. Auto-discovery via mDNS, low-latency UDP protocol.

Andrés Aguilar
Andrés Aguilar
April 18, 2026
  • python
  • flutter
  • udp
  • mdns
  • pynput
  • asyncio
View codegithub.com/Avzolem/OpenMouse
OpenMouse — Wireless PC Remote Control - Image 1

Project Overview

OpenMouse turns your Android phone into a fully-featured input device for your PC over your local WiFi network. No cables, no drivers — install the Windows executable, launch the app, and you get a trackpad, keyboard and media controller in your pocket.

Built because, sometimes, your mouse dies mid-presentation.

Features

Trackpad

  • Wide touch zone for cursor movement
  • Tap = left click
  • Double tap = double click
  • Long press = right click
  • Dedicated side scroll bar + two-finger scroll

Full Keyboard

  • Real-time key capture
  • Text field to send whole phrases
  • Uses Android's native keyboard

Media Control

  • Play / pause
  • Next / previous
  • Volume up / down / mute
  • Large, easy-to-hit buttons

Automatic Discovery

  • Finds your PC automatically on the LAN (mDNS)
  • Manual IP fallback
  • Auto-reconnect on signal loss

One-Click PC Install

  • Run the .exe and you're done — self-installs and auto-starts
  • System tray icon shows IP and status
  • Auto-start on Windows boot
  • Uninstall from the tray menu

Protocol

A lightweight binary protocol optimized for low latency:

| Channel | Port | Use | Latency | |---|---|---|---| | UDP | 19780 | Mouse movement, scroll | ~1-5ms | | TCP | 19781 | Keyboard, clicks, multimedia | Reliable |

Mouse packets are sent 60-100 times per second at only 5 bytes each, producing a fluid, near-instant experience.

Tech Stack

  • PC Server: Python 3.11+ with asyncio (UDP + TCP listeners), pynput (input simulation), pystray (tray icon), zeroconf (mDNS), PyInstaller (packaging)
  • Android App: Flutter with dart:io (UDP/TCP) and bonsoir (mDNS discovery)
  • Platforms: Windows 10+, Linux, Android 5.0+

Repository

Source code, releases and binaries: github.com/Avzolem/OpenMouse