diff --git a/src/rendering/gl/stereo3d/gl_openvr.cpp b/src/rendering/gl/stereo3d/gl_openvr.cpp index 035212f806f..25b1c2a57cf 100644 --- a/src/rendering/gl/stereo3d/gl_openvr.cpp +++ b/src/rendering/gl/stereo3d/gl_openvr.cpp @@ -1570,6 +1570,9 @@ namespace s3d // k_EButton_Axis4 (unknown if used by any controller at all) HandleVRButton(lastState, newState, openvr::vr::k_EButton_Axis4, KEY_JOY3, role * (KEY_JOY4 - KEY_JOY3)); + + // k_EButton_System + HandleVRButton(lastState, newState, openvr::vr::k_EButton_System, KEY_BACKSPACE, role); } lastState = newState; @@ -1836,6 +1839,12 @@ namespace s3d static int joy_mode = vr_joy_mode; if (joy_mode == 1) { + //Menu button - invoke menu + Joy_GenerateButtonEvents( + ((pSecondaryTrackedRemoteOld->ulButtonPressed & ButtonMaskFromId(openvr::vr::k_EButton_System)) != 0), + ((pSecondaryTrackedRemoteNew->ulButtonPressed & ButtonMaskFromId(openvr::vr::k_EButton_System)) != 0), + 1, KEY_LCTRL); + //if in cinema mode, then the dominant joystick is used differently if (!VR_UseScreenLayer() && axisJoystick != -1) {