In the world of competitive gaming, a millisecond (ms) is an eternity. When we set out to build zController, the goal wasn't just to make a 'remote mouse' app; it was to build a virtual input system that could compete with wired hardware. Achieving this requiring rethinking how mobile device communicate with PCs.
The Protocol War: Why We chose UDP over TCP
Most remote desktop applications utilize TCP (Transmission Control Protocol). TCP is reliable; if a packet is lost, it pauses to request it again. For loading a webpage, this is perfect. For gaming, it is a disaster.
Why TCP fails for gaming: If you press 'Jump' and the packet drops, you don't want the game to pause and then jump 200ms later. You want the game to execute your next command immediately.
The zController Solution: We devised a custom UDP (User Datagram Protocol) streaming architecture. We fire input data packets at your PC hundreds of times per second. If one drops, we don't care—the next one updates the state 2ms later. This strict 'fire-and-forget' policy is the secret to our wired-like feel.
Kernel-Level Injection via ViGEmBus
Sending data fast is only half the battle. Your PC needs to process it.
Beginner apps use software simulation (injecting mouse events). This is slow and often blocked by games with anti-cheat software.
zController integrates with the ViGEmBus (Virtual Gamepad Emulation Bus) driver. This operates at the Kernel Level (Ring 0) of Windows. When you tap a button on your phone, zController talks directly to the OS kernel.
The Result: Games (and anti-cheat engines like Vanguard or Easy Anti-Cheat) literally cannot distinguish your phone connection from a physical hardware USB controller.
Real-Time Screen Sharing: Bringing the Desktop to You
For our Screen Sharing feature, we implemented WebRTC (Web Real-Time Communication), the same industry-standard technology used by Google Meet and Zoom.
- P2P (Peer-to-Peer): Video data never touches the internet. It travels solely over your local LAN, ensuring complete privacy and maximum bandwidth.
- H.264 Hardware Encoding: We leverage your PC's GPU to encode the video stream, ensuring minimal impact on CPU performance while gaming.
Overcoming the Wireless Jitter Problem
One of the biggest obstacles to a competitive wireless controller experience is "jitter" — the unpredictable variation in the time it takes for data packets to reach their destination. Even if you're experiencing an average 5ms ping on your local network, a random spike to 30ms will cause your aim to feel unresponsive, missed parries, and erratic steering.
To combat this, zController implements a proprietary interpolation algorithm on the Windows desktop client. When the client receives the raw telemetry stream (UDP packets containing your motion, button states, and stick values), it buffers the latest input by a fraction of a millisecond. If a network packet arrives late due to Wi-Fi interference, the ViGEmBus driver uses extrapolation to seamlessly "predict" where your joystick would be, smoothing out the curve. This micro-correction ensures that your character's movement is visually identical to a wired USB connection, effectively eliminating perceived network jitter.
The "Virtual Xbox 360" Paradigm
When zController connects, why do games universally recognize it? The answer lies in XInput, Microsoft's API for controllers on Windows. Prior to zController, getting applications to see a smartphone as a controller involved complex joy2key bindings and custom middleware that often triggered anti-cheat bans.
The integration with ViGEmBus creates a completely virtual Universal Serial Bus (USB) device attached to a virtual port on your computer. When you select "Xbox Controller" in the zController mobile app, the Desktop client instructs the Windows Kernel to plug in a new hardware device. Windows immediately loads `xusb22.sys`, the native, digitally signed Microsoft driver. Because the operating system is entirely convinced a physical chunk of plastic is connected to an actual USB port, 100% of PC games—from Steam Big Picture to Xbox Game Pass titles—function perfectly with zero configuration. You maintain total compatibility without resorting to fragile "hacky" workarounds.
zController is not just an app; it is a high-performance input pipeline. By stripping away protocols overhead and talking directly to the kernel, we've removed the 'wireless' feeling from wireless gaming.