This is a hacky workaround for mapping the Elite Controller paddles to keys. This should help when using tools like Auto Hotkey or simply avoiding the "quick save reach". To read about my experience creating the app, visit my blog.
- Xbox Elite Controller
- Xbox Accessories App
- Microsoft Build Tools (or VS2015)
- Nuget Command Line tool (or VS2015)
- Windows 10 SDK for certificate creation tools (or VS2015)
- Download and extract the package
- Download the nuget command-line utility (https://docs.nuget.org/consume/installing-nuget)
- Run nuget restore, targetting Elite.sln (e.g. "nuget.exe restore Elite.sln")
- Run Install-ElitePaddles.ps1 from the directory where it is packaged, alongside Elite.sln
I suggest looking through Install-ElitePaddles.ps1 so you understand what it's doing. In summary, it will perform the following tasks:
- Modify the dependencies of the Elite.csproj file to point to the directory of the XboxDevices app
- Compile Elite.sln targeted to your current platform, which includes:
- The ElitePaddles app
- ElitePaddlesServiceHost which hosts a local service used by ElitePaddles to bypass the SendInput restrictions of UWP
- ACL the URL http://+:8642/EliteService to the active user so ElitePaddlesServiceHost can listen on it
- Generate a certificate to sign the appx package. The user will be prompted for passwords to create the certs, and then again to use them
- Add the certificate to the root store and sign the appx package.
- Deploy the ElitePaddles appx package.
- Enable loopback on the ElitePaddles app
After deploying the app, do the following:
- Start ElitePaddlesServiceHost.exe from the ElitePaddlesServiceHost\Out\ directory
- Start ElitePaddles app
- Multiple gamepads unsupported
- Large number of dependencies in deployment script
- Fiddling with deployment script may be required for some users as it was only lightly tested
- No autostart for the service host application
- Some keys cannot be mapped by the app because they select the buttons instead (e.g. Enter and gamepad "A")
- Poor error handling/diagnostic ability, for instance when service is not running