├── .gitattributes ├── .gitignore ├── BuildAll.bat ├── CreateVersion ├── CreateVersion.cpp ├── CreateVersion.vcxproj ├── CreateVersion.vcxproj.filters ├── output-git-desc.h ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── targetver.h └── version.rc ├── LICENSE.txt ├── Latest.php ├── Performance1.psess ├── README.md ├── SDK ├── CreateSdk.bat ├── ReadMe.odt ├── c# │ ├── FeederDemoCS │ │ ├── FeederDemoCS.csproj │ │ ├── FeederDemoCS.sln │ │ ├── Program.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── ReadMe.odt │ ├── x64 │ │ ├── vJoyInterface.dll │ │ └── vJoyInterfaceWrap.dll │ └── x86 │ │ ├── vJoyInterface.dll │ │ └── vJoyInterfaceWrap.dll ├── inc │ ├── public.h │ └── vjoyinterface.h ├── lib │ ├── amd64 │ │ ├── vJoyInterface.dll │ │ └── vJoyInterface.lib │ ├── vJoyInterface.dll │ └── vJoyInterface.lib └── src │ ├── stdafx.h │ ├── vJoyClient.cpp │ ├── vJoyClient.sln │ └── vJoyClient.vcproj ├── apps ├── External │ ├── DLL │ │ ├── x64 │ │ │ ├── mfc120u.dll │ │ │ ├── msvcp110.dll │ │ │ ├── msvcp120.dll │ │ │ ├── msvcr110.dll │ │ │ ├── msvcr120.dll │ │ │ ├── vGenInterface.dll │ │ │ └── vJoyMonitor.dll │ │ └── x86 │ │ │ ├── mfc120u.dll │ │ │ ├── msvcp110.dll │ │ │ ├── msvcp120.dll │ │ │ ├── msvcr110.dll │ │ │ ├── msvcr120.dll │ │ │ ├── vGenInterface.dll │ │ │ └── vJoyMonitor.dll │ └── JoyMonitor │ │ ├── x64 │ │ └── JoyMonitor.exe │ │ └── x86 │ │ └── JoyMonitor.exe ├── FfbMon │ ├── FfbMon.cpp │ ├── FfbMon.h │ ├── FfbMon.sln │ ├── FfbMon.vcxproj │ ├── bldFfbMon.bat │ ├── makefile │ ├── makefile.inc │ ├── sources │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── Monitor │ ├── DXUT │ │ ├── Core │ │ │ └── dpiaware.manifest │ │ └── Optional │ │ │ └── directx.ico │ ├── Joystick.aps │ ├── Joystick.cpp │ ├── Joystick.gif │ ├── Joystick.rc │ ├── Joystick_2008.ncb │ ├── Joystick_2008.sdf │ ├── Joystick_2008.sln │ ├── Joystick_2008.suo │ ├── Joystick_2008.vcproj │ ├── Joystick_2008.vcxproj │ └── resource.h ├── SignApps.bat ├── common │ ├── dirs │ ├── stdafx.cpp │ ├── vJoyInterface.cpp │ ├── vJoyInterface │ │ ├── bldInterface.bat │ │ ├── makefile │ │ ├── makefile.inc │ │ ├── sources │ │ ├── stdafx.h │ │ ├── svn_version.h.tmpl │ │ ├── targetver.h │ │ ├── vJoyInterface.def │ │ ├── vJoyInterface.rc │ │ ├── vJoyInterface.ruleset │ │ ├── vJoyInterface.sln │ │ ├── vJoyInterface.vcproj │ │ ├── vJoyInterface.vcxproj │ │ ├── vJoyInterface2012.sln │ │ ├── vJoyInterface2012.vcxproj │ │ ├── vJoyInterface2012.vcxproj.filters │ │ ├── version.rc │ │ └── vjoyinterface.h │ ├── vJoyInterfaceCS │ │ ├── Version │ │ │ ├── Properties │ │ │ │ └── GlobalAssemblyInfo.cs.tmpl │ │ │ ├── Version.csproj │ │ │ └── dummy.cs │ │ ├── WrapperTest.vcxproj │ │ ├── WrapperTest │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Resources.Designer.cs │ │ │ │ ├── Resources.resx │ │ │ │ └── Settings.Designer.cs │ │ │ ├── TesterForm.Designer.cs │ │ │ ├── TesterForm.cs │ │ │ ├── TesterForm.resx │ │ │ ├── WrapperTest.csproj │ │ │ ├── app.config │ │ │ ├── bldTester.bat │ │ │ ├── makefile │ │ │ ├── makefile.inc │ │ │ └── sources │ │ ├── bldvJoyCS.bat │ │ ├── makefile │ │ ├── makefile.inc │ │ ├── sources │ │ ├── vJoyInterfaceCS.sln │ │ └── vJoyInterfaceWrap │ │ │ ├── GlobalAssemblyInfo.cs │ │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ │ ├── Wrapper.cs │ │ │ ├── bldWrapper.bat │ │ │ ├── makefile │ │ │ ├── makefile.inc │ │ │ ├── sources │ │ │ └── vJoyInterfaceWrap.csproj │ └── vJoyInterfaceStat │ │ ├── stdafx.h │ │ ├── targetver.h │ │ ├── vJoyInterface.def │ │ ├── vJoyInterface.sln │ │ ├── vJoyInterface.vcproj │ │ ├── vJoyInterface.vcxproj │ │ ├── vJoyInterface2012.sln │ │ ├── vJoyInterface2012.vcxproj.filters │ │ ├── vJoyInterfaceStat2012.vcxproj │ │ ├── vJoyInterfaceStat2012.vcxproj.filters │ │ └── version.rc ├── dirs ├── vGenInterface │ ├── Private.h │ ├── ReadMe.txt │ ├── dllmain.cpp │ ├── stdafx.cpp │ ├── stdafx.h │ ├── targetver.h │ ├── vGenInterface.cpp │ ├── vGenInterface.h │ ├── vGenInterface.vcxproj │ ├── vGenInterface.vcxproj.filters │ └── vGenTest │ │ ├── CompatTest │ │ ├── CompatTest.cpp │ │ ├── CompatTest.vcxproj │ │ ├── CompatTest.vcxproj.filters │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ │ ├── FreeDev │ │ ├── FreeDev.cpp │ │ ├── FreeDev.vcxproj │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ │ ├── vGenTest.cpp │ │ ├── vGenTest.vcxproj │ │ └── vXboxTest │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ ├── targetver.h │ │ ├── vXboxTest.cpp │ │ ├── vXboxTest.vcxproj │ │ └── vXboxTest.vcxproj.filters ├── vJoyClient │ ├── ReadMe.txt │ ├── makefile │ ├── makefile.inc │ ├── sources │ ├── stdafx.cpp │ ├── stdafx.h │ ├── targetver.h │ ├── vJoyClient.cpp │ ├── vJoyClient.sln │ ├── vJoyClient.vcproj │ ├── vJoyClient.vcproj.Shaul-Ivory2010.Shaul.user │ ├── vJoyClient.vcxproj │ ├── vJoyClient.vcxproj.user │ └── vjoyclient.h ├── vJoyConf │ ├── AssemblyInfo.cpp │ ├── Form1.h │ ├── Form1.resx │ ├── Joystick-icon.ico │ ├── ReadMe.txt │ ├── TabIcon │ │ ├── 1-Off.ico │ │ ├── 1-On.ico │ │ ├── 10-Off.ico │ │ ├── 10-On.ico │ │ ├── 11-Off.ico │ │ ├── 11-On.ico │ │ ├── 12-Off.ico │ │ ├── 12-On.ico │ │ ├── 13-Off.ico │ │ ├── 13-On.ico │ │ ├── 14-Off.ico │ │ ├── 14-On.ico │ │ ├── 15-Off.ico │ │ ├── 15-On.ico │ │ ├── 16-Del.ico │ │ ├── 16-Off.ico │ │ ├── 16-On.ico │ │ ├── 2-Off.ico │ │ ├── 2-On.ico │ │ ├── 3-Off.ico │ │ ├── 3-On.ico │ │ ├── 4-Off.ico │ │ ├── 4-On.ico │ │ ├── 5-Off.ico │ │ ├── 5-On.ico │ │ ├── 6-Off.ico │ │ ├── 6-On.ico │ │ ├── 7-Off.ico │ │ ├── 7-On.ico │ │ ├── 8-Off.ico │ │ ├── 8-On.ico │ │ ├── 9-Off.ico │ │ ├── 9-On.ico │ │ └── Frame.ico │ ├── app.ico │ ├── app.rc │ ├── bldConf.bat │ ├── declarations.h │ ├── hidReportDescFfb.h │ ├── hidtoken.h │ ├── hidusage.h │ ├── makefile │ ├── makefile.inc │ ├── resource.h │ ├── sources │ ├── stdafx.cpp │ ├── stdafx.h │ ├── svn_version.h.tmpl │ ├── targetver.h │ ├── vJoyConf.cpp │ ├── vJoyConf.exe.Win32.manifest │ ├── vJoyConf.exe.x64.manifest │ ├── vJoyConf.h │ ├── vJoyConf.ico │ ├── vJoyConf.rc │ ├── vJoyConf.sln │ ├── vJoyConf.vcxproj │ ├── vJoyConf.vcxproj.filters │ ├── vJoyConfig │ │ ├── Header.h │ │ ├── resource.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ ├── svn_version.h.tmpl │ │ ├── targetver.h │ │ ├── vJoyConfig.cpp │ │ ├── vJoyConfig.h │ │ ├── vJoyConfig.rc │ │ ├── vJoyConfig.sln │ │ ├── vJoyConfig.vcxproj │ │ ├── vJoyConfig.vcxproj.filters │ │ └── version.rc │ ├── vJoyDevice.cpp │ ├── vJoyDevice.h │ └── version.rc ├── vJoyDemo │ ├── AssemblyInfo.cpp │ ├── Form1.h │ ├── Form1.resX │ ├── FunkyLibrary.dll │ ├── Joystick-icon.ico │ ├── LBIndustrialCtrls.dll │ ├── PPJIoctl.h │ ├── ReadMe.txt │ ├── app.rc │ ├── resource.h │ ├── stdafx.cpp │ ├── stdafx.h │ ├── vJoyClient.cpp │ ├── vJoyDemo.cpp │ ├── vJoyDemo.sln │ ├── vJoyDemo.vcproj │ └── vjoyclient.h ├── vJoyFeeder │ ├── AssemblyInfo.cpp │ ├── Form1.h │ ├── Form1.resx │ ├── FunkyLibrary.dll │ ├── Joystick-Feeder-icon.ico │ ├── Joystick-icon.ico │ ├── LBIndustrialCtrls.dll │ ├── ReadMe.txt │ ├── app.rc │ ├── bldFeeder.bat │ ├── makefile │ ├── makefile.inc │ ├── resource.h │ ├── sources │ ├── stdafx.cpp │ ├── stdafx.h │ ├── svn_version.h.tmpl │ ├── vJoyClient.cpp │ ├── vJoyFeeder.cpp │ ├── vJoyFeeder.ncb │ ├── vJoyFeeder.sln │ ├── vJoyFeeder.suo │ ├── vJoyFeeder.vcproj │ ├── vJoyFeeder.vcxproj │ ├── vJoyFeeder.vcxproj.user │ └── vjoyclient.h ├── vJoyInstall │ ├── CmdLine │ │ ├── stdafx.cpp │ │ ├── vJoyInstall.cpp │ │ ├── vJoyInstall.rc │ │ ├── vJoyInstall.vcxproj │ │ ├── vJoyInstall.vcxproj.filters │ │ ├── vJoyInstallx64.exe.manifest │ │ └── vJoyInstallx86.exe.manifest │ ├── GTK │ │ ├── Install.c │ │ ├── Install.exe.manifest │ │ ├── Joystick-icon.ico │ │ ├── Joystick-icon.png │ │ ├── buildgtk │ │ ├── buildtest │ │ ├── install.glade │ │ ├── install.h │ │ ├── install.ico │ │ ├── install.rc │ │ ├── makefile.inc │ │ ├── setup_x64.SED │ │ ├── setup_x86.SED │ │ ├── sources │ │ ├── svn_version.h.tmpl │ │ ├── vJoyInstall.def │ │ ├── vJoyInstall.rc │ │ ├── vJoyInstall.vcxproj │ │ ├── wrapper.cpp │ │ └── wrapper.h │ ├── Joystick-icon.ico │ ├── Joystick-icon.png │ ├── dirs │ ├── install.h │ ├── install.ico │ ├── stdafx.h │ ├── targetver.h │ ├── vJoyInstall.def │ ├── vJoyInstall.h │ ├── vJoyInstall.rc │ ├── vJoyInstall.vcxproj │ ├── vJoyInstall.vcxproj.filters │ ├── vJoyInstallLib.cpp │ ├── wrapper.cpp │ └── wrapper.h └── vJoyList │ ├── MyMFCListCtrl.cpp │ ├── MyMFCListCtrl.h │ ├── ReadMe.txt │ ├── res │ ├── Joystick-icon.ico │ ├── vJoyList.ico │ ├── vJoyList.rc2 │ └── version.rc │ ├── resource.h │ ├── stdafx.cpp │ ├── stdafx.h │ ├── targetver.h │ ├── vJoyList.cpp │ ├── vJoyList.h │ ├── vJoyList.rc │ ├── vJoyList.vcxproj │ ├── vJoyList.vcxproj.filters │ ├── vJoyListDlg.cpp │ └── vJoyListDlg.h ├── dirs ├── docs ├── Flexible vJoy descriptor.odt ├── How to prevent more than one vJoy device.odt ├── Inno_Setup_Installer.odt ├── OverView.odt ├── Position Datapath.odt ├── ReadMe.md ├── vGenInterface.odt ├── vJoy 1.0.3 - configurable driver.odt ├── vJoy215RN01.odt └── vJoyInterface.odt ├── driver ├── Package │ ├── Package.vcxproj │ ├── Package.vcxproj.filters │ └── Package.vcxproj.user ├── dirs ├── hidmapper │ ├── hidkmdf.c │ ├── hidkmdf.rc │ ├── hidkmdf.vcxproj │ ├── hidkmdf32.sys │ ├── hidkmdf64.sys │ ├── makefile.inc.props │ └── sources.props └── sys │ ├── Debug │ └── vJoy.tlog │ │ ├── stampinf.command.1.tlog │ │ ├── stampinf.read.1.tlog │ │ └── stampinf.write.1.tlog │ ├── driver.c │ ├── errcodes.h │ ├── errcodes.mc │ ├── hid.c │ ├── hidReportDesc.h │ ├── hidReportDescSingle.h │ ├── rawpdo.c │ ├── rawpdo.h │ ├── trace.h │ ├── usb.c │ ├── vJoy.vcxproj │ ├── vJoy.vcxproj.filters │ ├── vJoy.vcxproj.user │ ├── vjoy.h │ ├── vjoy.inx │ └── vjoy.rc ├── inc ├── PPJIoctl.h ├── XOutput.h ├── public.h ├── vjoyinterface.h └── wrapper.h ├── index.html ├── install ├── Joystick-icon.ico ├── Release │ └── x86 │ │ └── hidkmdf.sys ├── SeTestCert.cer ├── SignDriver.bat ├── TraceView.ini ├── devcon.exe ├── driver.tmh ├── install.bat ├── install.ico ├── reinstall.bat ├── remove.bat ├── vJoyInstallerMerged.iss └── vJoyInstallerSigned.iss ├── lib ├── objfre_wlh_amd64 │ └── amd64 │ │ ├── vJoyInstall.dll │ │ ├── vJoyInterface.dll │ │ └── vJoyInterface.lib └── objfre_wxp_x86 │ └── i386 │ ├── vJoyInstall.dll │ ├── vJoyInterface.dll │ └── vJoyInterface.lib └── vJoy.sln /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /BuildAll.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | SET VS=14.0 3 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\%VS%\Bin\MSBuild.exe 4 | SET Target64=x64\Release 5 | SET Target32=Win32\Release 6 | SET DigiCertUtil=%USERPROFILE%\DESKTOP\DigiCertUtil.exe 7 | SET InnoCompiler=%ProgramFiles(x86)%\Inno Setup 5\ISCC.exe 8 | 9 | 10 | :build32 11 | echo %DATE% %TIME%: Cleaning vJoy (x86) 12 | "%BUILDER%" vjoy.sln /maxcpucount:1 /t:clean /p:Platform=Win32;Configuration=Release 13 | set BUILD_STATUS=%ERRORLEVEL% 14 | if not %BUILD_STATUS%==0 goto fail 15 | 16 | echo %DATE% %TIME%: Building vJoy (x86) 17 | "%BUILDER%" vjoy.sln /maxcpucount:4 /p:Platform=Win32;Configuration=Release 18 | set BUILD_STATUS=%ERRORLEVEL% 19 | if not %BUILD_STATUS%==0 goto fail 20 | 21 | :build64 22 | echo %DATE% %TIME%: Cleaning vJoy (x64) 23 | "%BUILDER%" vjoy.sln /maxcpucount:1 /t:clean /p:Platform=x64;Configuration=Release 24 | set BUILD_STATUS=%ERRORLEVEL% 25 | if not %BUILD_STATUS%==0 goto fail 26 | 27 | echo %DATE% %TIME%: Building vJoy (x64) 28 | "%BUILDER%" vjoy.sln /maxcpucount:4 /p:Platform=x64;Configuration=Release 29 | set BUILD_STATUS=%ERRORLEVEL% 30 | if not %BUILD_STATUS%==0 goto fail 31 | 32 | :signapps 33 | echo %DATE% %TIME%: Signing the applications 34 | IF NOT EXIST %DigiCertUtil% GOTO NOUTIL 35 | %DigiCertUtil% sign /sha1 "6d 54 71 df 6b bf af a5 d5 90 0c 88 c0 8d f0 e9 c5 13 69 0a" /noInput .\%Target64%\vJoyList.exe*.\%Target32%\vJoyList.exe*.\%Target64%\vJoyConf.exe*.\%Target32%\vJoyConf.exe*.\%Target64%\vJoyFeeder.exe*.\%Target32%\vJoyFeeder.exe 36 | set SIGN_STATUS=%ERRORLEVEL% 37 | if not %SIGN_STATUS%==0 goto fail 38 | echo %DATE% %TIME%: Signing the applications - OK 39 | 40 | :inno 41 | echo %DATE% %TIME%: Compiling the Inno Setup Script 42 | IF NOT EXIST "%InnoCompiler%" GOTO NOINNO 43 | "%InnoCompiler%" install\vJoyInstallerSigned.iss 44 | set INNO_STATUS=%ERRORLEVEL% 45 | if not %INNO_STATUS%==0 goto fail 46 | echo %DATE% %TIME%: Compiling the Inno Setup Script - OK 47 | exit /b 0 48 | 49 | :NOUTIL 50 | echo %DATE% %TIME%: Could not find DigiCertUtil on the desktop 51 | goto fail 52 | 53 | :NOINNO 54 | echo %DATE% %TIME%: Could not find Inno Setup Compiler 55 | goto fail 56 | 57 | :fail 58 | exit /b 1 59 | -------------------------------------------------------------------------------- /CreateVersion/CreateVersion.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | 37 | 38 | Resource Files 39 | 40 | 41 | -------------------------------------------------------------------------------- /CreateVersion/output-git-desc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define VER_H_ 4 3 | #define VER_M_ 0 4 | #define VER_L_ 1 5 | #define BUILD 2 6 | 7 | #define FILEVER "4, 0, 1, 2" 8 | #define PRODVER_TAG "v4.0.1" 9 | #define PRODVER_SHA1 "3d996b" 10 | 11 | -------------------------------------------------------------------------------- /CreateVersion/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by version.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /CreateVersion/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // CreateVersion.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 | -------------------------------------------------------------------------------- /CreateVersion/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /CreateVersion/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /CreateVersion/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/CreateVersion/version.rc -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Shaul Eizikovich 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Latest.php: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /Performance1.psess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sampling 4 | None 5 | true 6 | Timestamp 7 | Cycles 8 | 10000000 9 | 10 10 | 10 11 | 12 | false 13 | 14 | 15 | 16 | false 17 | 18 | 19 | false 20 | 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vJoy 2 | Virtual Joystick 3 | 4 | This project supports Windows 7 to Windows 10 1803 5 | 6 | For newer versions of Windows go to Fork: https://github.com/jshafer817/vJoy 7 | 8 | 9 | 10 | For much more go to vJoy web site: http://vjoystick.sourceforge.net 11 | 12 | To build the project: 13 | 14 | 1. Pull the project 15 | 16 | 2. Run batch file BuildAll.bat 17 | 18 | Caution: 19 | You will need to install Visual Studio 2015 (Free) 20 | To build the entire project including the driver you need to install the SDK and puchase a license to sign drivers. 21 | -------------------------------------------------------------------------------- /SDK/CreateSdk.bat: -------------------------------------------------------------------------------- 1 | REM Automate the creation of an SDK package 2 | 3 | REM C# 4 | COPY ..\X64\Release\vJoyInterface.dll ".\c#\x64\vJoyInterface.dll" 5 | COPY ..\X64\Release\vJoyInterfaceWrap.dll ".\c#\x64\vJoyInterfaceWrap.dll" 6 | COPY ..\Win32\Release\vJoyInterface.dll ".\c#\x86\vJoyInterface.dll" 7 | COPY ..\Win32\Release\vJoyInterfaceWrap.dll ".\c#\x86\vJoyInterfaceWrap.dll" 8 | 9 | REM Include Files 10 | COPY ..\Inc\public.h .\Inc\public.h 11 | COPY ..\apps\common\vJoyInterface\vjoyinterface.h .\Inc\vjoyinterface.h 12 | 13 | REM Library Files 14 | COPY ..\Win32\Release\vJoyInterface.dll .\LIB\vJoyInterface.dll 15 | COPY ..\Win32\Release\vJoyInterface.lib .\LIB\vJoyInterface.lib 16 | COPY ..\X64\Release\vJoyInterface.dll .\LIB\amd64\vJoyInterface.dll 17 | COPY ..\X64\Release\vJoyInterface.lib .\LIB\amd64\vJoyInterface.lib 18 | -------------------------------------------------------------------------------- /SDK/ReadMe.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/ReadMe.odt -------------------------------------------------------------------------------- /SDK/c#/FeederDemoCS/FeederDemoCS.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C# Express 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FeederDemoCS", "FeederDemoCS.csproj", "{CCA62E05-B035-49F6-A3B4-ACD21CD562E4}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {CCA62E05-B035-49F6-A3B4-ACD21CD562E4}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /SDK/c#/FeederDemoCS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 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 | [assembly: AssemblyTitle("FeederDemoCS")] 9 | [assembly: AssemblyDescription("C# Demo Feeder")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("FeederDemoCS")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("05b30ba2-93f6-465e-bc70-0e01acc9ea17")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.0.1.0")] 36 | [assembly: AssemblyFileVersion("2.0.1.0")] 37 | -------------------------------------------------------------------------------- /SDK/c#/ReadMe.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/c#/ReadMe.odt -------------------------------------------------------------------------------- /SDK/c#/x64/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/c#/x64/vJoyInterface.dll -------------------------------------------------------------------------------- /SDK/c#/x64/vJoyInterfaceWrap.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/c#/x64/vJoyInterfaceWrap.dll -------------------------------------------------------------------------------- /SDK/c#/x86/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/c#/x86/vJoyInterface.dll -------------------------------------------------------------------------------- /SDK/c#/x86/vJoyInterfaceWrap.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/c#/x86/vJoyInterfaceWrap.dll -------------------------------------------------------------------------------- /SDK/inc/vjoyinterface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/inc/vjoyinterface.h -------------------------------------------------------------------------------- /SDK/lib/amd64/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/lib/amd64/vJoyInterface.dll -------------------------------------------------------------------------------- /SDK/lib/amd64/vJoyInterface.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/lib/amd64/vJoyInterface.lib -------------------------------------------------------------------------------- /SDK/lib/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/lib/vJoyInterface.dll -------------------------------------------------------------------------------- /SDK/lib/vJoyInterface.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/SDK/lib/vJoyInterface.lib -------------------------------------------------------------------------------- /SDK/src/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | 20 | 21 | // TODO: reference additional headers your program requires here 22 | -------------------------------------------------------------------------------- /SDK/src/vJoyClient.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C++ Express 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyClient", "vJoyClient.vcproj", "{A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Rel64|Win32 = Rel64|Win32 11 | Rel64|x64 = Rel64|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.Build.0 = Debug|Win32 18 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|x64.ActiveCfg = Debug|x64 19 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|x64.Build.0 = Debug|x64 20 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|Win32.ActiveCfg = Rel64|Win32 21 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|Win32.Build.0 = Rel64|Win32 22 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|x64.ActiveCfg = Rel64|x64 23 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Rel64|x64.Build.0 = Rel64|x64 24 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.ActiveCfg = Release|Win32 25 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.Build.0 = Release|Win32 26 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|x64.ActiveCfg = Release|x64 27 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|x64.Build.0 = Release|x64 28 | EndGlobalSection 29 | GlobalSection(SolutionProperties) = preSolution 30 | HideSolutionNode = FALSE 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /apps/External/DLL/x64/mfc120u.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/mfc120u.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/msvcp110.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/msvcp110.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/msvcp120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/msvcp120.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/msvcr110.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/msvcr110.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/msvcr120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/msvcr120.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/vGenInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/vGenInterface.dll -------------------------------------------------------------------------------- /apps/External/DLL/x64/vJoyMonitor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x64/vJoyMonitor.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/mfc120u.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/mfc120u.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/msvcp110.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/msvcp110.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/msvcp120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/msvcp120.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/msvcr110.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/msvcr110.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/msvcr120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/msvcr120.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/vGenInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/vGenInterface.dll -------------------------------------------------------------------------------- /apps/External/DLL/x86/vJoyMonitor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/DLL/x86/vJoyMonitor.dll -------------------------------------------------------------------------------- /apps/External/JoyMonitor/x64/JoyMonitor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/JoyMonitor/x64/JoyMonitor.exe -------------------------------------------------------------------------------- /apps/External/JoyMonitor/x86/JoyMonitor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/External/JoyMonitor/x86/JoyMonitor.exe -------------------------------------------------------------------------------- /apps/FfbMon/FfbMon.h: -------------------------------------------------------------------------------- 1 | #define DEV_ID 1 2 | 3 | // Prototypes 4 | void CALLBACK FfbFunction(PVOID data); 5 | void CALLBACK FfbFunction1(PVOID data,PVOID UserData); 6 | 7 | BOOL PacketType2Str(FFBPType Type, LPTSTR Str); 8 | BOOL EffectType2Str(FFBEType Ctrl, LPTSTR Str); 9 | BOOL DevCtrl2Str(FFB_CTRL Type, LPTSTR Str); 10 | BOOL EffectOpStr(FFBOP Op, LPTSTR Str); 11 | int Polar2Deg(BYTE Polar); 12 | int Byte2Percent(BYTE InByte); 13 | int TwosCompByte2Int(BYTE in); 14 | int TwosCompWord2Int(WORD in); 15 | -------------------------------------------------------------------------------- /apps/FfbMon/FfbMon.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FfbMon", "FfbMon.vcxproj", "{85615EB2-715E-4FD0-9E89-CAA685259640}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Debug|Win32.Build.0 = Debug|Win32 18 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Debug|x64.ActiveCfg = Debug|x64 19 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Debug|x64.Build.0 = Debug|x64 20 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Release|Win32.ActiveCfg = Release|Win32 21 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Release|Win32.Build.0 = Release|Win32 22 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Release|x64.ActiveCfg = Release|x64 23 | {85615EB2-715E-4FD0-9E89-CAA685259640}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /apps/FfbMon/bldFfbMon.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if /I "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if /I "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if /I "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if /I "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | goto :eof 8 | 9 | 10 | 11 | :fre_wxp_x86 12 | SET OUTDIR=objfre_wxp_x86\i386\ 13 | mkdir %OUTDIR% 14 | "%BUILDER%" FfbMon.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Release 15 | goto :eof 16 | 17 | :chk_wxp_x86 18 | SET OUTDIR=objchk_wxp_x86\i386\ 19 | mkdir %OUTDIR% 20 | "%BUILDER%" FfbMon.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Debug 21 | goto :eof 22 | 23 | :fre_wlh_AMD64 24 | SET OUTDIR=objfre_wlh_amd64\amd64\ 25 | mkdir %OUTDIR% 26 | "%BUILDER%" FfbMon.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Release 27 | goto :eof 28 | 29 | :chk_wlh_AMD64 30 | SET OUTDIR=objchk_wlh_amd64\amd64\ 31 | mkdir %OUTDIR% 32 | "%BUILDER%" FfbMon.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Debug 33 | goto :eof 34 | 35 | 36 | :eof -------------------------------------------------------------------------------- /apps/FfbMon/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/FfbMon/makefile.inc: -------------------------------------------------------------------------------- 1 | # Create FfbMon.exe 2 | $(OBJ_PATH)\$O\$(TARGETNAME).exe: 3 | bldFfbMon.bat 4 | 5 | -------------------------------------------------------------------------------- /apps/FfbMon/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=FfbMon 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | C_DEFINES= NO_LINK NO_COMPILE 6 | 7 | SOURCES=\ 8 | 9 | 10 | NTTARGETFILE0= \ 11 | $(OBJ_PATH)\$O\$(TARGETNAME).exe \ -------------------------------------------------------------------------------- /apps/FfbMon/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // FfbMon.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 | -------------------------------------------------------------------------------- /apps/FfbMon/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include -------------------------------------------------------------------------------- /apps/FfbMon/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/Monitor/DXUT/Core/dpiaware.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/Monitor/DXUT/Optional/directx.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/DXUT/Optional/directx.ico -------------------------------------------------------------------------------- /apps/Monitor/Joystick.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick.aps -------------------------------------------------------------------------------- /apps/Monitor/Joystick.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick.cpp -------------------------------------------------------------------------------- /apps/Monitor/Joystick.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick.gif -------------------------------------------------------------------------------- /apps/Monitor/Joystick_2008.ncb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick_2008.ncb -------------------------------------------------------------------------------- /apps/Monitor/Joystick_2008.sdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick_2008.sdf -------------------------------------------------------------------------------- /apps/Monitor/Joystick_2008.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 10.00 2 | # Visual C++ Express 2008 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Joystick", "Joystick_2008.vcproj", "{43E20DBD-F46C-467E-A2D0-73B3708C4B72}" 4 | EndProject 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Stub", "..\Stub\Stub.vcproj", "{F848E1DD-0135-4918-9AB7-A3B075E07C89}" 6 | EndProject 7 | Global 8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 9 | Debug|Win32 = Debug|Win32 10 | Debug|x64 = Debug|x64 11 | Profile|Win32 = Profile|Win32 12 | Profile|x64 = Profile|x64 13 | Release|Win32 = Release|Win32 14 | Release|x64 = Release|x64 15 | EndGlobalSection 16 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 17 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Debug|Win32.ActiveCfg = Debug|Win32 18 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Debug|Win32.Build.0 = Debug|Win32 19 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Debug|x64.ActiveCfg = Debug|x64 20 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Debug|x64.Build.0 = Debug|x64 21 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Profile|Win32.ActiveCfg = Profile|Win32 22 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Profile|Win32.Build.0 = Profile|Win32 23 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Profile|x64.ActiveCfg = Profile|x64 24 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Profile|x64.Build.0 = Profile|x64 25 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Release|Win32.ActiveCfg = Release|Win32 26 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Release|Win32.Build.0 = Release|Win32 27 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Release|x64.ActiveCfg = Release|x64 28 | {43E20DBD-F46C-467E-A2D0-73B3708C4B72}.Release|x64.Build.0 = Release|x64 29 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Debug|Win32.ActiveCfg = Debug|Win32 30 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Debug|Win32.Build.0 = Debug|Win32 31 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Debug|x64.ActiveCfg = Debug|Win32 32 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Profile|Win32.ActiveCfg = Release|Win32 33 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Profile|Win32.Build.0 = Release|Win32 34 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Profile|x64.ActiveCfg = Release|Win32 35 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Release|Win32.ActiveCfg = Release|Win32 36 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Release|Win32.Build.0 = Release|Win32 37 | {F848E1DD-0135-4918-9AB7-A3B075E07C89}.Release|x64.ActiveCfg = Release|Win32 38 | EndGlobalSection 39 | GlobalSection(SolutionProperties) = preSolution 40 | HideSolutionNode = FALSE 41 | EndGlobalSection 42 | EndGlobal 43 | -------------------------------------------------------------------------------- /apps/Monitor/Joystick_2008.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/Monitor/Joystick_2008.suo -------------------------------------------------------------------------------- /apps/SignApps.bat: -------------------------------------------------------------------------------- 1 | REM Sign applications (if certification utility exists) 2 | IF NOT EXIST %USERPROFILE%\DESKTOP\DigiCertUtil.exe GOTO NOUTIL 3 | %USERPROFILE%\DESKTOP\DigiCertUtil.exe sign .\vJoyConf\objfre_wlh_amd64\amd64\vJoyConf.exe*.\vJoyConf\objfre_wxp_x86\i386\vJoyConf.exe*.\vJoyFeeder\objfre_wlh_amd64\amd64\vJoyFeeder.exe*.\vJoyFeeder\objfre_wxp_x86\i386\vJoyFeeder.exe*.\External\JoyMonitor\x86\JoyMonitor.exe*.\External\JoyMonitor\x64\JoyMonitor.exe 4 | :NOUTIL -------------------------------------------------------------------------------- /apps/common/dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | vJoyInterface \ 3 | vJoyInterfaceCS \ 4 | -------------------------------------------------------------------------------- /apps/common/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyInterface.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 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/bldInterface.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if /I "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if /I "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if /I "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if /I "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | goto :eof 8 | 9 | 10 | 11 | :fre_wxp_x86 12 | SET OUTDIR=objfre_wxp_x86\i386\ 13 | mkdir %OUTDIR% 14 | "%BUILDER%" vJoyInterface2012.vcxproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=Win32;Configuration=Release 15 | goto :eof 16 | 17 | :chk_wxp_x86 18 | SET OUTDIR=objchk_wxp_x86\i386\ 19 | mkdir %OUTDIR% 20 | "%BUILDER%" vJoyInterface2012.vcxproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=Win32;Configuration=Debug 21 | goto :eof 22 | 23 | :fre_wlh_AMD64 24 | SET OUTDIR=objfre_wlh_amd64\amd64\ 25 | mkdir %OUTDIR% 26 | "%BUILDER%" vJoyInterface2012.vcxproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=x64;Configuration=Release 27 | goto :eof 28 | 29 | :chk_wlh_AMD64 30 | SET OUTDIR=objchk_wlh_amd64\amd64\ 31 | mkdir %OUTDIR% 32 | "%BUILDER%" vJoyInterface2012.vcxproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=x64;Configuration=Debug 33 | goto :eof 34 | 35 | 36 | :eof -------------------------------------------------------------------------------- /apps/common/vJoyInterface/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/makefile.inc: -------------------------------------------------------------------------------- 1 | # Create vJoyInterface.dll 2 | $(OBJ_PATH)\$O\$(TARGETNAME).dll $(OBJ_PATH)\$O\$(TARGETNAME).lib: 3 | bldInterface.bat 4 | 5 | # Copy vJoyInterface.h to inc 6 | $(INCLUDES)\$(TARGETNAME).h: $(TARGETNAME).h 7 | if not exist $(INCLUDES) mkdir $(INCLUDES) 8 | copy /y $(TARGETNAME).h $@ 9 | 10 | # Copy vJoyInterface.lib to sub-directory of LIB folder 11 | $(LIB_DIR)\$(O)\$(TARGETNAME).lib: $(OBJ_PATH)\$O\$(TARGETNAME).lib 12 | if not exist $(LIB_DIR)\$(O) mkdir $(LIB_DIR)\$(O) 13 | copy /y $(OBJ_PATH)\$O\$(TARGETNAME).lib $@ 14 | 15 | # Copy vJoyInterface.dll to sub-directory of LIB folder 16 | $(LIB_DIR)\$(O)\$(TARGETNAME).dll: $(OBJ_PATH)\$O\$(TARGETNAME).dll 17 | if not exist $(LIB_DIR)\$(O) mkdir $(LIB_DIR)\$(O) 18 | copy /y $(OBJ_PATH)\$O\$(TARGETNAME).dll $@ 19 | 20 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyInterface 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | UMBASE=0x400000 5 | UMENTRY=DllMain 6 | 7 | C_DEFINES= NO_LINK NO_COMPILE 8 | 9 | NTTARGETFILE0= \ 10 | $(OBJ_PATH)\$O\$(TARGETNAME).dll \ 11 | 12 | SOURCES=\ 13 | 14 | INCLUDES=\ 15 | ..\..\..\inc 16 | 17 | LIB_DIR=\ 18 | ..\..\..\lib 19 | 20 | NTTARGETFILE2= \ 21 | $(INCLUDES)\$(TARGETNAME).h \ 22 | $(LIB_DIR)\$(O)\$(TARGETNAME).dll \ 23 | $(LIB_DIR)\$(O)\$(TARGETNAME).lib \ 24 | 25 | 26 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #undef UNICODE 7 | #undef _UNICODE 8 | 9 | #pragma once 10 | #include "targetver.h" 11 | 12 | // #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 13 | // Windows Header Files: 14 | #include 15 | #include 16 | #include 17 | 18 | #include <../../../inc/public.h> 19 | 20 | #define WHILE(constant) \ 21 | __pragma(warning(disable: 4127)) while(constant); __pragma(warning(default: 4127)) 22 | 23 | // TODO: reference additional headers your program requires here -------------------------------------------------------------------------------- /apps/common/vJoyInterface/svn_version.h.tmpl: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011, Zach Burlingame 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are met: 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above copyright 9 | // notice, this list of conditions and the following disclaimer in the 10 | // documentation and/or other materials provided with the distribution. 11 | // * Neither the name of zachburlingame.com nor the 12 | // names of its contributors may be used to endorse or promote products 13 | // derived from this software without specific prior written permission. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | // DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY 19 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | #ifndef _SVN_VERSION_H_ 26 | #define _SVN_VERSION_H_ 27 | 28 | #define SVN_LOCAL_MODIFICATIONS $WCMODS?1:0$ 29 | #define SVN_REVISION $WCREV$ 30 | #define SVN_TIME_NOW $WCNOW$ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/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 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 11 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 15 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 16 | #endif 17 | 18 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 19 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 20 | #endif 21 | 22 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 23 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 24 | #endif 25 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/vJoyInterface.def: -------------------------------------------------------------------------------- 1 | LIBRARY vJoyInterface 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/vJoyInterface.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | //#include "resource.h" 4 | ///////////////////////////////////////////////////////////////////////////// 5 | // Hebrew (Israel) resources 6 | #include "Public.h" 7 | 8 | #undef VER_PRODUCTNAME_STR 9 | #undef VER_COMPANYNAME_STR 10 | #undef VER_FILEVERSION_STR 11 | #undef VER_PRODUCTVERSION_STR 12 | 13 | #define VER_FILETYPE VFT_APP 14 | #define VER_FILESUBTYPE 0 15 | #define VER_FILEDESCRIPTION_STR "Interface DLL for vJoy KMDF driver" 16 | #define VER_INTERNALNAME_STR "vJoyInterface.dll" 17 | #define VER_ORIGINALFILENAME_STR "vJoyInterface.dll" 18 | #define VER_PRODUCTNAME_STR "vJoy" 19 | #define VER_COMPANYNAME_STR "Shaul Eizikovich" 20 | #define VER_FILEVERSION VER_X_,VER_H_,VER_M_,VER_L_ 21 | 22 | #if defined(BUILD_ALT_DIR) 23 | #define VER_PRODUCTVERSION_STR LVER_PRODUCTVERSION_STR " (" BUILD_ALT_DIR ")" 24 | #else 25 | #define VER_PRODUCTVERSION_STR LVER_PRODUCTVERSION_STR 26 | #endif 27 | 28 | #define VER_FILEVERSION_STR SERIALNUMBER_STR 29 | 30 | #include "common.ver" 31 | 32 | 33 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/vJoyInterface.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C++ Express 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyInterface", "vJoyInterface.vcproj", "{0DF35F66-6410-4F14-BE33-018E8DE8DA47}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Debug|Win32.Build.0 = Debug|Win32 14 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Release|Win32.ActiveCfg = Release|Win32 15 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/vJoyInterface2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Source Files 6 | 7 | 8 | Source Files 9 | 10 | 11 | 12 | 13 | Header Files 14 | 15 | 16 | Header Files 17 | 18 | 19 | Header Files 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | {41015b10-6b58-4d9f-97ed-21afb49d8e9b} 29 | 30 | 31 | {ed1cdf25-9a12-445a-9c23-4db1f232ef85} 32 | 33 | 34 | {5194d8ab-4f85-49aa-9670-5dadcd3e70a2} 35 | 36 | 37 | 38 | 39 | Resource Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /apps/common/vJoyInterface/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/common/vJoyInterface/version.rc -------------------------------------------------------------------------------- /apps/common/vJoyInterface/vjoyinterface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/common/vJoyInterface/vjoyinterface.h -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/Version/Properties/GlobalAssemblyInfo.cs.tmpl: -------------------------------------------------------------------------------- 1 | // This file contains common AssemblyVersion data to be shared across all projects in this solution. 2 | // Based on http://www.zachburlingame.com/2011/03/integrating-the-subversion-revision-into-the-version-automatically-with-net/ 3 | /////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | using System.Reflection; 6 | using System.Runtime.CompilerServices; 7 | using System.Runtime.InteropServices; 8 | 9 | // General Information about an assembly is controlled through the following 10 | // set of attributes. Change these attribute values to modify the information 11 | // associated with an assembly. 12 | [assembly: AssemblyDescription("C# Wrapper for vJoyInterface.dll")] 13 | [assembly: AssemblyCompany("Shaul Eizikovich")] 14 | [assembly: AssemblyProduct("vJoyInterfaceWrap")] 15 | [assembly: AssemblyCopyright("Copyright Shaul Eizikovich © 2015")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [assembly: Guid("30750eab-8093-4385-bee2-a438fcebc20e")] 26 | 27 | #if DEBUG 28 | [assembly: AssemblyConfiguration("Debug")] 29 | [assembly: AssemblyTitle("vJoyInterfaceWrap - C# Wrapper [Deb]")] 30 | #else 31 | [assembly: AssemblyConfiguration("Release")] 32 | [assembly: AssemblyTitle("vJoyInterfaceWrap - C# Wrapper [Rel]")] 33 | #endif 34 | 35 | // Version information for an assembly consists of the following four values: 36 | // 37 | // Major Version 38 | // Minor Version 39 | // Revision 40 | // Build 41 | [assembly: AssemblyInformationalVersionAttribute("0.2.1.6")] 42 | [assembly: AssemblyVersion("0.2.1.6")] 43 | [assembly: AssemblyFileVersion("2.1.6.$WCREV$")] 44 | //[assembly: AssemblyTitle("vJoyInterfaceWrap - Built $WCNOW$ from r$WCREV$$WCMODS?M:$")] // This is visible as the "File Description" on the Details tab of the Explorer pane 45 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/Version/dummy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace WrapperTest 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | TesterForm top = new TesterForm(); 18 | new FfbInterface(top); 19 | Application.Run(top); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 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 | [assembly: AssemblyTitle("WrapperTest")] 9 | [assembly: AssemblyDescription("Tester/Demo for vJoyInterfaceWrap.dll")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Shaul Eizikovich")] 12 | [assembly: AssemblyProduct("WrapperTest")] 13 | [assembly: AssemblyCopyright("Copyright Shaul Eizikovich © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("49e7b1c9-7e1f-4f57-a9c6-37e41e5c50bd")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.2.1.5")] 36 | [assembly: AssemblyFileVersion("0.2.1.5")] 37 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.5456 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 WrapperTest.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.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 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/makefile.inc: -------------------------------------------------------------------------------- 1 | 2 | # Create TesterForm.exe 3 | $(OBJ_PATH)\$O\$(TARGETNAME).exe: 4 | bldTester.bat 5 | 6 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/WrapperTest/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=TesterForm 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | C_DEFINES= NO_LINK NO_COMPILE 6 | 7 | SOURCES=\ 8 | 9 | 10 | NTTARGETFILE0= \ 11 | $(OBJ_PATH)\$O\$(TARGETNAME).exe \ -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/bldvJoyCS.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if /I "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if /I "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if /I "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if /I "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | goto :eof 8 | 9 | 10 | 11 | :fre_wxp_x86 12 | SET OUTDIR=objfre_wxp_x86\i386\ 13 | mkdir %OUTDIR% 14 | "%BUILDER%" vJoyInterfaceCS.sln /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform="Any CPU";Configuration=Release 15 | goto :eof 16 | 17 | :chk_wxp_x86 18 | SET OUTDIR=objchk_wxp_x86\i386\ 19 | mkdir %OUTDIR% 20 | "%BUILDER%" vJoyInterfaceCS.sln /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform="Any CPU";Configuration=Debug 21 | goto :eof 22 | 23 | :fre_wlh_AMD64 24 | SET OUTDIR=objfre_wlh_amd64\amd64\ 25 | mkdir %OUTDIR% 26 | "%BUILDER%" vJoyInterfaceCS.sln /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform="Any CPU";Configuration=Release 27 | goto :eof 28 | 29 | :chk_wlh_AMD64 30 | SET OUTDIR=objchk_wlh_amd64\amd64\ 31 | mkdir %OUTDIR% 32 | "%BUILDER%" vJoyInterfaceCS.sln /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform="Any CPU";Configuration=Debug 33 | goto :eof 34 | 35 | 36 | :eof -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/makefile.inc: -------------------------------------------------------------------------------- 1 | 2 | # Create WrapperTest.exe 3 | $(OBJ_PATH)\$O\$(TARGETNAME).exe: 4 | bldvJoyCS.bat 5 | 6 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=WrapperTest 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | C_DEFINES= NO_LINK NO_COMPILE 6 | 7 | SOURCES=\ 8 | 9 | 10 | NTTARGETFILE0= \ 11 | $(OBJ_PATH)\$O\$(TARGETNAME).exe \ -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/GlobalAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file contains common AssemblyVersion data to be shared across all projects in this solution. 2 | // Based on http://www.zachburlingame.com/2011/03/integrating-the-subversion-revision-into-the-version-automatically-with-net/ 3 | /////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | using System.Reflection; 6 | using System.Runtime.CompilerServices; 7 | using System.Runtime.InteropServices; 8 | 9 | // General Information about an assembly is controlled through the following 10 | // set of attributes. Change these attribute values to modify the information 11 | // associated with an assembly. 12 | [assembly: AssemblyDescription("C# Wrapper for vJoyInterface.dll")] 13 | [assembly: AssemblyCompany("Shaul Eizikovich")] 14 | [assembly: AssemblyProduct("vJoyInterfaceWrap")] 15 | [assembly: AssemblyCopyright("Copyright Shaul Eizikovich © 2015")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [assembly: Guid("30750eab-8093-4385-bee2-a438fcebc20e")] 26 | 27 | #if DEBUG 28 | [assembly: AssemblyConfiguration("Debug")] 29 | [assembly: AssemblyTitle("vJoyInterfaceWrap - C# Wrapper [Deb]")] 30 | #else 31 | [assembly: AssemblyConfiguration("Release")] 32 | [assembly: AssemblyTitle("vJoyInterfaceWrap - C# Wrapper [Rel]")] 33 | #endif 34 | 35 | // Version information for an assembly consists of the following four values: 36 | // 37 | // Major Version 38 | // Minor Version 39 | // Revision 40 | // Build 41 | [assembly: AssemblyInformationalVersionAttribute("0.2.1.6")] 42 | [assembly: AssemblyVersion("0.2.1.6")] 43 | [assembly: AssemblyFileVersion("2.1.6.999")] 44 | //[assembly: AssemblyTitle("vJoyInterfaceWrap - Built 2015/10/15 12:24:44 from r813M")] // This is visible as the "File Description" on the Details tab of the Explorer pane 45 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 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 | [assembly: AssemblyTitle("vJoyInterfaceWrap")] 9 | [assembly: AssemblyDescription("C# Wrapper for vJoyInterface.dll")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Shaul Eizikovich")] 12 | [assembly: AssemblyProduct("vJoyInterfaceWrap")] 13 | [assembly: AssemblyCopyright("Copyright Shaul Eizikovich © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("30750eab-8093-4385-bee2-a438fcebc20e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.2.1.5")] 36 | [assembly: AssemblyFileVersion("0.2.1.5")] 37 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/bldWrapper.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if /I "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if /I "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if /I "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if /I "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | goto :eof 8 | 9 | 10 | 11 | :fre_wxp_x86 12 | SET OUTDIR=objfre_wxp_x86\i386\ 13 | mkdir %OUTDIR% 14 | "%BUILDER%" vJoyInterfaceWrap.csproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform="Any CPU";Configuration=Release 15 | goto :eof 16 | 17 | :chk_wxp_x86 18 | SET OUTDIR=objchk_wxp_x86\i386\ 19 | mkdir %OUTDIR% 20 | "%BUILDER%" vJoyInterfaceWrap.csproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=Win32;Configuration=Debug 21 | goto :eof 22 | 23 | :fre_wlh_AMD64 24 | SET OUTDIR=objfre_wlh_amd64\amd64\ 25 | mkdir %OUTDIR% 26 | "%BUILDER%" vJoyInterfaceWrap.csproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=x64;Configuration=Release 27 | goto :eof 28 | 29 | :chk_wlh_AMD64 30 | SET OUTDIR=objchk_wlh_amd64\amd64\ 31 | mkdir %OUTDIR% 32 | "%BUILDER%" vJoyInterfaceWrap.csproj /t:rebuild /p:IntDir=%OUTDIR%;OutDir=%OUTDIR%;Platform=x64;Configuration=Debug 33 | goto :eof 34 | 35 | 36 | :eof -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/makefile.inc: -------------------------------------------------------------------------------- 1 | 2 | # Create vJoyInterfaceWrap.dll 3 | $(OBJ_PATH)\$O\$(TARGETNAME).dll: 4 | bldWrapper.bat 5 | 6 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceCS/vJoyInterfaceWrap/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyInterfaceWrap 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | C_DEFINES= NO_LINK NO_COMPILE 6 | 7 | SOURCES=\ 8 | 9 | 10 | NTTARGETFILE0= \ 11 | $(OBJ_PATH)\$O\$(TARGETNAME).dll \ -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #undef UNICODE 7 | #undef _UNICODE 8 | 9 | #pragma once 10 | #include "targetver.h" 11 | 12 | // #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 13 | // Windows Header Files: 14 | #include 15 | #include 16 | #include 17 | 18 | #include <../../../inc/public.h> 19 | 20 | #define WHILE(constant) \ 21 | __pragma(warning(disable: 4127)) while(constant); __pragma(warning(default: 4127)) 22 | 23 | // TODO: reference additional headers your program requires here -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/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 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 11 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 15 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 16 | #endif 17 | 18 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 19 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 20 | #endif 21 | 22 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 23 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 24 | #endif 25 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/vJoyInterface.def: -------------------------------------------------------------------------------- 1 | LIBRARY vJoyInterface 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/vJoyInterface.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C++ Express 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyInterface", "vJoyInterface.vcproj", "{0DF35F66-6410-4F14-BE33-018E8DE8DA47}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Debug|Win32.Build.0 = Debug|Win32 14 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Release|Win32.ActiveCfg = Release|Win32 15 | {0DF35F66-6410-4F14-BE33-018E8DE8DA47}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/vJoyInterface2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Source Files 6 | 7 | 8 | Source Files 9 | 10 | 11 | 12 | 13 | Header Files 14 | 15 | 16 | Header Files 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | {41015b10-6b58-4d9f-97ed-21afb49d8e9b} 31 | 32 | 33 | {ed1cdf25-9a12-445a-9c23-4db1f232ef85} 34 | 35 | 36 | {5194d8ab-4f85-49aa-9670-5dadcd3e70a2} 37 | 38 | 39 | 40 | 41 | Resource Files 42 | 43 | 44 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/vJoyInterfaceStat2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /apps/common/vJoyInterfaceStat/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/common/vJoyInterfaceStat/version.rc -------------------------------------------------------------------------------- /apps/dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | common \ 3 | vJoyClient \ 4 | vJoyInstall \ 5 | vJoyConf \ 6 | vJoyFeeder \ 7 | FfbMon \ 8 | -------------------------------------------------------------------------------- /apps/vGenInterface/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | DYNAMIC LINK LIBRARY : vGenInterface Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this vGenInterface DLL for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your vGenInterface application. 9 | 10 | 11 | vGenInterface.vcxproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | vGenInterface.vcxproj.filters 18 | This is the filters file for VC++ projects generated using an Application Wizard. 19 | It contains information about the association between the files in your project 20 | and the filters. This association is used in the IDE to show grouping of files with 21 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the 22 | "Source Files" filter). 23 | 24 | vGenInterface.cpp 25 | This is the main DLL source file. 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | Other standard files: 29 | 30 | StdAfx.h, StdAfx.cpp 31 | These files are used to build a precompiled header (PCH) file 32 | named vGenInterface.pch and a precompiled types file named StdAfx.obj. 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | Other notes: 36 | 37 | AppWizard uses "TODO:" comments to indicate parts of the source code you 38 | should add to or customize. 39 | 40 | ///////////////////////////////////////////////////////////////////////////// 41 | -------------------------------------------------------------------------------- /apps/vGenInterface/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the entry point for the DLL application. 2 | #include "stdafx.h" 3 | 4 | BOOL APIENTRY DllMain( HMODULE hModule, 5 | DWORD ul_reason_for_call, 6 | LPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return TRUE; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /apps/vGenInterface/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vGenInterface.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 | -------------------------------------------------------------------------------- /apps/vGenInterface/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | //#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | // Windows Header Files: 12 | #define WIN32_NO_STATUS 13 | #include 14 | #undef WIN32_NO_STATUS 15 | #include 16 | 17 | 18 | // TODO: reference additional headers your program requires here 19 | #include 20 | -------------------------------------------------------------------------------- /apps/vGenInterface/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenInterface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vGenInterface/vGenInterface.h -------------------------------------------------------------------------------- /apps/vGenInterface/vGenInterface.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | Header Files 29 | 30 | 31 | 32 | 33 | Source Files 34 | 35 | 36 | Source Files 37 | 38 | 39 | Source Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/CompatTest/CompatTest.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/CompatTest/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // CompatTest.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 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/CompatTest/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | 9 | #include "targetver.h" 10 | 11 | #define WIN32_NO_STATUS 12 | #include 13 | #undef WIN32_NO_STATUS 14 | #include 15 | 16 | #include 17 | #include 18 | 19 | 20 | 21 | // TODO: reference additional headers your program requires here 22 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/CompatTest/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/FreeDev/FreeDev.cpp: -------------------------------------------------------------------------------- 1 | // FreeDev.cpp : Free vXbox & vJoy devices 2 | // 3 | #include "stdafx.h" 4 | #include 5 | #include "../../vGenInterface.h" 6 | 7 | 8 | int main(int argc, const char* argv[]) 9 | { 10 | DWORD res; 11 | 12 | if (argc<2 ) 13 | { 14 | printf("Syntax: [1..16|a]\n"); 15 | return -1; 16 | } 17 | 18 | /////// 'a' - All devices 19 | // vXbox 20 | if (argc == 2 && tolower(argv[1][0])=='a' ) 21 | { 22 | printf("Removing All\n"); 23 | for (int i = 1; i < 5; i++) 24 | { 25 | res = UnPlugForce(i); 26 | if (res == STATUS_SUCCESS) 27 | printf("Device %d - Unplugged\n", i); 28 | else 29 | printf("Device %d - No change\n", i); 30 | } 31 | return 0; 32 | } 33 | 34 | // Remove one device 35 | int i = atoi(argv[1]); 36 | if (i < 1 || i>4) 37 | { 38 | printf("Devive range: 1-4\n"); 39 | return -2; 40 | } 41 | 42 | res = UnPlugForce(i); 43 | if (res == STATUS_SUCCESS) 44 | printf("Device %d - Unplugged\n", i); 45 | else 46 | printf("Device %d - No change\n", i); 47 | 48 | 49 | 50 | printf("OK\n"); 51 | return 0; 52 | } 53 | 54 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/FreeDev/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // FreeDev.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 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/FreeDev/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_NO_STATUS 11 | #include 12 | #undef WIN32_NO_STATUS 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | 19 | 20 | // TODO: reference additional headers your program requires here 21 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/FreeDev/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/vXboxTest/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vXboxTest.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 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/vXboxTest/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_NO_STATUS 11 | #include 12 | #undef WIN32_NO_STATUS 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | 19 | 20 | // TODO: reference additional headers your program requires here 21 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/vXboxTest/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vGenInterface/vGenTest/vXboxTest/vXboxTest.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | -------------------------------------------------------------------------------- /apps/vJoyClient/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | CONSOLE APPLICATION : vJoyClient Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this vJoyClient application for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your vJoyClient application. 9 | 10 | 11 | vJoyClient.vcproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | vJoyClient.cpp 18 | This is the main application source file. 19 | 20 | ///////////////////////////////////////////////////////////////////////////// 21 | Other standard files: 22 | 23 | StdAfx.h, StdAfx.cpp 24 | These files are used to build a precompiled header (PCH) file 25 | named vJoyClient.pch and a precompiled types file named StdAfx.obj. 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | Other notes: 29 | 30 | AppWizard uses "TODO:" comments to indicate parts of the source code you 31 | should add to or customize. 32 | 33 | ///////////////////////////////////////////////////////////////////////////// 34 | -------------------------------------------------------------------------------- /apps/vJoyClient/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyClient/makefile.inc: -------------------------------------------------------------------------------- 1 | 2 | # Copy vJoyInterface.dll to output sub-directory 3 | .\$O\vJoyInterface.dll: 4 | copy /y ..\..\lib\$O\vJoyInterface.dll $@ 5 | 6 | # Copy vJoyInterface.lib to output sub-directory 7 | .\$O\vJoyInterface.lib: 8 | copy /y ..\..\lib\$O\vJoyInterface.lib $@ 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyClient/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyClient 2 | TARGETTYPE=PROGRAM 3 | UMTYPE=console 4 | UMENTRY=main 5 | UMBASE=0x400000 6 | 7 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 8 | 9 | INCLUDES=$(INCLUDES);.\;..\..\inc 10 | 11 | TARGETLIBS=\ 12 | $(SDK_LIB_PATH)\advapi32.lib \ 13 | $(SDK_LIB_PATH)\kernel32.lib \ 14 | $(SDK_LIB_PATH)\ntdll.lib \ 15 | $(SDK_LIB_PATH)\ole32.lib \ 16 | $(SDK_LIB_PATH)\setupapi.lib \ 17 | $(SDK_LIB_PATH)\shell32.lib \ 18 | ..\..\lib\$(O)\vJoyInterface.lib \ 19 | $(SDK_LIB_PATH)\user32.lib 20 | 21 | 22 | SOURCES= stdafx.cpp \ 23 | vJoyClient.cpp \ 24 | 25 | NTTARGETFILE2= \ 26 | .\$O\vJoyInterface.lib \ 27 | .\$O\vJoyInterface.dll 28 | 29 | USE_MSVCRT=1 30 | 31 | _NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WINXP) 32 | -------------------------------------------------------------------------------- /apps/vJoyClient/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyClient.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 | -------------------------------------------------------------------------------- /apps/vJoyClient/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | // TODO: reference additional headers your program requires here 20 | #include 21 | -------------------------------------------------------------------------------- /apps/vJoyClient/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 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /apps/vJoyClient/vJoyClient.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyClient", "vJoyClient.vcxproj", "{A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Debug|Win32.Build.0 = Debug|Win32 16 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.ActiveCfg = Release|Win32 17 | {A3C0D9FE-F4A3-45F9-874A-AC2E6806477C}.Release|Win32.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /apps/vJoyClient/vJoyClient.vcproj.Shaul-Ivory2010.Shaul.user: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 35 | 36 | 39 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /apps/vJoyClient/vJoyClient.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/vJoyClient/vjoyclient.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | //DEFINE_GUID(GUID_DEVINTERFACE_HID, 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00,0x11, 0x11, 0x00, 0x00, 0x30); 5 | 6 | #define WHILE(constant) \ 7 | __pragma(warning(disable: 4127)) while(constant); __pragma(warning(default: 4127)) 8 | 9 | 10 | // Prototypes 11 | DWORD GetErrorString(TCHAR * Msg, int Size); 12 | HANDLE OpenJoystickDevice(void); 13 | #ifdef PPJOY_MODE 14 | VOID Convert2CompatibleFormat(PJOYSTICK_STATE pPosCompat, PJOYSTICK_POSITION pPosNative); 15 | #endif 16 | BOOL LoadJoystickPos(); 17 | HANDLE OpenJoystickRawDevice(UINT i); 18 | bool isRawDevice(const char *DevicePath, int Index); 19 | 20 | -------------------------------------------------------------------------------- /apps/vJoyConf/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("vJoyConf")]; 15 | [assembly:AssemblyDescriptionAttribute("")]; 16 | [assembly:AssemblyConfigurationAttribute("")]; 17 | [assembly:AssemblyCompanyAttribute("")]; 18 | [assembly:AssemblyProductAttribute("vJoyConf")]; 19 | [assembly:AssemblyCopyrightAttribute("Copyright (c) 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("1.0.*")]; 35 | 36 | [assembly:ComVisible(false)]; 37 | 38 | [assembly:CLSCompliantAttribute(true)]; 39 | 40 | //[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 41 | -------------------------------------------------------------------------------- /apps/vJoyConf/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/1-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/1-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/1-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/1-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/10-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/10-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/10-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/10-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/11-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/11-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/11-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/11-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/12-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/12-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/12-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/12-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/13-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/13-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/13-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/13-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/14-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/14-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/14-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/14-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/15-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/15-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/15-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/15-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/16-Del.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/16-Del.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/16-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/16-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/16-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/16-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/2-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/2-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/2-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/2-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/3-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/3-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/3-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/3-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/4-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/4-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/4-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/4-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/5-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/5-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/5-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/5-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/6-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/6-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/6-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/6-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/7-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/7-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/7-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/7-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/8-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/8-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/8-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/8-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/9-Off.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/9-Off.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/9-On.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/9-On.ico -------------------------------------------------------------------------------- /apps/vJoyConf/TabIcon/Frame.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/TabIcon/Frame.ico -------------------------------------------------------------------------------- /apps/vJoyConf/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/app.ico -------------------------------------------------------------------------------- /apps/vJoyConf/app.rc: -------------------------------------------------------------------------------- 1 | #include "winuser.h" 2 | // Microsoft Visual C++ generated resource script. 3 | // 4 | #include "resource.h" 5 | 6 | #define APSTUDIO_READONLY_SYMBOLS 7 | 8 | ///////////////////////////////////////////////////////////////////////////// 9 | #undef APSTUDIO_READONLY_SYMBOLS 10 | 11 | ///////////////////////////////////////////////////////////////////////////// 12 | // English (U.S.) resources 13 | 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // 17 | // Icon 18 | // 19 | 20 | // Icon placed first or with lowest ID value becomes application icon 21 | 22 | LANGUAGE 9, 1 23 | #pragma code_page(1252) 24 | 25 | 1 ICON "Joystick-icon.ico" 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | // 29 | // Version 30 | // 31 | 1 VERSIONINFO 32 | FILEVERSION 1,0,0,2 33 | PRODUCTVERSION 2,0,4,0 34 | BEGIN 35 | BLOCK "StringFileInfo" 36 | BEGIN 37 | BLOCK "080904E4" 38 | BEGIN 39 | VALUE "CompanyName", "Shaul Eizikovich" 40 | VALUE "FileDescription", "Utility to configure vJoy Device" 41 | VALUE "FileVersion", "1.0.0.2" 42 | VALUE "InternalName", "vJoyConf" 43 | VALUE "LegalCopyright", L"\251 Shaul Eizikovich. All rights reserved." 44 | VALUE "OriginalFilename", "vJoyConf.exe" 45 | VALUE "ProductName", "vJoy" 46 | VALUE "ProductVersion", "2.0.4" 47 | END 48 | END 49 | 50 | BLOCK "VarFileInfo" 51 | BEGIN 52 | VALUE "Translation", 0x809, 1252 53 | END 54 | END 55 | 56 | 57 | 58 | #ifdef APSTUDIO_INVOKED 59 | ///////////////////////////////////////////////////////////////////////////// 60 | // 61 | // TEXTINCLUDE 62 | // 63 | 64 | 1 TEXTINCLUDE 65 | BEGIN 66 | "resource.h\0" 67 | "\0" 68 | END 69 | 70 | 2 TEXTINCLUDE 71 | BEGIN 72 | "#include ""afxres.h""\r\n" 73 | "\0" 74 | END 75 | 76 | 3 TEXTINCLUDE 77 | BEGIN 78 | "\0" 79 | END 80 | 81 | #endif // APSTUDIO_INVOKED 82 | 83 | ///////////////////////////////////////////////////////////////////////////// 84 | 85 | 86 | #ifndef APSTUDIO_INVOKED 87 | ///////////////////////////////////////////////////////////////////////////// 88 | // 89 | // Generated from the TEXTINCLUDE 3 resource. 90 | // 91 | 92 | 93 | ///////////////////////////////////////////////////////////////////////////// 94 | #endif // not APSTUDIO_INVOKED 95 | 96 | 97 | -------------------------------------------------------------------------------- /apps/vJoyConf/bldConf.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | goto :eof 8 | 9 | 10 | 11 | :fre_wxp_x86 12 | SET OUTDIR=objfre_wxp_x86\i386\ 13 | mkdir %OUTDIR% 14 | "%BUILDER%" vJoyConf.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Release 15 | goto :eof 16 | 17 | :chk_wxp_x86 18 | SET OUTDIR=objchk_wxp_x86\i386\ 19 | mkdir %OUTDIR% 20 | "%BUILDER%" vJoyConf.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Debug 21 | goto :eof 22 | 23 | :fre_wlh_AMD64 24 | SET OUTDIR=objfre_wlh_amd64\amd64\ 25 | mkdir %OUTDIR% 26 | "%BUILDER%" vJoyConf.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Release 27 | goto :eof 28 | 29 | :chk_wlh_AMD64 30 | SET OUTDIR=objchk_wlh_amd64\amd64\ 31 | mkdir %OUTDIR% 32 | "%BUILDER%" vJoyConf.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Debug 33 | goto :eof 34 | 35 | 36 | :eof -------------------------------------------------------------------------------- /apps/vJoyConf/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyConf/makefile.inc: -------------------------------------------------------------------------------- 1 | # Create vJoyConf.exe + vJoyConfig.exe 2 | $(OBJ_PATH)\$O\$(TARGETNAME).exe: 3 | bldConf.bat 4 | 5 | -------------------------------------------------------------------------------- /apps/vJoyConf/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/resource.h -------------------------------------------------------------------------------- /apps/vJoyConf/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyConf 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | C_DEFINES= NO_LINK NO_COMPILE 6 | 7 | SOURCES=\ 8 | 9 | 10 | NTTARGETFILE0= \ 11 | $(OBJ_PATH)\$O\$(TARGETNAME).exe \ -------------------------------------------------------------------------------- /apps/vJoyConf/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyConf.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 | -------------------------------------------------------------------------------- /apps/vJoyConf/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | // Windows Header Files: 12 | #include 13 | #include 14 | 15 | // C RunTime Header Files 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | //#include 31 | 32 | // TODO: reference additional headers your program requires here 33 | -------------------------------------------------------------------------------- /apps/vJoyConf/svn_version.h.tmpl: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011, Zach Burlingame 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are met: 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above copyright 9 | // notice, this list of conditions and the following disclaimer in the 10 | // documentation and/or other materials provided with the distribution. 11 | // * Neither the name of zachburlingame.com nor the 12 | // names of its contributors may be used to endorse or promote products 13 | // derived from this software without specific prior written permission. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | // DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY 19 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | #ifndef _SVN_VERSION_H_ 26 | #define _SVN_VERSION_H_ 27 | 28 | #define SVN_LOCAL_MODIFICATIONS $WCMODS?1:0$ 29 | #define SVN_REVISION $WCREV$ 30 | #define SVN_TIME_NOW $WCNOW$ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /apps/vJoyConf/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConf.exe.Win32.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConf.exe.x64.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConf.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | 5 | // HID Descriptor definitions 6 | #define HID_USAGE_X 0x30 7 | #define HID_USAGE_Y 0x31 8 | #define HID_USAGE_Z 0x32 9 | #define HID_USAGE_RX 0x33 10 | #define HID_USAGE_RY 0x34 11 | #define HID_USAGE_RZ 0x35 12 | #define HID_USAGE_SL0 0x36 13 | #define HID_USAGE_SL1 0x37 14 | #define HID_USAGE_WHL 0x38 15 | #define HID_USAGE_POV 0x39 16 | 17 | /* These macros are used to build the report by adding a byte/word at a time*/ 18 | #ifndef NEXT_BYTE 19 | #define NEXT_BYTE(vReport,Data) vReport.push_back(Data); 20 | #endif 21 | 22 | #ifndef NEXT_SHORT 23 | #define NEXT_SHORT(vReport,Data) vReport.push_back(Data&0xFF); vReport.push_back((Data&0xFF00)>>8); 24 | #endif 25 | 26 | // Internal messages 27 | #define WM_VJOYCHANGED WM_USER+1 28 | 29 | // Timer ID 30 | #define TIMER_ID 24553 31 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConf.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/vJoyConf.ico -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConf.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/vJoyConf.rc -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/Header.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/vJoyConfig/Header.h -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef IDC_STATIC 2 | #define IDC_STATIC (-1) 3 | #endif 4 | 5 | #define IDS_STRING1 40000 6 | #define IDS_ERR_ID_RANGE 40001 7 | #define IDS_ERR_FLAG 40002 8 | #define IDS_ERR_AXIS 40003 9 | #define IDS_ERR_BTN 40004 10 | #define IDS_ERR_POV 40005 11 | #define IDS_WRN_CREATE 40006 12 | #define IDS_ERR_NOGUI 40007 13 | #define IDS_ERR_32ON64 40008 14 | #define IDS_ERR_64ON32 40009 15 | #define IDS_ERR_ENABLE 40010 16 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyConfig.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 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | 16 | 17 | // TODO: reference additional headers your program requires here 18 | //#define CMDLINE -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/svn_version.h.tmpl: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011, Zach Burlingame 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are met: 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above copyright 9 | // notice, this list of conditions and the following disclaimer in the 10 | // documentation and/or other materials provided with the distribution. 11 | // * Neither the name of zachburlingame.com nor the 12 | // names of its contributors may be used to endorse or promote products 13 | // derived from this software without specific prior written permission. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | // DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY 19 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | #ifndef _SVN_VERSION_H_ 26 | #define _SVN_VERSION_H_ 27 | 28 | #define SVN_LOCAL_MODIFICATIONS $WCMODS?1:0$ 29 | #define SVN_REVISION $WCREV$ 30 | #define SVN_TIME_NOW $WCNOW$ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | #define CMDLINE 1 10 | #undef _WIN32_WINNT 11 | #define _WIN32_WINNT 0x0501 12 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/vJoyConfig.h: -------------------------------------------------------------------------------- 1 | // List of available commands 2 | enum CMD {UNK, HLP, VER, RST, DEL, FRC, AXS, BTN, PVA, PVD, GUI, CRT, RPT, EN, DIS}; 3 | 4 | LPCTSTR HelpStr = L"\ 5 | \n\ 6 | vJoy Configuration Utility \n\ 7 | Syntax: \n\ 8 | \n\ 9 | vJoyConfig \n\ 10 | Launch GUI (if possible) \n\ 11 | \n\ 12 | vJoyConfig -h \n\ 13 | Help text \n\ 14 | \n\ 15 | vJoyConfig -t [[-c] Di ... ]\n\ 16 | Report current configuration \n\ 17 | -c Report as a vJoyConfig command-line\n\ 18 | Di One or more devices to report\n\ 19 | \n\ 20 | vJoyConfig -v \n\ 21 | Version information \n\ 22 | \n\ 23 | vJoyConfig -r \n\ 24 | Reset vJoy to default configuration \n\ 25 | \n\ 26 | vJoyConfig enable [off|on] \n\ 27 | Enable or disable vJoy driver \n\ 28 | on Enable vJoy Driver (default)\n\ 29 | off Disable vJoy Driver \n\ 30 | \n\ 31 | vJoyConfig -d Dn [Dn+1...] \n\ 32 | Delete one or more devices \n\ 33 | Example: vJoyConfig -d 1 3 12 (Delete device 1, 3 and 12) \n\ 34 | \n\ 35 | vJoyConfig Dn [-l] [-f] [-a Ai [Ai+1 ...]] [-b n] {[-p m] | [-s j]} [-e [all | [Ei ...]]]\n\ 36 | Create a joystick device \n\ 37 | \n\ 38 | Dn The index of the target joystick device in the range of 1-16 \n\ 39 | -l Deferred (Delayed) until the next non-deferred action\n\ 40 | -f Force creation even if device exists. This will delete the current device before creating a new one. \n\ 41 | -a Ai Define axes (one or more). \n\ 42 | Possible values are (Case insensitive): x, y, z, rx, ry, rz, sl0, sl1 \n\ 43 | In the absence of this flag the default will be used (Default = all axes) \n\ 44 | -b n Set the number of buttons (Default = 8 buttons) \n\ 45 | -p m Set the number of analog POV Switches (Default = 0) \n\ 46 | -s j Set the number of discrete POV Switches (Default = 0)\n\ 47 | -e Ei Define FFB effects (zero or more). \n\ 48 | Possible values are (Case insensitive): all, Const, Ramp, Sq, Sine, Tr, StUp, StDn, Spr, Dm, Inr, Fric\n\ 49 | In the absence of this flag or no values following this flag - the default will be used (Default = No FFB support) \n\ 50 | Special value 'all' means all FFB effects \n\ 51 | \n"; -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/vJoyConfig.rc: -------------------------------------------------------------------------------- 1 | // Generated by ResEdit 1.6.2 2 | // Copyright (C) 2006-2014 3 | // http://www.resedit.net 4 | 5 | #include 6 | #include 7 | //#include 8 | #include "resource.h" 9 | #include "..\..\..\inc\public.h" 10 | 11 | 12 | 13 | 14 | // 15 | // String Table resources 16 | // 17 | LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 18 | STRINGTABLE 19 | { 20 | IDS_STRING1 "Sample text" 21 | IDS_ERR_ID_RANGE "Error: Device ID out of range (Valid ID: 1-16)" 22 | IDS_ERR_FLAG "Error: This flag does not exist, Use flag '-h' to get help" 23 | IDS_ERR_AXIS "Error: Axis %s does not exist. Use one of the following: x, y, z, rx, ry, rz, sl0, sl1" 24 | IDS_ERR_BTN "Error: Valid number of buttons is 0-128" 25 | IDS_ERR_POV "Error: Valid number of POV switches is 0-4" 26 | IDS_WRN_CREATE "Warning: Device already exists. Use '-f' to force device configuration" 27 | IDS_ERR_NOGUI "Error: Graphical User Interface configuration application was not found in this directory." 28 | IDS_ERR_32ON64 "Error: You are running a 32 bit application on a 64 bit computer." 29 | IDS_ERR_64ON32 "Error: You are running a 64 bit application on a 32 bit computer." 30 | IDS_ERR_ENABLE "Error: Incorrect parameter %s, Use flag '-h' to get help" 31 | } 32 | 33 | // 34 | // String Table resources 35 | // 36 | //LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 37 | //STRINGTABLE 38 | //{ 39 | // IDS_ERR_ID_RANGE "Error: Device ID out of range (Valid ID: 1-16)" 40 | // IDS_ERR_FLAG "Error: This flag does not exist, Use flag '-h' to get help" 41 | // IDS_ERR_AXIS "Error: Axis %s does not exist. Use one of the following: x, y, z, rx, ry, rz, sl0, sl1" 42 | // IDS_ERR_BTN "Error: Valid number of buttons is 0-128" 43 | // IDS_ERR_POV "Error: Valid number of POV switches is 0-4" 44 | // IDS_WRN_CREATE "Warning: Device already exists. Use '-f' to force device configuration" 45 | // IDS_ERR_NOGUI "Error: Graphical User Interface configuration application was not found in this directory." 46 | // IDS_ERR_32ON64 "Error: You are running a 32 bit application on a 64 bit computer." 47 | // IDS_ERR_64ON32 "Error: You are running a 64 bit application on a 32 bit computer." 48 | //} 49 | 50 | } 51 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/vJoyConfig.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyConfig", "vJoyConfig.vcxproj", "{DF01DF55-7429-484F-BB05-3717830A2F22}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Debug|Win32.Build.0 = Debug|Win32 18 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Debug|x64.ActiveCfg = Debug|x64 19 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Debug|x64.Build.0 = Debug|x64 20 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Release|Win32.ActiveCfg = Release|Win32 21 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Release|Win32.Build.0 = Release|Win32 22 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Release|x64.ActiveCfg = Release|x64 23 | {DF01DF55-7429-484F-BB05-3717830A2F22}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/vJoyConfig.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Source Files 6 | 7 | 8 | Source Files 9 | 10 | 11 | 12 | 13 | Header Files 14 | 15 | 16 | Header Files 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Resource Files 31 | 32 | 33 | Resource Files 34 | 35 | 36 | 37 | 38 | {725fd14d-d00b-4ac0-b579-febdd93bb928} 39 | 40 | 41 | {b67513a3-fa4d-4ab4-a71f-19cd4a931fba} 42 | 43 | 44 | {93e49bc6-67b5-484f-b280-9376dda3333d} 45 | 46 | 47 | -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyConfig/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/vJoyConfig/version.rc -------------------------------------------------------------------------------- /apps/vJoyConf/vJoyDevice.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CvJoyDevice 3 | { 4 | public: 5 | CvJoyDevice(); 6 | CvJoyDevice(int); 7 | virtual ~CvJoyDevice(); 8 | 9 | private: 10 | VjdStat status; 11 | int ButtonNumber, DiscPovNumber, ContPovNumber; 12 | BOOL X_Exist, Y_Exist, Z_Exist, RX_Exist, RY_Exist, RZ_Exist, SL0_Exist, SL1_Exist; 13 | protected: 14 | // Get current status of the vJoy device and initialize status variables accordingly 15 | BOOL GetStatus(int id); 16 | public: 17 | // Tests if vJoy device exists (Input is ID number) 18 | BOOL Exists(); 19 | 20 | // Tests if axis implemented exists (Input is ID number) 21 | BOOL AxisExists(UINT Axis); 22 | 23 | // Get the number of buttons 24 | int GetButtonNumber(void); 25 | 26 | // Get the number of discrete POV buttons 27 | int GetDiscPovNumber(void); 28 | 29 | // Get the number of Continuous POV buttons 30 | int GetContPovNumber(void); 31 | 32 | protected: 33 | // ID of this vJoy device 34 | int Id; 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /apps/vJoyConf/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyConf/version.rc -------------------------------------------------------------------------------- /apps/vJoyDemo/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 | // 11 | // General Information about an assembly is controlled through the following 12 | // set of attributes. Change these attribute values to modify the information 13 | // associated with an assembly. 14 | // 15 | [assembly:AssemblyTitleAttribute("vJoyDemo")]; 16 | [assembly:AssemblyDescriptionAttribute("vJoy Demo client with GUI")]; 17 | [assembly:AssemblyConfigurationAttribute("")]; 18 | [assembly:AssemblyCompanyAttribute("")]; 19 | [assembly:AssemblyProductAttribute("vJoyDemo")]; 20 | [assembly:AssemblyCopyrightAttribute("Copyright by Shaul Eizikovich (c) 2014")]; 21 | [assembly:AssemblyTrademarkAttribute("")]; 22 | [assembly:AssemblyCultureAttribute("")]; 23 | 24 | // 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the value or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | 35 | [assembly:AssemblyVersionAttribute("1.0.2")]; 36 | 37 | [assembly:ComVisible(false)]; 38 | 39 | [assembly:CLSCompliantAttribute(true)]; 40 | 41 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 42 | 43 | 44 | -------------------------------------------------------------------------------- /apps/vJoyDemo/FunkyLibrary.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyDemo/FunkyLibrary.dll -------------------------------------------------------------------------------- /apps/vJoyDemo/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyDemo/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyDemo/LBIndustrialCtrls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyDemo/LBIndustrialCtrls.dll -------------------------------------------------------------------------------- /apps/vJoyDemo/PPJIoctl.h: -------------------------------------------------------------------------------- 1 | #ifndef __PPJIOCTL_H__ 2 | #define __PPJIOCTL_H__ 3 | 4 | /* Define to use byte-size values for joystick axes, else dword size */ 5 | #undef UCHAR_AXES 6 | 7 | #define PPJOY_AXIS_MIN 1 8 | #ifdef UCHAR_AXES 9 | #define PPJOY_AXIS_MAX 127 10 | #else 11 | #define PPJOY_AXIS_MAX 32767 12 | #endif 13 | 14 | #define FILE_DEVICE_PPORTJOY FILE_DEVICE_UNKNOWN 15 | 16 | #define PPORTJOY_IOCTL(_index_) \ 17 | CTL_CODE (FILE_DEVICE_PPORTJOY, _index_, METHOD_BUFFERED, FILE_ANY_ACCESS) 18 | 19 | #define IOCTL_PPORTJOY_SET_STATE PPORTJOY_IOCTL (0x0) 20 | 21 | #define JOYSTICK_STATE_V1 0x53544143 22 | 23 | typedef struct 24 | { 25 | ULONG Version; 26 | UCHAR Data[1]; 27 | } JOYSTICK_SET_STATE, *PJOYSTICK_SET_STATE; 28 | 29 | #define NUM_ANALOG 8 /* Number of analog values which we will provide */ 30 | #define NUM_DIGITAL 8 /* Number of digital values which we will provide */ 31 | 32 | 33 | #pragma pack(push,1) /* All fields in structure must be byte aligned. */ 34 | typedef struct 35 | { 36 | unsigned long Signature; /* Signature to identify packet to PPJoy IOCTL */ 37 | char NumAnalog; /* Num of analog values we pass */ 38 | long Analog[NUM_ANALOG]; /* Analog values */ 39 | char NumDigital; /* Num of digital values we pass */ 40 | char Digital[NUM_DIGITAL]; /* Digital values */ 41 | } JOYSTICK_STATE, *PJOYSTICK_STATE; 42 | #pragma pack(pop) 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /apps/vJoyDemo/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | APPLICATION : vJoyDemo Project Overview 3 | 4 | This project demonstrate writing of a feeder for vJoy. It has a minimal GUI that 5 | enables the user to move eight axes in the range of 0 to 33000, to press 6 | and release up to 32 buttons and to operate one POV Hat cap. 7 | The GUI part is separated from the vJoy-related part with the small seam code. 8 | 9 | 10 | vJoyClient.cpp 11 | This is the file that you should be interested with. It contains all the functions you need to control and feed the vJoy device. 12 | Here are the main points of interest: 13 | - HANDLE hDevice: Global handle to the device. Obtained once then used for all accesses 14 | - OpenJoystickDevice(): Get the global handle to the vJoy device 15 | - openDevice(): Wrapper for OpenJoystickDevice(). The global handle updated (not returned) 16 | - isInstalled(): Tests if vJoy device is installed 17 | - getDeviceAttrib(): Gets a string holding device version 18 | - update_device(): Feeds vJoy device with position data. 19 | 20 | 21 | vJoyDemo.vcproj 22 | This is the main project file for VC++ projects generated using an Application Wizard. 23 | It contains information about the version of Visual C++ that generated the file, and 24 | information about the platforms, configurations, and project features selected with the 25 | Application Wizard. 26 | 27 | vJoyDemo.cpp 28 | This is the main application source file. 29 | Contains the code to display the form. 30 | 31 | Form1.h 32 | Contains the implementation of your form class and InitializeComponent() function. 33 | Also includes functions that call functions from vJoyClient.cpp. 34 | 35 | AssemblyInfo.cpp 36 | Contains custom attributes for modifying assembly metadata. 37 | 38 | ///////////////////////////////////////////////////////////////////////////// 39 | Other standard files: 40 | 41 | StdAfx.h, StdAfx.cpp 42 | These files are used to build a precompiled header (PCH) file 43 | named vJoyDemo.pch and a precompiled types file named StdAfx.obj. 44 | 45 | ///////////////////////////////////////////////////////////////////////////// 46 | -------------------------------------------------------------------------------- /apps/vJoyDemo/app.rc: -------------------------------------------------------------------------------- 1 | #include "winuser.h" 2 | // Microsoft Visual C++ generated resource script. 3 | // 4 | #include "resource.h" 5 | 6 | #define APSTUDIO_READONLY_SYMBOLS 7 | 8 | ///////////////////////////////////////////////////////////////////////////// 9 | #undef APSTUDIO_READONLY_SYMBOLS 10 | 11 | ///////////////////////////////////////////////////////////////////////////// 12 | // English (U.S.) resources 13 | 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // 17 | // Icon 18 | // 19 | 20 | // Icon placed first or with lowest ID value becomes application icon 21 | 22 | LANGUAGE 9, 1 23 | #pragma code_page(1252) 24 | 25 | 1 ICON "Joystick-icon.ico" 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | // 29 | // Version 30 | // 31 | 1 VERSIONINFO 32 | FILEVERSION 1,0,0,1 33 | PRODUCTVERSION 1,0,3,0 34 | BEGIN 35 | BLOCK "StringFileInfo" 36 | BEGIN 37 | BLOCK "080904E4" 38 | BEGIN 39 | VALUE "CompanyName", "Shaul Eizikovich" 40 | VALUE "FileDescription", "Demo client - controls 4 axes, 32 buttons, 1 POV" 41 | VALUE "FileVersion", "1.0" 42 | VALUE "InternalName", "vJoyDemo" 43 | VALUE "LegalCopyright", L"\251 Shaul Eizikovich. All rights reserved." 44 | VALUE "OriginalFilename", "vJoyDemo.exe" 45 | VALUE "ProductName", "vJoy" 46 | VALUE "ProductVersion", "1.0" 47 | END 48 | END 49 | 50 | BLOCK "VarFileInfo" 51 | BEGIN 52 | VALUE "Translation", 0x809, 1252 53 | END 54 | END 55 | 56 | 57 | 58 | #ifdef APSTUDIO_INVOKED 59 | ///////////////////////////////////////////////////////////////////////////// 60 | // 61 | // TEXTINCLUDE 62 | // 63 | 64 | 1 TEXTINCLUDE 65 | BEGIN 66 | "resource.h\0" 67 | "\0" 68 | END 69 | 70 | 2 TEXTINCLUDE 71 | BEGIN 72 | "#include ""afxres.h""\r\n" 73 | "\0" 74 | END 75 | 76 | 3 TEXTINCLUDE 77 | BEGIN 78 | "\0" 79 | END 80 | 81 | #endif // APSTUDIO_INVOKED 82 | 83 | ///////////////////////////////////////////////////////////////////////////// 84 | 85 | 86 | #ifndef APSTUDIO_INVOKED 87 | ///////////////////////////////////////////////////////////////////////////// 88 | // 89 | // Generated from the TEXTINCLUDE 3 resource. 90 | // 91 | 92 | 93 | ///////////////////////////////////////////////////////////////////////////// 94 | #endif // not APSTUDIO_INVOKED 95 | 96 | -------------------------------------------------------------------------------- /apps/vJoyDemo/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by app.rc 4 | -------------------------------------------------------------------------------- /apps/vJoyDemo/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyDemo.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | 8 | -------------------------------------------------------------------------------- /apps/vJoyDemo/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | #pragma once 5 | 6 | #define _CRT_SECURE_NO_WARNINGS 7 | #undef _UNICODE 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include // APIs for the Configuration Manager 14 | #include // Setup and Device Installer services 15 | #include // safer C library string routine replacements. 16 | #include // Public header file for Windows NT Driver Installation DLL 17 | #include // Definitions for controlling GUID initialization 18 | #include 19 | 20 | #pragma comment(lib, "advapi32.lib") 21 | #pragma comment(lib, "User32.lib") 22 | 23 | 24 | #undef _UNICODE 25 | -------------------------------------------------------------------------------- /apps/vJoyDemo/vJoyDemo.cpp: -------------------------------------------------------------------------------- 1 | // vJoyDemo.cpp : main project file. 2 | 3 | #include "stdafx.h" 4 | #include "vjoyclient.h" 5 | #include "Form1.h" 6 | #include 7 | 8 | #pragma comment(lib, "vJoyInterface.lib") 9 | 10 | using namespace vJoyDemo; 11 | 12 | 13 | [STAThreadAttribute] 14 | int main(array ^args) 15 | { 16 | // Enabling Windows XP visual effects before any controls are created 17 | Application::EnableVisualStyles(); 18 | Application::SetCompatibleTextRenderingDefault(false); 19 | 20 | // Create the main window and run it 21 | Application::Run(gcnew Form1()); 22 | return 0; 23 | } 24 | 25 | 26 | -------------------------------------------------------------------------------- /apps/vJoyDemo/vJoyDemo.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyDemo", "vJoyDemo.vcxproj", "{32506EA4-59C6-44A0-B47E-9462B838D2DC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Debug|Win32 = Debug|Win32 12 | Debug|x64 = Debug|x64 13 | Release|Any CPU = Release|Any CPU 14 | Release|Win32 = Release|Win32 15 | Release|x64 = Release|x64 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Debug|Any CPU.ActiveCfg = Debug|Win32 19 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Debug|Win32.ActiveCfg = Debug|Win32 20 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Debug|Win32.Build.0 = Debug|Win32 21 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Debug|x64.ActiveCfg = Release|x64 22 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Debug|x64.Build.0 = Release|x64 23 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|Any CPU.ActiveCfg = Release|Win32 24 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|Any CPU.Build.0 = Release|Win32 25 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|Win32.ActiveCfg = Release|Win32 26 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|Win32.Build.0 = Release|Win32 27 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|x64.ActiveCfg = Release|x64 28 | {32506EA4-59C6-44A0-B47E-9462B838D2DC}.Release|x64.Build.0 = Release|x64 29 | EndGlobalSection 30 | GlobalSection(SolutionProperties) = preSolution 31 | HideSolutionNode = FALSE 32 | EndGlobalSection 33 | EndGlobal 34 | -------------------------------------------------------------------------------- /apps/vJoyDemo/vjoyclient.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | //DEFINE_GUID(GUID_DEVINTERFACE_HID, 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00,0x11, 0x11, 0x00, 0x00, 0x30); 6 | 7 | #define MSG_SIZE 1000 8 | #define WHILE(constant) \ 9 | __pragma(warning(disable: 4127)) while(constant); __pragma(warning(default: 4127)) 10 | ////////////////////////////////////////////////////////////////////////////////////////// 11 | // Logical layer between vJoyInterface.dll and the application (vJoyDemo) 12 | // 13 | // It is assumed that the application does not open more than one VJD for writing. 14 | // The handle to this device is a global paramete hDevice 15 | // 16 | // 17 | // Registration: 18 | // Registeres the application main window to receive notification from vJoy driver when PNP operation is underway 19 | // This anables the application to close the handle to the device when the device is goind down and (optionally) to 20 | // re-connect when it goes up again. 21 | // Functions: 22 | // - RegistervJoyNotification(): Every time an interface of type GUID_DEVINTERFACE_VJOY is enables/disabled. 23 | // - RegisterHandleNotification(): Every time the system tries to remove the device to which the application has an open handle 24 | // 25 | // Access to vJoy Device (VJD) 26 | // It is assumed that there is one device open at a time (at most). 27 | // The global parameter (hDevice) holdes a handle to this device or hDevice = INVALID_HANDLE_VALUE if none is open 28 | // Functions: 29 | // - GetJoystickHandle() 30 | // - openDevice() 31 | // - CloseJoystickDevice() 32 | // - ReopenJoystickDevice() 33 | // 34 | // Writing position data to open VJD is done by calling update_device(). 35 | // 36 | // 37 | ////////////////////////////////////////////////////////////////////////////////////////// 38 | 39 | // Prototypes 40 | DWORD GetErrorString(TCHAR * Msg, int Size); 41 | HANDLE OpenJoystickDevice(void); 42 | HANDLE GetJoystickHandle(void); 43 | BOOL CloseJoystickDevice(void); 44 | //void ReopenJoystickDevice(void); 45 | HDEVNOTIFY RegistervJoyNotification(HWND hWin); 46 | HDEVNOTIFY RegisterHandleNotification(HWND hWin); 47 | #ifdef PPJOY_MODE 48 | VOID Convert2CompatibleFormat(PJOYSTICK_STATE pPosCompat, PJOYSTICK_POSITION pPosNative); 49 | #endif 50 | 51 | // Interface Functions 52 | BOOL LoadJoystickPos(); 53 | BOOL isInstalled(); 54 | BOOL openDevice(UINT iInterface); 55 | BOOL getDeviceAttrib(TCHAR * Msg); 56 | void update_device(JOYSTICK_POSITION * iReport); 57 | 58 | 59 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/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 | // 11 | // General Information about an assembly is controlled through the following 12 | // set of attributes. Change these attribute values to modify the information 13 | // associated with an assembly. 14 | // 15 | [assembly:AssemblyTitleAttribute("vJoyDemo")]; 16 | [assembly:AssemblyDescriptionAttribute("vJoy Demo client with GUI")]; 17 | [assembly:AssemblyConfigurationAttribute("")]; 18 | [assembly:AssemblyCompanyAttribute("")]; 19 | [assembly:AssemblyProductAttribute("vJoyDemo")]; 20 | [assembly:AssemblyCopyrightAttribute("Copyright by Shaul Eizikovich (c) 2014")]; 21 | [assembly:AssemblyTrademarkAttribute("")]; 22 | [assembly:AssemblyCultureAttribute("")]; 23 | 24 | // 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the value or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | 35 | [assembly:AssemblyVersionAttribute("1.0.2")]; 36 | 37 | [assembly:ComVisible(false)]; 38 | 39 | [assembly:CLSCompliantAttribute(true)]; 40 | 41 | //[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 42 | 43 | 44 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/FunkyLibrary.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/FunkyLibrary.dll -------------------------------------------------------------------------------- /apps/vJoyFeeder/Joystick-Feeder-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/Joystick-Feeder-icon.ico -------------------------------------------------------------------------------- /apps/vJoyFeeder/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyFeeder/LBIndustrialCtrls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/LBIndustrialCtrls.dll -------------------------------------------------------------------------------- /apps/vJoyFeeder/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | APPLICATION : vJoyDemo Project Overview 3 | 4 | This project demonstrate writing of a feeder for vJoy. It has a minimal GUI that 5 | enables the user to move eight axes in the range of 0 to 33000, to press 6 | and release up to 32 buttons and to operate one POV Hat cap. 7 | The GUI part is separated from the vJoy-related part with the small seam code. 8 | 9 | 10 | vJoyClient.cpp 11 | This is the file that you should be interested with. It contains all the functions you need to control and feed the vJoy device. 12 | Here are the main points of interest: 13 | - HANDLE hDevice: Global handle to the device. Obtained once then used for all accesses 14 | - OpenJoystickDevice(): Get the global handle to the vJoy device 15 | - openDevice(): Wrapper for OpenJoystickDevice(). The global handle updated (not returned) 16 | - isInstalled(): Tests if vJoy device is installed 17 | - getDeviceAttrib(): Gets a string holding device version 18 | - update_device(): Feeds vJoy device with position data. 19 | 20 | 21 | vJoyDemo.vcproj 22 | This is the main project file for VC++ projects generated using an Application Wizard. 23 | It contains information about the version of Visual C++ that generated the file, and 24 | information about the platforms, configurations, and project features selected with the 25 | Application Wizard. 26 | 27 | vJoyDemo.cpp 28 | This is the main application source file. 29 | Contains the code to display the form. 30 | 31 | Form1.h 32 | Contains the implementation of your form class and InitializeComponent() function. 33 | Also includes functions that call functions from vJoyClient.cpp. 34 | 35 | AssemblyInfo.cpp 36 | Contains custom attributes for modifying assembly metadata. 37 | 38 | ///////////////////////////////////////////////////////////////////////////// 39 | Other standard files: 40 | 41 | StdAfx.h, StdAfx.cpp 42 | These files are used to build a precompiled header (PCH) file 43 | named vJoyDemo.pch and a precompiled types file named StdAfx.obj. 44 | 45 | ///////////////////////////////////////////////////////////////////////////// 46 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/app.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/app.rc -------------------------------------------------------------------------------- /apps/vJoyFeeder/bldFeeder.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | SET BUILDER=%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe 3 | if /I "%BUILD_ALT_DIR%" == "fre_wxp_x86" (goto :fre_wxp_x86) 4 | if /I "%BUILD_ALT_DIR%" == "chk_wxp_x86" (goto :chk_wxp_x86) 5 | if /I "%BUILD_ALT_DIR%" == "fre_wlh_amd64" (goto :fre_wlh_AMD64) 6 | if /I "%BUILD_ALT_DIR%" == "chk_wlh_amd64" (goto :chk_wlh_AMD64) 7 | 8 | echo Could not determine architecture 9 | goto :eof 10 | 11 | 12 | 13 | :fre_wxp_x86 14 | SET OUTDIR=objfre_wxp_x86\i386\ 15 | mkdir %OUTDIR% 16 | "%BUILDER%" vjoyfeeder.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Release 17 | goto :eof 18 | 19 | :chk_wxp_x86 20 | SET OUTDIR=objchk_wxp_x86\i386\ 21 | mkdir %OUTDIR% 22 | "%BUILDER%" vjoyfeeder.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=Win32;Configuration=Debug 23 | goto :eof 24 | 25 | :fre_wlh_AMD64 26 | SET OUTDIR=objfre_wlh_amd64\amd64\ 27 | mkdir %OUTDIR% 28 | "%BUILDER%" vjoyfeeder.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Release 29 | goto :eof 30 | 31 | :chk_wlh_AMD64 32 | SET OUTDIR=objchk_wlh_amd64\amd64\ 33 | mkdir %OUTDIR% 34 | "%BUILDER%" vjoyfeeder.sln /t:rebuild /p:OutDir=%OUTDIR%;Platform=x64;Configuration=Debug 35 | goto :eof 36 | 37 | 38 | :eof -------------------------------------------------------------------------------- /apps/vJoyFeeder/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/makefile.inc: -------------------------------------------------------------------------------- 1 | # Create vJoyFeeder.exe 2 | $(OBJ_PATH)\$O\$(TARGETNAME).exe: 3 | bldFeeder.bat 4 | 5 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef IDC_STATIC 2 | #define IDC_STATIC (-1) 3 | #endif 4 | 5 | #define IDI_ICON1 100 6 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyFeeder 2 | TARGETTYPE=NOTARGET 3 | UMTYPE=console 4 | 5 | 6 | C_DEFINES= NO_LINK NO_COMPILE 7 | 8 | SOURCES=\ 9 | 10 | 11 | NTTARGETFILE0= \ 12 | $(OBJ_PATH)\$O\$(TARGETNAME).exe \ -------------------------------------------------------------------------------- /apps/vJoyFeeder/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyDemo.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | 8 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | #pragma once 5 | 6 | #define _CRT_SECURE_NO_WARNINGS 7 | #undef _UNICODE 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include // APIs for the Configuration Manager 14 | #include // Setup and Device Installer services 15 | #include // safer C library string routine replacements. 16 | #include // Public header file for Windows NT Driver Installation DLL 17 | #include // Definitions for controlling GUID initialization 18 | #include 19 | 20 | #pragma comment(lib, "advapi32.lib") 21 | #pragma comment(lib, "User32.lib") 22 | 23 | 24 | #undef _UNICODE 25 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/svn_version.h.tmpl: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011, Zach Burlingame 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are met: 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above copyright 9 | // notice, this list of conditions and the following disclaimer in the 10 | // documentation and/or other materials provided with the distribution. 11 | // * Neither the name of zachburlingame.com nor the 12 | // names of its contributors may be used to endorse or promote products 13 | // derived from this software without specific prior written permission. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | // DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY 19 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | #ifndef _SVN_VERSION_H_ 26 | #define _SVN_VERSION_H_ 27 | 28 | #define SVN_LOCAL_MODIFICATIONS $WCMODS?1:0$ 29 | #define SVN_REVISION $WCREV$ 30 | #define SVN_TIME_NOW $WCNOW$ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/vJoyFeeder.cpp: -------------------------------------------------------------------------------- 1 | // vJoyDemo.cpp : main project file. 2 | 3 | #include "stdafx.h" 4 | #include "vjoyclient.h" 5 | #include "Form1.h" 6 | #include 7 | 8 | #pragma comment(lib, "vJoyInterface.lib") 9 | 10 | using namespace vJoyDemo; 11 | 12 | [STAThreadAttribute] 13 | int main(array ^args) 14 | { 15 | // Enabling Windows XP visual effects before any controls are created 16 | Application::EnableVisualStyles(); 17 | Application::SetCompatibleTextRenderingDefault(false); 18 | 19 | // Create the main window and run it 20 | Application::Run(gcnew Form1()); 21 | return 0; 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/vJoyFeeder.ncb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/vJoyFeeder.ncb -------------------------------------------------------------------------------- /apps/vJoyFeeder/vJoyFeeder.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vJoyFeeder", "vJoyFeeder.vcxproj", "{3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4D0ADD67-3521-4C09-9CEF-79F747AF3E60}" 9 | ProjectSection(SolutionItems) = preProject 10 | Performance1.psess = Performance1.psess 11 | EndProjectSection 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Debug|Any CPU = Debug|Any CPU 16 | Debug|Win32 = Debug|Win32 17 | Debug|x64 = Debug|x64 18 | Release|Any CPU = Release|Any CPU 19 | Release|Win32 = Release|Win32 20 | Release|x64 = Release|x64 21 | EndGlobalSection 22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 23 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Debug|Any CPU.ActiveCfg = Debug|x64 24 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Debug|Win32.ActiveCfg = Debug|Win32 25 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Debug|Win32.Build.0 = Debug|Win32 26 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Debug|x64.ActiveCfg = Debug|x64 27 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Debug|x64.Build.0 = Debug|x64 28 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Release|Any CPU.ActiveCfg = Release|x64 29 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Release|Win32.ActiveCfg = Release|Win32 30 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Release|Win32.Build.0 = Release|Win32 31 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Release|x64.ActiveCfg = Release|x64 32 | {3A9A3360-5D3F-4ADC-A4D3-4E6AEB9FCF06}.Release|x64.Build.0 = Release|x64 33 | EndGlobalSection 34 | GlobalSection(SolutionProperties) = preSolution 35 | HideSolutionNode = FALSE 36 | EndGlobalSection 37 | EndGlobal 38 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/vJoyFeeder.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyFeeder/vJoyFeeder.suo -------------------------------------------------------------------------------- /apps/vJoyFeeder/vJoyFeeder.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Mixed 5 | WindowsRemoteDebugger 6 | RemoteWithoutAuthentication 7 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\x64\Debug\vjoyfeeder.exe 8 | 9 | 10 | DESKTOP-UIA12PP:4020 11 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\x64\Debug 12 | true 13 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\x64\Debug 14 | 15 | 16 | Mixed 17 | WindowsLocalDebugger 18 | 19 | 20 | WindowsLocalDebugger 21 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\win32\Debug\vjoyfeeder.exe 22 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\win32\Debug 23 | SHAUL-VPC:4020 24 | RemoteWithoutAuthentication 25 | \\VBOXSVR\c_drive\Users\Shaul\Documents\GitHubVisualStudio\vJoy\2.1.6\vJoy-Master\win32\Debug 26 | 27 | 28 | WindowsRemoteDebugger 29 | 30 | -------------------------------------------------------------------------------- /apps/vJoyFeeder/vjoyclient.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | //DEFINE_GUID(GUID_DEVINTERFACE_HID, 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00,0x11, 0x11, 0x00, 0x00, 0x30); 6 | 7 | #define MSG_SIZE 1000 8 | #define WHILE(constant) \ 9 | __pragma(warning(disable: 4127)) while(constant); __pragma(warning(default: 4127)) 10 | ////////////////////////////////////////////////////////////////////////////////////////// 11 | // Logical layer between vJoyInterface.dll and the application (vJoyDemo) 12 | // 13 | // It is assumed that the application does not open more than one VJD for writing. 14 | // The handle to this device is a global paramete hDevice 15 | // 16 | // 17 | // Registration: 18 | // Registeres the application main window to receive notification from vJoy driver when PNP operation is underway 19 | // This anables the application to close the handle to the device when the device is goind down and (optionally) to 20 | // re-connect when it goes up again. 21 | // Functions: 22 | // - RegistervJoyNotification(): Every time an interface of type GUID_DEVINTERFACE_VJOY is enables/disabled. 23 | // - RegisterHandleNotification(): Every time the system tries to remove the device to which the application has an open handle 24 | // 25 | // Access to vJoy Device (VJD) 26 | // It is assumed that there is one device open at a time (at most). 27 | // The global parameter (hDevice) holdes a handle to this device or hDevice = INVALID_HANDLE_VALUE if none is open 28 | // Functions: 29 | // - GetJoystickHandle() 30 | // - openDevice() 31 | // - CloseJoystickDevice() 32 | // - ReopenJoystickDevice() 33 | // 34 | // Writing position data to open VJD is done by calling update_device(). 35 | // 36 | // 37 | ////////////////////////////////////////////////////////////////////////////////////////// 38 | 39 | // Prototypes 40 | DWORD GetErrorString(TCHAR * Msg, int Size); 41 | HANDLE OpenJoystickDevice(void); 42 | HANDLE GetJoystickHandle(void); 43 | BOOL CloseJoystickDevice(void); 44 | //void ReopenJoystickDevice(void); 45 | HDEVNOTIFY RegistervJoyNotification(HWND hWin); 46 | HDEVNOTIFY RegisterHandleNotification(HWND hWin); 47 | #ifdef PPJOY_MODE 48 | VOID Convert2CompatibleFormat(PJOYSTICK_STATE pPosCompat, PJOYSTICK_POSITION_V2 pPosNative); 49 | #endif 50 | 51 | // Interface Functions 52 | BOOL LoadJoystickPos(); 53 | BOOL isInstalled(); 54 | BOOL openDevice(UINT iInterface); 55 | BOOL getDeviceAttrib(TCHAR * Msg); 56 | void update_device(JOYSTICK_POSITION * iReport); 57 | 58 | 59 | -------------------------------------------------------------------------------- /apps/vJoyInstall/CmdLine/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vJoyInstall.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 | -------------------------------------------------------------------------------- /apps/vJoyInstall/CmdLine/vJoyInstall.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/CmdLine/vJoyInstall.rc -------------------------------------------------------------------------------- /apps/vJoyInstall/CmdLine/vJoyInstall.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Resource Files 20 | 21 | 22 | 23 | 24 | Source Files 25 | 26 | 27 | Source Files 28 | 29 | 30 | Source Files 31 | 32 | 33 | 34 | 35 | Header Files 36 | 37 | 38 | -------------------------------------------------------------------------------- /apps/vJoyInstall/CmdLine/vJoyInstallx64.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | vJoy Installer 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /apps/vJoyInstall/CmdLine/vJoyInstallx86.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | vJoy Installer 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/Install.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | vJoy Installer 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/GTK/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/Joystick-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/GTK/Joystick-icon.png -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/buildtest: -------------------------------------------------------------------------------- 1 | # 2 | echo "Creating testdll" 3 | 4 | 5 | 6 | # Convert source file to UNIX format 7 | 8 | dos2unix testdll.c; 9 | 10 | 11 | 12 | # Compile (With debug informatio (-g) ) 13 | 14 | g++ -g -c testdll.c -o testdll.o ; 15 | 16 | 17 | 18 | # Link object file with the DLL interface into an executable (testdll.exe) 19 | 20 | gcc -o ./objfre_wxp_x86/i386/testdll.exe testdll.o ./objfre_wxp_x86/i386/vjoyinstall.lib 21 | gcc -o ./objchk_wxp_x86/i386/testdll.exe testdll.o ./objchk_wxp_x86/i386/vjoyinstall.lib 22 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/install.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/GTK/install.ico -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/install.rc: -------------------------------------------------------------------------------- 1 | #include "winuser.h" 2 | 3 | 1 RT_MANIFEST Install.exe.manifest 4 | 2 ICON "./Install.ico" 5 | 6 | 1 VERSIONINFO 7 | FILEVERSION 1,0,0,0 8 | PRODUCTVERSION 1,0,0,0 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904E4" 13 | BEGIN 14 | VALUE "CompanyName", "Shaul Eizikovich" 15 | VALUE "FileDescription", "Installer for vJoy KMDF driver" 16 | VALUE "FileVersion", "1.0" 17 | VALUE "InternalName", "install" 18 | VALUE "LegalCopyright", L"\251 Shaul Eizikovich. All rights reserved." 19 | VALUE "OriginalFilename", "install.exe" 20 | VALUE "ProductName", "vJoy" 21 | VALUE "ProductVersion", "1.0" 22 | END 23 | END 24 | 25 | BLOCK "VarFileInfo" 26 | BEGIN 27 | VALUE "Translation", 0x809, 1252 28 | END 29 | END -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/makefile.inc: -------------------------------------------------------------------------------- 1 | _LNG=$(LANGUAGE) 2 | 3 | # Prepare SVN based header file 4 | MAKE_SVN=SubWCRev.exe . svn_version.h.tmpl svn_version.h 5 | svn_version.h all: 6 | DEL svn_version.h 7 | $(MAKE_SVN) 8 | 9 | # Copy vJoyInstall.lib to sub-directory of LIB folder 10 | $(LIB_DIR)\$(O)\$(TARGETNAME).lib: $(OBJ_PATH)\$O\$(TARGETNAME).lib 11 | if not exist $(LIB_DIR)\$(O) mkdir $(LIB_DIR)\$(O) 12 | copy /y $(OBJ_PATH)\$O\$(TARGETNAME).lib $@ 13 | 14 | # Copy vJoyInstall.dll to sub-directory of LIB folder 15 | $(LIB_DIR)\$(O)\$(TARGETNAME).dll: $(OBJ_PATH)\$O\$(TARGETNAME).dll 16 | if not exist $(LIB_DIR)\$(O) mkdir $(LIB_DIR)\$(O) 17 | copy /y $(OBJ_PATH)\$O\$(TARGETNAME).dll $@ 18 | 19 | # Copy wrapper.h to inc 20 | $(INCLUDES)\wrapper.h: wrapper.h 21 | copy /y wrapper.h $@ 22 | 23 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vJoyInstall 2 | TARGETTYPE=DYNLINK 3 | UMTYPE=console 4 | UMENTRY=DllMain 5 | UMBASE=0x400000 6 | 7 | C_DEFINES=$(C_DEFINES) -DBUILD_ALT_DIR=\"$(BUILD_ALT_DIR)\" -DGTK 8 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 9 | 10 | 11 | TARGETLIBS=\ 12 | $(SDK_LIB_PATH)\advapi32.lib \ 13 | $(SDK_LIB_PATH)\kernel32.lib \ 14 | $(SDK_LIB_PATH)\ntdll.lib \ 15 | $(SDK_LIB_PATH)\ole32.lib \ 16 | $(SDK_LIB_PATH)\setupapi.lib \ 17 | $(SDK_LIB_PATH)\shell32.lib \ 18 | $(SDK_LIB_PATH)\user32.lib \ 19 | 20 | 21 | 22 | SOURCES= \ 23 | ../vJoyInstallLib.cpp \ 24 | vJoyInstall.rc \ 25 | wrapper.cpp \ 26 | 27 | INCLUDES=\ 28 | ..\..\..\inc \ 29 | 30 | LIB_DIR=\ 31 | ..\..\..\lib 32 | 33 | USE_MSVCRT=1 34 | 35 | NTTARGETFILE0= svn_version.h 36 | NTTARGETFILE2= \ 37 | $(LIB_DIR)\$(O)\$(TARGETNAME).dll\ 38 | $(LIB_DIR)\$(O)\$(TARGETNAME).lib\ 39 | $(INCLUDES)\wrapper.h 40 | 41 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/svn_version.h.tmpl: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011, Zach Burlingame 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are met: 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above copyright 9 | // notice, this list of conditions and the following disclaimer in the 10 | // documentation and/or other materials provided with the distribution. 11 | // * Neither the name of zachburlingame.com nor the 12 | // names of its contributors may be used to endorse or promote products 13 | // derived from this software without specific prior written permission. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | // DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY 19 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | #ifndef _SVN_VERSION_H_ 26 | #define _SVN_VERSION_H_ 27 | 28 | #define SVN_LOCAL_MODIFICATIONS $WCMODS?1:0$ 29 | #define SVN_REVISION $WCREV$ 30 | #define SVN_TIME_NOW $WCNOW$ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/vJoyInstall.def: -------------------------------------------------------------------------------- 1 | LIBRARY vJoyInstall 2 | 3 | EXPORTS 4 | 5 | get_inf_file @1 6 | get_dev_hwid @2 7 | Func3 @3 8 | installation @5 9 | repair @6 10 | removal @7 11 | is_ppjoy_installed @8 12 | SetStatusMessageFunc @9 13 | is_vjoy_installed @10 14 | is_vjoy_installed_specific @11 15 | refresh_vjoy @12 16 | refresh_vjoy_specific @13 17 | disable @14 18 | enable @15 19 | 20 | 21 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/vJoyInstall.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include <..\..\..\inc\public.h> 4 | 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Version 9 | // 10 | #define VERSION_BUILD SVN_REVISION 11 | #define FILEDESC_STR1 "Installer DLL for vJoy KMDF driver" 12 | #define SVN_REVISION 777 13 | 14 | #ifdef AMD64 15 | #define BITNESS_STR "X64" 16 | #else 17 | #define BITNESS_STR "X32" 18 | #endif 19 | 20 | #if (DBG==1) 21 | #define CONF_STR "d" 22 | #else 23 | #define CONF_STR "" 24 | #endif 25 | 26 | #define FILEDESC_STR FILEDESC_STR1 " [" BITNESS_STR CONF_STR "]" 27 | 28 | VS_VERSION_INFO VERSIONINFO 29 | FILEVERSION VER_H_, VER_M_, VER_L_, SVN_REVISION 30 | PRODUCTVERSION 6, 3, 9600, 17298 31 | FILEFLAGSMASK 0x3fL 32 | #ifdef _DEBUG 33 | FILEFLAGS 0x9L 34 | #else 35 | FILEFLAGS 0x8L 36 | #endif 37 | FILEOS 0x40004L 38 | FILETYPE 0x1L 39 | FILESUBTYPE 0x0L 40 | BEGIN 41 | BLOCK "StringFileInfo" 42 | BEGIN 43 | BLOCK "040904B0" 44 | BEGIN 45 | VALUE "CompanyName", VENDOR_STR_ID 46 | VALUE "FileDescription", FILEDESC_STR 47 | VALUE "FileVersion", "0.0.0" 48 | VALUE "InternalName", "vJoyInstall.dll" 49 | VALUE "LegalCopyright", "\251 Shaul Eizikovich. All rights reserved" 50 | VALUE "OriginalFilename", "vJoyInstall.dll" 51 | VALUE "ProductName", PRODUCT_STR_ID 52 | VALUE "ProductVersion", SERIALNUMBER_STR 53 | END 54 | END 55 | BLOCK "VarFileInfo" 56 | BEGIN 57 | VALUE "Translation", 0x409, 1200 58 | END 59 | END 60 | ///////////////////////////////////////////////////////////////////////////// 61 | -------------------------------------------------------------------------------- /apps/vJoyInstall/GTK/wrapper.h: -------------------------------------------------------------------------------- 1 | // vJoyInstall wrapper interface functions 2 | 3 | #ifdef __cplusplus 4 | #define EC "C" 5 | #else 6 | #define EC 7 | #endif 8 | 9 | 10 | extern EC int WINAPI Func3(void); 11 | extern EC BOOL WINAPI is_ppjoy_installed(void); 12 | extern EC BOOL WINAPI is_vjoy_installed(void); 13 | extern EC BOOL WINAPI is_vjoy_installed_specific(USHORT Revision); 14 | extern EC BOOL WINAPI enable(USHORT Revision); 15 | extern EC BOOL WINAPI disable(USHORT Revision); 16 | extern EC int WINAPI installation(TCHAR * DeviceHWID, TCHAR * InfFile); 17 | extern EC BOOL WINAPI get_inf_file(TCHAR * InfFile); 18 | extern EC BOOL WINAPI get_dev_hwid(TCHAR * DeviceHWID); 19 | extern EC void WINAPI SetStatusMessageFunc(StatusMessageFunc f); 20 | extern EC BOOL WINAPI repair(TCHAR * DeviceHWID, TCHAR * InfFile); 21 | extern EC int WINAPI removal(TCHAR * DeviceHWID, TCHAR * InfFile, BOOL DelInf); 22 | extern EC void WINAPI refresh_vjoy(void); 23 | extern EC void WINAPI refresh_vjoy_specific(USHORT Revision); 24 | -------------------------------------------------------------------------------- /apps/vJoyInstall/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyInstall/Joystick-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/Joystick-icon.png -------------------------------------------------------------------------------- /apps/vJoyInstall/dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | GTK \ 3 | CmdLine -------------------------------------------------------------------------------- /apps/vJoyInstall/install.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyInstall/install.ico -------------------------------------------------------------------------------- /apps/vJoyInstall/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #ifndef WIN32_LEAN_AND_MEAN 9 | #define WIN32_LEAN_AND_MEAN 10 | #endif 11 | 12 | #include "targetver.h" 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | 27 | // TODO: reference additional headers your program requires here 28 | -------------------------------------------------------------------------------- /apps/vJoyInstall/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 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT _WIN32_WINNT_VISTA // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | #ifndef WINVER 15 | #define WINVER _WIN32_WINNT_VISTA 16 | #endif 17 | 18 | #ifndef NTDDI_VERSION 19 | #define NTDDI_VERSION NTDDI_VISTA 20 | #endif 21 | -------------------------------------------------------------------------------- /apps/vJoyInstall/vJoyInstall.def: -------------------------------------------------------------------------------- 1 | LIBRARY vJoyInstall 2 | 3 | EXPORTS 4 | 5 | get_inf_file @1 6 | get_dev_hwid @2 7 | Func3 @3 8 | installation @5 9 | repair @6 10 | removal @7 11 | is_ppjoy_installed @8 12 | SetStatusMessageFunc @9 13 | is_vjoy_installed @10 14 | is_vjoy_installed_specific @11 15 | refresh_vjoy @12 16 | refresh_vjoy_specific @13 17 | disable @14 18 | enable @15 19 | 20 | 21 | -------------------------------------------------------------------------------- /apps/vJoyInstall/vJoyInstall.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | //#include "..\..\inc\public.h" 4 | #include 5 | 6 | 7 | ///////////////////////////////////////////////////////////////////////////// 8 | // 9 | // Version 10 | // 11 | #define VERSION_BUILD SVN_REVISION 12 | #define FILEDESC_STR1 "Installer DLL for vJoy KMDF driver" 13 | 14 | #ifdef AMD64 15 | #define BITNESS_STR "x64" 16 | #else 17 | #define BITNESS_STR "x86" 18 | #endif 19 | 20 | #ifdef _DEBUG 21 | #define CONF_STR "d" 22 | #else 23 | #define CONF_STR "" 24 | #endif 25 | 26 | #define PRODVER PRODVER_TAG " Commit:" PRODVER_SHA1 " Compile:" BITNESS_STR CONF_STR 27 | #define FILEDESC_STR FILEDESC_STR1 28 | 29 | VS_VERSION_INFO VERSIONINFO 30 | FILEVERSION VER_H_, VER_M_, VER_L_, BUILD 31 | PRODUCTVERSION 6, 3, 9600, 17298 32 | FILEFLAGSMASK 0x3fL 33 | #ifdef _DEBUG 34 | FILEFLAGS 0x9L 35 | #else 36 | FILEFLAGS 0x8L 37 | #endif 38 | FILEOS 0x40004L 39 | FILETYPE 0x1L 40 | FILESUBTYPE 0x0L 41 | BEGIN 42 | BLOCK "StringFileInfo" 43 | BEGIN 44 | BLOCK "040904B0" 45 | BEGIN 46 | VALUE "CompanyName", "Shaul Eizikovich" 47 | VALUE "FileDescription", FILEDESC_STR 48 | VALUE "FileVersion", "0.0.0" 49 | VALUE "InternalName", "vJoyInstall.dll" 50 | VALUE "LegalCopyright", "\251 Shaul Eizikovich. All rights reserved" 51 | VALUE "OriginalFilename", "vJoyInstall.dll" 52 | VALUE "ProductName", "vJoy" 53 | VALUE "ProductVersion", PRODVER 54 | END 55 | END 56 | BLOCK "VarFileInfo" 57 | BEGIN 58 | VALUE "Translation", 0x409, 1200 59 | END 60 | END 61 | ///////////////////////////////////////////////////////////////////////////// 62 | -------------------------------------------------------------------------------- /apps/vJoyInstall/vJoyInstall.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | 26 | 27 | Resource Files 28 | 29 | 30 | Resource Files 31 | 32 | 33 | Resource Files 34 | 35 | 36 | 37 | 38 | Resource Files 39 | 40 | 41 | 42 | 43 | Source Files 44 | 45 | 46 | Source Files 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /apps/vJoyInstall/wrapper.h: -------------------------------------------------------------------------------- 1 | // vJoyInstall wrapper interface functions 2 | 3 | #ifdef __cplusplus 4 | #define EC "C" 5 | #else 6 | #define EC 7 | #endif 8 | 9 | 10 | extern EC int WINAPI Func3(void); 11 | extern EC BOOL WINAPI is_ppjoy_installed(void); 12 | extern EC BOOL WINAPI is_vjoy_installed(void); 13 | extern EC BOOL WINAPI is_vjoy_installed_specific(USHORT Revision); 14 | extern EC BOOL WINAPI enable(USHORT Revision); 15 | extern EC BOOL WINAPI disable(USHORT Revision); 16 | extern EC int WINAPI installation(TCHAR * DeviceHWID, TCHAR * InfFile); 17 | extern EC BOOL WINAPI get_inf_file(TCHAR * InfFile); 18 | extern EC BOOL WINAPI get_dev_hwid(TCHAR * DeviceHWID); 19 | extern EC void WINAPI SetStatusMessageFunc(StatusMessageFunc f); 20 | extern EC BOOL WINAPI repair(TCHAR * DeviceHWID, TCHAR * InfFile); 21 | extern EC int WINAPI removal(TCHAR * DeviceHWID, TCHAR * InfFile, BOOL DelInf); 22 | extern EC void WINAPI refresh_vjoy(void); 23 | extern EC void WINAPI refresh_vjoy_specific(USHORT Revision); 24 | -------------------------------------------------------------------------------- /apps/vJoyList/MyMFCListCtrl.cpp: -------------------------------------------------------------------------------- 1 | // MyMFCListCtrl.cpp : implementation file 2 | // 3 | 4 | #include "stdafx.h" 5 | #include "vJoyList.h" 6 | #include "MyMFCListCtrl.h" 7 | 8 | 9 | // CMyMFCListCtrl 10 | 11 | IMPLEMENT_DYNAMIC(CMyMFCListCtrl, CMFCListCtrl) 12 | 13 | COLORREF CMyMFCListCtrl::OnGetCellTextColor(int nRow, int nColum) 14 | { 15 | if (!Exist[nRow]) 16 | return RGB(200, 200, 200); 17 | else 18 | { 19 | if (!Owned[nRow]) 20 | return RGB(0, 0, 0); 21 | else 22 | return RGB(250, 50, 0); 23 | } 24 | } 25 | 26 | CMyMFCListCtrl::CMyMFCListCtrl() 27 | { 28 | 29 | } 30 | 31 | CMyMFCListCtrl::~CMyMFCListCtrl() 32 | { 33 | } 34 | 35 | void CMyMFCListCtrl::SetExist(int id, bool exist) 36 | { 37 | if (id < 1 || id>16) 38 | return; 39 | 40 | Exist[id - 1] = exist; 41 | } 42 | 43 | void CMyMFCListCtrl::SetOwned(int id, bool exist) 44 | { 45 | if (id < 1 || id>16) 46 | return; 47 | 48 | Owned[id - 1] = exist; 49 | } 50 | 51 | 52 | BEGIN_MESSAGE_MAP(CMyMFCListCtrl, CMFCListCtrl) 53 | END_MESSAGE_MAP() 54 | 55 | 56 | 57 | // CMyMFCListCtrl message handlers 58 | 59 | 60 | -------------------------------------------------------------------------------- /apps/vJoyList/MyMFCListCtrl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | // CMyMFCListCtrl 5 | 6 | class CMyMFCListCtrl : public CMFCListCtrl 7 | { 8 | DECLARE_DYNAMIC(CMyMFCListCtrl) 9 | virtual COLORREF OnGetCellTextColor(int nRow, int nColum); 10 | //virtual COLORREF OnGetCellBkColor(int nRow, int nColum); 11 | 12 | public: 13 | CMyMFCListCtrl(); 14 | virtual ~CMyMFCListCtrl(); 15 | void SetExist(int id, bool exist=true); 16 | void SetOwned(int id, bool exist=true); 17 | 18 | protected: 19 | bool Exist[16]; 20 | bool Owned[16]; 21 | 22 | DECLARE_MESSAGE_MAP() 23 | }; 24 | 25 | 26 | -------------------------------------------------------------------------------- /apps/vJoyList/res/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/res/Joystick-icon.ico -------------------------------------------------------------------------------- /apps/vJoyList/res/vJoyList.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/res/vJoyList.ico -------------------------------------------------------------------------------- /apps/vJoyList/res/vJoyList.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/res/vJoyList.rc2 -------------------------------------------------------------------------------- /apps/vJoyList/res/version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/res/version.rc -------------------------------------------------------------------------------- /apps/vJoyList/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/resource.h -------------------------------------------------------------------------------- /apps/vJoyList/stdafx.cpp: -------------------------------------------------------------------------------- 1 | 2 | // stdafx.cpp : source file that includes just the standard includes 3 | // vJoyList.pch will be the pre-compiled header 4 | // stdafx.obj will contain the pre-compiled type information 5 | 6 | #include "stdafx.h" 7 | 8 | 9 | -------------------------------------------------------------------------------- /apps/vJoyList/stdafx.h: -------------------------------------------------------------------------------- 1 | 2 | // stdafx.h : include file for standard system include files, 3 | // or project specific include files that are used frequently, 4 | // but are changed infrequently 5 | 6 | #pragma once 7 | 8 | #ifndef VC_EXTRALEAN 9 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 10 | #endif 11 | 12 | #include "targetver.h" 13 | 14 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 15 | #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS // remove support for MFC controls in dialogs 16 | 17 | // turns off MFC's hiding of some common and often safely ignored warning messages 18 | #define _AFX_ALL_WARNINGS 19 | 20 | #include // MFC core and standard components 21 | #include // MFC extensions 22 | 23 | 24 | #include // MFC Automation classes 25 | 26 | 27 | 28 | #ifndef _AFX_NO_OLE_SUPPORT 29 | #include // MFC support for Internet Explorer 4 Common Controls 30 | #endif 31 | #ifndef _AFX_NO_AFXCMN_SUPPORT 32 | #include // MFC support for Windows Common Controls 33 | #endif // _AFX_NO_AFXCMN_SUPPORT 34 | 35 | #include // MFC support for ribbons and control bars 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | #ifdef _UNICODE 46 | #if defined _M_IX86 47 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 48 | #elif defined _M_X64 49 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 50 | #else 51 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 52 | #endif 53 | #endif 54 | 55 | 56 | -------------------------------------------------------------------------------- /apps/vJoyList/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /apps/vJoyList/vJoyList.h: -------------------------------------------------------------------------------- 1 | 2 | // vJoyList.h : main header file for the PROJECT_NAME application 3 | // 4 | 5 | #pragma once 6 | 7 | #ifndef __AFXWIN_H__ 8 | #error "include 'stdafx.h' before including this file for PCH" 9 | #endif 10 | 11 | #include "resource.h" // main symbols 12 | 13 | 14 | // CvJoyListApp: 15 | // See vJoyList.cpp for the implementation of this class 16 | // 17 | 18 | class CvJoyListApp : public CWinApp 19 | { 20 | public: 21 | CvJoyListApp(); 22 | 23 | // Overrides 24 | public: 25 | virtual BOOL InitInstance(); 26 | 27 | // Implementation 28 | 29 | DECLARE_MESSAGE_MAP() 30 | // Add/modify a device to the list 31 | // BOOL Dev2List(int id); 32 | }; 33 | 34 | extern CvJoyListApp theApp; -------------------------------------------------------------------------------- /apps/vJoyList/vJoyList.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/apps/vJoyList/vJoyList.rc -------------------------------------------------------------------------------- /apps/vJoyList/vJoyListDlg.h: -------------------------------------------------------------------------------- 1 | 2 | // vJoyListDlg.h : header file 3 | // 4 | 5 | #pragma once 6 | #include "afxcmn.h" 7 | 8 | 9 | // CvJoyListDlg dialog 10 | class CvJoyListDlg : public CDialog 11 | { 12 | // Construction 13 | public: 14 | CvJoyListDlg(CWnd* pParent = NULL); // standard constructor 15 | 16 | // Dialog Data 17 | #ifdef AFX_DESIGN_TIME 18 | enum { IDD = IDD_VJOYLIST_DIALOG }; 19 | #endif 20 | 21 | protected: 22 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 23 | 24 | 25 | // Implementation 26 | protected: 27 | HICON m_hIcon; 28 | 29 | // Generated message map functions 30 | virtual BOOL OnInitDialog(); 31 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 32 | afx_msg void OnPaint(); 33 | afx_msg HCURSOR OnQueryDragIcon(); 34 | DECLARE_MESSAGE_MAP() 35 | public: 36 | afx_msg void OnTimer(UINT_PTR nIDEvent); 37 | // List of vJoy devices 38 | CMyMFCListCtrl m_DevList; 39 | protected: 40 | bool Dev2List(int id); 41 | public: 42 | }; 43 | -------------------------------------------------------------------------------- /dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | driver \ 3 | apps -------------------------------------------------------------------------------- /docs/Flexible vJoy descriptor.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/Flexible vJoy descriptor.odt -------------------------------------------------------------------------------- /docs/How to prevent more than one vJoy device.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/How to prevent more than one vJoy device.odt -------------------------------------------------------------------------------- /docs/Inno_Setup_Installer.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/Inno_Setup_Installer.odt -------------------------------------------------------------------------------- /docs/OverView.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/OverView.odt -------------------------------------------------------------------------------- /docs/Position Datapath.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/Position Datapath.odt -------------------------------------------------------------------------------- /docs/ReadMe.md: -------------------------------------------------------------------------------- 1 | ## vJoy installation## 2 | Please READ instructions in [vJoy site](http://vjoystick.sourceforge.net/site/index.php) 3 | 4 | [Do not hesitate to contact me](mailto://shaul_ei@users.sourceforge.net) 5 | 6 | --------------------------------------------------------- 7 | # Release notes for 10-Jan-2015 # 8 | 9 | New Revision - 2.1.5 - Merge of 2.1.4 and 2.0.5 10 | 11 | vJoy with support for Force Feedback (FFB) 12 | [Full description and instructions for the developer](http://sourceforge.net/projects/vjoystick/files/Alpha/2.1.5-100115/vJoy215RN.pdf/download) 13 | 14 | --------------------------------------------------------- 15 | -------------------------------------------------------------------------------- /docs/vGenInterface.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/vGenInterface.odt -------------------------------------------------------------------------------- /docs/vJoy 1.0.3 - configurable driver.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/vJoy 1.0.3 - configurable driver.odt -------------------------------------------------------------------------------- /docs/vJoy215RN01.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/vJoy215RN01.odt -------------------------------------------------------------------------------- /docs/vJoyInterface.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/docs/vJoyInterface.odt -------------------------------------------------------------------------------- /driver/Package/Package.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /driver/dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | hidmapper \ 3 | sys -------------------------------------------------------------------------------- /driver/hidmapper/hidkmdf.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #undef VER_PRODUCTVERSION_STR 5 | 6 | #define VER_FILETYPE VFT_DRV 7 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 8 | #define VER_FILEDESCRIPTION_STR "Filter Driver for HID-KMDF Interface" 9 | #define VER_INTERNALNAME_STR "HIDKMDF.SYS" 10 | #define VER_ORIGINALFILENAME_STR "HIDKMDF.SYS" 11 | #define VER_PRODUCTVERSION_STR LVER_PRODUCTVERSION_STR " (" BUILD_ALT_DIR ")" 12 | 13 | #include "common.ver" 14 | 15 | 16 | -------------------------------------------------------------------------------- /driver/hidmapper/hidkmdf32.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/hidmapper/hidkmdf32.sys -------------------------------------------------------------------------------- /driver/hidmapper/hidkmdf64.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/hidmapper/hidkmdf64.sys -------------------------------------------------------------------------------- /driver/hidmapper/sources.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | hidkmdf 5 | DRIVER 6 | 1 7 | 1 8 | $(DDK_LIB_PATH)\hidclass.lib 9 | $(C_DEFINES) -DBUILD_ALT_DIR=\"$(BUILD_ALT_DIR)\" 10 | hidkmdf.c hidkmdf.rc 11 | wdf 12 | ..\..\install 13 | $(INSTALL_DIR)\$(O)\$(TARGETNAME).sys 14 | 15 | 16 | 17 | 2 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /driver/sys/Debug/vJoy.tlog/stampinf.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/sys/Debug/vJoy.tlog/stampinf.command.1.tlog -------------------------------------------------------------------------------- /driver/sys/Debug/vJoy.tlog/stampinf.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/sys/Debug/vJoy.tlog/stampinf.read.1.tlog -------------------------------------------------------------------------------- /driver/sys/Debug/vJoy.tlog/stampinf.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/sys/Debug/vJoy.tlog/stampinf.write.1.tlog -------------------------------------------------------------------------------- /driver/sys/hidReportDesc.h: -------------------------------------------------------------------------------- 1 | /* 2 | Based on: 3 | http://www.microchip.com/forums/tm.aspx?m=320225&mpage=2 4 | Post number 35 5 | */ 6 | 7 | #define DEV 1 8 | #define DEV_GEN 1 // The non-FFB Joystick part 9 | #define DEV_FFB 1 // The FFB Joystick part 10 | #define DEV_ADDITIONAL 0 // The additional part inside the non-FFB part 11 | 12 | /* 13 | Input 14 | Collection Application: 15 | Joystick 16 | ID: 1 17 | X: 10bit 18 | Padding: 6bit 19 | Y: 6bit 20 | Padding: 2bit 21 | Rz: 6bit 22 | Padding: 2bit 23 | Buttons: 8X1bit 24 | ------------------------- 25 | Usage Undefined: 1bit 26 | Padding: 7bit 27 | 28 | 29 | */ 30 | #define N_COLLECTIONS 1 31 | 32 | char G_DefaultReportDescriptor[] = { 33 | #define TLID 0x1 // Top Level ID 34 | #include "hidReportDescSingle.h" 35 | #if 0 36 | #undef TLID 37 | #define TLID 0x2 // Top Level ID 38 | #include "hidReportDescSingle.h" 39 | #undef TLID 40 | #define TLID 0x3 // Top Level ID 41 | #include "hidReportDescSingle.h" 42 | #undef TLID 43 | #define TLID 0x4 // Top Level ID 44 | #include "hidReportDescSingle.h" 45 | #undef TLID 46 | #define TLID 0x5 // Top Level ID 47 | #include "hidReportDescSingle.h" 48 | #undef TLID 49 | #define TLID 0x6 // Top Level ID 50 | #include "hidReportDescSingle.h" 51 | #undef TLID 52 | #define TLID 0x7 // Top Level ID 53 | #include "hidReportDescSingle.h" 54 | #undef TLID 55 | #define TLID 0x8 // Top Level ID 56 | #include "hidReportDescSingle.h" 57 | #undef TLID 58 | #define TLID 0x9 // Top Level ID 59 | #include "hidReportDescSingle.h" 60 | #undef TLID 61 | #define TLID 0xA // Top Level ID 62 | #include "hidReportDescSingle.h" 63 | #undef TLID 64 | #define TLID 0xB // Top Level ID 65 | #include "hidReportDescSingle.h" 66 | #undef TLID 67 | #define TLID 0xC // Top Level ID 68 | #include "hidReportDescSingle.h" 69 | #undef TLID 70 | #define TLID 0xD // Top Level ID 71 | #include "hidReportDescSingle.h" 72 | #undef TLID 73 | #define TLID 0xE // Top Level ID 74 | #include "hidReportDescSingle.h" 75 | #undef DEV_FFB 76 | #define DEV_FFB 0 77 | #undef TLID 78 | #define TLID 0xF // Top Level ID 79 | #include "hidReportDescSingle.h" 80 | #endif // 0 81 | 82 | }; -------------------------------------------------------------------------------- /driver/sys/rawpdo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/driver/sys/rawpdo.h -------------------------------------------------------------------------------- /driver/sys/vjoy.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "..\..\inc\public.h" 4 | #include 5 | 6 | #undef VER_PRODUCTNAME_STR 7 | #undef VER_COMPANYNAME_STR 8 | #undef VER_FILEVERSION_STR 9 | #undef VER_PRODUCTVERSION_STR 10 | 11 | #define VER_FILETYPE VFT_DRV 12 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 13 | #define VER_FILEDESCRIPTION_STR "KMDF Virtual Joystick Driver" 14 | #define VER_INTERNALNAME_STR "vJoy.sys" 15 | #define VER_ORIGINALFILENAME_STR "vJoy.sys" 16 | #define VER_PRODUCTNAME_STR "vJoy" 17 | #define VER_COMPANYNAME_STR "Shaul Eizikovich" 18 | #define VER_FILEVERSION VER_H_,VER_M_,VER_L_ ,BUILD 19 | #define PRODVER PRODVER_TAG " Commit:" PRODVER_SHA1 20 | 21 | #if defined(AMD64) 22 | #define VER_PRODUCTVERSION_STRX PRODVER " (x64" 23 | #else 24 | #define VER_PRODUCTVERSION_STRX PRODVER " (x86" 25 | #endif 26 | 27 | #if (DBG==1) 28 | #define VER_PRODUCTVERSION_STR VER_PRODUCTVERSION_STRX " Debug)" 29 | #else 30 | #define VER_PRODUCTVERSION_STR VER_PRODUCTVERSION_STRX ")" 31 | #endif 32 | 33 | #if defined(RC_INVOKED) && !defined(WIN16) 34 | #define VER_LEGALCOPYRIGHT_STR L"\251 Shaul Eizikovich. All rights reserved." 35 | #else 36 | #define VER_LEGALCOPYRIGHT_STR "Copyright (c) Shaul Eizikovich. All rights reserved." 37 | #endif 38 | 39 | #define VER_FILEVERSION_STR SERIALNUMBER_STR 40 | #include "common.ver" 41 | #include "errcodes.rc" 42 | 43 | 44 | -------------------------------------------------------------------------------- /inc/PPJIoctl.h: -------------------------------------------------------------------------------- 1 | #ifndef __PPJIOCTL_H__ 2 | #define __PPJIOCTL_H__ 3 | 4 | /* Define to use byte-size values for joystick axes, else dword size */ 5 | #undef UCHAR_AXES 6 | 7 | #define PPJOY_AXIS_MIN 1 8 | #ifdef UCHAR_AXES 9 | #define PPJOY_AXIS_MAX 127 10 | #else 11 | #define PPJOY_AXIS_MAX 32767 12 | #endif 13 | 14 | #define FILE_DEVICE_PPORTJOY FILE_DEVICE_UNKNOWN 15 | 16 | #define PPORTJOY_IOCTL(_index_) \ 17 | CTL_CODE (FILE_DEVICE_PPORTJOY, _index_, METHOD_BUFFERED, FILE_ANY_ACCESS) 18 | 19 | #define IOCTL_PPORTJOY_SET_STATE PPORTJOY_IOCTL (0x0) 20 | 21 | #define JOYSTICK_STATE_V1 0x53544143 22 | 23 | typedef struct 24 | { 25 | ULONG Version; 26 | UCHAR Data[1]; 27 | } JOYSTICK_SET_STATE, *PJOYSTICK_SET_STATE; 28 | 29 | #define NUM_ANALOG 8 /* Number of analog values which we will provide */ 30 | #define NUM_DIGITAL 8 /* Number of digital values which we will provide */ 31 | 32 | 33 | #pragma pack(push,1) /* All fields in structure must be byte aligned. */ 34 | typedef struct 35 | { 36 | unsigned long Signature; /* Signature to identify packet to PPJoy IOCTL */ 37 | char NumAnalog; /* Num of analog values we pass */ 38 | long Analog[NUM_ANALOG]; /* Analog values */ 39 | char NumDigital; /* Num of digital values we pass */ 40 | char Digital[NUM_DIGITAL]; /* Digital values */ 41 | } JOYSTICK_STATE, *PJOYSTICK_STATE; 42 | #pragma pack(pop) 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /inc/XOutput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/inc/XOutput.h -------------------------------------------------------------------------------- /inc/vjoyinterface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/inc/vjoyinterface.h -------------------------------------------------------------------------------- /inc/wrapper.h: -------------------------------------------------------------------------------- 1 | // vJoyInstall wrapper interface functions 2 | 3 | #ifdef __cplusplus 4 | #define EC "C" 5 | #else 6 | #define EC 7 | #endif 8 | 9 | 10 | extern EC int WINAPI Func3(void); 11 | extern EC BOOL WINAPI is_ppjoy_installed(void); 12 | extern EC BOOL WINAPI is_vjoy_installed(void); 13 | extern EC BOOL WINAPI is_vjoy_installed_specific(USHORT Revision); 14 | extern EC BOOL WINAPI enable(USHORT Revision); 15 | extern EC BOOL WINAPI disable(USHORT Revision); 16 | extern EC int WINAPI installation(TCHAR * DeviceHWID, TCHAR * InfFile); 17 | extern EC BOOL WINAPI get_inf_file(TCHAR * InfFile); 18 | extern EC BOOL WINAPI get_dev_hwid(TCHAR * DeviceHWID); 19 | extern EC void WINAPI SetStatusMessageFunc(StatusMessageFunc f); 20 | extern EC BOOL WINAPI repair(TCHAR * DeviceHWID, TCHAR * InfFile); 21 | extern EC int WINAPI removal(TCHAR * DeviceHWID, TCHAR * InfFile, BOOL DelInf); 22 | extern EC void WINAPI refresh_vjoy(void); 23 | extern EC void WINAPI refresh_vjoy_specific(USHORT Revision); 24 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 |

Hello!!!

2 | -------------------------------------------------------------------------------- /install/Joystick-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/install/Joystick-icon.ico -------------------------------------------------------------------------------- /install/Release/x86/hidkmdf.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/install/Release/x86/hidkmdf.sys -------------------------------------------------------------------------------- /install/SeTestCert.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/install/SeTestCert.cer -------------------------------------------------------------------------------- /install/SignDriver.bat: -------------------------------------------------------------------------------- 1 | REM Sign applications if certification utility exists 2 | IF NOT EXIST %USERPROFILE%\DESKTOP\DigiCertUtil.exe GOTO NOUTIL 3 | %USERPROFILE%\DESKTOP\DigiCertUtil.exe sign /kernelDriverSigning ^ 4 | .\objfre_wxp_x86\i386\vjoy.cat*^ 5 | .\objfre_wxp_x86\i386\vJoy.sys*^ 6 | .\objfre_wxp_x86\i386\hidkmdf.sys*^ 7 | .\objfre_wxp_x86\i386\vJoyInstall.exe*^ 8 | .\objfre_wlh_amd64\amd64\vjoy.cat*^ 9 | .\objfre_wlh_amd64\amd64\vJoy.sys*^ 10 | .\objfre_wlh_amd64\amd64\hidkmdf.sys*^ 11 | .\objfre_wlh_amd64\amd64\vJoyInstall.exe 12 | EXIT 13 | :NOUTIL -------------------------------------------------------------------------------- /install/TraceView.ini: -------------------------------------------------------------------------------- 1 | [TRACEVIEW$DEFAULT] 2 | DefaultDirectory=A:\WinDDK\7600.16385.1\src\Dev\hidusbfx2\sys\objchk_win7_x86\i386\ 3 | -------------------------------------------------------------------------------- /install/devcon.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/install/devcon.exe -------------------------------------------------------------------------------- /install/install.bat: -------------------------------------------------------------------------------- 1 | REM devcon install vjoy.inf "ROOT\VID_1234&PID_BEAD&REV_0002" 2 | 3 | REM (Not on W7) .\vcredist_x86.exe /q 4 | ..\apps\vJoyInstall\objchk_win7_x86\i386\vJoyInstall.exe 5 | REM (Not on W7) .\vcredist_x86.exe /qu 6 | 7 | -------------------------------------------------------------------------------- /install/install.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/install/install.ico -------------------------------------------------------------------------------- /install/reinstall.bat: -------------------------------------------------------------------------------- 1 | REM Uninstall then install driver hidusbfx2 2 | devcon -f dp_delete oem18.inf 3 | devcon remove "root\VID_0547&PID_1002" 4 | copy /y C:\WinDDK\7600.16385.1\src\Dev\hidusbfx2\sys\objchk_win7_x86\i386\hidusbfx2.sys . 5 | pause 6 | devcon install hidusbfx2.inf "root\VID_0547&PID_1002" 7 | 8 | -------------------------------------------------------------------------------- /install/remove.bat: -------------------------------------------------------------------------------- 1 | devcon remove vjoy.inf "ROOT\VID_1234&PID_BEAD&REV_0002" 2 | devcon dp_enum 3 | @ECHO ------------------------------- 4 | @ECHO Type devcon dp_delete oem*.inf 5 | @ECHO ------------------------------- 6 | 7 | -------------------------------------------------------------------------------- /lib/objfre_wlh_amd64/amd64/vJoyInstall.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wlh_amd64/amd64/vJoyInstall.dll -------------------------------------------------------------------------------- /lib/objfre_wlh_amd64/amd64/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wlh_amd64/amd64/vJoyInterface.dll -------------------------------------------------------------------------------- /lib/objfre_wlh_amd64/amd64/vJoyInterface.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wlh_amd64/amd64/vJoyInterface.lib -------------------------------------------------------------------------------- /lib/objfre_wxp_x86/i386/vJoyInstall.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wxp_x86/i386/vJoyInstall.dll -------------------------------------------------------------------------------- /lib/objfre_wxp_x86/i386/vJoyInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wxp_x86/i386/vJoyInterface.dll -------------------------------------------------------------------------------- /lib/objfre_wxp_x86/i386/vJoyInterface.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauleiz/vJoy/8111294ef89b25d35fa2617a62ce96d23275ab16/lib/objfre_wxp_x86/i386/vJoyInterface.lib --------------------------------------------------------------------------------