Download

Vive Touchpad Y-Axis Is Reversed!

My HTC Vive touchpads seem to be inputting the opposite of what I would expect on the Y-axis. I have an Axis Mapping set to the MotionController (R) Thumbstick Y, but when I press ‘up’ which should be Y-positive, it moved me backward. This is my input code (MoveForwardAmount is set elsewhere to the forward vector of the actor, very simply):

void AVRCharacter::MoveForward(float Value)
{
AddMovementInput(MoveForwardAmount, Value);
}

I’ve reversed the input for now to -1, but I’m worried that when someone with a controller working properly or, if it’s a universal weird Vive thing, when someone uses another controller, my controls will be backward! Any ideas?

Here’s a chart that a helpful user on the forums made up (thank you mitchemmc). Does this chart just “get it wrong”, e.g., movement towards the top of the trackpad is actually negative? That doesn’t seem right to me. I think the chart is correct. So is something not getting processed right between SteamVR and UE4, or is there something amiss with my code?

UPDATE:
I just tested it. The input and my code are fine – when I use the FaceButton 1 (Trackpad Up), it behaves as expected with a standard axis input of 1.0 (positive). So is the Vive actually treating up as -1 on the touchpad, or is this something I need to fix in SteamVR?