[Wine] DInput axis mapping explanation

Michael Gardner gardnermj at gmail.com
Sun Feb 1 14:30:31 CST 2015

I'm trying to understand Wine's DirectInput axis mapping feature. The documentation at http://wiki.winehq.org/UsefulRegistryKeys gives some details but seems to assume you already know how the feature works.

> This maps axes of joystick "joystick name". The "axes mapping" is comma-separated list of "axis type"s - one for each joystick axis (hat-pov uses 2 axes).
> "axis type" is one of: X, Y, Z, Rx, Ry, Rz, Slider1, Slider2, POV1, POV2, POV3, POV4.
> To find the joystick name run 'WINEDEBUG=+dinput wine game.exe 2>&1 | grep joydev_enum_device'

This tells me I can make a registry key with the same name as my joystick device and a value that's a comma-separated list of "axes" and that somehow acts as a "mapping". But it gives me no idea how this mapping works, nor how to construct a mapping that will accomplish what I want.

I've tried experimenting while using joy.cpl for feedback, but I can't even construct a mapping that does anything other than break everything. It would help if I had a better understanding of how the mapping works!

More information about the wine-users mailing list