Skip to content

XInput rewritten using Windows.Gaming.Input API to support Xbox One impulse triggers

License

Notifications You must be signed in to change notification settings

javaskript/Impulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Impulse

X1nput Impulse is Xinput rewritten using the Windows.Gaming.Input API which has better support for Xbox One controllers, including impulse triggers.

There's no way for the game to know whether the controller supports impulse triggers using Xinput API, so this DLL just converts normal vibrations to trigger vibrations.

Windows.Gaming.Input API requires Windows 10+ to work.

I'll try to improve the code and add a way to customize strength of the vibrations, but I'm hoping someone could learn from this code and write do something useful with it.

Fork of https://github.com/araghon007/X1nput

Usage

  1. Launch X1nputConfigurator.exe

image

  1. Press Refresh. This may take a short while.

image

  1. From the list, select the name of the game you want to use X1nput in and press Inject image

  2. Enjoy trigger rumble

  3. You can unload X1nput from a game at any time by selecting the game and pressing Unload image

Manual Controller Setup

  1. Press the Controller Setup menu option

image

  1. Untick the Automatic checkbox, select a controller from the list and press Test

image

  1. If your controller rumbles, press Use, otherwise try other controllers from the list

image

  1. If you want to use multiple controllers, tick the Multi-Controller Support

image

4a. Select a controller and press Test, to see if it's the one you're using

image

4b. Press Use 1-4 depending on which user index your controller is assigned. It should be the same as the player number in your selected game.

image

  1. Close the window and if X1nput is already injected in a game, select it in the main window and press Refresh

image

Configuration

There are 2 ways to configure X1nput. Through X1nput Configurator, or manually using notepad. To configure X1nput through X1nput Configurator, do the following:

  1. Press the Configure menu option.

image

  1. Here you can see a whole lot of variables which I won't explain here, but you can hover your mouse cursor over them to find out more.

  2. Mess around, have fun and hit Save.

  3. If X1nput is already injected in a game, select it and press Refresh

To manually modify the configuration file, find the X1nput.ini file and edit it with your text editor of choice. You can then manually move X1nput.ini to the folder of the game's executable. This can even allow for per-game configuration, as long as you disable Override Config in X1nput Configurator.

Troubleshooting

  • The application doesn't start - Make sure you have .NET Framework 4.8 Runtime installed and that your Windows 10 installation is up-to-date
  • I can't see a game in the list - Try running X1nputConfigurator as administrator. Alternatively you can use any injector, as long as you copy X1nput.ini to the game's folder.
  • I can't feel trigger rumble on my controller - Try pressing the triggers while your controller is vibrating. If that does work, refer to Configuration. Otherwise press Refresh and make sure the game is under Injected. If it is, try Manual Controller Setup.
  • My controller doesn't vibrate at all after injecting - Try using a different connection method, make sure you're using the right drivers or try updating your Windows 10
  • X1nput doesn't get injected - Try using a different injector

Report any unexpected behavior by opening an Issue

Buidling

  1. Open X1nput.sln using Visual Studio 2019 or higher
  2. Build the solution using AnyCPU, 32 and 64-bit X1nput DLLs should be automatically copied to the output folder

About

XInput rewritten using Windows.Gaming.Input API to support Xbox One impulse triggers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published