Monoscopic mode is a non-VR mode that useful if you either do not have VR gear, or if you perhaps have mobile VR gear which is difficult to debug. Monoscopic apps can be built from the Build Window. They can then be launched, and a debugger attached.
Copy private static readonly KeyMap m_KeyMap = new KeyMap {
{ ( int ) KeyboardShortcut . LockToHead , new [] { KeyCode . LeftShift } } ,
{ ( int ) KeyboardShortcut . PivotRotation , new [] { KeyCode . LeftControl } } ,
{ ( int ) KeyboardShortcut . Scale , new [] { KeyCode . Tab } } ,
{ ( int ) KeyboardShortcut . RewindTimeline , new [] { KeyCode . Minus } } ,
{ ( int ) KeyboardShortcut . AdvanceTimeline , new [] { KeyCode . Plus } } ,
{ ( int ) KeyboardShortcut . TimelineHome , new [] { KeyCode . Home } } ,
{ ( int ) KeyboardShortcut . TimelineEnd , new [] { KeyCode . End } } ,
{ ( int ) KeyboardShortcut . Reset , new [] { KeyCode . Space } } ,
{ ( int ) KeyboardShortcut . Undo , new [] { KeyCode . Z } } ,
{ ( int ) KeyboardShortcut . Redo , new [] { KeyCode . X } } ,
{ ( int ) KeyboardShortcut . Delete , new [] { KeyCode . Delete } } ,
{ ( int ) KeyboardShortcut . Abort , new [] { KeyCode . Escape } } ,
{ ( int ) KeyboardShortcut . SaveNew , new [] { KeyCode . S } } ,
{ ( int ) KeyboardShortcut . ExportAll , new [] { KeyCode . A } } ,
{ ( int ) KeyboardShortcut . ToggleProfile , new [] { KeyCode . K } } ,
// Context-dependent
{ ( int ) KeyboardShortcut . SwitchCamera , new [] { KeyCode . C } } ,
{ ( int ) KeyboardShortcut . CycleCanvas , new [] { KeyCode . C } } ,
{ ( int ) KeyboardShortcut . ViewOnly , new [] { KeyCode . H } } ,
{ ( int ) KeyboardShortcut . ToggleScreenMirroring , new [] { KeyCode . M } } ,
{ ( int ) KeyboardShortcut . PreviousTool , new [] { KeyCode . LeftArrow } } ,
{ ( int ) KeyboardShortcut . NextTool , new [] { KeyCode . RightArrow } } ,
{ ( int ) KeyboardShortcut . CycleSymmetryMode , new [] { KeyCode . F2 } } ,
{ ( int ) KeyboardShortcut . Export , new [] { KeyCode . E } } ,
{ ( int ) KeyboardShortcut . StoreHeadTransform , new [] { KeyCode . O } } , // Also checks for shift
{ ( int ) KeyboardShortcut . RecallHeadTransform , new [] { KeyCode . O } } ,
{ ( int ) KeyboardShortcut . ToggleLightType , new [] { KeyCode . P } } ,
{ ( int ) KeyboardShortcut . CheckStrokes , new [] { KeyCode . V } } ,
{ ( int ) KeyboardShortcut . ResetScene , new [] { KeyCode . Return } } ,
{ ( int ) KeyboardShortcut . StraightEdge , new [] { KeyCode . CapsLock } } ,
{ ( int ) KeyboardShortcut . Save , new [] { KeyCode . S } } ,
{ ( int ) KeyboardShortcut . Load , new [] { KeyCode . L } } ,
{ ( int ) KeyboardShortcut . Forward , new [] { KeyCode . N } } ,
{ ( int ) KeyboardShortcut . Backward , new [] { KeyCode . M } } ,
{ ( int ) KeyboardShortcut . PositionMonoCamera , new [] { KeyCode . LeftAlt , KeyCode . RightAlt } } ,
{ ( int ) KeyboardShortcut . ToggleHeadStationaryOrWobble , new [] { KeyCode . Q } } ,
{ ( int ) KeyboardShortcut . ToggleHeadStationaryOrFollow , new [] { KeyCode . W } } ,
{ ( int ) KeyboardShortcut . DecreaseSlowFollowSmoothing , new [] { KeyCode . E } } ,
{ ( int ) KeyboardShortcut . IncreaseSlowFollowSmoothing , new [] { KeyCode . R } } ,
{ ( int ) KeyboardShortcut . ToggleGVRAudio , new [] { KeyCode . BackQuote } } ,
{ ( int ) KeyboardShortcut . TossWidget , new [] { KeyCode . Y } } ,
};
// Separate keymap for when demo mode is enabled.
// Determined by DemoManager.m_Instance.DemoModeEnabled == true
private static readonly KeyMap m_DemoKeyMap = new KeyMap {
{ ( int ) KeyboardShortcut . ResetEverything , new KeyCode [] { KeyCode . Delete , KeyCode . Backspace } } ,
{ ( int ) KeyboardShortcut . GotoInitialPosition , new KeyCode [] { KeyCode . P } } ,
{ ( int ) KeyboardShortcut . ExtendDemoTimer , new KeyCode [] { KeyCode . E } } ,
{ ( int ) KeyboardShortcut . InstantUpload , new KeyCode [] { KeyCode . U } } ,
};