I want to share an open source tool with you that makes DS controller, especially DS3, work with Final Fantasy VII (Steam version).
You may have heard of tools such as
# MotioninJoy: malware
# Better DS3: has better interface, but still relies on malware MotioninJoy driver
# DS4windows.com: supports only DS4. emulates a xbox 360 controller (that is, Xinput games only) or keyboard.
# other Keyboard-to-DS tool:
# InputMapper: free and ad-supported. supports only DS4. emulates a xbox 360 controller (that is, Xinput games only) or keyboard.
# JoyToKey:commercial and proprietary
# Xpadder: commercial and proprietary (though, seems to be free on the sourceforge page)
# Pinnaclegameprofiler.com: commercial and proprietary
# "SCP Driver": an open source driver for DualShock 2/3/4 on Windows. emulates a xbox 360 controller (that is, Xinput games only).
Among these, the best is either SCP Driver or DS4windows; however, while the SCP Driver worked fine, the FFVII game seems to only respond to the left analog stick and not the D-PAD (for me at least), which feels awkward.
The tool I'm introducing here is called "Dinput Wrapper for SCP Driver", and with the latest updates that I've worked with the author to patch, you now have an open source tool that makes DualShock 3 or 4 work on FF VII.
"Dinput Wrapper for SCP Driver" works along with "SCP Driver" and "vJoy".
Together, "Dinput Wrapper for SCP Driver" features the following:
# open source
# works with DualShock 2, 3, or 4
# not by keyboard emulation
# works directly with DirectInput games
Steps for installing ScpToolkit and "Dinput Wrapper for SCP Driver":
1. Download and install ScpToolkit (aka ScpServer Reloaded). Read & Follow the installation instructions. http://forums.pcsx2.net/Thread-ScpToolkit-XInput-Wrapper-aka-ScpServer-Reloaded https://github.com/nefarius/ScpServer
2. Test the controller work with ScpToolkit
i) start ScpToolkit Monitor (Windows Start Menu -> ScpToolkit -> ScpToolkit Monitor)
ii) once started, there shall be a SCP Monitor icon appear in the Notification area of Windows Taskbar
iii) right click on the SCP Monitor icon and click "Input Tester"
iv) test all buttons, D-Pad, and analog sticks
v) once done, right click on the SCP Monitor icon and click "exit"
vi) also, if you go to the "Devices and Printers" screen within Control Panel on Windows, you DS controller should be installed as a "Xbox 360 Controller for Windows".
3. Download and install "Dinput Wrapper for SCP Driver" http://forums.pcsx2.net/Thread-Dinput-Wrapper-for-SCP-Driver https://github.com/TheLastRar/SCP2vJoy
4. Download and install vJoy http://vjoystick.sourceforge.net/site/index.php/download-a-install
5. Configure "Dinput Wrapper for SCP Driver"
i) I assume you want FFVII configuration work by default whenever you start "ScpPad2vJoy.exe"
ii) go to the directory for ScpToolkit ( typically C:\Program Files\Nefarius Software Solutions\ScpToolkit ) and create a file called "Default_vjConfig.txt"
iii) In your "Default_vjConfig.txt", use the following code
# The four AX_ and AY_ parameters are the key mappings here that makes this solution work. Initially, when only SCP Driver is installed, the game only responds to the left analog stick of DS 3 for directional control. The issue remains when the "Dinput Wrapper for SCP Driver" and vJoy device is used. Since the game only responds to axis values, the four AX_ and AY_ parameters is a workaround solution that converts the D-PAD physical buttons to axis values to make it work.
6. Start "Dinput Wrapper for SCP Driver"
7. Test the controller work with vJoy
i) run Start -> Programs -> vJoy -> Monitor vJoy
ii) test the buttons and D-PAD:
# When you press a regular button, the button colors should switch to red.
# When you press the D-PAD buttons, the axis bars should go either up or down
8. Run FFVII
i) map the buttons in game: Settings -> Joystick
Map the button function names according to the PS1 buttons. This also tests if the game captures your buttons.
you may want to use the following table: https://web.archive.org/web/20150820154346/http://www.cavesofnarshe.com/ff7/buttons.php
ii) start the game and test play