Joystick emulation guide originally written by CWG-Andrew and reproduced here with permission. This method is necessary after it was discovered that the old joystick system caused numerous stability problems with MWLL, resulting in crashes for both the joystick player and other players as well.
How to make your joystick work in MWLL
I have reworked the previous iteration of this guide and expanded upon it since after the release of the 0.8.3 patch it has become apparent that this will be a more permanent solution than we wished for. For a joystick to work in MechWarrior Living Legends it needs to pretend it is an XBOX360 pad. For this you need the X360 Controller Emulator. Downloading this software gives you all you need. Either download the 32Bit or 64Bit version depending on which version of MWLL you use. Generally it will be 64Bit.
If you're using a 64 bit OS, extract x360ce_x64.exe into the Crysis Wars directory. If you're using a 32 bit OS, extract x360ce_x32.exe into the Crysis Wars directory.
After that execute x360ce_x64.exe or _x32.exe with your joystick connected.
The Controller Emulator will want to create a missing xinput1_3.dll file, confirm this. If you get the architecture warning like shown in the screenshot you can safely ignore it, just click „Create“ and after that „Ignore All“.
Now the main configuration window starts up and your joystick should be correctly identified. It will want to search automatically for settings applicable for your joystick. Click on „Next >“. When it reports that it successfully found the settings click on „Finish“.
Now you can start binding your axis, buttons and POV-hats in the main window. A default set up should have been loaded for you which you can now alter to your liking.
If you need more informations how to do this in X360 CE please refer to its own documentation. X360 CE will even accept virtual devices, for example you could run through vJoy or Thrustmaster TARGET first. You can try to auto assign all your joystick functionality by pressing the Auto button.
When you are done open the action mapper and assign the XBOX360 buttons and axis to the functions you want to have in MWLL. It is IMPERATIVE that you bind your X and Y axis to the axis row denoted with (x). If you bind it to the row without it, it will not have enough sensitivity!
Keep the emulator configuration window open to help you remember which joystick button, axis and POV hat represents which XBOX360 button and analogue stick axis.
If you want to use a throttle, bind "Set throttle value" in the Vehicle tab. The throttle activation toggle can be bound in the row directly above (This can sometimes fail, if it does, exit the asset and enter it repeatedly until the throttle activates).
To make use of the X and Y key some manual editing of the config file is necessary. Open the actionmap xml file in %USERPROFILE%\My Games\Crysis Wars\Profiles\[YOUR_PROFILE_NAME] with an editor program. I recommend Notepad++ because the lines of the config are actually visible on the left side. Now scroll down to line 500. In the range of line 500 to 700 you will find an action called „use“.
Remove the „xi_x“ key name and put in „null“. Don't delete the quotation marks.
Now search for a „changeseat“ instance that doesn't contain a number.
Remove the „xi_y“ and put in „null“. Don't delete the quotation marks. These two alterations are necessary or each time you press the joystick button that represents the X-button would make you eject or enter leave a vehicle together with the function you actually wanted and pressing the joystick button that represents the Y-button would make you change the vehicle seat together with the function you actually wanted.
When you are done with this move all the files to the Crysis Wars\Bin64 or Crysis Wars\Bin32. Congratulations you are done. Your joystick should be fully functional with the assigned functionality. IMPORTANT: DO NOT PUT THE FILES INTOCrysis Wars\Mods\MWLL\bin64 or Crysis Wars\Mods\MWLL\bin32 as these directories do not contain the game executables.
If you need any further help do not hesitate to ping me on discord!