Top Related Projects
Windows kernel-mode driver emulating well-known USB game controllers.
TattieBogle Xbox 360 Driver (with improvements)
Like those other ds4tools, but sexier
Quick Overview
ScpToolkit is an open-source Windows driver and XInput wrapper for Sony DualShock 3/4 controllers. It allows users to use PlayStation controllers on Windows systems as if they were native Xbox controllers, providing seamless compatibility with games and applications that support XInput.
Pros
- Enables use of PlayStation controllers on Windows without additional hardware
- Supports both wired and wireless (Bluetooth) connections
- Provides customizable button mapping and controller profiles
- Offers additional features like battery monitoring and LED control
Cons
- No longer actively maintained (last update in 2017)
- May have compatibility issues with newer Windows versions
- Installation process can be complex for some users
- Potential conflicts with other controller drivers or software
Getting Started
- Download the latest release from the GitHub repository.
- Uninstall any existing PlayStation controller drivers.
- Run the ScpToolkit installer as administrator.
- Follow the on-screen instructions to install the necessary drivers.
- Connect your DualShock controller via USB or Bluetooth.
- Launch the ScpToolkit Monitor to configure and manage your controllers.
Note: As this project is no longer maintained, users should be cautious when installing it on modern systems and consider alternative solutions if available.
Competitor Comparisons
Windows kernel-mode driver emulating well-known USB game controllers.
Pros of ViGEmBus
- More modern and actively maintained
- Supports a wider range of virtual devices (Xbox 360, Xbox One, DualShock 4)
- Better performance and stability
Cons of ViGEmBus
- Requires more setup and configuration
- Less user-friendly for beginners
- May not support older games as well as ScpToolkit
Code Comparison
ScpToolkit:
public static Ds3Button[] Buttons =
{
new Ds3Button(Ds3Button.None),
new Ds3Button(Ds3Button.Select),
new Ds3Button(Ds3Button.L3),
// ...
};
ViGEmBus:
VIGEM_ERROR vigem_target_x360_update(
PVIGEM_CLIENT vigem,
PVIGEM_TARGET target,
XUSB_REPORT report
)
{
// Implementation
}
The code snippets show different approaches:
- ScpToolkit uses C# and focuses on button mapping
- ViGEmBus uses C++ and provides a lower-level API for device emulation
ViGEmBus offers more flexibility and control over virtual devices, while ScpToolkit provides a simpler, more straightforward approach for specific use cases.
TattieBogle Xbox 360 Driver (with improvements)
Pros of 360Controller
- macOS-specific, providing native support for Xbox controllers on Apple systems
- Actively maintained with regular updates and bug fixes
- Includes a preference pane for easy configuration
Cons of 360Controller
- Limited to macOS, not cross-platform like ScpToolkit
- Fewer controller options supported compared to ScpToolkit
- May require additional setup for some games or applications
Code Comparison
ScpToolkit (C#):
public static Ds3Device NewDs3Device(ScpDevice.Notifier notifier)
{
return new Ds3Device(notifier);
}
360Controller (Objective-C):
- (void)handleReport:(void*)report withLength:(int)length
{
[self parseReport:report withLength:length];
}
Both projects aim to provide controller support, but their implementations differ due to target platforms and programming languages. ScpToolkit focuses on Windows support using C#, while 360Controller is tailored for macOS using Objective-C. The code snippets demonstrate these differences in language and structure.
ScpToolkit offers broader controller support and cross-platform compatibility, making it more versatile for Windows users. 360Controller, on the other hand, provides a more integrated experience for macOS users with its native implementation and preference pane for easy configuration.
Like those other ds4tools, but sexier
Pros of DS4Windows
- More actively maintained and updated
- Supports a wider range of controllers, including DualSense (PS5)
- Offers more customization options and profile management
Cons of DS4Windows
- Requires additional setup for exclusive mode
- May have compatibility issues with some games
- Slightly more complex user interface
Code Comparison
DS4Windows (C#):
public static void LoadActions()
{
actions.Clear();
foreach (string actionName in Enum.GetNames(typeof(DS4Controls)))
{
DS4ControlItem item = new DS4ControlItem(actionName);
actions.Add(item);
}
}
ScpToolkit (C#):
public static void LoadMappings()
{
mappings.Clear();
foreach (string buttonName in Enum.GetNames(typeof(X360Button)))
{
X360ControlItem item = new X360ControlItem(buttonName);
mappings.Add(item);
}
}
Both projects use similar approaches for loading control mappings, but DS4Windows focuses on DS4 controls while ScpToolkit targets Xbox 360 controller emulation. DS4Windows generally offers more flexibility and features, while ScpToolkit provides a simpler solution for Xbox 360 controller emulation.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ScpToolkit
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
ð§ DEAD SINCE 2016 ð§
This project is unmaintained since 2016, let it rest!
For Windows 10 (or greater), consider using DsHidMini instead â¤ï¸
ð¥ OBSOLESCENCE NOTICE ð¥
Dear community, it has been an amazing ride but the time has come to let go. The ScpToolkit has outgrown itself and won't be continued any longer. You're still welcome to continue using it if it fits your needs, just don't expect any support, fixes or new features from the original developers.
ð FURTHER INFORMATION ð
ð Archival statement
ð Removal guide
â ï¸ SHADY CLONES â ï¸
With rising popularity of this project came the leeches ð The only official authentic download location is (and always was) here on GitHub: https://github.com/nefarius/ScpToolkit/releases
Any other site claiming to host, support, extend or continue ScpToolkit is unofficial and is not endorsed by the original developers. Some example search results:
You have been warned ð
Credits
Community
- Major props to original author Scarlet.Crush for developing this awesome toolkit!
- Original PCSX2 forums thread
Sponsors
- ScpToolkit´s Setup is created with Advanced Installer, a feature-rich and yet easy to learn installation package creation framework for the Windows platform.
- Development is assisted by JetBrains ReSharper Ultimate tool collection, a must-have for every serious .NET developer.
Used libraries and other 3rd party code
- MadMilkman.Ini parsing library by Mario Z.
- reactivesockets library by Daniel Cazzulino
- Windows Driver Installer library for USB devices
- PortableSettingsProvider
- log4net logging library
- Libarius .NET library
- Rx networking library
- libusbK driver package
- irrKlang cross platform sound library
- Metro Light and Dark Themes for WPF
- Fody/PropertyChanged
ScpCleanWipe
uses code from DriverStore Explorer- AutoDependencyProperty.Fody
- HIDSharp library
- Windows Input Simulator
- AutoDependencyProperty.Fody
- LoadAssembliesOnStartup
- Costura
- DBreeze NoSql embedded object DBMS
- Newtonsoft.Json
Installation requirements
- Microsoft Windows Vista/7/8/8.1/10 x86 or amd64
- Microsoft .NET Framework 4.5
- Microsoft Visual C++ 2010 Redistributable Package
- Microsoft Visual C++ 2013 Runtime
- DirectX Runtime
- Xbox 360 Controller driver
- Already integrated in Windows 8.x or greater
- At least one supported Sony DualShock 3/4 controller (see Compatible Controllers)
- Administrator rights during driver setup
Optional
- A supported Bluetooth 2.0 (or higher) compatible USB dongle with EDR (Enhanced Data Rate)
- For DS4s to be useable the minimal supported Bluetooth version is 2.1!
Top Related Projects
Windows kernel-mode driver emulating well-known USB game controllers.
TattieBogle Xbox 360 Driver (with improvements)
Like those other ds4tools, but sexier
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot