Xbox controller support via Xpadder

After a week of play, my usual mouse-induced wrist/hand pains are an issue. I have an Xbox controller for PC on hand (as a Skyrim player who migrated from Xbox to PC) and wondered if I could implement it for Eyewire to reduce hand strain. Initial finding: Yes, this is doable.


Where controller support is not built by developers into a game, a software tool is required to tell the game which controller actions will match the usual keystrokes. Various programs are available ranging from free-ish to relatively expensive. After a survey, I settled on Xpadder as the best choice for ease of use/friendly GUI and moderate cost. Downside: No trial period, $9.99 USD required up front (Paypal accepted). Upside: It’s popular for a reason: it’s a quality product that works well.

Attached is the map I have worked out. EDIT: A followup reply has the config file.

Note a few actions have more than one controller button that will work for them. This allows easier button combinations for some things, and to some extent also lets you switch up your hand motions, if controller use starts causing its own hand strain.

The 2D plane scrolling and the cursor precision are less fluid than using an actual mouse, and so working a cube will be slower (especially at first). But the wrist-savings, especially for the rotation/orientation motions, are worth it for me!

About controllers: If you have a wireless Xbox controller from your Xbox system, the PC will need to have a wireless receiver for it (sold separately by MS, of course). Alternatively, you can use a (cheaper) wired controller that plugs into a USB port. Response between controller and your PC may be better with the wired type. MS would rather sell you a wireless, but generic wired versions are readily available (Gamestop has them for example). You may need a separate driver-type software, downloadable from MS, to help your PC “see” a generic as an Xbox controller. Once the PC recognizes the controller properly, Xpadder will have no problem seeing the controller itself.

-LD
1 Like

Here is a picture version of the doc content.

1 Like

Dude, this is awesome!  We’re going to write this up on the blog.

1 Like

Hey, this is awesome. If I could make one suggestion I would make it so you can rotate the orientation of the slices with the D-pad

1 Like

So, the config is a simple text file, after all. I have attached it here, renamed as .txt (that also allows for easy inspection!). To use the file with Xpadder, download it to the same folder as your Xpadder.exe, and then rename from .txt to .xpadderprofile


Danny, it’s v1 and I’ll see what I can do for v2: Gamepad or not, is there a simpler keyboard-click method for toggling 2D orientation change, rather than the alt/click/drag thing (which I don’t really like anyway)?

…Blog-worthy? Wow! :slight_smile:

Eyewire-controllerv1.txt (1.29 KB)
1 Like

Another bit of info: The mouse and keyboard are still fully active while you’re using Xpadder. So you can still type in the chat as usual. Also for tiny little bits where it’s hard to focus the joystick in order to paint, you can still just grab the nearby mouse for a sec.

1 Like

Update after a lot of use: From above, I have evolved a hybrid approach where all scrolling and two-button operations are with left hand controller, while 2D field movement and simple click-paint is by right hand mouse.


The cat can lie on my left arm, as she often does when I am lying around with the laptop, and I can still play that way.
1 Like

Ha, sounds like it works.  I can’t tell though, is the cat trying to help or sabotage your EyeWiring :slight_smile:

1 Like

she wants a timeshare for my attention: pet a bit, click a bit :slight_smile:

1 Like

Hahaha awesome! (totally bumping this one :P)

I found the docs that I had earlier attached here that got erased during a crash or something. Not sure how to attach but I can add screenshot, let’s see.

Here is the content of my config file for it. The filename is eyewire-controller.xpadderprofile

;— Xpadder Profile File —
DataType=Profile
Version=2014.01.01

[Profile Settings]

[Set Settings]
Set1StickDiagonalSizes=45,89

[Assignments]
Set1Button1Slots=Left Mouse Button (1)
Set1Button2Slots=Right Mouse Button (2)
Set1Button3Slots=Left Control,D
Set1Button4Slots=Left Control,M
Set1Button5Slots=Right Mouse Button (2)
Set1Button6Slots=Left Control,Z
Set1Button7Slots=Escape
Set1Button8Slots=Left Control,E
Set1Button9Slots=Left Shift
Set1Button9Toggle=1
Set1DPadUpSlots=Arrow Up
Set1DPadUpMouseSpeed=32
Set1DPadRightSlots=Alt,Left Mouse Button (1)
Set1DPadDownSlots=Arrow Down
Set1DPadLeftSlots=Left Control,Left Mouse Button (1)
Set1Stick1UpSlots=Mouse Wheel Up
Set1Stick1DownSlots=Mouse Wheel Down
Set1Stick2UpSlots=Mouse Move Up
Set1Stick2UpMouseSpeed=76
Set1Stick2UpMouseMode=Cursor
Set1Stick2RightSlots=Mouse Move Right
Set1Stick2RightMouseSpeed=76
Set1Stick2RightMouseMode=Cursor
Set1Stick2DownSlots=Mouse Move Down
Set1Stick2DownMouseSpeed=76
Set1Stick2DownMouseMode=Cursor
Set1Stick2LeftSlots=Mouse Move Left
Set1Stick2LeftMouseSpeed=76
Set1Stick2LeftMouseMode=Cursor
Set1TriggerLeftSlots=Left Mouse Button (1)
Set1TriggerRightSlots=Left Shift

1 Like

Here are the assignments after several years of use (last use 2017)- seems to work OK in 2022.

controller-buttonview

1 Like