MCPcopy Create free account
hub / github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings / mainEventLoop

Method mainEventLoop

src/overlaycontroller.cpp:1095–1348  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1093}
1094
1095void OverlayController::mainEventLoop()
1096{
1097 if ( !vr::VRSystem() )
1098 return;
1099
1100 m_actions.UpdateStates();
1101
1102 processInputBindings();
1103
1104 vr::VREvent_t vrEvent;
1105 bool chaperoneDataAlreadyUpdated = false;
1106 while ( pollNextEvent( m_ulOverlayHandle, &vrEvent ) )
1107 {
1108 switch ( vrEvent.eventType )
1109 {
1110 case vr::VREvent_MouseMove:
1111 {
1112 QPoint ptNewMouse = getMousePositionForEvent( vrEvent.data.mouse );
1113 if ( ptNewMouse != m_ptLastMouse )
1114 {
1115 QMouseEvent mouseEvent( QEvent::MouseMove,
1116 ptNewMouse,
1117 m_window.mapToGlobal( ptNewMouse ),
1118 Qt::NoButton,
1119 m_lastMouseButtons,
1120 nullptr );
1121 m_ptLastMouse = ptNewMouse;
1122 QCoreApplication::sendEvent( &m_window, &mouseEvent );
1123 OnRenderRequest();
1124 }
1125 }
1126 break;
1127
1128 case vr::VREvent_MouseButtonDown:
1129 {
1130 QPoint ptNewMouse = getMousePositionForEvent( vrEvent.data.mouse );
1131 Qt::MouseButton button
1132 = vrEvent.data.mouse.button == vr::VRMouseButton_Right
1133 ? Qt::RightButton
1134 : Qt::LeftButton;
1135 m_lastMouseButtons |= button;
1136 QMouseEvent mouseEvent( QEvent::MouseButtonPress,
1137 ptNewMouse,
1138 m_window.mapToGlobal( ptNewMouse ),
1139 button,
1140 m_lastMouseButtons,
1141 nullptr );
1142 QCoreApplication::sendEvent( &m_window, &mouseEvent );
1143 }
1144 break;
1145
1146 case vr::VREvent_MouseButtonUp:
1147 {
1148 QPoint ptNewMouse = getMousePositionForEvent( vrEvent.data.mouse );
1149 Qt::MouseButton button
1150 = vrEvent.data.mouse.button == vr::VRMouseButton_Right
1151 ? Qt::RightButton
1152 : Qt::LeftButton;

Callers

nothing calls this directly

Calls 15

saveChangedSettingsFunction · 0.85
UpdateStatesMethod · 0.80
GetKeyboardTextMethod · 0.80
loadChaperoneDataMethod · 0.80
isInitCompleteMethod · 0.80
zeroOffsetsMethod · 0.80
perAppBindEnabledMethod · 0.80
incomingZeroResetMethod · 0.80

Tested by

no test coverage detected