PadRelay Documentation

PyPI Version Python Versions License

PadRelay is a client-server application that forwards gamepad input from a local machine to a Windows PC where a virtual controller is created. The client captures input with pygame and the server emulates either an Xbox 360 or DualShock 4 gamepad using the vgamepad library.

Key Features

  • Cross-Platform Client: Works with Python 3.6+ on any system with pygame

  • Windows Server: Uses ViGEmBus to create virtual Xbox 360 or DualShock 4 gamepads

  • Flexible Transport: Choose between TCP (reliable) or UDP (low latency)

  • Secure Authentication: Challenge/response for TCP and token authentication for UDP

  • TLS/SSL Support: Optional encryption for TCP connections

  • Rate Limiting: Protects servers from excessive requests

  • Automatic Reconnection: Client automatically reconnects if server disconnects

  • Controller Mapping: Built-in key mapper utility for custom controller layouts

  • Comprehensive Logging: Detailed debug logging with log sanitization

Use Cases

  • Stream gamepad input from Linux/Mac to Windows gaming PC

  • Remote gaming over local network or VPN

  • Use non-standard controllers with games expecting Xbox/PS4 controllers

  • Share a single physical controller with multiple machines

Documentation Contents

Indices and tables