It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
This game unfortunately doesn't support gamepads natively. Since I'm probably not the only one who preferred controllers, especially for a challenging platformer like this, I thought I would post the autohotkey script I made to map my controller.

The controller I used is a Logitech that is extremely similar to an XBox controller. This maps A to Jump (space on the keyboard), X to switch characters (d), and the bumpers to rotate the world left and right (a and s), and Start to enter. I didn't map anything to the escape key, but I probably should have. This script uses the d-pad (POV) for movement. The game doesn't use diagonals so I mapped them to their left or right component.

The keys I put in here might not match the ones on your controller exactly. There is a script you can get on the autohotkey website that will tell you what numbers each button on your gamepad corresponds to. The website also has tutorials for installing the program and running scripts. I am not an autohotkey pro and this might have some n00b errors. It is supplied with no warranty whatsoever. Instead of attaching my script, I'll just post it here:

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

#Persistent ; Keep this script running until the user explicitly exits it.
SetTimer, WatchPOV, 5

; Jump
Joy1::
Send {Space down}
KeyWait Joy1
Send {Space up}

; Switch
Joy3::
Send {d down}
KeyWait Joy3
Send {d up}

; Rotate left and right
Joy5::
Send {a down}
KeyWait Joy5
Send {a up}

Joy6::
Send {s down}
KeyWait Joy6
Send {s up}

; Enter
Joy8::
Send {Enter down}
KeyWait Joy8
Send {Enter up}

return


WatchPOV:
POV := GetKeyState("JoyPOV") ; Get position of the POV control.
KeyToHoldDownPrev := KeyToHoldDown ; Prev now holds the key that was down before (if any).

; Some joysticks might have a smooth/continous POV rather than one in fixed increments.
; To support them all, use a range:
if (POV < 0) ; No angle to report
KeyToHoldDown := ""
else if (POV > 31500) ; 315 to 360 degrees: Forward
KeyToHoldDown := "Up"
else if POV between 0 and 4499 ; 0 to 45 degrees: Forward
KeyToHoldDown := "Up"
else if POV between 4500 and 13500 ; 45 to 135 degrees: Right
KeyToHoldDown := "Right"
else if POV between 13501 and 22499 ; 135 to 225 degrees: Down
KeyToHoldDown := "Down"
else ; 225 to 315 degrees: Left
KeyToHoldDown := "Left"

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.
return