Windows Mixed Reality Input Mappin

Hi everyone,

I am building a condensed documentation about input mapping for multiple gamepad/vive controller and so on on Unreal
This one is available here http://fargesportfolio.com/unreal-mo…oller-mapping/

The thing is, I cannot find any schema for Windows Mixed Reality controller. More, even if I can deduce most of the inputs, I cannot find any input for the physical thumbstick of the controller (as the thumbstick input are mapped over the trackpad…)

Do you guys find this information somewhere?

Thanks,

As far as I can tell:
Get motion controller Thumbstick X -> range -1, 1 Trackpad X axis
Get motion controller Thumbstick Y -> range -1, 1 Trackpad Y axis
Get motion controller Triggeraxis -> range -1, 1 Trigger

Event: MotionController FaceButton1 -> Trackpad click up
Event: MotionController FaceButton2 -> Trackpad click right
Event: MotionController FaceButton3 -> Trackpad click down
Event: MotionController FaceButton4 -> Trackpad click left

Event: MotionController Trigger -> Trigger
Event: MotionController Grip1 -> Grip Trigger

Event: MotionController Shoulder -> Home Button

I wasn’t able to figure out the thumbstick.

Edit:
added trigger event

That seams right to me.
Thanks, I add it to the doc for further readings. Might make a picture link later…

So, apparently, the Thumbstick is not mapped at all. Thanks for your mapping :slight_smile:

hi orion78, your input mapping doc is a really nice asset, thank you!

i have a project for oculus rift and vive i am getting ready to release, and am interested in packaging for microsoft headsets. I am planning on setting one up soon, so i was looking at your doc and am wondering about the MS input mappings.

it says, at the bottom of the MS section, “Nothing for the Thumbstick” but the first two lines are “Get motion controller Thumbstick X -> range -1, 1 Trackpad X axis” and “Get motion controller Thumbstick Y -> range -1, 1 Trackpad Y axis”

I am not sure I understand what this means - are the Trackpads using the thumbstick input events, i.e., Motioncontroller (L) Thumbstick Y? Can you NOT read the thumbsticks? or do they both return values from the thumbstick input events because the user is either using one or the other?

thanks much!

Did they reverse this in 4.22.3?

I can now get thumbstick input, but I can’t get the trackpad to work…

Nope, seems incredibly glitchy because this is my result right now (4.22.3).

Trigger, Grip1 and Thumbstick is the only ones that work. The rest are stone dead.

EDIT: Forgot the Shoulder buttons but they’re completely unresponsive too. :frowning:

Don’t have WMR, but as per WindowsMixedRealitySpatialInput.cpp,

Actions:

EKeys::MotionController_Left_Trigger
EKeys::MotionController_Right_Trigger
EKeys::MotionController_Left_Grip1
EKeys::MotionController_Right_Grip1
FSpatialInputKeys::LeftMenu
FSpatialInputKeys::RightMenu
EKeys::MotionController_Left_Thumbstick
EKeys::MotionController_Right_Thumbstick
FSpatialInputKeys::LeftTouchpadPress
FSpatialInputKeys::RightTouchpadPress
FSpatialInputKeys::LeftTouchpadIsTouched
FSpatialInputKeys::RightTouchpadIsTouched

Axes:

EKeys::MotionController_Left_TriggerAxis
EKeys::MotionController_Right_TriggerAxis
EKeys::MotionController_Left_Thumbstick_X
EKeys::MotionController_Right_Thumbstick_X
EKeys::MotionController_Left_Thumbstick_Y
EKeys::MotionController_Right_Thumbstick_Y
FSpatialInputKeys::LeftTouchpadX
FSpatialInputKeys::RightTouchpadX
FSpatialInputKeys::LeftTouchpadY
FSpatialInputKeys::RightTouchpadY

001.png

Oh, my god, that is correct, thank you!

But why on earth would Epic create special input for WMR and then forget to map that same input to the regular VR controller events?

I hope they fix it now that OpenXR is a released standard.

So apparently this has all changed in 4.24 because my entire WMR controller blueprint setup seems to have been deprecated…

I’m trying to find out what it has been replaced with, but if anyone has that information already, please let me know!

EDIT: Thanks to the Unreal Slackers Discord, I found out that you are apparently now **forced **to do input mappings…