Raw Input Plugin error

Has anyone had any sucess with the experimental raw input plug-in in 4.15r3? I’ve got a generic USB joystick device that I tried mapping to various axes. When touch the joystick, I get a “LogRawInputWindows:Warning: Failed to value 0. c011000a:HIDStatusIncompatibleReportID” error (there are actually a bunch, but they’re all basically that). So I’m getting something from the device into the engine, which, yay, but that error is completely crpytic to me.

The build log notes mention something about the editing the DefaultInput.ini, and something about the vendor and device IDs, but I’m not sure how those values would be added to that file (unless that line just meant that we should note them, so we can report back to build the database?)

I added the mapping via the editor, and then just threw something in the level blueprint so I could get some feedback. The generic device is a Spacemouse USB module (not the retail spacemouse, but a NFS dev kit module. It comes with an SDK, and just registers itself as a generic USB joystick and uses the default windows generic joystick drivers. It does not require or even work with the retail 3DConnexion drivers). Looking at the sample source code they ship with it, it seems to be a DirectInput device? I’m not 100% sure on that.

Maybe there’s more work I have to do to integrate it, but I figured it was worth a shot trying it with the plugin. Like I said, it’s seeing something.Oh, also there seems to be a bug: One of the lines in the ini is mapping to a button rather than an axis, despite it being mapped to an axis in the editor, as seen below.

<edit> in case it’s not clear, the SpaceMouse module is a 6 DOF joystick with no buttons </edit>




Not sure what the usage and usagepage numbers refer to:

So, just to follow up with some more details, I also tried creating a new vehicle game, per the release notes, and didn’t see any input. I have a Logitech 3D Pro joystick as well, and it didn’t even kick out an error, just nothing.

I tested both devices with the joystick test app at Joystick Test Application | Planet Pointy and it shows all the expected input using the RawInput option.

Anything? Is this the wrong forum section? It’s only tangentially related to Blueprints, but I didn’t see a better place for it.

Hey MDCCLXXVI-

Based on the screenshots provided, it appears you’re changing bindings in the Project Settings->Engine->Input section, correct? If you are trying to use the Raw Input features, please check the options in Project Settings->Plugins->Raw Input. Setting your GenericUSBController Axis bindings here should allow you to receive input from you joystick. If you are still seeing warnings / not getting any input, please create a post on the answerhub “Bug Reports” section and let us know here so we can assign a support tech to investigate.

Cheers

Ah, I didn’t see the settings in the Plugins section. I found the IDs, and mapped the device, but still gettting the same error. Reading up on the error from MSDN, it looks like the HID isn’t getting parsed correctly (it looks like what is being described here: Troubleshooting HID Reports - Windows drivers | Microsoft Docs). I’ve created the bug report, as suggested: https://answers.unrealengine.com/questions/559637/rawinput-plugin-hid-report-not-being-parsed-correc.html

<edit> I did reach out to 3DConnexion, and their response is that their HID is built to the USB HID spec rev. 1.11, so there’s nothing they can really do on their end, which, assuming they’re right and the issue isn’t that they messed up and released a non-standard HID, then they’re right. The fact that the USBlyzer is able to parse the HID correctly, as seen in the PDF attached to the bug report, supports their claim.</edit>

RawInput plugin does not work correctly. If you connect two joysticks, they both will work simultaneously, but the axes will conflict.

1 Like