├── 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 |
12 |
13 |
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 |
--------------------------------------------------------------------------------