Author Topic: Xbox One Elite 2 Controller bindings  (Read 2588 times)

skunkw0rxx

  • Newbie
  • *
  • Posts: 9
  • Eb/N0
    • Links
Xbox One Elite 2 Controller bindings
« on: March 18, 2024, 02:58:00 PM »
I'm setting up my controller for Helldivers 2 input using the D-Pad. According to the gamepad tester website I'm using the following buttons:
Button 12 - Up
Button 13 - Down
Button 14 - Left
Button 15 - Right

In settings for VA, I select "Enable Joystick 1" and assign it to "Xbox One For Windows".

I made a new profile and made a command called "D Pad" to test the inputs on the active window. With www.hardwaretester.com/gamepad open and the Xbox controller selected, my commands are not being sent.

I defined "D Pad" as a quick input using this:
[J1B12][J1B13][J1B14][J1B15]

Gamepad Tester website doesn't see the presses. When I open a text editor, I see my quick input being typed in. According to the PDF, I expressed the correct button presses for joystick 1. Is this a known bug with the Xbox controller and VA?

I've also tried [J1POV1U] after enabling POV hat switches with no success.

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4781
  • RTFM
Re: Xbox One Elite 2 Controller bindings
« Reply #1 on: March 19, 2024, 01:18:41 AM »
Simulating button presses on an existing joystick device is not supported by the Microsoft APIs (DirectInput, XInput) used for those devices. This is not VoiceAttack-specific.

VoiceAttack can control a virtual joystick using a plugin, though this would be a separate, likely DirectInput, device.


The "Joystick Button Indicators" section of the documentation (the PDF you mention) states:
Quote
currently available for the ‘Get User Input - Wait For Joystick Button Press’ action and for variable joystick command shortcuts
I.E. those two features are what "[J1B12]", etc, can be used with. Both of those are for joystick input.


As an aside, if you're using your Xbox controller wirelessly, you'll likely want to assign the corresponding "Gamepad Controller" device to the joystick slot, rather than the actual device. That works around certain quirks of Microsoft's controller implementation.

skunkw0rxx

  • Newbie
  • *
  • Posts: 9
  • Eb/N0
    • Links
Re: Xbox One Elite 2 Controller bindings
« Reply #2 on: March 19, 2024, 07:09:09 AM »
Ahh, gotcha. I stumbled upon that 2016 post and was hoping that we had support for that in 2024. I suppose it's not possible at the moment without that third party software. Also, I plug my Xbox controller in. I don't do wireless.

I do have another question though, why would a profile for VA stop me from using my controller in game?

The profile in question:
Hellbabbles from Woofer

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4781
  • RTFM
Re: Xbox One Elite 2 Controller bindings
« Reply #3 on: March 19, 2024, 07:28:44 AM »
I stumbled upon that 2016 post and was hoping that we had support for that in 2024. I suppose it's not possible at the moment without that third party software.
vJoy works by installing a custom device driver that presents itself as a joystick device. To the operating system, it's identical to having a physical joystick plugged in. That's how it works around the API limitations.
As mentioned though, it is a wholly separate device, and does not enable the pressing of buttons (or other input) on existing devices.

Microsoft would need to provide their APIs with the required functionality for the latter to become possible.