This project provides a virtual Xbox controller for applications running in Wine that can be controlled with named pipe accessible from host Linux environment. As this project is highly specialized, only one virtual controller is supported
It's just a Xinput reimplementation for Wine. When Wine application starts, it creates a named pipe (/tmp/vpad by default) and waits for events. Events are just binary structures that are read sequentially. Events format is described in vpad_common.h.
For testing purposes there is a client that listens to the gamepad using PyGame and emits corresponding events to the pipe. Client is designed to be used with DualShock 4, but can be easily remapped to another gamepad.
Prebuilt DLLs are available in Releases section
- Put DLLs to Wine's
system32andsyswow64folders - Set
xinput_*.dlloverride toNative (Windows)in Wine configuration
This project is extremely experimental. Only xinput1_3.dll (both 32 and 64 bits) is really tested by the author
Just make. Requires winegcc (wine-{stable,devel,staging}-dev and its i386 version in Ubuntu)