Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - animehacker

Pages: [1]
Hi there Covarr, thanks for the good reply.

I tried using the Steam Big Picture mode setup and it was able to detect the controller and setup the keys fine. Unfortunately Final Fantasy 7 was only able to detect some of the key presses like arrow keys but none of the normal buttons with my PSX dual shock controller. I'm sure it works for some people.

I think my script might still be useful for some people as at the moment it's the only free solution I have found that works for me. Hopefully there might still be some people out there that find it useful :)

Great forum by the way! I really appreciate that you haven't covered it in advertising banners.

This is a script I wrote that will allow any USB gamepad such as a Playstation controller to work with any PC game regardless of driver support in the game.

I just bought FF7 again (Steam version) since I hadn't played it for years. I noticed that my x360 Controller Emulator software wouldn't work with it.

After some searching online I noticed there's other people who had the same problem. I'm not sure if a similar script/tool has been posted here but here is my solution.

1) Install AutoHotKey

2) Run my AHK script which should map your controller controls to the correct keyboard controls. I'm using a PS2 controller and it worked for me. You may need to replace '2Joy' with 'Joy' or '3Joy' in the script depending what your controller number is. If the script is working you can optionally compile it and run it as an executable if you don't want to keep AutoHotKey installed and it should still work fine.

3) (optional) To help you find your controller number or make other changes to my script you can debug using this great tool which runs as an AHK script.

Here is the script. Just copy paste into notepad and save it with the ahk extension e.g. 'FF7joy2key.ahk'. The key mappings are currently set to work with FF7 but can be modified for any game. This also allows you to move using the analogue stick on a dual shock controller.
Code: [Select]
#Persistent  ; Keep this script running until the user explicitly exits it.
SetTimer, WatchAxis, 5

GetKeyState, 2JoyX, 2JoyX  ; Get position of X axis.
GetKeyState, 2JoyY, 2JoyY  ; Get position of Y axis.
KeyToHoldDownPrev = %KeyToHoldDown%  ; Prev now holds the key that was down before (if any).

if 2JoyX > 70
    KeyToHoldDown = Right
else if 2JoyX < 30
    KeyToHoldDown = Left
else if 2JoyY > 70
    KeyToHoldDown = Down
else if 2JoyY < 30
    KeyToHoldDown = Up
    KeyToHoldDown =

if KeyToHoldDown = %KeyToHoldDownPrev%  ; The correct key is already down (or no key is needed).
    return  ; Do nothing.

; Otherwise, release the previous key and press down the new key:
SetKeyDelay -1  ; Avoid delays between keystrokes.
if KeyToHoldDownPrev   ; There is a previous key to release.
    Send, {%KeyToHoldDownPrev% up}  ; Release it.
if KeyToHoldDown   ; There is a key to press down.
    Send, {%KeyToHoldDown% down}  ; Press it down.
KeyWait 2Joy3
Send {NUMPADINS down}
KeyWait 2Joy2 
Send {NUMPADINS up} 
Send {NUMPADADD down}
KeyWait 2Joy1 
Send {NUMPADADD up} 
Send {NUMPADDEL down}
KeyWait 2Joy1 
Send {NUMPADDEL up} 
Send {NUMPADSUB down}
KeyWait 2Joy9
Send {NUMPADSUB up} 
Send {NUMPAD5 down}
KeyWait 2Joy10 
Send {NUMPAD5 up} 
Send {NUMPAD1 down}
KeyWait 2Joy6 
Send {NUMPAD1 up} 
Send {NUMPAD7 down}
KeyWait 2Joy5
Send {NUMPAD7 up} 
Send {NUMPAD9 down}
KeyWait 2Joy7
Send {NUMPAD9 up} 
Send {NUMPAD3 down}
KeyWait 2Joy8
Send {NUMPAD3 up} 

Pages: [1]