Usage:

Place both the DLL and the config file next to the game's executable file. Alternatively, you could place them in Windows\System32 to override the behaviour of all games intending to use an X360 pad. Backup any files that would be overwritten in this case. If the DLL cannot find the configuration file in its directory, it will look under the Windows directory as well.

Configuration:

Take a look at the example config file provided, it should be simple to set up your controller based on that. For the details, check below.

Use the [Options] section to configure global settings. PadCount defines the number of pads emulated, valid 1-4. BackgroundMode can be 0 or 1, if enabled, it allows the keyboard to be acquired by a background process as well (give this a try if DirectInput fails to initialize properly). UseInitBeep can be 0 or 1, when enabled, a beep is emitted when the DLL is loaded. Log can be 0 or 1, turns logging on/off for debugging purposes. 

The individual pads are configured under the [PAD1], [PAD2], etc. sections. The lines in each such section define a mapping to one of the virtual X360 controller's inputs. The lines are of the <X360 input>=<Keypress> format, all possible values for <X360 input> and <Keypress> are listed below.

X360 input identifiers: <X360 input> 

A, B, X, Y, Left/Right Shoulder/Trigger/Thumb, Back, Start, D-Pad Up/Down/Left/Right, Left/Right Analog Up/Down/Left/Right

List of recognized keys: <Keypress>

A-Z, 0-9, Num0-9, F1-12, NumLock, NumEnter, NumMinus, NumPeriod, NumPlus, NumSlash, NumStar, Up, Down, Left, Right, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Esc, Grave, Minus, Equals, Backspace, Tab, Left Bracket, Right Bracket, CapsLock, Semicolon, Apostrophe, Backslash, Return, Left Shift, Right Shift, Comma, Period, Slash, Left Control, Right Control, Left Alt, Right Alt, Insert, Delete, Home, End, PgUp, PgDn, Space, SysRq, Scroll Lock, Pause