Good progress Ron. I've got camera left/right and forward/back working pretty well.
I've coded for pitch up/down and it does work but it's very 'jumpy'. I press the U key and cockpit image flickers twice before it stops (and correctly increments the f value). Same for the D down key: cockpit image flickers twice and then moves down correctly.
The other camera movements move without this flicker or jumpy image so I can't see yet what is causing this pitch flicker.
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_BACK, "EYEPOINT_BACK");
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_FORWARD, "EYEPOINT_FORWARD");
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_LEFT, "EYEPOINT_LEFT");
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_RIGHT, "EYEPOINT_RIGHT");
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_PITCH_UP, "EYEPOINT_UP");
simconnect.MapClientEventToSimEvent(EVENTS.CAMERA_PITCH_DOWN, "EYEPOINT_DOWN");
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_BACK, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_FORWARD, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_LEFT, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_RIGHT, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_PITCH_UP, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP0, EVENTS.CAMERA_PITCH_DOWN, false);
// Map the keys , and . keys to the private events
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "VK_PERIOD", EVENTS.CAMERA_RIGHT, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "VK_COMMA", EVENTS.CAMERA_LEFT, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "VK_SLASH", EVENTS.CAMERA_FORWARD, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "M", EVENTS.CAMERA_BACK, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "U", EVENTS.CAMERA_PITCH_UP, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
simconnect.MapInputEventToClientEvent(INPUT_GROUPS.INPUT0, "D", EVENTS.CAMERA_PITCH_DOWN, (uint)0, (EVENTS)unused, (uint)0, (bool)false);
case (uint)EVENTS.CAMERA_LEFT:
cameraPanLeft = normalize180(cameraPanLeft - 1.0f);
simconnect.CameraSetRelative6DOF(0.0f, 0.0f, cameraForward, cameraPitchUp, cameraBankLeft, cameraPanLeft);
displayText("\nCamera Left = " + cameraPanLeft);
cameraPanRight = cameraPanLeft;
break;
case (uint)EVENTS.CAMERA_RIGHT:
cameraPanRight = normalize180(cameraPanRight + 1.0f);
simconnect.CameraSetRelative6DOF(0.0f, 0.0f, cameraForward, cameraPitchUp, cameraBankLeft, cameraPanRight);
displayText("\nCamera Right = " + cameraPanRight);
cameraPanLeft = cameraPanRight;
break;
case (uint)EVENTS.CAMERA_PITCH_UP:
cameraPitchUp = normalize180(cameraPitchUp - 0.5f);
simconnect.CameraSetRelative6DOF(0.0f, 0.0f, cameraForward, cameraPitchUp, cameraBankLeft, cameraPanLeft);
displayText("\nCamera Pitch Up = " + cameraPitchUp);
cameraPitchDown = cameraPitchUp;
break;
case (uint)EVENTS.CAMERA_PITCH_DOWN:
cameraPitchDown = normalize180(cameraPitchDown + 0.5f);
simconnect.CameraSetRelative6DOF(0.0f, 0.0f, cameraForward, cameraPitchDown, cameraBankLeft, cameraPanLeft);
displayText("\nCamera Pitch Down = " + cameraPitchDown);
cameraPitchUp = cameraPitchDown;
break;