diff --git a/WheelAdapter/dependencies/SDK_218/CreateSdk.bat b/WheelAdapter/dependencies/SDK_218/CreateSdk.bat
deleted file mode 100644
index a73d1b1..0000000
--- a/WheelAdapter/dependencies/SDK_218/CreateSdk.bat
+++ /dev/null
@@ -1,17 +0,0 @@
-REM Automate the creation of an SDK package
-
-REM C#
-COPY ..\X64\Release\vJoyInterface.dll ".\c#\x64\vJoyInterface.dll"
-COPY ..\X64\Release\vJoyInterfaceWrap.dll ".\c#\x64\vJoyInterfaceWrap.dll"
-COPY ..\Win32\Release\vJoyInterface.dll ".\c#\x86\vJoyInterface.dll"
-COPY ..\Win32\Release\vJoyInterfaceWrap.dll ".\c#\x86\vJoyInterfaceWrap.dll"
-
-REM Include Files
-COPY ..\Inc\public.h .\Inc\public.h
-COPY ..\apps\common\vJoyInterface\vjoyinterface.h .\Inc\vjoyinterface.h
-
-REM Library Files
-COPY ..\Win32\Release\vJoyInterface.dll .\LIB\vJoyInterface.dll
-COPY ..\Win32\Release\vJoyInterface.lib .\LIB\vJoyInterface.lib
-COPY ..\X64\Release\vJoyInterface.dll .\LIB\amd64\vJoyInterface.dll
-COPY ..\X64\Release\vJoyInterface.lib .\LIB\amd64\vJoyInterface.lib
diff --git a/WheelAdapter/dependencies/SDK_218/ReadMe.pdf b/WheelAdapter/dependencies/SDK_218/ReadMe.pdf
deleted file mode 100644
index 4b249c5..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/ReadMe.pdf and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.csproj b/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.csproj
deleted file mode 100644
index 8b55469..0000000
--- a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.csproj
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}
- Exe
- Properties
- FeederDemoCS
- FeederDemoCS
- v2.0
- 512
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
- False
- ..\x64\vJoyInterfaceWrap.dll
-
-
-
-
-
-
-
-
- False
- .NET Framework 2.0 %28x86%29
- true
-
-
- False
- .NET Framework 3.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.5
- false
-
-
-
-
-
- copy $(SolutionDir)..\x64\vJoyInterface.dll $(TargetDir).
-
-
\ No newline at end of file
diff --git a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.sln b/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.sln
deleted file mode 100644
index 438f834..0000000
--- a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/FeederDemoCS.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C# Express 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FeederDemoCS", "FeederDemoCS.csproj", "{CCA62E05-B035-49F6-A3B4-ACD21CD562E4}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Program.cs b/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Program.cs
deleted file mode 100644
index 5baceea..0000000
--- a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Program.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// This project demonstrates how to write a simple vJoy feeder in C#
-//
-// You can compile it with either #define ROBUST OR #define EFFICIENT
-// The fuctionality is similar -
-// The ROBUST section demonstrate the usage of functions that are easy and safe to use but are less efficient
-// The EFFICIENT ection demonstrate the usage of functions that are more efficient
-//
-// Functionality:
-// The program starts with creating one joystick object.
-// Then it petches the device id from the command-line and makes sure that it is within range
-// After testing that the driver is enabled it gets information about the driver
-// Gets information about the specified virtual device
-// This feeder uses only a few axes. It checks their existence and
-// checks the number of buttons and POV Hat switches.
-// Then the feeder acquires the virtual device
-// Here starts and endless loop that feedes data into the virtual device
-//
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-#define ROBUST
-//#define EFFICIENT
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-// Don't forget to add this
-using vJoyInterfaceWrap;
-
-namespace FeederDemoCS
-{
- class Program
- {
- // Declaring one joystick (Device id 1) and a position structure.
- static public vJoy joystick;
- static public vJoy.JoystickState iReport;
- static public uint id = 1;
-
-
- static void Main(string[] args)
- {
- // Create one joystick object and a position structure.
- joystick = new vJoy();
- iReport = new vJoy.JoystickState();
-
-
- // Device ID can only be in the range 1-16
- if (args.Length>0 && !String.IsNullOrEmpty(args[0]))
- id = Convert.ToUInt32(args[0]);
- if (id <= 0 || id > 16)
- {
- Console.WriteLine("Illegal device ID {0}\nExit!",id);
- return;
- }
-
- // Get the driver attributes (Vendor ID, Product ID, Version Number)
- if (!joystick.vJoyEnabled())
- {
- Console.WriteLine("vJoy driver not enabled: Failed Getting vJoy attributes.\n");
- return;
- }
- else
- Console.WriteLine("Vendor: {0}\nProduct :{1}\nVersion Number:{2}\n", joystick.GetvJoyManufacturerString(), joystick.GetvJoyProductString(), joystick.GetvJoySerialNumberString());
-
- // Get the state of the requested device
- VjdStat status = joystick.GetVJDStatus(id);
- switch (status)
- {
- case VjdStat.VJD_STAT_OWN:
- Console.WriteLine("vJoy Device {0} is already owned by this feeder\n", id);
- break;
- case VjdStat.VJD_STAT_FREE:
- Console.WriteLine("vJoy Device {0} is free\n", id);
- break;
- case VjdStat.VJD_STAT_BUSY:
- Console.WriteLine("vJoy Device {0} is already owned by another feeder\nCannot continue\n", id);
- return;
- case VjdStat.VJD_STAT_MISS:
- Console.WriteLine("vJoy Device {0} is not installed or disabled\nCannot continue\n", id);
- return;
- default:
- Console.WriteLine("vJoy Device {0} general error\nCannot continue\n", id);
- return;
- };
-
- // Check which axes are supported
- bool AxisX = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_X);
- bool AxisY = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_Y);
- bool AxisZ = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_Z);
- bool AxisRX = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_RX);
- bool AxisRZ = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_RZ);
- // Get the number of buttons and POV Hat switchessupported by this vJoy device
- int nButtons = joystick.GetVJDButtonNumber(id);
- int ContPovNumber = joystick.GetVJDContPovNumber(id);
- int DiscPovNumber = joystick.GetVJDDiscPovNumber(id);
-
- // Print results
- Console.WriteLine("\nvJoy Device {0} capabilities:\n", id);
- Console.WriteLine("Numner of buttons\t\t{0}\n", nButtons);
- Console.WriteLine("Numner of Continuous POVs\t{0}\n", ContPovNumber);
- Console.WriteLine("Numner of Descrete POVs\t\t{0}\n", DiscPovNumber);
- Console.WriteLine("Axis X\t\t{0}\n", AxisX ? "Yes" : "No");
- Console.WriteLine("Axis Y\t\t{0}\n", AxisX ? "Yes" : "No");
- Console.WriteLine("Axis Z\t\t{0}\n", AxisX ? "Yes" : "No");
- Console.WriteLine("Axis Rx\t\t{0}\n", AxisRX ? "Yes" : "No");
- Console.WriteLine("Axis Rz\t\t{0}\n", AxisRZ ? "Yes" : "No");
-
- // Test if DLL matches the driver
- UInt32 DllVer = 0, DrvVer = 0;
- bool match = joystick.DriverMatch(ref DllVer, ref DrvVer);
- if (match)
- Console.WriteLine("Version of Driver Matches DLL Version ({0:X})\n", DllVer);
- else
- Console.WriteLine("Version of Driver ({0:X}) does NOT match DLL Version ({1:X})\n", DrvVer, DllVer);
-
-
- // Acquire the target
- if ((status == VjdStat.VJD_STAT_OWN) || ((status == VjdStat.VJD_STAT_FREE) && (!joystick.AcquireVJD(id))))
- {
- Console.WriteLine("Failed to acquire vJoy device number {0}.\n", id);
- return ;
- }
- else
- Console.WriteLine("Acquired: vJoy device number {0}.\n", id);
-
- Console.WriteLine("\npress enter to stat feeding");
- Console.ReadKey(true);
-
- int X, Y, Z, ZR, XR;
- uint count = 0;
- long maxval = 0;
-
- X = 20;
- Y = 30;
- Z = 40;
- XR = 60;
- ZR = 80;
-
- joystick.GetVJDAxisMax(id, HID_USAGES.HID_USAGE_X, ref maxval);
-
-#if ROBUST
- bool res;
- // Reset this device to default values
- joystick.ResetVJD(id);
-
- // Feed the device in endless loop
- while (true)
- {
- // Set position of 4 axes
- res = joystick.SetAxis(X, id, HID_USAGES.HID_USAGE_X);
- res = joystick.SetAxis(Y, id, HID_USAGES.HID_USAGE_Y);
- res = joystick.SetAxis(Z, id, HID_USAGES.HID_USAGE_Z);
- res = joystick.SetAxis(XR, id, HID_USAGES.HID_USAGE_RX);
- res = joystick.SetAxis(ZR, id, HID_USAGES.HID_USAGE_RZ);
-
- // Press/Release Buttons
- res = joystick.SetBtn(true, id, count / 50);
- res = joystick.SetBtn(false, id, 1 + count / 50);
-
- // If Continuous POV hat switches installed - make them go round
- // For high values - put the switches in neutral state
- if (ContPovNumber>0)
- {
- if ((count * 70) < 30000)
- {
- res = joystick.SetContPov(((int)count * 70), id, 1);
- res = joystick.SetContPov(((int)count * 70) + 2000, id, 2);
- res = joystick.SetContPov(((int)count * 70) + 4000, id, 3);
- res = joystick.SetContPov(((int)count * 70) + 6000, id, 4);
- }
- else
- {
- res = joystick.SetContPov(-1, id, 1);
- res = joystick.SetContPov(-1, id, 2);
- res = joystick.SetContPov(-1, id, 3);
- res = joystick.SetContPov(-1, id, 4);
- };
- };
-
- // If Discrete POV hat switches installed - make them go round
- // From time to time - put the switches in neutral state
- if (DiscPovNumber>0)
- {
- if (count < 550)
- {
- joystick.SetDiscPov((((int)count / 20) + 0) % 4, id, 1);
- joystick.SetDiscPov((((int)count / 20) + 1) % 4, id, 2);
- joystick.SetDiscPov((((int)count / 20) + 2) % 4, id, 3);
- joystick.SetDiscPov((((int)count / 20) + 3) % 4, id, 4);
- }
- else
- {
- joystick.SetDiscPov(-1, id, 1);
- joystick.SetDiscPov(-1, id, 2);
- joystick.SetDiscPov(-1, id, 3);
- joystick.SetDiscPov(-1, id, 4);
- };
- };
-
- System.Threading.Thread.Sleep(20);
- X += 150; if (X > maxval) X = 0;
- Y += 250; if (Y > maxval) Y = 0;
- Z += 350; if (Z > maxval) Z = 0;
- XR += 220; if (XR > maxval) XR = 0;
- ZR += 200; if (ZR > maxval) ZR = 0;
- count++;
-
- if (count > 640)
- count = 0;
-
- } // While (Robust)
-
-#endif // ROBUST
-#if EFFICIENT
-
- byte[] pov = new byte[4];
-
- while (true)
- {
- iReport.bDevice = (byte)id;
- iReport.AxisX = X;
- iReport.AxisY = Y;
- iReport.AxisZ = Z;
- iReport.AxisZRot = ZR;
- iReport.AxisXRot = XR;
-
- // Set buttons one by one
- iReport.Buttons = (uint)(0x1 << (int)(count / 20));
-
- if (ContPovNumber>0)
- {
- // Make Continuous POV Hat spin
- iReport.bHats = (count*70);
- iReport.bHatsEx1 = (count*70)+3000;
- iReport.bHatsEx2 = (count*70)+5000;
- iReport.bHatsEx3 = 15000 - (count*70);
- if ((count*70) > 36000)
- {
- iReport.bHats = 0xFFFFFFFF; // Neutral state
- iReport.bHatsEx1 = 0xFFFFFFFF; // Neutral state
- iReport.bHatsEx2 = 0xFFFFFFFF; // Neutral state
- iReport.bHatsEx3 = 0xFFFFFFFF; // Neutral state
- };
- }
- else
- {
- // Make 5-position POV Hat spin
-
- pov[0] = (byte)(((count / 20) + 0)%4);
- pov[1] = (byte)(((count / 20) + 1) % 4);
- pov[2] = (byte)(((count / 20) + 2) % 4);
- pov[3] = (byte)(((count / 20) + 3) % 4);
-
- iReport.bHats = (uint)(pov[3]<<12) | (uint)(pov[2]<<8) | (uint)(pov[1]<<4) | (uint)pov[0];
- if ((count) > 550)
- iReport.bHats = 0xFFFFFFFF; // Neutral state
- };
-
- /*** Feed the driver with the position packet - is fails then wait for input then try to re-acquire device ***/
- if (!joystick.UpdateVJD(id, ref iReport))
- {
- Console.WriteLine("Feeding vJoy device number {0} failed - try to enable device then press enter\n", id);
- Console.ReadKey(true);
- joystick.AcquireVJD(id);
- }
-
- System.Threading.Thread.Sleep(20);
- count++;
- if (count > 640) count = 0;
-
- X += 150; if (X > maxval) X = 0;
- Y += 250; if (Y > maxval) Y = 0;
- Z += 350; if (Z > maxval) Z = 0;
- XR += 220; if (XR > maxval) XR = 0;
- ZR += 200; if (ZR > maxval) ZR = 0;
-
- }; // While
-
-#endif // EFFICIENT
-
- } // Main
- } // class Program
-} // namespace FeederDemoCS
diff --git a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Properties/AssemblyInfo.cs b/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Properties/AssemblyInfo.cs
deleted file mode 100644
index adbaee7..0000000
--- a/WheelAdapter/dependencies/SDK_218/c#/FeederDemoCS/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("FeederDemoCS")]
-[assembly: AssemblyDescription("C# Demo Feeder")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("FeederDemoCS")]
-[assembly: AssemblyCopyright("Copyright © 2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("05b30ba2-93f6-465e-bc70-0e01acc9ea17")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.0.1.0")]
-[assembly: AssemblyFileVersion("2.0.1.0")]
diff --git a/WheelAdapter/dependencies/SDK_218/c#/ReadMe.pdf b/WheelAdapter/dependencies/SDK_218/c#/ReadMe.pdf
deleted file mode 100644
index 0da1485..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/c#/ReadMe.pdf and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/inc/public.h b/WheelAdapter/dependencies/SDK_218/inc/public.h
deleted file mode 100644
index 57ff7e8..0000000
--- a/WheelAdapter/dependencies/SDK_218/inc/public.h
+++ /dev/null
@@ -1,283 +0,0 @@
-/*++
-
-Copyright (c) Shaul Eizikovich. All rights reserved.
-
- THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
- KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
- PURPOSE.
-
-Module Name:
-
- public.h
-
-Abstract:
-
- Public header file for the vJoy project
- Developpers that need to interface with vJoy need to include this file
-
-Author:
-
-
-Environment:
-
- kernel mode and User mode
-
-Notes:
-
-
-Revision History:
-
-
---*/
-#ifndef _PUBLIC_H
-#define _PUBLIC_H
-
-// Compilation directives
-#define PPJOY_MODE
-#undef PPJOY_MODE // Comment-out for compatibility mode
-
-#ifdef PPJOY_MODE
-#include "PPJIoctl.h"
-#endif
-
-#include // Definitions for controlling GUID initialization
-
-// Sideband comunication with vJoy Device
-//{781EF630-72B2-11d2-B852-00C04FAD5101}
-DEFINE_GUID(GUID_DEVINTERFACE_VJOY, 0x781EF630, 0x72B2, 0x11d2, 0xB8, 0x52, 0x00, 0xC0, 0x4F, 0xAD, 0x51, 0x01);
-
-//
-// Usage example:
-// CreateFile(TEXT("\\\\.\\vJoy"), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
-#ifdef PPJOY_MODE
-#define DEVICENAME_STRING "PPJoyIOCTL1"
-#else
-#define DEVICENAME_STRING "vJoy"
-#endif
-#define NTDEVICE_NAME_STRING "\\Device\\"DEVICENAME_STRING
-#define SYMBOLIC_NAME_STRING "\\DosDevices\\"DEVICENAME_STRING
-#define DOS_FILE_NAME "\\\\.\\"DEVICENAME_STRING
-#define VJOY_INTERFACE L"Device_"
-
-// Version parts
-#define VER_X_ 0
-#define VER_H_ 2
-#define VER_M_ 1
-#define VER_L_ 8
-
-#define STRINGIFY_1(x) #x
-#define STRINGIFY(x) STRINGIFY_1(x)
-#define PASTE(x, y) x##y
-#define MAKEWIDE(x) PASTE(L,x)
-
-// Device Attributes
-//
-#define VENDOR_N_ID 0x1234
-#define PRODUCT_N_ID 0xBEAD
-#define VERSION_N (VER_L_ + 0x10*VER_M_ + 0x100*VER_H_ + 0x1000*VER_X_)
-
-// Device Strings
-//
-#define VENDOR_STR_ID L"Shaul Eizikovich"
-#define PRODUCT_STR_ID L"vJoy - Virtual Joystick"
-#define SERIALNUMBER_STR MAKEWIDE(STRINGIFY(VER_H_)) L"." MAKEWIDE(STRINGIFY(VER_M_)) L"." MAKEWIDE(STRINGIFY(VER_L_))
-
-// Function codes;
-//#define LOAD_POSITIONS 0x910
-//#define GETATTRIB 0x911
-// #define GET_FFB_DATA 0x00222912 // METHOD_OUT_DIRECT + FILE_DEVICE_UNKNOWN + FILE_ANY_ACCESS
-//#define SET_FFB_STAT 0x913 // METHOD_NEITHER
-//#define GET_FFB_STAT 0x916
-
-#define F_LOAD_POSITIONS 0x910
-#define F_GETATTRIB 0x911
-#define F_GET_FFB_DATA 0x912
-#define F_SET_FFB_STAT 0x913
-#define F_GET_FFB_STAT 0x916
-#define F_GET_DEV_INFO 0x917
-#define F_IS_DRV_FFB_CAP 0x918
-#define F_IS_DRV_FFB_EN 0x919
-#define F_GET_DRV_DEV_MAX 0x91A
-#define F_GET_DRV_DEV_EN 0x91B
-#define F_IS_DEV_FFB_START 0x91C
-#define F_GET_DEV_STAT 0x91D
-#define F_GET_DRV_INFO 0x91E
-#define F_RESET_DEV 0x91F
-#define F_GET_POSITIONS 0x920
-
-// IO Device Control codes;
-#define IOCTL_VJOY_GET_ATTRIB CTL_CODE (FILE_DEVICE_UNKNOWN, GETATTRIB, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-#define LOAD_POSITIONS CTL_CODE (FILE_DEVICE_UNKNOWN, F_LOAD_POSITIONS, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-#define GET_POSITIONS CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_POSITIONS, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define GET_FFB_DATA CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_FFB_DATA, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-#define SET_FFB_STAT CTL_CODE (FILE_DEVICE_UNKNOWN, F_SET_FFB_STAT, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define GET_FFB_STAT CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_FFB_STAT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define GET_DEV_INFO CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DEV_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IS_DRV_FFB_CAP CTL_CODE (FILE_DEVICE_UNKNOWN, F_IS_DRV_FFB_CAP, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IS_DRV_FFB_EN CTL_CODE (FILE_DEVICE_UNKNOWN, F_IS_DRV_FFB_EN, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define GET_DRV_DEV_MAX CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DRV_DEV_MAX, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define GET_DRV_DEV_EN CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DRV_DEV_EN, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IS_DEV_FFB_START CTL_CODE (FILE_DEVICE_UNKNOWN, F_IS_DEV_FFB_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define GET_DEV_STAT CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DEV_STAT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define GET_DRV_INFO CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DRV_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define RESET_DEV CTL_CODE (FILE_DEVICE_UNKNOWN, F_RESET_DEV, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#ifndef __HIDPORT_H__
-// Copied from hidport.h
-#define IOCTL_HID_SET_FEATURE 0xB0191
-#define IOCTL_HID_WRITE_REPORT 0xB000F
-
-#define MAX_N_DEVICES 16 // Maximum number of vJoy devices
-
-
-typedef struct _HID_DEVICE_ATTRIBUTES {
-
- ULONG Size;
- //
- // sizeof (struct _HID_DEVICE_ATTRIBUTES)
- //
-
- //
- // Vendor ids of this hid device
- //
- USHORT VendorID;
- USHORT ProductID;
- USHORT VersionNumber;
- USHORT Reserved[11];
-
-} HID_DEVICE_ATTRIBUTES, * PHID_DEVICE_ATTRIBUTES;
-#endif
-
-// Device Type
-//enum DevType { vJoy, vXbox };
-
-// Error levels for status report
-enum ERRLEVEL {INFO, WARN, ERR, FATAL, APP};
-// Status report function prototype
-#ifdef WINAPI
-typedef BOOL (WINAPI *StatusMessageFunc)(void * output, TCHAR * buffer, enum ERRLEVEL level);
-#endif
-
-///////////////////////////////////////////////////////////////
-
-/////////////////////// Joystick Position ///////////////////////
-//
-// This structure holds data that is passed to the device from
-// an external application such as SmartPropoPlus.
-//
-// Usage example:
-// JOYSTICK_POSITION iReport;
-// :
-// DeviceIoControl (hDevice, 100, &iReport, sizeof(HID_INPUT_REPORT), NULL, 0, &bytes, NULL)
-typedef struct _JOYSTICK_POSITION
-{
- BYTE bDevice; // Index of device. 1-based.
- LONG wThrottle;
- LONG wRudder;
- LONG wAileron;
- LONG wAxisX;
- LONG wAxisY;
- LONG wAxisZ;
- LONG wAxisXRot;
- LONG wAxisYRot;
- LONG wAxisZRot;
- LONG wSlider;
- LONG wDial;
- LONG wWheel;
- LONG wAxisVX;
- LONG wAxisVY;
- LONG wAxisVZ;
- LONG wAxisVBRX;
- LONG wAxisVBRY;
- LONG wAxisVBRZ;
- LONG lButtons; // 32 buttons: 0x00000001 means button1 is pressed, 0x80000000 -> button32 is pressed
- DWORD bHats; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
- DWORD bHatsEx1; // 16-bit of continuous HAT switch
- DWORD bHatsEx2; // 16-bit of continuous HAT switch
- DWORD bHatsEx3; // 16-bit of continuous HAT switch
-} JOYSTICK_POSITION, *PJOYSTICK_POSITION;
-
-// Superset of JOYSTICK_POSITION
-// Extension of JOYSTICK_POSITION with Buttons 33-128 appended to the end of the structure.
-typedef struct _JOYSTICK_POSITION_V2
-{
- /// JOYSTICK_POSITION
- BYTE bDevice; // Index of device. 1-based.
- LONG wThrottle;
- LONG wRudder;
- LONG wAileron;
- LONG wAxisX;
- LONG wAxisY;
- LONG wAxisZ;
- LONG wAxisXRot;
- LONG wAxisYRot;
- LONG wAxisZRot;
- LONG wSlider;
- LONG wDial;
- LONG wWheel;
- LONG wAxisVX;
- LONG wAxisVY;
- LONG wAxisVZ;
- LONG wAxisVBRX;
- LONG wAxisVBRY;
- LONG wAxisVBRZ;
- LONG lButtons; // 32 buttons: 0x00000001 means button1 is pressed, 0x80000000 -> button32 is pressed
- DWORD bHats; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
- DWORD bHatsEx1; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
- DWORD bHatsEx2; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
- DWORD bHatsEx3; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch LONG lButtonsEx1; // Buttons 33-64
-
- /// JOYSTICK_POSITION_V2 Extenssion
- LONG lButtonsEx1; // Buttons 33-64
- LONG lButtonsEx2; // Buttons 65-96
- LONG lButtonsEx3; // Buttons 97-128
-} JOYSTICK_POSITION_V2, *PJOYSTICK_POSITION_V2;
-
-
-// HID Descriptor definitions - Axes
-#define HID_USAGE_X 0x30
-#define HID_USAGE_Y 0x31
-#define HID_USAGE_Z 0x32
-#define HID_USAGE_RX 0x33
-#define HID_USAGE_RY 0x34
-#define HID_USAGE_RZ 0x35
-#define HID_USAGE_SL0 0x36
-#define HID_USAGE_SL1 0x37
-#define HID_USAGE_WHL 0x38
-#define HID_USAGE_POV 0x39
-
-// HID Descriptor definitions - FFB Effects
-#define HID_USAGE_CONST 0x26 // Usage ET Constant Force
-#define HID_USAGE_RAMP 0x27 // Usage ET Ramp
-#define HID_USAGE_SQUR 0x30 // Usage ET Square
-#define HID_USAGE_SINE 0x31 // Usage ET Sine
-#define HID_USAGE_TRNG 0x32 // Usage ET Triangle
-#define HID_USAGE_STUP 0x33 // Usage ET Sawtooth Up
-#define HID_USAGE_STDN 0x34 // Usage ET Sawtooth Down
-#define HID_USAGE_SPRNG 0x40 // Usage ET Spring
-#define HID_USAGE_DMPR 0x41 // Usage ET Damper
-#define HID_USAGE_INRT 0x42 // Usage ET Inertia
-#define HID_USAGE_FRIC 0x43 // Usage ET Friction
-
-
-// HID Descriptor definitions - FFB Report IDs
-#define HID_ID_STATE 0x02 // Usage PID State report
-#define HID_ID_EFFREP 0x01 // Usage Set Effect Report
-#define HID_ID_ENVREP 0x02 // Usage Set Envelope Report
-#define HID_ID_CONDREP 0x03 // Usage Set Condition Report
-#define HID_ID_PRIDREP 0x04 // Usage Set Periodic Report
-#define HID_ID_CONSTREP 0x05 // Usage Set Constant Force Report
-#define HID_ID_RAMPREP 0x06 // Usage Set Ramp Force Report
-#define HID_ID_CSTMREP 0x07 // Usage Custom Force Data Report
-#define HID_ID_SMPLREP 0x08 // Usage Download Force Sample
-#define HID_ID_EFOPREP 0x0A // Usage Effect Operation Report
-#define HID_ID_BLKFRREP 0x0B // Usage PID Block Free Report
-#define HID_ID_CTRLREP 0x0C // Usage PID Device Control
-#define HID_ID_GAINREP 0x0D // Usage Device Gain Report
-#define HID_ID_SETCREP 0x0E // Usage Set Custom Force Report
-#define HID_ID_NEWEFREP 0x01 // Usage Create New Effect Report
-#define HID_ID_BLKLDREP 0x02 // Usage Block Load Report
-#define HID_ID_POOLREP 0x03 // Usage PID Pool Report
-
-#endif
diff --git a/WheelAdapter/dependencies/SDK_218/inc/vjoyinterface.h b/WheelAdapter/dependencies/SDK_218/inc/vjoyinterface.h
deleted file mode 100644
index 9cd4e25..0000000
--- a/WheelAdapter/dependencies/SDK_218/inc/vjoyinterface.h
+++ /dev/null
@@ -1,366 +0,0 @@
-// The following ifdef block is the standard way of creating macros which make exporting
-// from a DLL simpler. All files within this DLL are compiled with the VJOYINTERFACE_EXPORTS
-// symbol defined on the command line. this symbol should not be defined on any project
-// that uses this DLL. This way any other project whose source files include this file see
-// VJOYINTERFACE_API functions as being imported from a DLL, whereas this DLL sees symbols
-// defined with this macro as being exported.
-#ifdef VJOYINTERFACE_EXPORTS
-#define VJOYINTERFACE_API __declspec(dllexport)
-#else
-#define VJOYINTERFACE_API __declspec(dllimport)
-#endif
-
-#ifdef STATIC
-#undef VJOYINTERFACE_API
-#define VJOYINTERFACE_API
-#endif
-
-///////////////////////////// vJoy device (collection) status ////////////////////////////////////////////
-#ifndef VJDSTAT
-#define VJDSTAT
-enum VjdStat /* Declares an enumeration data type */
-{
- VJD_STAT_OWN, // The vJoy Device is owned by this application.
- VJD_STAT_FREE, // The vJoy Device is NOT owned by any application (including this one).
- VJD_STAT_BUSY, // The vJoy Device is owned by another application. It cannot be acquired by this application.
- VJD_STAT_MISS, // The vJoy Device is missing. It either does not exist or the driver is down.
- VJD_STAT_UNKN // Unknown
-};
-
-/* Error codes for some of the functions */
-#define NO_HANDLE_BY_INDEX -1
-#define BAD_PREPARSED_DATA -2
-#define NO_CAPS -3
-#define BAD_N_BTN_CAPS -4
-#define BAD_CALLOC -5
-#define BAD_BTN_CAPS -6
-#define BAD_BTN_RANGE -7
-#define BAD_N_VAL_CAPS -8
-#define BAD_ID_RANGE -9
-#define NO_SUCH_AXIS -10
-#define BAD_DEV_STAT -11
-#define NO_DEV_EXIST -12
-#define NO_FILE_EXIST -13
-
-/* Registry Constants */
-#define REG_PARAM L"SYSTEM\\CurrentControlSet\\services\\vjoy\\Parameters"
-#define REG_PARAM_DEV0 L"SYSTEM\\CurrentControlSet\\services\\vjoy\\Parameters\\Device0"
-#define REG_PARAM_DEV L"SYSTEM\\CurrentControlSet\\services\\vjoy\\Parameters\\Device"
-#define REG_DEVICE L"Device"
-#define REG_INIT L"Init"
-#define BTN_INIT L"BTNS"
-
-/* Environment Variables */
-#define INTERFACE_LOG_LEVEL "VJOYINTERFACELOGLEVEL"
-#define INTERFACE_LOG_FILE "VJOYINTERFACELOGFILE"
-#define INTERFACE_DEF_LOG_FILE "vJoyInterface.log"
-
-/* Compatibility definitions */
-#define FFB_EFF_CONST FFB_EFF_REPORT
-#define PFFB_EFF_CONST PFFB_EFF_REPORT
-#define Ffb_h_Eff_Const Ffb_h_Eff_Report
-
-// Device Axis/POVs/Buttons
-struct DEVCTRLS {
- BOOL Init;
- BOOL Rudder;
- BOOL Aileron;
- BOOL AxisX;
- BOOL AxisY;
- BOOL AxisZ;
- BOOL AxisXRot;
- BOOL AxisYRot;
- BOOL AxisZRot;
- BOOL Slider;
- BOOL Dial;
- BOOL Wheel;
- BOOL AxisVX;
- BOOL AxisVY;
- BOOL AxisVZ;
- BOOL AxisVBRX;
- BOOL AxisVBRY;
- BOOL AxisVBRZ;
- INT nButtons;
- INT nDescHats;
- INT nContHats;
-};
-
-struct DeviceStat {
- HANDLE h; // Handle to the PDO interface that represents the virtual device
- VjdStat stat; // Status of the device
- JOYSTICK_POSITION_V2 position; // Current Position of the device
- HDEVNOTIFY hDeviceNotifyHandle; // Device Notification Handle
- DEVCTRLS DeviceControls; // Structure Holding the data about the device's controls
- PVOID pPreParsedData; // structure contains a top-level collection's preparsed data.
-};
-
-struct DEV_INFO {
- BYTE DeviceID; // Device ID: Valid values are 1-16
- BYTE nImplemented; // Number of implemented device: Valid values are 1-16
- BYTE isImplemented; // Is this device implemented?
- BYTE MaxDevices; // Maximum number of devices that may be implemented (16)
- BYTE DriverFFB; // Does this driver support FFB (False)
- BYTE DeviceFFB; // Does this device support FFB (False)
-} ;
-
-
-
-typedef void (CALLBACK *RemovalCB)(BOOL, BOOL, PVOID);
-
-
-enum FFBEType // FFB Effect Type
-{
-
- // Effect Type
- ET_NONE = 0, // No Force
- ET_CONST = 1, // Constant Force
- ET_RAMP = 2, // Ramp
- ET_SQR = 3, // Square
- ET_SINE = 4, // Sine
- ET_TRNGL = 5, // Triangle
- ET_STUP = 6, // Sawtooth Up
- ET_STDN = 7, // Sawtooth Down
- ET_SPRNG = 8, // Spring
- ET_DMPR = 9, // Damper
- ET_INRT = 10, // Inertia
- ET_FRCTN = 11, // Friction
- ET_CSTM = 12, // Custom Force Data
-};
-
-enum FFBPType // FFB Packet Type
-{
- // Write
- PT_EFFREP = HID_ID_EFFREP, // Usage Set Effect Report
- PT_ENVREP = HID_ID_ENVREP, // Usage Set Envelope Report
- PT_CONDREP = HID_ID_CONDREP, // Usage Set Condition Report
- PT_PRIDREP = HID_ID_PRIDREP, // Usage Set Periodic Report
- PT_CONSTREP = HID_ID_CONSTREP, // Usage Set Constant Force Report
- PT_RAMPREP = HID_ID_RAMPREP, // Usage Set Ramp Force Report
- PT_CSTMREP = HID_ID_CSTMREP, // Usage Custom Force Data Report
- PT_SMPLREP = HID_ID_SMPLREP, // Usage Download Force Sample
- PT_EFOPREP = HID_ID_EFOPREP, // Usage Effect Operation Report
- PT_BLKFRREP = HID_ID_BLKFRREP, // Usage PID Block Free Report
- PT_CTRLREP = HID_ID_CTRLREP, // Usage PID Device Control
- PT_GAINREP = HID_ID_GAINREP, // Usage Device Gain Report
- PT_SETCREP = HID_ID_SETCREP, // Usage Set Custom Force Report
-
- // Feature
- PT_NEWEFREP = HID_ID_NEWEFREP+0x10, // Usage Create New Effect Report
- PT_BLKLDREP = HID_ID_BLKLDREP+0x10, // Usage Block Load Report
- PT_POOLREP = HID_ID_POOLREP+0x10, // Usage PID Pool Report
-};
-
-enum FFBOP
-{
- EFF_START = 1, // EFFECT START
- EFF_SOLO = 2, // EFFECT SOLO START
- EFF_STOP = 3, // EFFECT STOP
-};
-
-enum FFB_CTRL
-{
- CTRL_ENACT = 1, // Enable all device actuators.
- CTRL_DISACT = 2, // Disable all the device actuators.
- CTRL_STOPALL = 3, // Stop All Effects Issues a stop on every running effect.
- CTRL_DEVRST = 4, // Device Reset– Clears any device paused condition, enables all actuators and clears all effects from memory.
- CTRL_DEVPAUSE = 5, // Device Pause– The all effects on the device are paused at the current time step.
- CTRL_DEVCONT = 6, // Device Continue– The all effects that running when the device was paused are restarted from their last time step.
-};
-
-enum FFB_EFFECTS {
- Constant = 0x0001,
- Ramp = 0x0002,
- Square = 0x0004,
- Sine = 0x0008,
- Triangle = 0x0010,
- Sawtooth_Up = 0x0020,
- Sawtooth_Dn = 0x0040,
- Spring = 0x0080,
- Damper = 0x0100,
- Inertia = 0x0200,
- Friction = 0x0400,
- Custom = 0x0800,
-};
-
-typedef struct _FFB_DATA {
- ULONG size;
- ULONG cmd;
- UCHAR *data;
-} FFB_DATA, * PFFB_DATA;
-
-typedef struct _FFB_EFF_CONSTANT {
- BYTE EffectBlockIndex;
- LONG Magnitude; // Constant force magnitude: -10000 - 10000
-} FFB_EFF_CONSTANT, *PFFB_EFF_CONSTANT;
-
-typedef struct _FFB_EFF_RAMP {
- BYTE EffectBlockIndex;
- LONG Start; // The Normalized magnitude at the start of the effect (-10000 - 10000)
- LONG End; // The Normalized magnitude at the end of the effect (-10000 - 10000)
-} FFB_EFF_RAMP, *PFFB_EFF_RAMP;
-
-//typedef struct _FFB_EFF_CONST {
-typedef struct _FFB_EFF_REPORT {
- BYTE EffectBlockIndex;
- FFBEType EffectType;
- WORD Duration;// Value in milliseconds. 0xFFFF means infinite
- WORD TrigerRpt;
- WORD SamplePrd;
- BYTE Gain;
- BYTE TrigerBtn;
- BOOL Polar; // How to interpret force direction Polar (0-360°) or Cartesian (X,Y)
- union
- {
- BYTE Direction; // Polar direction: (0x00-0xFF correspond to 0-360°)
- BYTE DirX; // X direction: Positive values are To the right of the center (X); Negative are Two's complement
- };
- BYTE DirY; // Y direction: Positive values are below the center (Y); Negative are Two's complement
-} FFB_EFF_REPORT, *PFFB_EFF_REPORT;
-//} FFB_EFF_CONST, *PFFB_EFF_CONST;
-
-typedef struct _FFB_EFF_OP {
- BYTE EffectBlockIndex;
- FFBOP EffectOp;
- BYTE LoopCount;
-} FFB_EFF_OP, *PFFB_EFF_OP;
-
-typedef struct _FFB_EFF_PERIOD {
- BYTE EffectBlockIndex;
- DWORD Magnitude; // Range: 0 - 10000
- LONG Offset; // Range: –10000 - 10000
- DWORD Phase; // Range: 0 - 35999
- DWORD Period; // Range: 0 - 32767
-} FFB_EFF_PERIOD, *PFFB_EFF_PERIOD;
-
-typedef struct _FFB_EFF_COND {
- BYTE EffectBlockIndex;
- BOOL isY;
- LONG CenterPointOffset; // CP Offset: Range -10000 - 10000
- LONG PosCoeff; // Positive Coefficient: Range -10000 - 10000
- LONG NegCoeff; // Negative Coefficient: Range -10000 - 10000
- DWORD PosSatur; // Positive Saturation: Range 0 – 10000
- DWORD NegSatur; // Negative Saturation: Range 0 – 10000
- LONG DeadBand; // Dead Band: : Range 0 – 1000
-} FFB_EFF_COND, *PFFB_EFF_COND;
-
-typedef struct _FFB_EFF_ENVLP {
- BYTE EffectBlockIndex;
- DWORD AttackLevel; // The Normalized magnitude of the stating point: 0 - 10000
- DWORD FadeLevel; // The Normalized magnitude of the stopping point: 0 - 10000
- DWORD AttackTime; // Time of the attack: 0 - 4294967295
- DWORD FadeTime; // Time of the fading: 0 - 4294967295
-} FFB_EFF_ENVLP, *PFFB_EFF_ENVLP;
-
-#define FFB_DATA_READY WM_USER+31
-
-typedef void (CALLBACK *FfbGenCB)(PVOID, PVOID);
-#endif
-
-
-#ifndef STATIC
- extern "C" {
-#else
-namespace vJoyNS {
-#endif
- ///////////////////////////// vJoy device (collection) Control interface /////////////////////////////////
- /*
- These functions allow writing feeders and other applications that interface with vJoy
- It is assumed that only one vJoy top-device (= Raw PDO) exists.
- This top-level device can have up to 16 siblings (=top-level Reports/collections)
- Each sibling is refered to as a "vJoy Device" and is attributed a unique Report ID (Range: 1-16).
-
- Naming convetion:
- VJD = vJoy Device
- rID = Report ID
- */
-#pragma warning( push )
-#pragma warning( disable : 4995 )
- ///// General driver data
- VJOYINTERFACE_API SHORT __cdecl GetvJoyVersion(void);
- VJOYINTERFACE_API BOOL __cdecl vJoyEnabled(void);
- VJOYINTERFACE_API PVOID __cdecl GetvJoyProductString(void);
- VJOYINTERFACE_API PVOID __cdecl GetvJoyManufacturerString(void);
- VJOYINTERFACE_API PVOID __cdecl GetvJoySerialNumberString(void);
- VJOYINTERFACE_API BOOL __cdecl DriverMatch(WORD * DllVer, WORD * DrvVer);
- VJOYINTERFACE_API VOID __cdecl RegisterRemovalCB(RemovalCB cb, PVOID data);
- VJOYINTERFACE_API BOOL __cdecl vJoyFfbCap(BOOL * Supported); // Is this version of vJoy capable of FFB?
- VJOYINTERFACE_API BOOL __cdecl GetvJoyMaxDevices(int * n); // What is the maximum possible number of vJoy devices
- VJOYINTERFACE_API BOOL __cdecl GetNumberExistingVJD(int * n); // What is the number of vJoy devices currently enabled
-
-
- ///// vJoy Device properties
- VJOYINTERFACE_API int __cdecl GetVJDButtonNumber(UINT rID); // Get the number of buttons defined in the specified VDJ
- VJOYINTERFACE_API int __cdecl GetVJDDiscPovNumber(UINT rID); // Get the number of descrete-type POV hats defined in the specified VDJ
- VJOYINTERFACE_API int __cdecl GetVJDContPovNumber(UINT rID); // Get the number of descrete-type POV hats defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl GetVJDAxisExist(UINT rID, UINT Axis); // Test if given axis defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl GetVJDAxisMax(UINT rID, UINT Axis, LONG * Max); // Get logical Maximum value for a given axis defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl GetVJDAxisMin(UINT rID, UINT Axis, LONG * Min); // Get logical Minimum value for a given axis defined in the specified VDJ
- VJOYINTERFACE_API enum VjdStat __cdecl GetVJDStatus(UINT rID); // Get the status of the specified vJoy Device.
- // Added in 2.1.6
- VJOYINTERFACE_API BOOL __cdecl isVJDExists(UINT rID); // TRUE if the specified vJoy Device exists
- // Added in 2.1.8
- VJOYINTERFACE_API int __cdecl GetOwnerPid(UINT rID); // Reurn owner's Process ID if the specified vJoy Device exists
-
-
- ///// Write access to vJoy Device - Basic
- VJOYINTERFACE_API BOOL __cdecl AcquireVJD(UINT rID); // Acquire the specified vJoy Device.
- VJOYINTERFACE_API VOID __cdecl RelinquishVJD(UINT rID); // Relinquish the specified vJoy Device.
- VJOYINTERFACE_API BOOL __cdecl UpdateVJD(UINT rID, PVOID pData); // Update the position data of the specified vJoy Device.
-
- ///// Write access to vJoy Device - Modifyiers
- // This group of functions modify the current value of the position data
- // They replace the need to create a structure of position data then call UpdateVJD
-
- //// Reset functions
- VJOYINTERFACE_API BOOL __cdecl ResetVJD(UINT rID); // Reset all controls to predefined values in the specified VDJ
- VJOYINTERFACE_API VOID __cdecl ResetAll(void); // Reset all controls to predefined values in all VDJ
- VJOYINTERFACE_API BOOL __cdecl ResetButtons(UINT rID); // Reset all buttons (To 0) in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl ResetPovs(UINT rID); // Reset all POV Switches (To -1) in the specified VDJ
-
- // Write data
- VJOYINTERFACE_API BOOL __cdecl SetAxis(LONG Value, UINT rID, UINT Axis); // Write Value to a given axis defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl SetBtn(BOOL Value, UINT rID, UCHAR nBtn); // Write Value to a given button defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl SetDiscPov(int Value, UINT rID, UCHAR nPov); // Write Value to a given descrete POV defined in the specified VDJ
- VJOYINTERFACE_API BOOL __cdecl SetContPov(DWORD Value, UINT rID, UCHAR nPov); // Write Value to a given continuous POV defined in the specified VDJ
-
-
-#pragma region FFB Function prototypes
-// Force Feedback (FFB) functions
- VJOYINTERFACE_API FFBEType __cdecl FfbGetEffect(); // Returns effect serial number if active, 0 if inactive
- VJOYINTERFACE_API VOID __cdecl FfbRegisterGenCB(FfbGenCB cb, PVOID data);
- __declspec(deprecated("** FfbStart function was deprecated - you can remove it from your code **")) \
- VJOYINTERFACE_API BOOL __cdecl FfbStart(UINT rID); // Start the FFB queues of the specified vJoy Device.
- __declspec(deprecated("** FfbStop function was deprecated - you can remove it from your code **")) \
- VJOYINTERFACE_API VOID __cdecl FfbStop(UINT rID); // Stop the FFB queues of the specified vJoy Device.
-
- // Added in 2.1.6
- VJOYINTERFACE_API BOOL __cdecl IsDeviceFfb(UINT rID);
- VJOYINTERFACE_API BOOL __cdecl IsDeviceFfbEffect(UINT rID, UINT Effect);
-
- // Force Feedback (FFB) helper functions
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_DeviceID(const FFB_DATA * Packet, int *DeviceID);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Type(const FFB_DATA * Packet, FFBPType *Type);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Packet(const FFB_DATA * Packet, WORD *Type, int *DataSize, BYTE *Data[]);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_EBI(const FFB_DATA * Packet, int *Index);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Report(const FFB_DATA * Packet, FFB_EFF_REPORT* Effect);
- __declspec(deprecated("** Ffb_h_Eff_Const function was deprecated - Use function Ffb_h_Eff_Report **")) \
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Const(const FFB_DATA * Packet, FFB_EFF_CONST* Effect);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Ramp(const FFB_DATA * Packet, FFB_EFF_RAMP* RampEffect);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_EffOp(const FFB_DATA * Packet, FFB_EFF_OP* Operation);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_DevCtrl(const FFB_DATA * Packet, FFB_CTRL * Control);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Period(const FFB_DATA * Packet, FFB_EFF_PERIOD* Effect);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Cond(const FFB_DATA * Packet, FFB_EFF_COND* Condition);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_DevGain(const FFB_DATA * Packet, BYTE * Gain);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Envlp(const FFB_DATA * Packet, FFB_EFF_ENVLP* Envelope);
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_EffNew(const FFB_DATA * Packet, FFBEType * Effect);
-
- // Added in 2.1.6
- VJOYINTERFACE_API DWORD __cdecl Ffb_h_Eff_Constant(const FFB_DATA * Packet, FFB_EFF_CONSTANT * ConstantEffect);
-#pragma endregion
-
-#pragma warning( pop )
-#ifndef STATIC
- } // extern "C"
-#else
-} // Namespace vJoyNS
-#endif
diff --git a/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.dll b/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.dll
deleted file mode 100644
index ef7f0a7..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.dll and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.lib b/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.lib
deleted file mode 100644
index 83d5953..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/lib/amd64/vJoyInterface.lib and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.dll b/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.dll
deleted file mode 100644
index 309de0e..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.dll and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.lib b/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.lib
deleted file mode 100644
index f158d45..0000000
Binary files a/WheelAdapter/dependencies/SDK_218/lib/vJoyInterface.lib and /dev/null differ
diff --git a/WheelAdapter/dependencies/SDK_218/src/stdafx.h b/WheelAdapter/dependencies/SDK_218/src/stdafx.h
deleted file mode 100644
index 99dee4e..0000000
--- a/WheelAdapter/dependencies/SDK_218/src/stdafx.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently
-//
-
-#pragma once
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-
-// TODO: reference additional headers your program requires here
diff --git a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.cpp b/WheelAdapter/dependencies/SDK_218/src/vJoyClient.cpp
deleted file mode 100644
index 68578bd..0000000
--- a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.cpp
+++ /dev/null
@@ -1,571 +0,0 @@
-// vJoyClient.cpp : Simple feeder application with a FFB demo
-//
-
-
-// Monitor Force Feedback (FFB) vJoy device
-#include "stdafx.h"
-//#include "Devioctl.h"
-#include "public.h"
-#include
-#include
-#include
-#include "vjoyinterface.h"
-#include "Math.h"
-
-// Default device ID (Used when ID not specified)
-#define DEV_ID 1
-
-// Prototypes
-void CALLBACK FfbFunction(PVOID data);
-void CALLBACK FfbFunction1(PVOID cb, PVOID data);
-
-BOOL PacketType2Str(FFBPType Type, LPTSTR Str);
-BOOL EffectType2Str(FFBEType Ctrl, LPTSTR Str);
-BOOL DevCtrl2Str(FFB_CTRL Type, LPTSTR Str);
-BOOL EffectOpStr(FFBOP Op, LPTSTR Str);
-int Polar2Deg(BYTE Polar);
-int Byte2Percent(BYTE InByte);
-int TwosCompByte2Int(BYTE in);
-
-
-int ffb_direction = 0;
-int ffb_strenght = 0;
-int serial_result = 0;
-
-
-JOYSTICK_POSITION_V2 iReport; // The structure that holds the full position data
-
-int
-__cdecl
-_tmain(int argc, _TCHAR* argv[])
-{
- int stat = 0;
- UINT DevID = DEV_ID;
- USHORT X = 0;
- USHORT Y = 0;
- USHORT Z = 0;
- LONG Btns = 0;
-
-
- PVOID pPositionMessage;
- UINT IoCode = LOAD_POSITIONS;
- UINT IoSize = sizeof(JOYSTICK_POSITION);
- // HID_DEVICE_ATTRIBUTES attrib;
- BYTE id = 1;
- UINT iInterface = 1;
-
- // Define the effect names
- static FFBEType FfbEffect= (FFBEType)-1;
- LPCTSTR FfbEffectName[] =
- {"NONE", "Constant Force", "Ramp", "Square", "Sine", "Triangle", "Sawtooth Up",\
- "Sawtooth Down", "Spring", "Damper", "Inertia", "Friction", "Custom Force"};
-
- // Set the target Joystick - get it from the command-line
- if (argc>1)
- DevID = _tstoi(argv[1]);
-
- // Get the driver attributes (Vendor ID, Product ID, Version Number)
- if (!vJoyEnabled())
- {
- _tprintf("Function vJoyEnabled Failed - make sure that vJoy is installed and enabled\n");
- int dummy = getchar();
- stat = - 2;
- goto Exit;
- }
- else
- {
- wprintf(L"Vendor: %s\nProduct :%s\nVersion Number:%s\n", static_cast (GetvJoyManufacturerString()), static_cast(GetvJoyProductString()), static_cast(GetvJoySerialNumberString()));
- };
-
- // Get the status of the vJoy device before trying to acquire it
- VjdStat status = GetVJDStatus(DevID);
-
- switch (status)
- {
- case VJD_STAT_OWN:
- _tprintf("vJoy device %d is already owned by this feeder\n", DevID);
- break;
- case VJD_STAT_FREE:
- _tprintf("vJoy device %d is free\n", DevID);
- break;
- case VJD_STAT_BUSY:
- _tprintf("vJoy device %d is already owned by another feeder\nCannot continue\n", DevID);
- return -3;
- case VJD_STAT_MISS:
- _tprintf("vJoy device %d is not installed or disabled\nCannot continue\n", DevID);
- return -4;
- default:
- _tprintf("vJoy device %d general error\nCannot continue\n", DevID);
- return -1;
- };
-
- // Acquire the vJoy device
- if (!AcquireVJD(DevID))
- {
- _tprintf("Failed to acquire vJoy device number %d.\n", DevID);
- int dummy = getchar();
- stat = -1;
- goto Exit;
- }
- else
- _tprintf("Acquired device number %d - OK\n", DevID);
-
-
-
- // Start FFB
-#if 1
- BOOL Ffbstarted = FfbStart(DevID);
- if (!Ffbstarted)
- {
- _tprintf("Failed to start FFB on vJoy device number %d.\n", DevID);
- int dummy = getchar();
- stat = -3;
- goto Exit;
- }
- else
- _tprintf("Started FFB on vJoy device number %d - OK\n", DevID);
-
-#endif // 1
-
- // Register Generic callback function
- // At this point you instruct the Receptor which callback function to call with every FFB packet it receives
- // It is the role of the designer to register the right FFB callback function
- FfbRegisterGenCB(FfbFunction1, NULL);
-
-
-
-
- // Start endless loop
- // The loop injects position data to the vJoy device
- // If it fails it let's the user try again
- //
- // FFB Note:
- // All FFB activity is performed in a separate thread created when registered the callback function
- while (1)
- {
-
- // Set destenition vJoy device
- id = (BYTE)DevID;
- iReport.bDevice = id;
-
- // Set position data of 3 first axes
- if (Z>35000) Z=0;
- Z += 200;
- iReport.wAxisZ = Z;
- iReport.wAxisX = 32000-Z;
- iReport.wAxisY = Z/2+7000;
-
- // Set position data of first 8 buttons
- Btns = 1<<(Z/4000);
- iReport.lButtons = Btns;
-
- // Send position data to vJoy device
- pPositionMessage = (PVOID)(&iReport);
- if (!UpdateVJD(DevID, pPositionMessage))
- {
- printf("Feeding vJoy device number %d failed - try to enable device then press enter\n", DevID);
- getchar();
- AcquireVJD(DevID);
- }
- Sleep(2);
- }
-
-Exit:
- RelinquishVJD(DevID);
- return 0;
-}
-
-
-// Generic callback function
-void CALLBACK FfbFunction(PVOID data)
-{
- FFB_DATA * FfbData = (FFB_DATA *)data;
- int size = FfbData->size;
- _tprintf("\nFFB Size %d\n", size);
-
- _tprintf("Cmd:%08.8X ", FfbData->cmd);
- _tprintf("ID:%02.2X ", FfbData->data[0]);
- _tprintf("Size:%02.2d ", static_cast(FfbData->size - 8));
- _tprintf(" - ");
- for (UINT i = 0; i < FfbData->size - 8; i++)
- _tprintf(" %02.2X", (UINT)FfbData->data);
- _tprintf("\n");
-}
-
-void CALLBACK FfbFunction1(PVOID data, PVOID userdata)
-{
- // Packet Header
- _tprintf("\n ============= FFB Packet size Size %d =============\n", static_cast(((FFB_DATA *)data)->size));
-
- /////// Packet Device ID, and Type Block Index (if exists)
-#pragma region Packet Device ID, and Type Block Index
- int DeviceID, BlockIndex;
- FFBPType Type;
- TCHAR TypeStr[100];
-
- if (ERROR_SUCCESS == Ffb_h_DeviceID((FFB_DATA *)data, &DeviceID))
- _tprintf("\n > Device ID: %d", DeviceID);
- if (ERROR_SUCCESS == Ffb_h_Type((FFB_DATA *)data, &Type))
- {
- if (!PacketType2Str(Type, TypeStr))
- _tprintf("\n > Packet Type: %d", Type);
- else
- _tprintf("\n > Packet Type: %s", TypeStr);
-
- }
- if (ERROR_SUCCESS == Ffb_h_EBI((FFB_DATA *)data, &BlockIndex))
- _tprintf("\n > Effect Block Index: %d", BlockIndex);
-#pragma endregion
-
-
- /////// Effect Report
-#pragma region Effect Report
- FFB_EFF_CONST Effect;
- if (ERROR_SUCCESS == Ffb_h_Eff_Report((FFB_DATA *)data, &Effect))
- {
- if (!EffectType2Str(Effect.EffectType, TypeStr))
- _tprintf("\n >> Effect Report: %02x", Effect.EffectType);
- else
- _tprintf("\n >> Effect Report: %s", TypeStr);
-
- if (Effect.Polar)
- {
- _tprintf("\n >> Direction: %d deg (%02x)", Polar2Deg(Effect.Direction), Effect.Direction);
-
-
- }
- else
- {
- _tprintf("\n >> X Direction: %02x", Effect.DirX);
- _tprintf("\n >> Y Direction: %02x", Effect.DirY);
- };
-
- if (Effect.Duration == 0xFFFF)
- _tprintf("\n >> Duration: Infinit");
- else
- _tprintf("\n >> Duration: %d MilliSec", static_cast(Effect.Duration));
-
- if (Effect.TrigerRpt == 0xFFFF)
- _tprintf("\n >> Trigger Repeat: Infinit");
- else
- _tprintf("\n >> Trigger Repeat: %d", static_cast(Effect.TrigerRpt));
-
- if (Effect.SamplePrd == 0xFFFF)
- _tprintf("\n >> Sample Period: Infinit");
- else
- _tprintf("\n >> Sample Period: %d", static_cast(Effect.SamplePrd));
-
-
- _tprintf("\n >> Gain: %d%%", Byte2Percent(Effect.Gain));
-
- };
-#pragma endregion
-#pragma region PID Device Control
- FFB_CTRL Control;
- TCHAR CtrlStr[100];
- if (ERROR_SUCCESS == Ffb_h_DevCtrl((FFB_DATA *)data, &Control) && DevCtrl2Str(Control, CtrlStr))
- _tprintf("\n >> PID Device Control: %s", CtrlStr);
-
-#pragma endregion
-#pragma region Effect Operation
- FFB_EFF_OP Operation;
- TCHAR EffOpStr[100];
- if (ERROR_SUCCESS == Ffb_h_EffOp((FFB_DATA *)data, &Operation) && EffectOpStr(Operation.EffectOp, EffOpStr))
- {
- _tprintf("\n >> Effect Operation: %s", EffOpStr);
- if (Operation.LoopCount == 0xFF)
- _tprintf("\n >> Loop until stopped");
- else
- _tprintf("\n >> Loop %d times", static_cast(Operation.LoopCount));
-
- };
-#pragma endregion
-#pragma region Global Device Gain
- BYTE Gain;
- if (ERROR_SUCCESS == Ffb_h_DevGain((FFB_DATA *)data, &Gain))
- _tprintf("\n >> Global Device Gain: %d", Byte2Percent(Gain));
-
-#pragma endregion
-#pragma region Condition
- FFB_EFF_COND Condition;
- if (ERROR_SUCCESS == Ffb_h_Eff_Cond((FFB_DATA *)data, &Condition))
- {
- if (Condition.isY)
- _tprintf("\n >> Y Axis");
- else
- _tprintf("\n >> X Axis");
- _tprintf("\n >> Center Point Offset: %d", TwosCompByte2Int(Condition.CenterPointOffset)*10000/127);
- _tprintf("\n >> Positive Coefficient: %d", TwosCompByte2Int(Condition.PosCoeff)*10000/127);
- _tprintf("\n >> Negative Coefficient: %d", TwosCompByte2Int(Condition.NegCoeff)*10000/127);
- _tprintf("\n >> Positive Saturation: %d", Condition.PosSatur*10000/255);
- _tprintf("\n >> Negative Saturation: %d", Condition.NegSatur*10000/255);
- _tprintf("\n >> Dead Band: %d", Condition.DeadBand*10000/255);
- }
-#pragma endregion
-#pragma region Envelope
- FFB_EFF_ENVLP Envelope;
- if (ERROR_SUCCESS == Ffb_h_Eff_Envlp((FFB_DATA *)data, &Envelope))
- {
- _tprintf("\n >> Attack Level: %d", Envelope.AttackLevel*10000/255);
- _tprintf("\n >> Fade Level: %d", Envelope.FadeLevel*10000/255);
- _tprintf("\n >> Attack Time: %d", static_cast(Envelope.AttackTime));
- _tprintf("\n >> Fade Time: %d", static_cast(Envelope.FadeTime));
- };
-
-#pragma endregion
-#pragma region Periodic
- FFB_EFF_PERIOD EffPrd;
- if (ERROR_SUCCESS == Ffb_h_Eff_Period((FFB_DATA *)data, &EffPrd))
- {
- _tprintf("\n >> Magnitude: %d", EffPrd.Magnitude * 10000 / 255);
- _tprintf("\n >> Offset: %d", TwosCompByte2Int(EffPrd.Offset) * 10000 / 127);
- _tprintf("\n >> Phase: %d", EffPrd.Phase * 3600 / 255);
- _tprintf("\n >> Period: %d", static_cast(EffPrd.Period));
- };
-#pragma endregion
-
-#pragma region Effect Type
- FFBEType EffectType;
- if (ERROR_SUCCESS == Ffb_h_EffNew((FFB_DATA *)data, &EffectType))
- {
- if (EffectType2Str(EffectType, TypeStr))
- _tprintf("\n >> Effect Type: %s", TypeStr);
- else
- _tprintf("\n >> Effect Type: Unknown");
- }
-
-#pragma endregion
-
-#pragma region Ramp Effect
- FFB_EFF_RAMP RampEffect;
- if (ERROR_SUCCESS == Ffb_h_Eff_Ramp((FFB_DATA *)data, &RampEffect))
- {
- _tprintf("\n >> Ramp Start: %d", TwosCompByte2Int(RampEffect.Start) * 10000 / 127);
- _tprintf("\n >> Ramp End: %d", TwosCompByte2Int(RampEffect.End) * 10000 / 127);
- };
-
-#pragma endregion
-
- _tprintf("\n");
- FfbFunction(data);
- _tprintf("\n ====================================================\n");
-
-}
-
-
-// Convert Packet type to String
-BOOL PacketType2Str(FFBPType Type, LPTSTR OutStr)
-{
- BOOL stat = TRUE;
- LPTSTR Str="";
-
- switch (Type)
- {
- case PT_EFFREP:
- Str = "Effect Report";
- break;
- case PT_ENVREP:
- Str = "Envelope Report";
- break;
- case PT_CONDREP:
- Str = "Condition Report";
- break;
- case PT_PRIDREP:
- Str = "Periodic Report";
- break;
- case PT_CONSTREP:
- Str = "Constant Force Report";
- break;
- case PT_RAMPREP:
- Str = "Ramp Force Report";
- break;
- case PT_CSTMREP:
- Str = "Custom Force Data Report";
- break;
- case PT_SMPLREP:
- Str = "Download Force Sample";
- break;
- case PT_EFOPREP:
- Str = "Effect Operation Report";
- break;
- case PT_BLKFRREP:
- Str = "PID Block Free Report";
- break;
- case PT_CTRLREP:
- Str = "PID Device Contro";
- break;
- case PT_GAINREP:
- Str = "Device Gain Report";
- break;
- case PT_SETCREP:
- Str = "Set Custom Force Report";
- break;
- case PT_NEWEFREP:
- Str = "Create New Effect Report";
- break;
- case PT_BLKLDREP:
- Str = "Block Load Report";
- break;
- case PT_POOLREP:
- Str = "PID Pool Report";
- break;
- default:
- stat = FALSE;
- break;
- }
-
- if (stat)
- _tcscpy_s(OutStr, 100, Str);
-
- return stat;
-}
-
-// Convert Effect type to String
-BOOL EffectType2Str(FFBEType Type, LPTSTR OutStr)
-{
- BOOL stat = TRUE;
- LPTSTR Str="";
-
- switch (Type)
- {
- case ET_NONE:
- stat = FALSE;
- break;
- case ET_CONST:
- Str="Constant Force";
- break;
- case ET_RAMP:
- Str="Ramp";
- break;
- case ET_SQR:
- Str="Square";
- break;
- case ET_SINE:
- Str="Sine";
- break;
- case ET_TRNGL:
- Str="Triangle";
- break;
- case ET_STUP:
- Str="Sawtooth Up";
- break;
- case ET_STDN:
- Str="Sawtooth Down";
- break;
- case ET_SPRNG:
- Str="Spring";
- break;
- case ET_DMPR:
- Str="Damper";
- break;
- case ET_INRT:
- Str="Inertia";
- break;
- case ET_FRCTN:
- Str="Friction";
- break;
- case ET_CSTM:
- Str="Custom Force";
- break;
- default:
- stat = FALSE;
- break;
- };
-
- if (stat)
- _tcscpy_s(OutStr, 100, Str);
-
- return stat;
-}
-
-// Convert PID Device Control to String
-BOOL DevCtrl2Str(FFB_CTRL Ctrl, LPTSTR OutStr)
-{
- BOOL stat = TRUE;
- LPTSTR Str="";
-
- switch (Ctrl)
- {
- case CTRL_ENACT:
- Str="Enable Actuators";
- break;
- case CTRL_DISACT:
- Str="Disable Actuators";
- break;
- case CTRL_STOPALL:
- Str="Stop All Effects";
- break;
- case CTRL_DEVRST:
- Str="Device Reset";
- break;
- case CTRL_DEVPAUSE:
- Str="Device Pause";
- break;
- case CTRL_DEVCONT:
- Str="Device Continue";
- break;
- default:
- stat = FALSE;
- break;
- }
- if (stat)
- _tcscpy_s(OutStr, 100, Str);
-
- return stat;
-}
-
-// Convert Effect operation to string
-BOOL EffectOpStr(FFBOP Op, LPTSTR OutStr)
-{
- BOOL stat = TRUE;
- LPTSTR Str="";
-
- switch (Op)
- {
- case EFF_START:
- Str="Effect Start";
- break;
- case EFF_SOLO:
- Str="Effect Solo Start";
- break;
- case EFF_STOP:
- Str="Effect Stop";
- break;
- default:
- stat = FALSE;
- break;
- }
-
- if (stat)
- _tcscpy_s(OutStr, 100, Str);
-
- return stat;
-}
-
-// Polar values (0x00-0xFF) to Degrees (0-360)
-int Polar2Deg(BYTE Polar)
-{
- return ((UINT)Polar*360)/255;
-}
-
-// Convert range 0x00-0xFF to 0%-100%
-int Byte2Percent(BYTE InByte)
-{
- return ((UINT)InByte*100)/255;
-}
-
-// Convert One-Byte 2's complement input to integer
-int TwosCompByte2Int(BYTE in)
-{
- int tmp;
- BYTE inv = ~in;
- BOOL isNeg = in>>7;
- if (isNeg)
- {
- tmp = (int)(inv);
- tmp = -1*tmp;
- return tmp;
- }
- else
- return (int)in;
-}
diff --git a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.sln b/WheelAdapter/dependencies/SDK_218/src/vJoyClient.sln
deleted file mode 100644
index d0ac10b..0000000
--- a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.sln
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyClient", "vJoyClient.vcproj", "{A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Rel64|Win32 = Rel64|Win32
- Rel64|x64 = Rel64|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.Build.0 = Debug|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|x64.ActiveCfg = Debug|x64
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|x64.Build.0 = Debug|x64
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|Win32.ActiveCfg = Rel64|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|Win32.Build.0 = Rel64|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|x64.ActiveCfg = Rel64|x64
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|x64.Build.0 = Rel64|x64
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.ActiveCfg = Release|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.Build.0 = Release|Win32
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|x64.ActiveCfg = Release|x64
- {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.vcproj b/WheelAdapter/dependencies/SDK_218/src/vJoyClient.vcproj
deleted file mode 100644
index e673862..0000000
--- a/WheelAdapter/dependencies/SDK_218/src/vJoyClient.vcproj
+++ /dev/null
@@ -1,529 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-