├── SCPUser.exe ├── ScpLauncher ├── Scp.ico ├── Icons │ ├── document.ico │ ├── gamepad-gear.ico │ ├── window-tools.ico │ ├── database-gear.ico │ ├── network-server.ico │ ├── internet-network.ico │ ├── www-world-globe.ico │ ├── browser-web-content.ico │ ├── internet-page-content.ico │ ├── responsive-layout-screen.ico │ ├── calendar-date-month-planner.ico │ ├── checked-www-domain-window.ico │ ├── computer-devices-responsive.ico │ └── developer-api-coding-screen.ico ├── App.config ├── Properties │ ├── Settings.settings │ └── Settings.Designer.cs ├── packages.config ├── App.xaml.cs ├── Themes │ ├── Metro │ │ └── HowToApplyTheme.txt │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── MainWindow.xaml.cs └── App.xaml ├── ScpProfiler ├── Scp.ico ├── xbox.ico ├── redirect.ico ├── Icons │ ├── 48px-PS3_L1.png │ ├── 48px-PS3_L2.png │ ├── 48px-PS3_L3.png │ ├── 48px-PS3_R1.png │ ├── 48px-PS3_R2.png │ ├── 48px-PS3_R3.png │ ├── Ds4 │ │ ├── a_butt.png │ │ ├── b_butt.png │ │ ├── dpad_all.png │ │ ├── dpad_up.png │ │ ├── lb_butt.png │ │ ├── lt_butt.png │ │ ├── rb_butt.png │ │ ├── rt_butt.png │ │ ├── x_butt.png │ │ ├── y_butt.png │ │ ├── back_butt.png │ │ ├── dpad_down.png │ │ ├── dpad_left.png │ │ ├── dpad_none.png │ │ ├── dpad_right.png │ │ ├── lstick_all.png │ │ ├── lstick_up.png │ │ ├── rstick_all.png │ │ ├── rstick_up.png │ │ ├── start_butt.png │ │ ├── dpad_updown.png │ │ ├── lstick_down.png │ │ ├── lstick_left.png │ │ ├── lstick_none.png │ │ ├── lstick_right.png │ │ ├── lstick_updown.png │ │ ├── rstick_down.png │ │ ├── rstick_left.png │ │ ├── rstick_none.png │ │ ├── rstick_right.png │ │ ├── rstick_updown.png │ │ ├── dpad_leftright.png │ │ ├── lstick_leftright.png │ │ └── rstick_leftright.png │ ├── 32px-Settings.png │ ├── 32px-Settings2.png │ ├── 48px-PS3_Cross.png │ ├── 48px-PS3_Dpad.png │ ├── 48px-PS3_Start.png │ ├── 48px-Settings.png │ ├── 48px-PS3_Circle.png │ ├── 48px-PS3_PSHome.png │ ├── 48px-PS3_Select.png │ ├── 48px-PS3_Sqaure.png │ ├── 48px-PS3_Triangle.png │ ├── 48px-PS3_Left_Stick.png │ └── 48px-PS3_Right_Stick.png ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ ├── AssemblyInfo.cs │ └── Settings.Designer.cs ├── FodyWeavers.xml ├── DualShockProfileViewModel.cs ├── Themes │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── App.xaml ├── DpadAxisControl.xaml.cs ├── ThumbStickAxisControl.xaml.cs ├── packages.config └── App.xaml.cs ├── ScpSettings ├── Scp.ico ├── settings.ico ├── ColorPicker.dll ├── ColorPickerControls.dll ├── FodyWeavers.xml ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ ├── AssemblyInfo.cs │ └── Settings.Designer.cs ├── Themes │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── packages.config ├── App.xaml.cs ├── App.xaml ├── Controls │ ├── DirectoryBrowserControl.xaml │ ├── FileBrowserControl.xaml │ ├── ColorChooserControl.xaml │ ├── FileBrowserControl.xaml.cs │ └── DirectoryBrowserControl.xaml.cs └── App.config ├── ScpUser ├── ARPIcon.ico ├── Resources │ ├── Game.ico │ └── Controller.png ├── ScpExtended.cpp ├── stdafx.cpp ├── stdafx.h ├── resource.h ├── ScpUser.cpp ├── ScpUser_x64.props ├── ScpUser_x86.props ├── ScpExtensions.h ├── ScpExtensions.cpp ├── AssemblyInfo.cpp └── ScpUser.rc ├── ScpCleanWipe ├── Scp.ico ├── hazard.ico ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ └── Settings.Designer.cs ├── packages.config ├── App.xaml.cs ├── Themes │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── App.xaml └── App.config ├── Common └── Resources │ └── Scp.ico ├── Installer └── DualShock.png ├── ScpControl ├── updater.ico ├── Media │ ├── connect.wav │ ├── startup.ogg │ └── disconnect.flac ├── DIFxAPI │ ├── x86 │ │ └── DIFxAPI.dll │ └── amd64 │ │ └── DIFxAPI.dll ├── ScpVBus │ ├── x86 │ │ ├── ScpVBus.sys │ │ ├── scpvbus.cat │ │ └── WdfCoinstaller01009.dll │ └── amd64 │ │ ├── ScpVBus.sys │ │ ├── scpvbus.cat │ │ └── WdfCoinstaller01009.dll ├── irrKlang │ ├── x86 │ │ ├── ikpMP3.dll │ │ ├── ikpFlac.dll │ │ └── irrKlang.NET4.dll │ └── amd64 │ │ ├── ikpMP3.dll │ │ ├── ikpFlac.dll │ │ └── irrKlang.NET4.dll ├── libwdi │ ├── amd64 │ │ ├── libwdi.dll │ │ └── wdi-simple.exe │ └── x86 │ │ ├── libwdi.dll │ │ └── wdi-simple.exe ├── WinUSB │ ├── BluetoothHost.inf │ ├── Ds3Controller.inf │ ├── Ds4Controller.inf │ ├── bluetoothhost.cat │ ├── ds3controller.cat │ ├── ds4controller.cat │ ├── x86 │ │ ├── winusbcoinstaller2.dll │ │ └── WdfCoInstaller01011.dll │ └── amd64 │ │ ├── winusbcoinstaller2.dll │ │ └── WdfCoInstaller01011.dll ├── XOutput │ ├── amd64 │ │ └── XOutput1_1.dll │ └── x86 │ │ └── XOutput1_1.dll ├── LilyPad │ └── LilyPad-Scp-r5875.dll ├── FodyWeavers.xml ├── Properties │ ├── AssemblyInfo.cs │ ├── CommonInfo.cs │ └── Settings.cs ├── Utilities │ ├── ProcessHelper.cs │ ├── ConcurrentDictionaryExtensions.cs │ ├── StringExtensions.cs │ ├── ByteArrayExtensions.cs │ ├── PhysicalAddressExtensions.cs │ ├── ControlExtensions.cs │ ├── TaskQueue.cs │ ├── MacAddressGenerator.cs │ ├── AssemblyHelper.cs │ └── GenericGamepadConfig.cs ├── Driver │ └── PNPUtilLib │ │ └── IDriverStore.cs ├── Usb │ ├── Ds3 │ │ └── Replica │ │ │ └── UsbDs3QuadStick.cs │ ├── UsbHub.Designer.cs │ └── Gamepads │ │ ├── UsbTwinUSBJoystick.cs │ │ └── UsbGameStopDigitalController.cs ├── Exceptions │ └── RootHubAlreadyStartedException.cs ├── Profiler │ └── VirtualMouse.cs ├── Rx │ └── IChannel.cs ├── Value Converters │ ├── RadioBoolToIntConverter.cs │ ├── MultiCheckedToEnabledConverter.cs │ └── EnumDescriptionConverter.cs ├── UsbDs3AfterglowAp2.cs ├── ScpProxy.Designer.cs ├── ScpHub.Designer.cs ├── RootHub.Designer.cs ├── Bluetooth │ └── BthHub.Designer.cs ├── Wcf │ └── IScpCommandService.cs ├── ScpTimer.Designer.cs ├── ScpCore │ └── SingletonBase.cs └── packages.config ├── ScpDriverInstaller ├── Scp.ico ├── Usb.ico ├── FodyWeavers.xml ├── Images │ ├── Warning.png │ └── Warning.fr.png ├── Properties │ ├── CommonInfo.cs │ ├── Settings.settings │ └── AssemblyInfo.cs ├── Themes │ ├── Metro │ │ └── HowToApplyTheme.txt │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── View Models │ └── InstallationOptionsViewModel.cs ├── App.xaml ├── packages.config ├── Utilities │ ├── UiContext.cs │ ├── ExtendedMessageBox.cs │ └── BitmapToImageSourceConverter.cs └── App.xaml.cs ├── ScpGamepadAnalyzer ├── Scp.ico ├── gamepad.ico ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ ├── AssemblyInfo.cs │ └── Settings.Designer.cs ├── packages.config ├── App.xaml.cs ├── Themes │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── App.xaml └── App.config ├── Setup └── ScpToolkitSetup.suf ├── XInput_Scp ├── LibUsbApi.h ├── stdafx.cpp ├── DS3Controller.h ├── SL3Controller.h ├── resource.h ├── DS2Controller.h ├── XInput_SCP.def ├── dllmain.cpp ├── XInput_SCP.h ├── stdafx.h ├── BTConnection.h ├── X360Controller.h ├── XInput_SCP.rc └── targetver.h ├── ScpDebugInfoCollector ├── Bug.ico ├── packages.config ├── Properties │ ├── AssemblyInfo.cs │ └── CommonInfo.cs └── App.config ├── ScpPair ├── Resources │ └── Scp_All.ico ├── packages.config ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.settings │ ├── CommonInfo.cs │ └── Settings.Designer.cs ├── Program.cs └── app.config ├── ScpTrayApp ├── Dual Shock 3.ico ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ ├── AssemblyInfo.cs │ └── Settings.Designer.cs ├── App.xaml ├── App.xaml.cs ├── packages.config └── MainWindow.xaml ├── ScpServer ├── Resources │ └── Scp_All.ico ├── packages.config ├── Properties │ ├── Settings.settings │ ├── AssemblyInfo.cs │ ├── CommonInfo.cs │ └── Settings.Designer.cs └── Program.cs ├── ScpXInputBridge ├── FodyWeavers.xml ├── packages.config ├── Properties │ ├── CommonInfo.cs │ └── AssemblyInfo.cs └── XInputDll.Extensions.cs ├── ScpControlPanel ├── Dual Shock 3.ico ├── Icons │ └── arrow-up.ico ├── Properties │ ├── Settings.settings │ ├── CommonInfo.cs │ ├── AssemblyInfo.cs │ └── Settings.Designer.cs ├── FodyWeavers.xml ├── App.xaml.cs ├── Themes │ └── MetroDark │ │ └── HowToApplyTheme.txt ├── View Models │ └── PadStatsViewModel.cs ├── App.xaml ├── packages.config ├── App.config ├── MainWindow.xaml.cs ├── MainWindow.xaml └── Controls │ └── PadEntryCollectionControl.xaml.cs ├── ScpInstaller ├── Resources │ └── Scp_All.ico ├── packages.config ├── ScpDriver.xml ├── Properties │ ├── AssemblyInfo.cs │ ├── CommonInfo.cs │ ├── Settings.settings │ └── ScpInstaller.manifest ├── Program.cs └── ScpDriver.cs ├── ScpMonitor ├── Resources │ └── Scp_All.ico ├── packages.config ├── Properties │ ├── Settings.settings │ ├── AssemblyInfo.cs │ ├── CommonInfo.cs │ └── Settings.Designer.cs ├── Program.cs ├── ScpButton.Designer.cs └── AxisBar.Designer.cs ├── ScpService ├── Resources │ └── Scp_All.ico ├── packages.config ├── Properties │ ├── Settings.settings │ ├── AssemblyInfo.cs │ ├── CommonInfo.cs │ └── Settings.Designer.cs ├── ProjectInstaller.cs └── Ds3Service.Designer.cs ├── ScpControl.Shared ├── FodyWeavers.xml ├── Core │ ├── DualShockTrackPad.cs │ ├── DualShockMotion.cs │ ├── DualShockPadMeta.cs │ └── ScpHidReport.cs ├── Properties │ ├── AssemblyInfo.cs │ └── CommonInfo.cs ├── packages.config ├── XInput │ └── ScpXInputExtensions.cs └── Win32 │ └── Kernel32Natives.cs ├── HidReport.Contract ├── DsActors │ ├── IDsAccelerometerImmutable.cs │ ├── IDsGyroscopeImmutable.cs │ ├── IDsTrackPadTouchImmutable.cs │ ├── IDsButtonState.cs │ └── IDsAxisStateImmutable.cs ├── Enums │ ├── DsBattery.cs │ ├── AxesEnum.cs │ └── ButtonsEnum.cs ├── Core │ └── IScpHidReport.cs └── Properties │ └── AssemblyInfo.cs ├── HidReport ├── packages.config ├── DsActors │ ├── DsAccelerometer.cs │ ├── DsGyroscope.cs │ ├── DsTrackPadTouch.cs │ ├── DsButtonState.cs │ └── DsAxisState.cs └── Properties │ ├── AssemblyInfo.cs │ └── CommonInfo.cs ├── updates.txt ├── packages └── repositories.config └── Clean.cmd /SCPUser.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/SCPUser.exe -------------------------------------------------------------------------------- /ScpLauncher/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Scp.ico -------------------------------------------------------------------------------- /ScpProfiler/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Scp.ico -------------------------------------------------------------------------------- /ScpSettings/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpSettings/Scp.ico -------------------------------------------------------------------------------- /ScpUser/ARPIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpUser/ARPIcon.ico -------------------------------------------------------------------------------- /ScpCleanWipe/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpCleanWipe/Scp.ico -------------------------------------------------------------------------------- /ScpProfiler/xbox.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/xbox.ico -------------------------------------------------------------------------------- /Common/Resources/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/Common/Resources/Scp.ico -------------------------------------------------------------------------------- /Installer/DualShock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/Installer/DualShock.png -------------------------------------------------------------------------------- /ScpCleanWipe/hazard.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpCleanWipe/hazard.ico -------------------------------------------------------------------------------- /ScpControl/updater.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/updater.ico -------------------------------------------------------------------------------- /ScpProfiler/redirect.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/redirect.ico -------------------------------------------------------------------------------- /ScpSettings/settings.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpSettings/settings.ico -------------------------------------------------------------------------------- /ScpDriverInstaller/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpDriverInstaller/Scp.ico -------------------------------------------------------------------------------- /ScpDriverInstaller/Usb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpDriverInstaller/Usb.ico -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Scp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpGamepadAnalyzer/Scp.ico -------------------------------------------------------------------------------- /ScpUser/Resources/Game.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpUser/Resources/Game.ico -------------------------------------------------------------------------------- /ScpUser/ScpExtended.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "SCPExtensions.h" 3 | #include "SCPExtended.h" 4 | -------------------------------------------------------------------------------- /Setup/ScpToolkitSetup.suf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/Setup/ScpToolkitSetup.suf -------------------------------------------------------------------------------- /XInput_Scp/LibUsbApi.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | extern void load_lib_usb(); 4 | extern void init_lib_usb(); 5 | -------------------------------------------------------------------------------- /ScpControl/Media/connect.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/Media/connect.wav -------------------------------------------------------------------------------- /ScpControl/Media/startup.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/Media/startup.ogg -------------------------------------------------------------------------------- /ScpDebugInfoCollector/Bug.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpDebugInfoCollector/Bug.ico -------------------------------------------------------------------------------- /ScpPair/Resources/Scp_All.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpPair/Resources/Scp_All.ico -------------------------------------------------------------------------------- /ScpSettings/ColorPicker.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpSettings/ColorPicker.dll -------------------------------------------------------------------------------- /ScpTrayApp/Dual Shock 3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpTrayApp/Dual Shock 3.ico -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/gamepad.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpGamepadAnalyzer/gamepad.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/document.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/document.ico -------------------------------------------------------------------------------- /ScpServer/Resources/Scp_All.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpServer/Resources/Scp_All.ico -------------------------------------------------------------------------------- /ScpXInputBridge/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpControl/DIFxAPI/x86/DIFxAPI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/DIFxAPI/x86/DIFxAPI.dll -------------------------------------------------------------------------------- /ScpControl/Media/disconnect.flac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/Media/disconnect.flac -------------------------------------------------------------------------------- /ScpControl/ScpVBus/x86/ScpVBus.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/x86/ScpVBus.sys -------------------------------------------------------------------------------- /ScpControl/ScpVBus/x86/scpvbus.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/x86/scpvbus.cat -------------------------------------------------------------------------------- /ScpControl/irrKlang/x86/ikpMP3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/x86/ikpMP3.dll -------------------------------------------------------------------------------- /ScpControl/libwdi/amd64/libwdi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/libwdi/amd64/libwdi.dll -------------------------------------------------------------------------------- /ScpControl/libwdi/x86/libwdi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/libwdi/x86/libwdi.dll -------------------------------------------------------------------------------- /ScpControlPanel/Dual Shock 3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControlPanel/Dual Shock 3.ico -------------------------------------------------------------------------------- /ScpControlPanel/Icons/arrow-up.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControlPanel/Icons/arrow-up.ico -------------------------------------------------------------------------------- /ScpInstaller/Resources/Scp_All.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpInstaller/Resources/Scp_All.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/gamepad-gear.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/gamepad-gear.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/window-tools.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/window-tools.ico -------------------------------------------------------------------------------- /ScpMonitor/Resources/Scp_All.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpMonitor/Resources/Scp_All.ico -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_L1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_L1.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_L2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_L2.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_L3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_L3.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_R1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_R1.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_R2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_R2.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_R3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_R3.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/a_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/a_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/b_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/b_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_all.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_up.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lb_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lb_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lt_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lt_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rb_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rb_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rt_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rt_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/x_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/x_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/y_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/y_butt.png -------------------------------------------------------------------------------- /ScpService/Resources/Scp_All.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpService/Resources/Scp_All.ico -------------------------------------------------------------------------------- /ScpUser/Resources/Controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpUser/Resources/Controller.png -------------------------------------------------------------------------------- /ScpControl.Shared/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpControl/DIFxAPI/amd64/DIFxAPI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/DIFxAPI/amd64/DIFxAPI.dll -------------------------------------------------------------------------------- /ScpControl/ScpVBus/amd64/ScpVBus.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/amd64/ScpVBus.sys -------------------------------------------------------------------------------- /ScpControl/ScpVBus/amd64/scpvbus.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/amd64/scpvbus.cat -------------------------------------------------------------------------------- /ScpControl/WinUSB/BluetoothHost.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/BluetoothHost.inf -------------------------------------------------------------------------------- /ScpControl/WinUSB/Ds3Controller.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/Ds3Controller.inf -------------------------------------------------------------------------------- /ScpControl/WinUSB/Ds4Controller.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/Ds4Controller.inf -------------------------------------------------------------------------------- /ScpControl/WinUSB/bluetoothhost.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/bluetoothhost.cat -------------------------------------------------------------------------------- /ScpControl/WinUSB/ds3controller.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/ds3controller.cat -------------------------------------------------------------------------------- /ScpControl/WinUSB/ds4controller.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/ds4controller.cat -------------------------------------------------------------------------------- /ScpControl/irrKlang/amd64/ikpMP3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/amd64/ikpMP3.dll -------------------------------------------------------------------------------- /ScpControl/irrKlang/x86/ikpFlac.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/x86/ikpFlac.dll -------------------------------------------------------------------------------- /ScpControl/libwdi/x86/wdi-simple.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/libwdi/x86/wdi-simple.exe -------------------------------------------------------------------------------- /ScpDriverInstaller/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpLauncher/Icons/database-gear.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/database-gear.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/network-server.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/network-server.ico -------------------------------------------------------------------------------- /ScpProfiler/Icons/32px-Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/32px-Settings.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/32px-Settings2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/32px-Settings2.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Cross.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Dpad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Dpad.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Start.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-Settings.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/back_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/back_butt.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_down.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_left.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_none.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_right.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_all.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_up.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_all.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_up.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/start_butt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/start_butt.png -------------------------------------------------------------------------------- /ScpSettings/ColorPickerControls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpSettings/ColorPickerControls.dll -------------------------------------------------------------------------------- /ScpControl/XOutput/amd64/XOutput1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/XOutput/amd64/XOutput1_1.dll -------------------------------------------------------------------------------- /ScpControl/XOutput/x86/XOutput1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/XOutput/x86/XOutput1_1.dll -------------------------------------------------------------------------------- /ScpControl/irrKlang/amd64/ikpFlac.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/amd64/ikpFlac.dll -------------------------------------------------------------------------------- /ScpControl/libwdi/amd64/wdi-simple.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/libwdi/amd64/wdi-simple.exe -------------------------------------------------------------------------------- /ScpDriverInstaller/Images/Warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpDriverInstaller/Images/Warning.png -------------------------------------------------------------------------------- /ScpLauncher/Icons/internet-network.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/internet-network.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/www-world-globe.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/www-world-globe.ico -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Circle.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_PSHome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_PSHome.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Select.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Sqaure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Sqaure.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Triangle.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_updown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_updown.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_down.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_left.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_none.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_right.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_updown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_updown.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_down.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_left.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_none.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_right.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_updown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_updown.png -------------------------------------------------------------------------------- /ScpControl/LilyPad/LilyPad-Scp-r5875.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/LilyPad/LilyPad-Scp-r5875.dll -------------------------------------------------------------------------------- /ScpControl/irrKlang/x86/irrKlang.NET4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/x86/irrKlang.NET4.dll -------------------------------------------------------------------------------- /ScpDriverInstaller/Images/Warning.fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpDriverInstaller/Images/Warning.fr.png -------------------------------------------------------------------------------- /ScpLauncher/Icons/browser-web-content.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/browser-web-content.ico -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Left_Stick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Left_Stick.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/dpad_leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/dpad_leftright.png -------------------------------------------------------------------------------- /ScpControl/WinUSB/x86/winusbcoinstaller2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/x86/winusbcoinstaller2.dll -------------------------------------------------------------------------------- /ScpControl/irrKlang/amd64/irrKlang.NET4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/irrKlang/amd64/irrKlang.NET4.dll -------------------------------------------------------------------------------- /ScpLauncher/Icons/internet-page-content.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/internet-page-content.ico -------------------------------------------------------------------------------- /ScpProfiler/Icons/48px-PS3_Right_Stick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/48px-PS3_Right_Stick.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/lstick_leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/lstick_leftright.png -------------------------------------------------------------------------------- /ScpProfiler/Icons/Ds4/rstick_leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpProfiler/Icons/Ds4/rstick_leftright.png -------------------------------------------------------------------------------- /ScpControl/ScpVBus/x86/WdfCoinstaller01009.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/x86/WdfCoinstaller01009.dll -------------------------------------------------------------------------------- /ScpControl/WinUSB/amd64/winusbcoinstaller2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/amd64/winusbcoinstaller2.dll -------------------------------------------------------------------------------- /ScpControl/WinUSB/x86/WdfCoInstaller01011.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/x86/WdfCoInstaller01011.dll -------------------------------------------------------------------------------- /ScpLauncher/Icons/responsive-layout-screen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/responsive-layout-screen.ico -------------------------------------------------------------------------------- /ScpControl/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpControl/ScpVBus/amd64/WdfCoinstaller01009.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/ScpVBus/amd64/WdfCoinstaller01009.dll -------------------------------------------------------------------------------- /ScpControl/WinUSB/amd64/WdfCoInstaller01011.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpControl/WinUSB/amd64/WdfCoInstaller01011.dll -------------------------------------------------------------------------------- /ScpLauncher/Icons/calendar-date-month-planner.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/calendar-date-month-planner.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/checked-www-domain-window.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/checked-www-domain-window.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/computer-devices-responsive.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/computer-devices-responsive.ico -------------------------------------------------------------------------------- /ScpLauncher/Icons/developer-api-coding-screen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SciLor/ScpToolkit/master/ScpLauncher/Icons/developer-api-coding-screen.ico -------------------------------------------------------------------------------- /ScpPair/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpInstaller/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpMonitor/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpServer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ScpLauncher/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ScpService/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpUser/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // SCPUser.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | -------------------------------------------------------------------------------- /ScpMonitor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpService/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpCleanWipe/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpDebugInfoCollector/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpLauncher/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpProfiler/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpSettings/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | WindowsBase 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ScpSettings/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpTrayApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /HidReport.Contract/DsActors/IDsAccelerometerImmutable.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.DsActors 2 | { 3 | public interface IDsAccelerometerImmutable 4 | { 5 | short X { get; } 6 | short Y { get; } 7 | short Z { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /ScpControlPanel/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /HidReport.Contract/DsActors/IDsGyroscopeImmutable.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.DsActors 2 | { 3 | public interface IDsGyroscopeImmutable 4 | { 5 | short Pitch { get; } 6 | short Roll { get; } 7 | short Yaw { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /ScpCleanWipe/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpLauncher/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScpUser/stdafx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define STRICT 4 | #define WIN32_LEAN_AND_MEAN 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include "Resource.h" 11 | 12 | #define XINPUT_GAMEPAD_GUIDE 0x400 13 | -------------------------------------------------------------------------------- /ScpControlPanel/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | WindowsBase 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpProfiler/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | WindowsBase 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /HidReport.Contract/DsActors/IDsTrackPadTouchImmutable.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.DsActors 2 | { 3 | public interface IDsTrackPadTouchImmutable 4 | { 5 | int Id { get; } 6 | bool IsActive { get; } 7 | int X { get; } 8 | int Y { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /ScpInstaller/ScpDriver.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | True 6 | True 7 | True 8 | True 9 | -------------------------------------------------------------------------------- /ScpPair/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyTitle("ScpPair")] 6 | [assembly: AssemblyProduct("ScpPair")] 7 | 8 | [assembly: Guid("359e2b03-d7dd-48a2-893f-4ece5bd91258")] 9 | -------------------------------------------------------------------------------- /ScpPair/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ScpServer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HidReport/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ScpControl.Shared/Core/DualShockTrackPad.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Shared.Core 2 | { 3 | public class DsTrackPadTouch 4 | { 5 | public int Id { get; set; } 6 | public bool IsActive { get; set; } 7 | public int X { get; set; } 8 | public int Y { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ScpInstaller/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using log4net.Config; 4 | 5 | [assembly: AssemblyTitle("ScpDriver")] 6 | [assembly: AssemblyProduct("ScpDriver")] 7 | [assembly: Guid("57ba2291-9504-441d-a0fe-9ccdd326508c")] 8 | [assembly: XmlConfigurator(Watch = true)] -------------------------------------------------------------------------------- /ScpService/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using log4net.Config; 4 | 5 | [assembly: AssemblyTitle("ScpService")] 6 | [assembly: AssemblyProduct("ScpService")] 7 | [assembly: Guid("04b22521-cf98-4967-99a4-14479e672589")] 8 | [assembly: XmlConfigurator(Watch = true)] -------------------------------------------------------------------------------- /ScpMonitor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using log4net.Config; 4 | 5 | [assembly: AssemblyTitle("ScpMonitor")] 6 | [assembly: AssemblyProduct("ScpMonitor")] 7 | 8 | [assembly: Guid("85966027-b1d8-4a14-bc29-36f9091db86b")] 9 | [assembly: XmlConfigurator(Watch = true)] -------------------------------------------------------------------------------- /XInput_Scp/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // XInput_DS3.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /ScpControl/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using log4net.Config; 4 | 5 | [assembly: AssemblyTitle("ScpControl")] 6 | [assembly: AssemblyProduct("ScpControl")] 7 | 8 | [assembly: Guid("8848658d-0ae2-43fe-9b7c-5ff3ad35c1a8")] 9 | [assembly: XmlConfigurator(Watch = true)] 10 | -------------------------------------------------------------------------------- /ScpControl/Utilities/ProcessHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using ScpControl.ScpCore; 7 | 8 | namespace ScpControl.Utilities 9 | { 10 | public class ProcessHelper : SingletonBase 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /XInput_Scp/DS3Controller.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CDS3Controller : public CSCPController 4 | { 5 | public: 6 | 7 | static const DWORD CollectionSize = 1; 8 | 9 | public: 10 | 11 | CDS3Controller(DWORD dwIndex); 12 | 13 | protected: 14 | 15 | virtual void FormatReport(void); 16 | 17 | virtual void XInputMapState(void); 18 | }; 19 | -------------------------------------------------------------------------------- /ScpTrayApp/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /XInput_Scp/SL3Controller.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CSL3Controller : public CSCPController 4 | { 5 | public: 6 | 7 | static const DWORD CollectionSize = 1; 8 | 9 | public: 10 | 11 | CSL3Controller(DWORD dwIndex); 12 | 13 | protected: 14 | 15 | virtual void FormatReport(void); 16 | 17 | virtual void XInputMapState(void); 18 | }; 19 | 20 | -------------------------------------------------------------------------------- /HidReport/DsActors/DsAccelerometer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HidReport.Contract.DsActors; 3 | 4 | namespace HidReport.DsActors 5 | { 6 | [Serializable] 7 | public class DsAccelerometer : IDsAccelerometerImmutable 8 | { 9 | public short X { get; set; } 10 | public short Y { get; set; } 11 | public short Z { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HidReport/DsActors/DsGyroscope.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HidReport.Contract.DsActors; 3 | 4 | namespace HidReport.DsActors 5 | { 6 | [Serializable] 7 | public class DsGyroscope : IDsGyroscopeImmutable 8 | { 9 | public short Roll { get; set; } 10 | public short Yaw { get; set; } 11 | public short Pitch { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ScpServer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using log4net.Config; 5 | 6 | [assembly: AssemblyTitle("ScpServer")] 7 | [assembly: AssemblyProduct("ScpServer")] 8 | 9 | [assembly: Guid("a52b5b20-d9ee-4f32-8518-307fa14aa0c6")] 10 | [assembly: XmlConfigurator(Watch = true)] -------------------------------------------------------------------------------- /HidReport.Contract/DsActors/IDsButtonState.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.DsActors 2 | { 3 | /// 4 | /// Describes the possible states for a DualShock button. 5 | /// 6 | public interface IDsButtonState 7 | { 8 | bool IsPressed { get; set; } 9 | float Pressure { get; } 10 | byte Value { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /updates.txt: -------------------------------------------------------------------------------- 1 | ;aiu; 2 | 3 | [ScpToolkit v1.6.238.16010] 4 | Name = ScpToolkit v1.6.238.16010 5 | URL = https://github.com/nefarius/ScpServer/releases/download/v1.6.238.16010/ScpToolkit_Setup.exe 6 | Description = View changelog online 7 | Size = 23361996 8 | FilePath = [APPDIR]ScpControl.dll 9 | Version = 1.6.238.16010 -------------------------------------------------------------------------------- /ScpControl/Driver/PNPUtilLib/IDriverStore.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ScpControl.Driver.PNPUtilLib 4 | { 5 | public interface IDriverStore 6 | { 7 | List EnumeratePackages(); 8 | bool DeletePackage(DriverStoreEntry dse, bool forceDelete); 9 | bool AddPackage(string infFullPath, bool install); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpService/ProjectInstaller.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using System.Configuration.Install; 4 | 5 | namespace ScpService 6 | { 7 | [RunInstaller(true)] 8 | public partial class ProjectInstaller : System.Configuration.Install.Installer 9 | { 10 | public ProjectInstaller() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HidReport/DsActors/DsTrackPadTouch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HidReport.Contract.DsActors; 3 | 4 | namespace HidReport.DsActors 5 | { 6 | [Serializable] 7 | public class DsTrackPadTouch : IDsTrackPadTouchImmutable 8 | { 9 | public int Id { get; set; } 10 | public bool IsActive { get; set; } 11 | public int X { get; set; } 12 | public int Y { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ScpControl/Usb/Ds3/Replica/UsbDs3QuadStick.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Usb.Ds3.Replica 2 | { 3 | /// 4 | /// Represents a Quad Stick controller. 5 | /// 6 | public class UsbDs3QuadStick : UsbDs3Afterglow 7 | { 8 | // it currently behaves identical to the Afterglow controller, no additional changes needed 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ScpLauncher/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace ScpLauncher 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ScpTrayApp/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace ScpTrayApp 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ScpTrayApp/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ScpCleanWipe/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace ScpCleanWipe 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ScpControlPanel/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace ScpControlPanel 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace ScpGamepadAnalyzer 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ScpXInputBridge/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /HidReport.Contract/Enums/DsBattery.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.Enums 2 | { 3 | /// 4 | /// DualShock rechargeable battery status. 5 | /// 6 | public enum DsBattery : byte 7 | { 8 | None = 0x00, 9 | Dying = 0x01, 10 | Low = 0x02, 11 | Medium = 0x03, 12 | High = 0x04, 13 | Full = 0x05, 14 | Charging = 0xEE, 15 | Charged = 0xEF 16 | }; 17 | } -------------------------------------------------------------------------------- /HidReport.Contract/Enums/AxesEnum.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.Enums 2 | { 3 | public enum AxesEnum 4 | { 5 | Lx, 6 | Ly, 7 | Rx, 8 | Ry, 9 | Up, 10 | Right, 11 | Down, 12 | Left, 13 | L2, 14 | R2, 15 | L1, 16 | R1, 17 | Triangle, 18 | Circle, 19 | Cross, 20 | Square, 21 | //TODO: add ds4 specific 22 | } 23 | } -------------------------------------------------------------------------------- /ScpControl.Shared/Core/DualShockMotion.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Shared.Core 2 | { 3 | public class DsAccelerometer 4 | { 5 | public short X { get; set; } 6 | public short Y { get; set; } 7 | public short Z { get; set; } 8 | } 9 | 10 | public class DsGyroscope 11 | { 12 | public short Roll { get; set; } 13 | public short Yaw { get; set; } 14 | public short Pitch { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ScpUser/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by app.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 102 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /ScpInstaller/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using System.Security.Principal; 4 | 5 | namespace ScpDriver 6 | { 7 | static class Program 8 | { 9 | [STAThread] 10 | static void Main(String[] args) 11 | { 12 | Application.EnableVisualStyles(); 13 | Application.SetCompatibleTextRenderingDefault(false); 14 | Application.Run(new ScpForm()); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /XInput_Scp/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by XInput_SCP.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1001 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /XInput_Scp/DS2Controller.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Play.com USB Adapter only (vid_0b43&pid_0003) 4 | 5 | class CDS2Controller : public CSCPController 6 | { 7 | public: 8 | 9 | static const DWORD CollectionSize = 2; 10 | 11 | public: 12 | 13 | CDS2Controller(DWORD dwIndex); 14 | 15 | virtual DWORD GetExtended(DWORD dwUserIndex, SCP_EXTN *Pressure); 16 | 17 | protected: 18 | 19 | virtual void FormatReport(void); 20 | 21 | virtual void XInputMapState(void); 22 | }; 23 | -------------------------------------------------------------------------------- /ScpControl/Utilities/ConcurrentDictionaryExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Concurrent; 2 | using System.Collections.Generic; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | public static class ConcurrentDictionaryExtensions 7 | { 8 | public static bool Remove( 9 | this ConcurrentDictionary self, TKey key) 10 | { 11 | return ((IDictionary) self).Remove(key); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ScpProfiler/DualShockProfileViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using ScpControl.Shared.Core; 3 | 4 | namespace ScpProfiler 5 | { 6 | public class DualShockProfileViewModel 7 | { 8 | public DualShockProfileViewModel() 9 | { 10 | CurrentProfile = new DualShockProfile(); 11 | } 12 | 13 | public DualShockProfile CurrentProfile { get; set; } 14 | 15 | public IReadOnlyList Profiles { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /XInput_Scp/XInput_SCP.def: -------------------------------------------------------------------------------- 1 | LIBRARY "XInput1_3" 2 | 3 | EXPORTS 4 | DllMain @1 5 | XInputGetState @2 6 | XInputSetState @3 7 | XInputGetCapabilities @4 8 | XInputEnable @5 9 | XInputGetDSoundAudioDeviceGuids @6 10 | XInputGetBatteryInformation @7 11 | XInputGetKeystroke @8 12 | XInputGetExtended @9 13 | 14 | ; Undocumented 15 | XInputGetStateEx @100 16 | XInputWaitForGuideButton @101 17 | XInputCancelGuideButtonWait @102 18 | XInputPowerOffController @103 19 | -------------------------------------------------------------------------------- /ScpUser/ScpUser.cpp: -------------------------------------------------------------------------------- 1 | // DS3User.cpp : main project file. 2 | 3 | #include "stdafx.h" 4 | #include "SCPPad.h" 5 | 6 | using namespace SCPUser; 7 | 8 | [STAThreadAttribute] 9 | int main(array ^args) 10 | { 11 | // Enabling Windows XP visual effects before any controls are created 12 | Application::EnableVisualStyles(); 13 | Application::SetCompatibleTextRenderingDefault(false); 14 | 15 | // Create the main window and run it 16 | Application::Run(gcnew SCPPad()); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /ScpPair/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ScpPair 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new ScpForm()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ScpMonitor/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ScpMonitor 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new ScpForm()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ScpServer/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ScpServer 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new ScpForm()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /HidReport.Contract/Enums/ButtonsEnum.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.Enums 2 | { 3 | public enum ButtonsEnum 4 | { 5 | Select, 6 | L3, 7 | R3, 8 | Start, 9 | Up, 10 | Right, 11 | Down, 12 | Left, 13 | L2, 14 | R2, 15 | L1, 16 | R1, 17 | Triangle, 18 | Circle, 19 | Cross, 20 | Square, 21 | Ps, 22 | 23 | //ds4 24 | Share, 25 | Options, 26 | Touchpad, 27 | } 28 | } -------------------------------------------------------------------------------- /ScpUser/ScpUser_x64.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(WindowsSDK)\Include\shared;$(WindowsSDK)\Include\um;$(IncludePath) 7 | $(WindowsSDK)\Lib\winv6.3\um\x64;$(LibraryPath) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ScpUser/ScpUser_x86.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(WindowsSDK)\Include\shared;$(WindowsSDK)\Include\um;$(IncludePath) 7 | $(WindowsSDK)\Lib\winv6.3\um\x86;$(LibraryPath) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /XInput_Scp/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the entry point for the DLL application. 2 | #include "stdafx.h" 3 | 4 | BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) 5 | { 6 | switch (ul_reason_for_call) 7 | { 8 | case DLL_PROCESS_ATTACH: 9 | 10 | LoadApi(true); 11 | break; 12 | 13 | case DLL_THREAD_ATTACH: 14 | break; 15 | 16 | case DLL_THREAD_DETACH: 17 | break; 18 | 19 | case DLL_PROCESS_DETACH: 20 | LoadApi(false); 21 | break; 22 | } 23 | 24 | return TRUE; 25 | } 26 | -------------------------------------------------------------------------------- /ScpControl/Utilities/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | public static class StringExtensions 7 | { 8 | public static IEnumerable ToBytes(this string input) 9 | { 10 | return Encoding.UTF8.GetBytes(input); 11 | } 12 | 13 | public static string ToUtf8(this byte[] input) 14 | { 15 | return input == null ? string.Empty : Encoding.UTF8.GetString(input); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ScpInstaller/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 6 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015")] 7 | 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | 13 | [assembly: ComVisible(false)] 14 | 15 | [assembly: AssemblyVersion("1.5.*")] 16 | -------------------------------------------------------------------------------- /ScpControl.Shared/Core/DualShockPadMeta.cs: -------------------------------------------------------------------------------- 1 | using System.Net.NetworkInformation; 2 | using System.Runtime.Serialization; 3 | 4 | namespace ScpControl.Shared.Core 5 | { 6 | [DataContract] 7 | public class DualShockPadMeta 8 | { 9 | public DsPadId PadId { get; set; } 10 | public DsState PadState { get; set; } 11 | public DsConnection ConnectionType { get; set; } 12 | public DsModel Model { get; set; } 13 | public PhysicalAddress PadMacAddress { get; set; } 14 | public byte BatteryStatus { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ScpControl/Exceptions/RootHubAlreadyStartedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ScpControl.Exceptions 4 | { 5 | public class RootHubAlreadyStartedException : Exception 6 | { 7 | public RootHubAlreadyStartedException() 8 | { 9 | } 10 | 11 | public RootHubAlreadyStartedException(string message) 12 | : base(message) 13 | { 14 | } 15 | 16 | public RootHubAlreadyStartedException(string message, Exception inner) 17 | : base(message, inner) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /HidReport/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpControl.Shared")] 9 | [assembly: AssemblyDescription("ScpToolkit shared objects")] 10 | 11 | // The following GUID is for the ID of the typelib if this project is exposed to COM 12 | 13 | [assembly: Guid("e783ff11-a850-44b9-8773-7e450ce62ad0")] -------------------------------------------------------------------------------- /ScpPair/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /HidReport/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpCleanWipe/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpControl/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpDebugInfoCollector/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpDebugInfoCollector")] 9 | [assembly: AssemblyDescription("")] 10 | 11 | 12 | // The following GUID is for the ID of the typelib if this project is exposed to COM 13 | 14 | [assembly: Guid("d384f05c-24e7-4fb4-ae11-f4a699b37dea")] 15 | -------------------------------------------------------------------------------- /ScpMonitor/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpProfiler/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpServer/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpService/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpSettings/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpTrayApp/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpControl.Shared/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpControl.Shared")] 9 | [assembly: AssemblyDescription("ScpToolkit shared objects")] 10 | 11 | // The following GUID is for the ID of the typelib if this project is exposed to COM 12 | 13 | [assembly: Guid("e783ff11-a850-44b9-8773-7e450ce62ad0")] -------------------------------------------------------------------------------- /ScpControl.Shared/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.273.16101")] 15 | [assembly: AssemblyFileVersion("1.7.273.16101")] -------------------------------------------------------------------------------- /ScpControlPanel/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpXInputBridge/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpControl.Shared/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ScpDebugInfoCollector/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpDriverInstaller/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Properties/CommonInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyCompany("Scarlet.Crush Productions")] 5 | [assembly: AssemblyCopyright("Copyright © Scarlet.Crush Productions 2012-2014, Benjamin Höglinger 2015-2016")] 6 | 7 | //[assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyTrademark("")] 10 | [assembly: AssemblyCulture("")] 11 | 12 | [assembly: ComVisible(false)] 13 | 14 | [assembly: AssemblyVersion("1.7.277.16117")] 15 | [assembly: AssemblyFileVersion("1.7.277.16117")] -------------------------------------------------------------------------------- /ScpLauncher/Themes/Metro/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF Metro Light theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpDriverInstaller/Themes/Metro/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF Metro Light theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpLauncher/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpProfiler/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpSettings/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpCleanWipe/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpControlPanel/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpControl/Profiler/VirtualMouse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using WindowsInput; 7 | using ScpControl.ScpCore; 8 | 9 | namespace ScpControl.Profiler 10 | { 11 | public class VirtualMouse : SingletonBase 12 | { 13 | private readonly InputSimulator _inputSimulator = new InputSimulator(); 14 | private readonly IMouseSimulator _mouseSimulator; 15 | 16 | private VirtualMouse() 17 | { 18 | _mouseSimulator = _inputSimulator.Mouse; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ScpDriverInstaller/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Themes/MetroDark/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF MetroDark theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ScpSettings/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ScpControlPanel/View Models/PadStatsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ScpControlPanel.View_Models 4 | { 5 | public class PadStatsViewModel 6 | { 7 | public static IList Pads 8 | { 9 | get 10 | { 11 | return new List 12 | { 13 | new PadStatsViewModel {Id = 1, Type = "DS3"}, 14 | new PadStatsViewModel {Id = 2, Type = "Ds4"} 15 | }; 16 | } 17 | } 18 | 19 | public int Id { get; set; } 20 | public string Type { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /ScpControl/Rx/IChannel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace ScpControl.Rx 5 | { 6 | /// 7 | /// Interface for a bidirectional communication channel 8 | /// that exchanges messages of a given type. 9 | /// 10 | public interface IChannel 11 | { 12 | /// 13 | /// Observable receiver for incoming messages. 14 | /// 15 | IObservable Receiver { get; } 16 | 17 | /// 18 | /// Sends asynchronously the given message through the channel. 19 | /// 20 | Task SendAsync(T message); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /XInput_Scp/XInput_SCP.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | extern BOOL LoadApi(BOOL bEnable); 4 | 5 | typedef struct 6 | { 7 | float SCP_UP; 8 | float SCP_RIGHT; 9 | float SCP_DOWN; 10 | float SCP_LEFT; 11 | 12 | float SCP_LX; 13 | float SCP_LY; 14 | 15 | float SCP_L1; 16 | float SCP_L2; 17 | float SCP_L3; 18 | 19 | float SCP_RX; 20 | float SCP_RY; 21 | 22 | float SCP_R1; 23 | float SCP_R2; 24 | float SCP_R3; 25 | 26 | float SCP_T; 27 | float SCP_C; 28 | float SCP_X; 29 | float SCP_S; 30 | 31 | float SCP_SELECT; 32 | float SCP_START; 33 | 34 | float SCP_PS; 35 | 36 | } SCP_EXTN; 37 | 38 | DWORD WINAPI XInputGetExtended(DWORD dwUserIndex, SCP_EXTN* pPressure); 39 | -------------------------------------------------------------------------------- /ScpSettings/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | 4 | namespace ScpSettings 5 | { 6 | /// 7 | /// Interaction logic for App.xaml 8 | /// 9 | public partial class App : Application 10 | { 11 | protected override void OnStartup(StartupEventArgs e) 12 | { 13 | AppDomain.CurrentDomain.UnhandledException += (sender, args) => 14 | { 15 | MessageBox.Show((args.ExceptionObject as Exception).Message, "Unexpected error", 16 | MessageBoxButton.OK, MessageBoxImage.Error); 17 | }; 18 | 19 | base.OnStartup(e); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ScpControl/Value Converters/RadioBoolToIntConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | 5 | namespace ScpControl.Value_Converters 6 | { 7 | public class RadioBoolToIntConverter : IValueConverter 8 | { 9 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 10 | { 11 | var integer = (int)value; 12 | return integer == int.Parse(parameter.ToString()); 13 | } 14 | 15 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | return parameter; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ScpDriverInstaller/View Models/InstallationOptionsViewModel.cs: -------------------------------------------------------------------------------- 1 | using ScpControl.Utilities; 2 | 3 | namespace ScpDriverInstaller.View_Models 4 | { 5 | public class InstallationOptionsViewModel 6 | { 7 | public bool IsXbox360DriverNeeded 8 | { 9 | get { return !(OsInfoHelper.OsParse(OsInfoHelper.OsInfo) >= OsType.Win8); } 10 | } 11 | 12 | public bool InstallDs3ButtonEnabled { get; set; } 13 | 14 | public bool InstallBthButtonEnabled { get; set; } 15 | 16 | public InstallationOptionsViewModel() 17 | { 18 | InstallDs3ButtonEnabled = false; 19 | InstallBthButtonEnabled = false; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ScpControl/Utilities/ByteArrayExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Text; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | public static class ByteArrayExtensions 7 | { 8 | public static string ToHexString(this byte[] array) 9 | { 10 | return ToHexString(array, array.Length); 11 | } 12 | 13 | public static string ToHexString(this byte[] array, int length) 14 | { 15 | var sb = new StringBuilder(); 16 | 17 | foreach (var b in array.Take(length)) 18 | { 19 | sb.AppendFormat("0x{0:X2} ", b); 20 | } 21 | 22 | return sb.ToString().TrimEnd(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ScpXInputBridge/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpXInputBridge")] 9 | [assembly: AssemblyDescription("ScpToolkit XInput 1.3 proxy DLL for PCSX2 LilyPad plugin")] 10 | 11 | // The following GUID is for the ID of the typelib if this project is exposed to COM 12 | 13 | [assembly: Guid("664b5e5d-defc-41b6-a603-a3f108e280d7")] 14 | 15 | [assembly: log4net.Config.XmlConfigurator(ConfigFile = "XInput_log4net.config", Watch = true)] -------------------------------------------------------------------------------- /ScpProfiler/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ScpControl/Utilities/PhysicalAddressExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Net.NetworkInformation; 2 | 3 | namespace ScpControl.Utilities 4 | { 5 | public static class PhysicalAddressExtensions 6 | { 7 | public static string AsFriendlyName(this PhysicalAddress address) 8 | { 9 | if (address == null) 10 | return string.Empty; 11 | 12 | if (address.Equals(PhysicalAddress.None)) 13 | return "00:00:00:00:00:00"; 14 | 15 | var bytes = address.GetAddressBytes(); 16 | 17 | return string.Format("{0:X2}:{1:X2}:{2:X2}:{3:X2}:{4:X2}:{5:X2}", 18 | bytes[0], bytes[1], bytes[2], bytes[3], bytes[4], bytes[5]); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ScpDriverInstaller/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /HidReport.Contract/Core/IScpHidReport.cs: -------------------------------------------------------------------------------- 1 | using HidReport.Contract.DsActors; 2 | using HidReport.Contract.Enums; 3 | 4 | namespace HidReport.Contract.Core 5 | { 6 | public interface IScpHidReport 7 | { 8 | DsBattery BatteryStatus { get; } 9 | bool IsPadActive { get; } 10 | uint PacketCounter { get; } 11 | byte ReportId { get; } 12 | IDsAccelerometerImmutable Motion { get; } 13 | IDsGyroscopeImmutable Orientation { get; } 14 | IDsTrackPadTouchImmutable TrackPadTouch0 { get; } 15 | IDsTrackPadTouchImmutable TrackPadTouch1 { get; } 16 | IDsButtonState this[ButtonsEnum button] { get; } 17 | IDsAxisStateImmutable this[AxesEnum axis] { get; } 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /ScpCleanWipe/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ScpSettings/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ScpControlPanel/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ScpUser/ScpExtensions.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | typedef struct 4 | { 5 | float SCP_UP; 6 | float SCP_RIGHT; 7 | float SCP_DOWN; 8 | float SCP_LEFT; 9 | 10 | float SCP_LX; 11 | float SCP_LY; 12 | 13 | float SCP_L1; 14 | float SCP_L2; 15 | float SCP_L3; 16 | 17 | float SCP_RX; 18 | float SCP_RY; 19 | 20 | float SCP_R1; 21 | float SCP_R2; 22 | float SCP_R3; 23 | 24 | float SCP_T; 25 | float SCP_C; 26 | float SCP_X; 27 | float SCP_S; 28 | 29 | float SCP_SELECT; 30 | float SCP_START; 31 | 32 | float SCP_PS; 33 | 34 | } SCP_EXTN; 35 | 36 | typedef DWORD (WINAPI *XInputGetExtendedFunction)(__in DWORD dwUserIndex, __out SCP_EXTN* pPressure); 37 | 38 | extern DWORD WINAPI XInputGetExtended(DWORD dwUserIndex, SCP_EXTN* pPressure); 39 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ScpControl/Utilities/ControlExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | public static class ControlExtensions 7 | { 8 | static public void UiThread(this Control control, Action code) 9 | { 10 | if (control.InvokeRequired) 11 | { 12 | control.BeginInvoke(code); 13 | return; 14 | } 15 | code.Invoke(); 16 | } 17 | 18 | static public void UiThreadInvoke(this Control control, Action code) 19 | { 20 | if (control.InvokeRequired) 21 | { 22 | control.Invoke(code); 23 | return; 24 | } 25 | code.Invoke(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpProfiler/DpadAxisControl.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace ScpProfiler 17 | { 18 | /// 19 | /// Interaction logic for DpadAxisControl.xaml 20 | /// 21 | public partial class DpadAxisControl : UserControl 22 | { 23 | public DpadAxisControl() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpSettings/Controls/DirectoryBrowserControl.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ScpUser/ScpExtensions.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "SCPExtensions.h" 3 | 4 | DWORD WINAPI XInputGetExtended(DWORD dwUserIndex, SCP_EXTN* pPressure) 5 | { 6 | static BOOL l_Loaded = false, l_Available = false; 7 | static HMODULE l_hXInputDll = NULL; 8 | static FARPROC l_hXInputFunc[] = { NULL }; 9 | 10 | DWORD RetVal = ERROR_NOT_SUPPORTED; 11 | 12 | if (!l_Loaded) 13 | { 14 | if ((l_hXInputDll = LoadLibrary(_T("XInput1_3.dll"))) != NULL) 15 | { 16 | if ((l_hXInputFunc[0] = GetProcAddress(l_hXInputDll, "XInputGetExtended")) != NULL) 17 | { 18 | l_Available = true; 19 | } 20 | } 21 | 22 | l_Loaded = true; 23 | } 24 | 25 | if (l_Available) 26 | { 27 | RetVal = ((XInputGetExtendedFunction)(l_hXInputFunc[0]))(dwUserIndex, pPressure); 28 | } 29 | 30 | return RetVal; 31 | } 32 | -------------------------------------------------------------------------------- /ScpDriverInstaller/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ScpInstaller/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | f679f562-3164-42ce-a4db-e7ddbe723909 7 | 8 | 9 | .\System\ 10 | 11 | 12 | SCP DS3 Service 13 | 14 | 15 | -------------------------------------------------------------------------------- /ScpProfiler/ThumbStickAxisControl.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace ScpProfiler 17 | { 18 | /// 19 | /// Interaction logic for ThumbStickAxisControl.xaml 20 | /// 21 | public partial class ThumbStickAxisControl : UserControl 22 | { 23 | public ThumbStickAxisControl() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpProfiler/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpProfiler")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: ThemeInfo( 11 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 12 | //(used if a resource is not found in the page, 13 | // or application resource dictionaries) 14 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 15 | //(used if a resource is not found in the page, 16 | // app, or any theme specific resource dictionaries) 17 | )] -------------------------------------------------------------------------------- /ScpControlPanel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpControlPanel")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: ThemeInfo( 11 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 12 | //(used if a resource is not found in the page, 13 | // or application resource dictionaries) 14 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 15 | //(used if a resource is not found in the page, 16 | // app, or any theme specific resource dictionaries) 17 | )] -------------------------------------------------------------------------------- /ScpDriverInstaller/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | f679f562-3164-42ce-a4db-e7ddbe723909 7 | 8 | 9 | .\System\ 10 | 11 | 12 | SCP DSx Service 13 | 14 | 15 | -------------------------------------------------------------------------------- /HidReport.Contract/DsActors/IDsAxisStateImmutable.cs: -------------------------------------------------------------------------------- 1 | namespace HidReport.Contract.DsActors 2 | { 3 | /// 4 | /// Defines a DualShock axis state. 5 | /// 6 | public interface IDsAxisStateImmutable 7 | { 8 | /// 9 | /// The current value of the axis in question. 10 | /// 11 | byte Value { get; } 12 | /// 13 | /// True if the current value differs from the default value of the axis, false otherwise. 14 | /// 15 | bool IsEngaged { get; } 16 | /// 17 | /// Gets the pressure value of the current button compatible with PCSX2s XInput/LilyPad mod. 18 | /// 19 | //TODO: to mapper float Pressure { get; } 20 | float Axis { get; } 21 | } 22 | } -------------------------------------------------------------------------------- /ScpInstaller/Properties/ScpInstaller.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ScpTrayApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ScpToolkit Tray Notifications")] 8 | [assembly: AssemblyDescription("")] 9 | 10 | 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 13 | //(used if a resource is not found in the page, 14 | // or application resource dictionaries) 15 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 16 | //(used if a resource is not found in the page, 17 | // app, or any theme specific resource dictionaries) 18 | )] 19 | -------------------------------------------------------------------------------- /ScpXInputBridge/XInputDll.Extensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using RGiesecke.DllExport; 4 | using ScpControl.Shared.XInput; 5 | 6 | namespace ScpXInputBridge 7 | { 8 | public partial class XInputDll 9 | { 10 | #region SCP extension function 11 | 12 | [DllExport("XInputGetExtended", CallingConvention.StdCall)] 13 | public static uint XInputGetExtended(uint dwUserIndex, ref SCP_EXTN pPressure) 14 | { 15 | try 16 | { 17 | pPressure = Proxy.GetExtended(dwUserIndex); 18 | } 19 | catch (Exception ex) 20 | { 21 | Log.ErrorFormat("Couldn't receive pressure information: {0}", ex); 22 | } 23 | 24 | return 0; // success 25 | } 26 | 27 | #endregion 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ScpControlPanel/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | 8 | [assembly: AssemblyTitle("ScpGamepadAnalyzer")] 9 | [assembly: AssemblyDescription("ScpToolkit Generic Gamepad HID Report Analyzer")] 10 | [assembly: ThemeInfo( 11 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 12 | //(used if a resource is not found in the page, 13 | // or application resource dictionaries) 14 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 15 | //(used if a resource is not found in the page, 16 | // app, or any theme specific resource dictionaries) 17 | )] -------------------------------------------------------------------------------- /ScpControl/Value Converters/MultiCheckedToEnabledConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Linq; 4 | using System.Windows.Data; 5 | 6 | namespace ScpControl.Value_Converters 7 | { 8 | public class MultiCheckedToEnabledConverter : IMultiValueConverter 9 | { 10 | #region Implementation of IMultiValueConverter 11 | 12 | public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 13 | { 14 | if (values != null) 15 | { 16 | return values.OfType().Any(b => b); 17 | } 18 | return false; 19 | } 20 | 21 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) 22 | { 23 | return new object[] {}; 24 | } 25 | 26 | #endregion 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpDriverInstaller/Utilities/UiContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | 4 | namespace ScpDriverInstaller.Utilities 5 | { 6 | public static class UiContext 7 | { 8 | public static void InvokeOnUiThread(Action action) 9 | { 10 | if (Application.Current.Dispatcher.CheckAccess()) 11 | { 12 | action(); 13 | } 14 | else 15 | { 16 | Application.Current.Dispatcher.Invoke(action); 17 | } 18 | } 19 | 20 | public static void BeginInvokeOnUiThread(Action action) 21 | { 22 | if (Application.Current.Dispatcher.CheckAccess()) 23 | { 24 | action(); 25 | } 26 | else 27 | { 28 | Application.Current.Dispatcher.BeginInvoke(action); 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ScpControl/UsbDs3AfterglowAp2.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | using System.Text; 3 | using System.Threading; 4 | 5 | namespace ScpControl 6 | { 7 | public partial class UsbDs3AfterglowAp2 : UsbDs3 8 | { 9 | public UsbDs3AfterglowAp2() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | public UsbDs3AfterglowAp2(IContainer container) 15 | { 16 | container.Add(this); 17 | 18 | InitializeComponent(); 19 | } 20 | 21 | protected override void Parse(byte[] Report) 22 | { 23 | var sb = new StringBuilder(); 24 | 25 | foreach (var b in Report) 26 | { 27 | sb.AppendFormat("{0:X2} ", b); 28 | } 29 | 30 | Log.DebugFormat("Packet: {0}", sb); 31 | Thread.Sleep(1000); 32 | 33 | base.Parse(Report); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /ScpProfiler/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ScpSettings/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Windows; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | 9 | [assembly: AssemblyTitle("ScpSettings")] 10 | [assembly: AssemblyDescription("ScpToolkit Global Configuration Tool")] 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 13 | //(used if a resource is not found in the page, 14 | // or application resource dictionaries) 15 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 16 | //(used if a resource is not found in the page, 17 | // app, or any theme specific resource dictionaries) 18 | )] 19 | [assembly: NeutralResourcesLanguage("en")] -------------------------------------------------------------------------------- /ScpProfiler/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using System.Windows; 4 | using log4net; 5 | 6 | namespace ScpProfiler 7 | { 8 | /// 9 | /// Interaction logic for App.xaml 10 | /// 11 | public partial class App : Application 12 | { 13 | private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 14 | 15 | protected override void OnStartup(StartupEventArgs e) 16 | { 17 | AppDomain.CurrentDomain.UnhandledException += (sender, args) => 18 | { 19 | Log.FatalFormat("An unexpected error occurred on application startup: {0}", args.ExceptionObject); 20 | 21 | MessageBox.Show("A fatal error occurred. Consult the logs for details.", 22 | "Oh sh...", MessageBoxButton.OK, MessageBoxImage.Error); 23 | }; 24 | 25 | base.OnStartup(e); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpDriverInstaller/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using System.Windows; 4 | using log4net; 5 | 6 | namespace ScpDriverInstaller 7 | { 8 | /// 9 | /// Interaction logic for App.xaml 10 | /// 11 | public partial class App : Application 12 | { 13 | private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 14 | 15 | protected override void OnStartup(StartupEventArgs e) 16 | { 17 | AppDomain.CurrentDomain.UnhandledException += (sender, args) => 18 | { 19 | Log.FatalFormat("An unexpected error occured on application startup: {0}", args.ExceptionObject); 20 | 21 | MessageBox.Show("A fatal error occured. Consult the logs for details.", 22 | "Oh sh...", MessageBoxButton.OK, MessageBoxImage.Error); 23 | }; 24 | 25 | base.OnStartup(e); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpTrayApp/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ScpSettings/Controls/FileBrowserControl.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ScpSettings/Controls/ColorChooserControl.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /XInput_Scp/stdafx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "targetver.h" 3 | 4 | #define STRICT 5 | #define WIN32_LEAN_AND_MEAN 6 | // necessary to support Windows XP 7 | #define _WINSOCK_DEPRECATED_NO_WARNINGS 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | #pragma warning(push) 22 | #pragma warning(disable : 4995) 23 | #include 24 | #pragma warning(pop) 25 | 26 | typedef std::basic_string, std::allocator> _tstring; 27 | 28 | #define XINPUT_GAMEPAD_GUIDE 0x400 29 | 30 | #include "XInput_SCP.h" 31 | #include "XInput_Wrap.h" 32 | #include "LibUsbApi.h" 33 | 34 | extern "C" { 35 | #include "hid.h" 36 | } 37 | 38 | #include "SCPController.h" 39 | #include "BTConnection.h" 40 | #include "DS2Controller.h" 41 | #include "DS3Controller.h" 42 | #include "SL3Controller.h" 43 | #include "X360Controller.h" 44 | -------------------------------------------------------------------------------- /ScpControl/Utilities/TaskQueue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | /// 7 | /// A non-blocking event handling queue. 8 | /// 9 | /// http://stackoverflow.com/a/32993768/490629 10 | public class TaskQueue 11 | { 12 | private Task _previous = Task.FromResult(false); 13 | private readonly object _key = new object(); 14 | 15 | public Task Enqueue(Func> taskGenerator) 16 | { 17 | lock (_key) 18 | { 19 | var next = _previous.ContinueWith(t => taskGenerator()).Unwrap(); 20 | _previous = next; 21 | return next; 22 | } 23 | } 24 | public Task Enqueue(Func taskGenerator) 25 | { 26 | lock (_key) 27 | { 28 | var next = _previous.ContinueWith(t => taskGenerator()).Unwrap(); 29 | _previous = next; 30 | return next; 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ScpPair/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /ScpControl.Shared/XInput/ScpXInputExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | 3 | namespace ScpControl.Shared.XInput 4 | { 5 | /// 6 | /// Struct containing button and axis information for the XInput extensions. 7 | /// 8 | [StructLayout(LayoutKind.Sequential)] 9 | public struct SCP_EXTN 10 | { 11 | public float SCP_UP; 12 | public float SCP_RIGHT; 13 | public float SCP_DOWN; 14 | public float SCP_LEFT; 15 | 16 | public float SCP_LX; 17 | public float SCP_LY; 18 | 19 | public float SCP_L1; 20 | public float SCP_L2; 21 | public float SCP_L3; 22 | 23 | public float SCP_RX; 24 | public float SCP_RY; 25 | 26 | public float SCP_R1; 27 | public float SCP_R2; 28 | public float SCP_R3; 29 | 30 | public float SCP_T; 31 | public float SCP_C; 32 | public float SCP_X; 33 | public float SCP_S; 34 | 35 | public float SCP_SELECT; 36 | public float SCP_START; 37 | 38 | public float SCP_PS; 39 | }; 40 | } 41 | -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ScpLauncher/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Windows; 5 | 6 | namespace ScpLauncher 7 | { 8 | /// 9 | /// Interaction logic for MainWindow.xaml 10 | /// 11 | public partial class MainWindow : Window 12 | { 13 | private static readonly string WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; 14 | 15 | public MainWindow() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void DriverInstallerButton_Click(object sender, RoutedEventArgs e) 21 | { 22 | Process.Start(Path.Combine(WorkingDirectory, "ScpDriver.exe")); 23 | } 24 | 25 | private void ServerMonitorButton_Click(object sender, RoutedEventArgs e) 26 | { 27 | Process.Start(Path.Combine(WorkingDirectory, "ScpMonitor.exe")); 28 | } 29 | 30 | private void StartServerButton_Click(object sender, RoutedEventArgs e) 31 | { 32 | Process.Start(Path.Combine(WorkingDirectory, "ScpServer.exe")); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ScpCleanWipe/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ScpSettings/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ScpControlPanel/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ScpDebugInfoCollector/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ScpControl/ScpProxy.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl 2 | { 3 | sealed partial class ScpProxy 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | 32 | } 33 | 34 | #endregion 35 | 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ScpControlPanel/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using ScpControl.Profiler; 3 | using ScpControl.ScpCore; 4 | using ScpControl.Shared.Core; 5 | using ScpControlPanel.Controls; 6 | 7 | namespace ScpControlPanel 8 | { 9 | /// 10 | /// Interaction logic for MainWindow.xaml 11 | /// 12 | public partial class MainWindow : Window 13 | { 14 | public MainWindow() 15 | { 16 | InitializeComponent(); 17 | 18 | MainPadEntryCollectionControl.PadEntryCollection.Add(new PadEntryControl()); 19 | 20 | MainPadEntryCollectionControl.PadEntryCollection[0].ConnectionType = DsConnection.Bluetooth; 21 | MainPadEntryCollectionControl.PadEntryCollection[0].PadId = DsPadId.One; 22 | 23 | MainPadEntryCollectionControl.PadEntryCollection.Add(new PadEntryControl() { PadId = DsPadId.Two }); 24 | MainPadEntryCollectionControl.PadEntryCollection.Add(new PadEntryControl() { PadId = DsPadId.Three }); 25 | MainPadEntryCollectionControl.PadEntryCollection.Add(new PadEntryControl() { PadId = DsPadId.Four }); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /HidReport/DsActors/DsButtonState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HidReport.Contract.DsActors; 3 | 4 | namespace HidReport.DsActors 5 | { 6 | /// 7 | /// Implements the possible states for a DualShock button. 8 | /// 9 | [Serializable] 10 | public class DsButtonState : IDsButtonState 11 | { 12 | #region Properties 13 | 14 | /// 15 | /// True if the button in question is currently pressed, false if it's released. 16 | /// 17 | public bool IsPressed { get; set; } 18 | 19 | /// 20 | /// Gets the pressure value of the current button compatible with PCSX2s XInput/LilyPad mod. 21 | /// 22 | /// This is just a boolean to float conversion. 23 | public float Pressure => IsPressed ? 1.0f : 0.0f; 24 | 25 | /// 26 | /// Gets the button press state as byte value. 27 | /// 28 | /// 255 equals pressed, 0 equals released. 29 | public byte Value => (byte) (IsPressed ? 0xFF : 0x00); 30 | 31 | #endregion 32 | } 33 | } -------------------------------------------------------------------------------- /ScpLauncher/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /ScpControl/Utilities/MacAddressGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | 4 | namespace ScpControl.Utilities 5 | { 6 | /// 7 | /// Utility class to generate random MAC addresses. 8 | /// 9 | /// http://stackoverflow.com/questions/10161291/generate-a-random-mac-address 10 | public static class MacAddressGenerator 11 | { 12 | public static string NewMacAddress 13 | { 14 | get 15 | { 16 | var sBuilder = new StringBuilder(); 17 | var r = new Random(); 18 | 19 | for (var i = 0; i < 6; i++) 20 | { 21 | var number = r.Next(0, 255); 22 | var b = Convert.ToByte(number); 23 | if (i == 0) 24 | { 25 | b = (byte) ((b & 0xFE) | 0x02); //-->set locally administered and unicast 26 | } 27 | sBuilder.Append(string.Format("{0}", number.ToString("X2"))); 28 | } 29 | 30 | return sBuilder.ToString(); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ScpControlPanel/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /ScpControl/ScpHub.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl 2 | { 3 | partial class ScpHub 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ScpPair/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpPair.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /XInput_Scp/BTConnection.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CBTConnection : public CSCPController 4 | { 5 | public: 6 | 7 | DWORD CollectionSize; 8 | 9 | CBTConnection(void); 10 | 11 | virtual BOOL Open(); 12 | 13 | virtual BOOL Close(); 14 | 15 | virtual DWORD GetState(DWORD dwUserIndex, XINPUT_STATE* pState); 16 | 17 | virtual DWORD SetState(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration); 18 | 19 | virtual DWORD GetExtended(DWORD dwUserIndex, SCP_EXTN* pPressure); 20 | 21 | // UNDOCUMENTED 22 | 23 | virtual DWORD GetStateEx(DWORD dwUserIndex, XINPUT_STATE *pState); 24 | 25 | protected: 26 | 27 | static const unsigned short ControlPort = 26760; 28 | static const unsigned short ReportPort = 26761; 29 | 30 | XINPUT_STATE m_padState [4]; 31 | XINPUT_VIBRATION m_padVibration [4]; 32 | SCP_EXTN m_Extended [4]; 33 | 34 | volatile bool m_bInited, m_bConnected; 35 | 36 | SOCKET m_Control; 37 | SOCKET m_Report; 38 | 39 | virtual void Report(DWORD dwUserIndex); 40 | 41 | virtual void XInputMapState(DWORD dwUserIndex, UCHAR* Buffer, UCHAR Model); 42 | 43 | virtual BOOL Read(UCHAR* Buffer); 44 | 45 | static void ReadThread(void *lpController); 46 | }; 47 | -------------------------------------------------------------------------------- /ScpDriverInstaller/Utilities/ExtendedMessageBox.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using System.Windows; 3 | using Ookii.Dialogs.Wpf; 4 | 5 | namespace ScpDriverInstaller.Utilities 6 | { 7 | public static class ExtendedMessageBox 8 | { 9 | public static void Show(Window owner, string title, string instruction, string content, string verbose, 10 | string footer, TaskDialogIcon icon) 11 | { 12 | using (var dialog = new TaskDialog()) 13 | { 14 | dialog.Width = 240; 15 | dialog.WindowTitle = title; 16 | dialog.MainInstruction = instruction; 17 | dialog.Content = content; 18 | dialog.ExpandedInformation = verbose; 19 | dialog.Footer = footer; 20 | dialog.FooterIcon = icon; 21 | dialog.EnableHyperlinks = true; 22 | var okButton = new TaskDialogButton(ButtonType.Ok); 23 | dialog.Buttons.Add(okButton); 24 | dialog.HyperlinkClicked += (sender, args) => { Process.Start(args.Href); }; 25 | dialog.ShowDialog(owner); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ScpMonitor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpMonitor.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ScpMonitor/ScpButton.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpMonitor 2 | { 3 | partial class ScpButton 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ScpServer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpServer.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ScpService/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpService.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ScpControl/RootHub.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl 2 | { 3 | sealed partial class RootHub 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ScpControl/Usb/UsbHub.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Usb 2 | { 3 | partial class UsbHub 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ScpControl/Bluetooth/BthHub.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Bluetooth 2 | { 3 | partial class BthHub 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ScpControl/Wcf/IScpCommandService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.ServiceModel; 3 | using ScpControl.ScpCore; 4 | using ScpControl.Shared.Core; 5 | 6 | namespace ScpControl.Wcf 7 | { 8 | [ServiceContract] 9 | public interface IScpCommandService 10 | { 11 | [OperationContract] 12 | bool IsNativeFeedAvailable(); 13 | 14 | [OperationContract] 15 | DualShockPadMeta GetPadDetail(DsPadId pad); 16 | 17 | [OperationContract] 18 | bool Rumble(DsPadId pad, byte large, byte small); 19 | 20 | [OperationContract] 21 | GlobalConfiguration RequestConfiguration(); 22 | 23 | [OperationContract] 24 | void SubmitConfiguration(GlobalConfiguration configuration); 25 | 26 | [OperationContract] 27 | IEnumerable GetStatusData(); 28 | 29 | [OperationContract] 30 | void PromotePad(byte pad); 31 | 32 | [OperationContract] 33 | IEnumerable GetProfiles(); 34 | 35 | [OperationContract] 36 | void SubmitProfile(DualShockProfile profile); 37 | 38 | [OperationContract] 39 | void RemoveProfile(DualShockProfile profile); 40 | } 41 | } -------------------------------------------------------------------------------- /ScpTrayApp/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpTrayApp.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpCleanWipe/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpCleanWipe.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpLauncher/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpLauncher.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpProfiler/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpProfiler.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpSettings/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpSettings.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpControl/ScpTimer.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl 2 | { 3 | partial class ScpTimer 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | Stop(); 17 | 18 | if (disposing && (components != null)) 19 | { 20 | components.Dispose(); 21 | } 22 | base.Dispose(disposing); 23 | } 24 | 25 | #region Component Designer generated code 26 | 27 | /// 28 | /// Required method for Designer support - do not modify 29 | /// the contents of this method with the code editor. 30 | /// 31 | private void InitializeComponent() 32 | { 33 | components = new System.ComponentModel.Container(); 34 | } 35 | 36 | #endregion 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ScpControlPanel/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpControlPanel.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpGamepadAnalyzer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34209 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScpGamepadAnalyzer.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScpControl/Usb/Gamepads/UsbTwinUSBJoystick.cs: -------------------------------------------------------------------------------- 1 | 2 | using HidReport.Contract.Core; 3 | using HidReport.Contract.Enums; 4 | using ScpControl.Shared.Core; 5 | 6 | namespace ScpControl.Usb.Gamepads 7 | { 8 | public class UsbTwinUsbJoystick : UsbGenericGamepad 9 | { 10 | protected override void ParseHidReport(byte[] report) 11 | { 12 | if (report[0] != 0x01) return; 13 | 14 | HidReport.Core.HidReport inputReport = new HidReport.Core.HidReport(); 15 | 16 | #region HID Report translation 17 | 18 | // no battery state since the Gamepad is Usb-powered 19 | inputReport.BatteryStatus = DsBattery.None; 20 | 21 | // packet counter 22 | inputReport.PacketCounter = ++PacketCounter; 23 | 24 | inputReport.Set(ButtonsEnum.Circle, IsBitSet(report[5], 5)); 25 | inputReport.Set(ButtonsEnum.Cross, IsBitSet(report[5], 6)); 26 | inputReport.Set(ButtonsEnum.Triangle, IsBitSet(report[5], 4)); 27 | inputReport.Set(ButtonsEnum.Triangle, IsBitSet(report[5], 7)); 28 | 29 | // TODO: implement! 30 | 31 | #endregion 32 | 33 | OnHidReportReceived(inputReport); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /HidReport/DsActors/DsAxisState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HidReport.Contract.DsActors; 3 | 4 | namespace HidReport.DsActors 5 | { 6 | /// 7 | /// Implements a DualShock axis state. 8 | /// 9 | [Serializable] 10 | public class DsAxisState : IDsAxisStateImmutable 11 | { 12 | 13 | public DsAxisState(byte defaultValue) 14 | { 15 | Value = 0x80; 16 | DefaultValue = defaultValue; 17 | } 18 | 19 | public byte DefaultValue { get; } 20 | 21 | public byte Value { get; set; } 22 | 23 | public bool IsEngaged 24 | { 25 | get 26 | { 27 | return DefaultValue == 0x00 28 | ? DefaultValue != Value 29 | // match a range for jitter compensation 30 | : (DefaultValue - 10 > Value) 31 | || (DefaultValue + 10 < Value); 32 | } 33 | } 34 | 35 | private static float ClampAxis(float value) { if (value > 1.0f) return 1.0f; else if (value < -1.0f) return -1.0f; else return value; } 36 | 37 | public static float ToAxis(byte value) { return ClampAxis((((value & 0xFF) - 0x7F) * 2) / 254.0f); } 38 | public float Axis => ToAxis(Value); 39 | } 40 | } -------------------------------------------------------------------------------- /ScpDriverInstaller/Utilities/BitmapToImageSourceConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Globalization; 4 | using System.Windows; 5 | using System.Windows.Data; 6 | using System.Windows.Media; 7 | using System.Windows.Media.Imaging; 8 | 9 | namespace ScpDriverInstaller.Utilities 10 | { 11 | [ValueConversion(typeof(Bitmap), typeof(ImageSource))] 12 | public class BitmapToImageSource : IValueConverter 13 | { 14 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 15 | { 16 | var bmp = value as System.Drawing.Bitmap; 17 | if (bmp == null) { return null; } 18 | else 19 | { 20 | return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( 21 | bmp.GetHbitmap(), 22 | IntPtr.Zero, 23 | Int32Rect.Empty, 24 | BitmapSizeOptions.FromEmptyOptions()); 25 | } 26 | } 27 | 28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 29 | { 30 | // Because we're not going to use it, but it is required by IValueConverter 31 | throw new NotImplementedException(); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /ScpControl/Usb/Gamepads/UsbGameStopDigitalController.cs: -------------------------------------------------------------------------------- 1 | using ScpControl.ScpCore; 2 | 3 | namespace ScpControl.Usb.Gamepads 4 | { 5 | public class UsbGameStopDigitalController : UsbGenericGamepad 6 | { 7 | public UsbGameStopDigitalController() 8 | { 9 | VendorId = 0x0079; 10 | ProductId = 0x0011; 11 | } 12 | 13 | protected override void ParseHidReport(byte[] report) 14 | { 15 | if (report[1] != 0x01) return; 16 | 17 | if (m_Packet++ + 1 < m_Packet) 18 | { 19 | Log.WarnFormat("Packet counter rolled over ({0}), resetting to 0", m_Packet); 20 | m_Packet = 0; 21 | } 22 | 23 | #region HID Report translation 24 | 25 | // no battery state since the Gamepad is USB-powered 26 | m_BatteryStatus = m_ReportArgs.SetBatteryStatus(DsBattery.None); 27 | 28 | // packet counter 29 | m_ReportArgs.SetPacketCounter(m_Packet); 30 | 31 | // reset buttons 32 | m_ReportArgs.ZeroSelectStartButtonsState(); 33 | m_ReportArgs.ZeroShoulderButtonsState(); 34 | 35 | var buttons = (byte)(report[6] & ~0xF0); 36 | 37 | #endregion 38 | 39 | OnHidReportReceived(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /ScpSettings/Controls/FileBrowserControl.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using Ookii.Dialogs.Wpf; 4 | using Bindables; 5 | 6 | namespace ScpSettings.Controls 7 | { 8 | /// 9 | /// Interaction logic for FileBrowserControl.xaml 10 | /// 11 | public partial class FileBrowserControl : UserControl 12 | { 13 | public FileBrowserControl() 14 | { 15 | InitializeComponent(); 16 | 17 | MainGrid.DataContext = this; 18 | } 19 | 20 | [DependencyProperty(Options = FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)] 21 | public string FilePath { get; set; } 22 | 23 | [DependencyProperty(Options = FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)] 24 | public bool IsSoundEnabled { get; set; } 25 | 26 | private void BrowseButton_Click(object sender, RoutedEventArgs e) 27 | { 28 | var fileBrowser = new VistaOpenFileDialog 29 | { 30 | CheckFileExists = true, 31 | CheckPathExists = true, 32 | Filter = Properties.Resources.SupportedAudioFilesFilter 33 | }; 34 | 35 | if (fileBrowser.ShowDialog() != true) return; 36 | 37 | FilePath = fileBrowser.FileName; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /ScpControl/Properties/Settings.cs: -------------------------------------------------------------------------------- 1 | namespace ScpControl.Properties { 2 | 3 | 4 | // This class allows you to handle specific events on the settings class: 5 | // The SettingChanging event is raised before a setting's value is changed. 6 | // The PropertyChanged event is raised after a setting's value is changed. 7 | // The SettingsLoaded event is raised after the setting values are loaded. 8 | // The SettingsSaving event is raised before the setting values are saved. 9 | internal sealed partial class Settings { 10 | 11 | public Settings() { 12 | // // To add event handlers for saving and changing settings, uncomment the lines below: 13 | // 14 | // this.SettingChanging += this.SettingChangingEventHandler; 15 | // 16 | // this.SettingsSaving += this.SettingsSavingEventHandler; 17 | // 18 | } 19 | 20 | private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { 21 | // Add code to handle the SettingChangingEvent event here. 22 | } 23 | 24 | private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { 25 | // Add code to handle the SettingsSaving event here. 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ScpSettings/Controls/DirectoryBrowserControl.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using Ookii.Dialogs.Wpf; 4 | using Bindables; 5 | 6 | namespace ScpSettings.Controls 7 | { 8 | /// 9 | /// Interaction logic for FileBrowserControl.xaml 10 | /// 11 | public partial class DirectoryBrowserControl : UserControl 12 | { 13 | public DirectoryBrowserControl() 14 | { 15 | InitializeComponent(); 16 | 17 | MainGrid.DataContext = this; 18 | } 19 | 20 | [DependencyProperty(Options = FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)] 21 | public string DirectoryPath { get; set; } 22 | 23 | [DependencyProperty(Options = FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)] 24 | public string Description { get; set; } 25 | 26 | private void BrowseButton_Click(object sender, RoutedEventArgs e) 27 | { 28 | var folderBrowser = new VistaFolderBrowserDialog() 29 | { 30 | ShowNewFolderButton = false, 31 | Description = this.Description, 32 | UseDescriptionForTitle = true 33 | }; 34 | 35 | if (folderBrowser.ShowDialog() != true) return; 36 | 37 | DirectoryPath = folderBrowser.SelectedPath; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /ScpControl.Shared/Win32/Kernel32Natives.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace ScpControl.Shared.Win32 5 | { 6 | /// 7 | /// Windows API function imports. 8 | /// 9 | public static class Kernel32Natives 10 | { 11 | [DllImport("kernel32.dll")] 12 | public static extern IntPtr LoadLibrary(string dllToLoad); 13 | 14 | [DllImport("kernel32.dll")] 15 | public static extern IntPtr GetProcAddress(IntPtr hModule, string procedureName); 16 | 17 | [DllImport("kernel32.dll")] 18 | public static extern bool FreeLibrary(IntPtr hModule); 19 | 20 | /// 21 | /// Translates a native method into a managed delegate. 22 | /// 23 | /// The type of the target delegate. 24 | /// The module name to search the function in. 25 | /// The native finctions' name. 26 | /// Returns the managed delegate. 27 | public static T GetMethod(IntPtr module, string methodName) 28 | { 29 | return (T) Convert.ChangeType( 30 | Marshal.GetDelegateForFunctionPointer(GetProcAddress(module, methodName), typeof (T)), 31 | typeof (T)); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /XInput_Scp/X360Controller.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CX360Controller : public CSCPController 4 | { 5 | public: 6 | 7 | static const DWORD CollectionSize = 1; 8 | 9 | protected: 10 | 11 | XINPUT_STATE m_State; 12 | 13 | public: 14 | 15 | CX360Controller(DWORD dwIndex); 16 | 17 | 18 | virtual BOOL Open(void); 19 | 20 | virtual BOOL Close(void); 21 | 22 | 23 | virtual DWORD GetState(DWORD dwUserIndex, XINPUT_STATE* pState); 24 | 25 | virtual DWORD SetState(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration); 26 | 27 | virtual DWORD GetCapabilities(DWORD dwUserIndex, DWORD dwFlags, XINPUT_CAPABILITIES* pCapabilities); 28 | 29 | virtual DWORD GetDSoundAudioDeviceGuids(DWORD dwUserIndex, GUID* pDSoundRenderGuid, GUID* pDSoundCaptureGuid); 30 | 31 | virtual DWORD GetBatteryInformation(DWORD dwUserIndex, BYTE devType, XINPUT_BATTERY_INFORMATION* pBatteryInformation); 32 | 33 | virtual DWORD GetKeystroke(DWORD dwUserIndex, DWORD dwReserved, PXINPUT_KEYSTROKE pKeystroke); 34 | 35 | virtual DWORD GetExtended(DWORD dwUserIndex, SCP_EXTN *Pressure); 36 | 37 | // UNDOCUMENTED 38 | 39 | virtual DWORD GetStateEx(DWORD dwUserIndex, XINPUT_STATE *pState); 40 | 41 | virtual DWORD WaitForGuideButton(DWORD dwUserIndex, DWORD dwFlag, LPVOID pVoid); 42 | 43 | virtual DWORD CancelGuideButtonWait(DWORD dwUserIndex); 44 | 45 | virtual DWORD PowerOffController(DWORD dwUserIndex); 46 | }; 47 | 48 | -------------------------------------------------------------------------------- /ScpControlPanel/Controls/PadEntryCollectionControl.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using System.Collections.Specialized; 3 | using System.Windows.Controls; 4 | using Bindables; 5 | using ScpControl.Profiler; 6 | using ScpControl.ScpCore; 7 | using ScpControl.Shared.Core; 8 | 9 | namespace ScpControlPanel.Controls 10 | { 11 | /// 12 | /// Interaction logic for PadEntryCollectionControl.xaml 13 | /// 14 | public partial class PadEntryCollectionControl : UserControl 15 | { 16 | [DependencyProperty] 17 | public ObservableCollection PadEntryCollection { get; set; } 18 | 19 | public PadEntryCollectionControl() 20 | { 21 | InitializeComponent(); 22 | 23 | PadEntryCollection = new ObservableCollection(); 24 | PadEntryCollection.CollectionChanged += PadEntryCollectionOnCollectionChanged; 25 | } 26 | 27 | private void PadEntryCollectionOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs) 28 | { 29 | foreach (PadEntryControl padEntryControl in notifyCollectionChangedEventArgs.NewItems) 30 | { 31 | padEntryControl.IsTopPad = (padEntryControl.PadId != DsPadId.One && padEntryControl.PadId != DsPadId.None); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ScpControl/Utilities/AssemblyHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Reflection; 4 | 5 | namespace ScpControl.Utilities 6 | { 7 | public static class AssemblyHelper 8 | { 9 | public static DateTime LinkerTimestamp 10 | { 11 | get 12 | { 13 | var filePath = Assembly.GetCallingAssembly().Location; 14 | const int c_PeHeaderOffset = 60; 15 | const int c_LinkerTimestampOffset = 8; 16 | var b = new byte[2048]; 17 | Stream s = null; 18 | 19 | try 20 | { 21 | s = new FileStream(filePath, FileMode.Open, FileAccess.Read); 22 | s.Read(b, 0, 2048); 23 | } 24 | finally 25 | { 26 | if (s != null) 27 | { 28 | s.Close(); 29 | } 30 | } 31 | 32 | var i = BitConverter.ToInt32(b, c_PeHeaderOffset); 33 | var secondsSince1970 = BitConverter.ToInt32(b, i + c_LinkerTimestampOffset); 34 | var dt = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); 35 | dt = dt.AddSeconds(secondsSince1970); 36 | dt = dt.ToLocalTime(); 37 | return dt; 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /ScpControl/ScpCore/SingletonBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ScpControl.ScpCore 4 | { 5 | /// 6 | /// A base class for the singleton design pattern. 7 | /// 8 | /// Class type of the singleton 9 | public abstract class SingletonBase where T : class 10 | { 11 | #region Members 12 | 13 | /// 14 | /// Static instance. Needs to use lambda expression 15 | /// to construct an instance (since constructor is private). 16 | /// 17 | private static readonly Lazy SInstance = new Lazy(CreateInstanceOfT); 18 | 19 | #endregion 20 | 21 | #region Properties 22 | 23 | /// 24 | /// Gets the instance of this singleton. 25 | /// 26 | public static T Instance 27 | { 28 | get { return SInstance.Value; } 29 | } 30 | 31 | #endregion 32 | 33 | #region Methods 34 | 35 | /// 36 | /// Creates an instance of T via reflection since T's constructor is expected to be private. 37 | /// 38 | /// 39 | private static T CreateInstanceOfT() 40 | { 41 | return Activator.CreateInstance(typeof (T), true) as T; 42 | } 43 | 44 | #endregion 45 | } 46 | } -------------------------------------------------------------------------------- /XInput_Scp/XInput_SCP.rc: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | #include "winres.h" 3 | 4 | ///////////////////////////////////////////////////////////////////////////// 5 | // English (United Kingdom) resources 6 | 7 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK 8 | #pragma code_page(1252) 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // 12 | // Version 13 | // 14 | 15 | VS_VERSION_INFO VERSIONINFO 16 | FILEVERSION 2,5,2,138 17 | PRODUCTVERSION 2,5,2,138 18 | FILEFLAGSMASK 0x17L 19 | #ifdef _DEBUG 20 | FILEFLAGS 0x1L 21 | #else 22 | FILEFLAGS 0x0L 23 | #endif 24 | FILEOS 0x4L 25 | FILETYPE 0x2L 26 | FILESUBTYPE 0x0L 27 | BEGIN 28 | BLOCK "StringFileInfo" 29 | BEGIN 30 | BLOCK "080904b0" 31 | BEGIN 32 | VALUE "CompanyName", "Scarlet.Crush Productions" 33 | VALUE "FileDescription", "XInput_SCP Dynamic Link Library" 34 | VALUE "FileVersion", "2.5.2.138" 35 | VALUE "InternalName", "XInput_SCP.dll" 36 | VALUE "LegalCopyright", "Copyright (C) Scarlet.Crush Productions 2012, 2013, 2014" 37 | VALUE "OriginalFilename", "XInput_SCP.dll" 38 | VALUE "ProductName", "XInput_SCP Dynamic Link Library" 39 | VALUE "ProductVersion", "2.5.2.138" 40 | END 41 | END 42 | BLOCK "VarFileInfo" 43 | BEGIN 44 | VALUE "Translation", 0x809, 1200 45 | END 46 | END 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | -------------------------------------------------------------------------------- /ScpControl/Value Converters/EnumDescriptionConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using System.Globalization; 4 | using System.Reflection; 5 | using System.Windows.Data; 6 | 7 | namespace ScpControl.Value_Converters 8 | { 9 | public class EnumDescriptionConverter : IValueConverter 10 | { 11 | private string GetEnumDescription(Enum enumObj) 12 | { 13 | if (enumObj == null) 14 | return string.Empty; 15 | 16 | FieldInfo fieldInfo = enumObj.GetType().GetField(enumObj.ToString()); 17 | 18 | object[] attribArray = fieldInfo.GetCustomAttributes(false); 19 | 20 | if (attribArray.Length == 0) 21 | { 22 | return enumObj.ToString(); 23 | } 24 | else 25 | { 26 | DescriptionAttribute attrib = attribArray[0] as DescriptionAttribute; 27 | return attrib.Description; 28 | } 29 | } 30 | 31 | object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture) 32 | { 33 | Enum myEnum = (Enum)value; 34 | string description = GetEnumDescription(myEnum); 35 | return description; 36 | } 37 | 38 | object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 39 | { 40 | return (Enum)value; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Clean.cmd: -------------------------------------------------------------------------------- 1 | @echo OFF 2 | pushd "%~dp0.." 3 | 4 | rmdir /S /Q "Source\ScpControl\obj" 5 | rmdir /S /Q "Source\ScpInstaller\bin" 6 | rmdir /S /Q "Source\ScpInstaller\obj" 7 | rmdir /S /Q "Source\ScpMonitor\bin" 8 | rmdir /S /Q "Source\ScpMonitor\obj" 9 | rmdir /S /Q "Source\ScpPair\bin" 10 | rmdir /S /Q "Source\ScpPair\obj" 11 | rmdir /S /Q "Source\ScpServer\bin" 12 | rmdir /S /Q "Source\ScpServer\obj" 13 | rmdir /S /Q "Source\ScpService\bin" 14 | rmdir /S /Q "Source\ScpService\obj" 15 | rmdir /S /Q "Source\ScpUser\Build" 16 | rmdir /S /Q "Source\XInput_Scp\Build" 17 | rmdir /S /Q "Source\ipch" 18 | 19 | rmdir /S /Q "Sample\D3Mapper\bin" 20 | rmdir /S /Q "Sample\D3Mapper\obj" 21 | 22 | rmdir /S /Q "Sample\DskMapper\bin" 23 | rmdir /S /Q "Sample\DskMapper\obj" 24 | 25 | rmdir /S /Q "Sample\GtaMapper\bin" 26 | rmdir /S /Q "Sample\GtaMapper\obj" 27 | 28 | rmdir /S /Q "Source\ScpBus\bus\objchk_win7_amd64" 29 | rmdir /S /Q "Source\ScpBus\bus\objchk_win7_x86" 30 | rmdir /S /Q "Source\ScpBus\bus\objfre_win7_amd64" 31 | rmdir /S /Q "Source\ScpBus\bus\objfre_win7_x86" 32 | 33 | del /S /Q "*.sdf" 34 | del /S /Q "*.user" 35 | del /S /Q "*.log" 36 | del /S /Q "*.aps" 37 | del /S /Q /A:H "*.suo" 38 | 39 | del /S /Q "CommonInfo.cs" 40 | del /S /Q "Scp_All.ico" 41 | 42 | pushd bin 43 | del /S /Q "*.pdb" 44 | del /S /Q "*.lib" 45 | del /S /Q "*.exp" 46 | del /S /Q "*.exe.metagen" 47 | del /S /Q "*.vshost.exe" 48 | del /S /Q "*.vshost.exe.config" 49 | del /S /Q "*.vshost.exe.manifest" 50 | popd 51 | popd 52 | -------------------------------------------------------------------------------- /XInput_Scp/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | 11 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 12 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 13 | #endif 14 | 15 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 16 | #define _WIN32_WINNT 0x0602 // Change this to the appropriate value to target other versions of Windows. 17 | #endif 18 | 19 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 20 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 21 | #endif 22 | 23 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 24 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 25 | #endif 26 | -------------------------------------------------------------------------------- /ScpDriverInstaller/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | using log4net.Config; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | 10 | [assembly: AssemblyTitle("ScpDriverInstaller")] 11 | [assembly: AssemblyDescription("")] 12 | 13 | 14 | //In order to begin building localizable applications, set 15 | //CultureYouAreCodingWith in your .csproj file 16 | //inside a . For example, if you are using US english 17 | //in your source files, set the to en-US. Then uncomment 18 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 19 | //the line below to match the UICulture setting in the project file. 20 | 21 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 22 | 23 | 24 | [assembly: ThemeInfo( 25 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 26 | //(used if a resource is not found in the page, 27 | // or application resource dictionaries) 28 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 29 | //(used if a resource is not found in the page, 30 | // app, or any theme specific resource dictionaries) 31 | )] 32 | 33 | 34 | [assembly: XmlConfigurator(Watch = true)] -------------------------------------------------------------------------------- /ScpUser/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | 3 | using namespace System; 4 | using namespace System::Reflection; 5 | using namespace System::Runtime::CompilerServices; 6 | using namespace System::Runtime::InteropServices; 7 | using namespace System::Security::Permissions; 8 | 9 | // 10 | // General Information about an assembly is controlled through the following 11 | // set of attributes. Change these attribute values to modify the information 12 | // associated with an assembly. 13 | // 14 | [assembly:AssemblyTitleAttribute("SCPUser")]; 15 | [assembly:AssemblyDescriptionAttribute("")]; 16 | [assembly:AssemblyConfigurationAttribute("")]; 17 | [assembly:AssemblyCompanyAttribute("Scarlet.Crush Productions")]; 18 | [assembly:AssemblyProductAttribute("SCPUser")]; 19 | [assembly:AssemblyCopyrightAttribute("Copyright (c) Scarlet.Crush 2012, 2013, 2014")]; 20 | [assembly:AssemblyTrademarkAttribute("")]; 21 | [assembly:AssemblyCultureAttribute("")]; 22 | 23 | // 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the value or you can default the Revision and Build Numbers 32 | // by using the '*' as shown below: 33 | 34 | [assembly:AssemblyVersionAttribute("2.5.1.137")]; 35 | 36 | [assembly:ComVisible(false)]; 37 | 38 | [assembly:CLSCompliantAttribute(true)]; 39 | 40 | // [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 41 | -------------------------------------------------------------------------------- /ScpInstaller/ScpDriver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using System.IO; 4 | using System.Xml.Serialization; 5 | 6 | namespace ScpDriver 7 | { 8 | /// 9 | [Serializable] 10 | [DesignerCategory("code")] 11 | [XmlType(AnonymousType = true)] 12 | [XmlRoot(Namespace = "", IsNullable = false)] 13 | public class ScpDriver 14 | { 15 | /// 16 | public string Service { get; set; } 17 | public bool InstallService { get { return !string.IsNullOrEmpty(Service) && bool.Parse(Service); } } 18 | 19 | /// 20 | public string Bluetooth { get; set; } 21 | public bool InstallBluetooth { get { return !string.IsNullOrEmpty(Bluetooth) && bool.Parse(Bluetooth); } } 22 | 23 | /// 24 | public string DualShock3 { get; set; } 25 | public bool InstallDualShock3 { get { return !string.IsNullOrEmpty(DualShock3) && bool.Parse(DualShock3); } } 26 | 27 | /// 28 | public string VirtualBus { get; set; } 29 | public bool InstallVirtualBus { get { return !string.IsNullOrEmpty(VirtualBus) && bool.Parse(VirtualBus); } } 30 | 31 | public static ScpDriver Deserialize(string file) 32 | { 33 | var serializer = new XmlSerializer(typeof (ScpDriver)); 34 | 35 | using (var reader = new StreamReader(file)) 36 | { 37 | return (ScpDriver) serializer.Deserialize(reader); 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /ScpControl/Utilities/GenericGamepadConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Xml; 5 | using System.Xml.Serialization; 6 | using HidSharp; 7 | 8 | namespace ScpControl.Utilities 9 | { 10 | [Serializable] 11 | public class GenericGamepadConfig 12 | { 13 | public string DevicePath { get; set; } 14 | } 15 | 16 | [Serializable] 17 | public class GenericGamepadConfigCollection : List 18 | { 19 | public static IList LocalDevices 20 | { 21 | get 22 | { 23 | var loader = new HidDeviceLoader(); 24 | return loader.GetDevices().ToList(); 25 | } 26 | } 27 | 28 | #region Serialization 29 | 30 | public static GenericGamepadConfigCollection LoadFromFile(string file) 31 | { 32 | var serializer = new XmlSerializer(typeof(GenericGamepadConfigCollection)); 33 | using (var reader = XmlReader.Create(file)) 34 | { 35 | return (GenericGamepadConfigCollection)serializer.Deserialize(reader); 36 | } 37 | } 38 | 39 | public void SaveToFile(string file) 40 | { 41 | var serializer = new XmlSerializer(this.GetType()); 42 | using (var writer = XmlWriter.Create(file)) 43 | { 44 | serializer.Serialize(writer, this); 45 | } 46 | } 47 | 48 | #endregion 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ScpControl/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /HidReport.Contract/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ScpControl.ControllerContract")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("ScpControl.ControllerContract")] 12 | [assembly: AssemblyCopyright("Copyright © 2017")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("8d32247f-0fec-4dad-9572-7fc2247e0f21")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /ScpUser/ScpUser.rc: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | #include "winres.h" 3 | 4 | ///////////////////////////////////////////////////////////////////////////// 5 | // English (United Kingdom) resources 6 | 7 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK 8 | #pragma code_page(1252) 9 | 10 | 1 ICON "ARPIcon.ico" 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | // 14 | // Version 15 | // 16 | 17 | VS_VERSION_INFO VERSIONINFO 18 | FILEVERSION 2,5,2,138 19 | PRODUCTVERSION 2,5,2,138 20 | FILEFLAGSMASK 0x3fL 21 | #ifdef _DEBUG 22 | FILEFLAGS 0x1L 23 | #else 24 | FILEFLAGS 0x0L 25 | #endif 26 | FILEOS 0x40004L 27 | FILETYPE 0x1L 28 | FILESUBTYPE 0x0L 29 | BEGIN 30 | BLOCK "StringFileInfo" 31 | BEGIN 32 | BLOCK "080904b0" 33 | BEGIN 34 | VALUE "CompanyName", "Scarlet.Crush Productions" 35 | VALUE "FileDescription", "SCPUser Managed Application" 36 | VALUE "FileVersion", "2.5.2.138" 37 | VALUE "InternalName", "SCPUser.exe" 38 | VALUE "LegalCopyright", "Copyright (C) Scarlet.Crush Productions 2012, 2013, 2014" 39 | VALUE "OriginalFilename", "SCPUser.exe" 40 | VALUE "ProductName", "SCPUser Managed Application" 41 | VALUE "ProductVersion", "2.5.2.138" 42 | END 43 | END 44 | BLOCK "VarFileInfo" 45 | BEGIN 46 | VALUE "Translation", 0x809, 1200 47 | END 48 | END 49 | 50 | ///////////////////////////////////////////////////////////////////////////// 51 | -------------------------------------------------------------------------------- /ScpControl.Shared/Core/ScpHidReport.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Net.NetworkInformation; 4 | using System.Reflection; 5 | using HidReport.Contract.Core; 6 | 7 | namespace ScpControl.Shared.Core 8 | { 9 | /// 10 | /// Represents an extended HID Input Report ready to be sent to the virtual bus device. 11 | /// 12 | /// 13 | [Serializable] 14 | public class ScpHidReport : EventArgs 15 | { 16 | #region Ctors 17 | public ScpHidReport(DsConnection connectionType, PhysicalAddress padMacAddress, DsModel model, DsPadId padId, DsState padState, HidReport.Core.HidReport hidReport) 18 | { 19 | ConnectionType = connectionType; 20 | _padMacAddress = padMacAddress.GetAddressBytes(); 21 | Model = model; 22 | PadId = padId; 23 | PadState = padState; 24 | _hidReport = hidReport; 25 | } 26 | 27 | #endregion 28 | 29 | private readonly HidReport.Core.HidReport _hidReport; 30 | private readonly byte[] _padMacAddress; 31 | 32 | #region Public properties 33 | 34 | public IScpHidReport HidReport => _hidReport; 35 | 36 | public PhysicalAddress PadMacAddress 37 | { 38 | get { return new PhysicalAddress(_padMacAddress); } 39 | } 40 | 41 | public DsModel Model { get; } 42 | 43 | public DsPadId PadId { get; } 44 | 45 | public DsState PadState { get; } 46 | 47 | public DsConnection ConnectionType { get; } 48 | #endregion 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ScpMonitor/AxisBar.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpMonitor 2 | { 3 | partial class AxisBar 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // AxisBar 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.BackColor = System.Drawing.Color.Transparent; 38 | this.Name = "AxisBar"; 39 | this.Size = new System.Drawing.Size(130, 13); 40 | this.ResumeLayout(false); 41 | 42 | } 43 | 44 | #endregion 45 | 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ScpService/Ds3Service.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScpService 2 | { 3 | partial class Ds3Service 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | _mTimer.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Component Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | this.components = new System.ComponentModel.Container(); 33 | this.rootHub = new ScpControl.RootHub(this.components); 34 | // 35 | // Ds3Service 36 | // 37 | this.AutoLog = false; 38 | this.CanHandlePowerEvent = true; 39 | this.CanShutdown = true; 40 | this.ServiceName = "Ds3Service"; 41 | 42 | } 43 | 44 | #endregion 45 | 46 | private ScpControl.RootHub rootHub; 47 | } 48 | } 49 | --------------------------------------------------------------------------------