"Transform your DualShock 4 into a native Xbox 360 controller"
LazyDS4 is a controller mapping application designed to convert HID input from a DualShock 4 controller directly to a virtual Xbox 360 controller. Optimized for simplicity and performance, it offers real-time input mapping with a ~1ms (1000Hz) polling rate, modern graphical interface with PyQt5, intelligent drift detection, and enhanced joystick calibration with adaptive algorithms.
Get the latest stable release from any of the following platforms:
|
|
|
- Download the installer
LazyDS4-2.1.0-Installer.exe - Run as administrator (required for ViGEmBus)
- Installer will automatically setup ViGEmBus driver
- Launch LazyDS4 from start menu or shortcut
- Controller Tab: Interactive DS4 visualization with real-time status
- Battery Monitor: Visual indicator with level, charging state, and alerts
- Controls: Start/Stop buttons, Bluetooth Pairing, Calibrate
- Log Tab: Detailed event and error logging
- Info Tab: Developer information, button mapping, and utilities
- Calibration Dialog: Interactive tool to adjust joysticks
- โ Direct HID to XInput Mapping โ Optimized real-time translation
- โ USB and Bluetooth Connection โ Complete support for DS4 v1 and v2
- โ 1000Hz Polling Rate โ Ultra-fast response of ~1ms
- ๐ฏ Smart Drift Detection โ Automatic detection with visual alerts and severity analysis
- ๐จ Modern Interface with dark theme design and visual effects
- ๐ Battery Monitor with low battery alerts and charging status
- ๐ฏ Enhanced Joystick Calibration with adaptive deadzone and drift correction
- ๐ง Automatic ViGEmBus Installation and driver management
- ๐ฑ Integrated Bluetooth Pairing Assistant
- ๐ฎ Interactive Controller Visualization in real-time
- ๐จ Visual Overhaul โ Modern, professional interface with gradient backgrounds and advanced styling
- ๐ Layout Optimization โ Improved spacing, alignment, and responsiveness
- ๐ Icon Integration โ Consistent use of dynamic SVG icons throughout
- โก Enhanced Button Design โ Polished buttons with smooth animations and clear actions
- ๐ Responsive Interface โ Adapted for various screen sizes without overlaps
- ๐ Real-time Visual Indicators โ Clear and immediate feedback for status, warnings, and battery levels
- Connect your DualShock 4 via USB or Bluetooth
- Open LazyDS4 as administrator (recommended)
- Press "โถ Start Service" to start mapping
- Configure as needed:
- Calibrate joysticks if drift occurs
- Pair new Bluetooth controllers
- Monitor battery and connection status
- Enjoy Playing! Your DS4 now works as an Xbox 360 controller
| DualShock 4 | Xbox 360 | Function |
|---|---|---|
| โ (Cross) | A | Confirm |
| โ (Circle) | B | Cancel |
| โ (Square) | X | Action |
| โฒ (Triangle) | Y | Action |
| L1 | LB | Left Bumper |
| R1 | RB | Right Bumper |
| L2 | LT | Left Trigger |
| R2 | RT | Right Trigger |
| Share | Back | Menu |
| Options | Start | Pause |
| PS Button | Guide | Xbox Home |
LazyDS4/
โโโ assets/ # Resources (icons, ViGEmBus installer)
โโโ core/ # Main controller logic
โ โโโ ds4_controller.py # DualShock 4 handling
โ โโโ vigem_controller.py # ViGEm virtual controller
โโโ ui/ # PyQt5 graphical interface
โ โโโ main_window.py # Main window
โ โโโ battery_widget.py # Battery widget
โ โโโ interactive_controller.py # Controller visualization
โ โโโ calibration_dialog.py # Calibration dialog
โโโ utils/ # System utilities
โ โโโ input_translator.py # HID to XInput translator
โ โโโ vigem_setup.py # ViGEmBus installer
โ โโโ bluetooth_manager.py # Bluetooth manager
โโโ LazyDS4.py # Main file
โโโ build.py # Build script
โโโ Setup.iss # Inno Setup script
โโโ requirements.txt # Python dependencies
- OS: Windows 10/11 (x64/x86/ARM64)
- RAM: Minimum 2GB (4GB recommended)
- Controller: DualShock 4 v1 or v2 (CUH-ZCT1/ZCT2)
- Connection: USB or Bluetooth 4.0+
- Privileges: Administrator (for ViGEmBus)
- Dependencies: ViGEmBus driver (installed automatically)
| Technology | License | Author/Maintenance | Link |
|---|---|---|---|
| Python 3.10+ | PSF License | Python Software Foundation | python.org |
| PyQt5 | GPL v3 | Riverbank Computing | riverbankcomputing.com |
| hidapi | BSD-3-Clause | Alan Ott, Signal 11 Software | GitHub |
| vgamepad | MIT License | Yann Bouteiller | GitHub |
| ViGEmBus | MIT License | ViGEm Project | GitHub |
| PyInstaller | GPL-2.0+ | PyInstaller Development Team | pyinstaller.org |
| Inno Setup | Inno License | Jordan Russell | jrsoftware.org |
Contributions are welcome!
- Fork the project
- Create a branch for your improvement (
git checkout -b feature/new-feature) - Make your changes and commit them (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request with details
For bug reports or suggestions: GitHub Issues or contact the developer
ยฉ 2025 Ivรกn Eduardo Chavez Ayub (@Ivan-Ayub97)
Distributed under the MIT License. See LICENSE for more details.
# Clone repository
git clone https://github.com/Ivan-Ayub97/LazyDS4.git
cd LazyDS4
# Install dependencies
pip install -r requirements.txt
# Run in development mode
python LazyDS4.py
# Build executable
python build.pybuild.py: Automated build with PyInstallerSetup.iss: Installer creation with Inno SetupLazyDS4.spec: Advanced PyInstaller configuration
Built by the lazy, for the lazy.




