void KeyboardShortcuts()
        {
            if ((InputManager.ReceivingInput != null && InputManager.ReceivingInput.TakingInput) ||
                InputManager.ReceivingInputJustSet)
            {
                return;
            }


            KeyboardCameraControl();

            #region F for Frame or Focus

            if (InputManager.Keyboard.KeyPushed(Key.F))
            {
                if (CurrentSprites.Count != 0)
                {
                    CameraMethods.FocusOn(CurrentSprites[0]);
                }
                else if (CurrentPositionedModels.Count != 0)
                {
                    CameraMethods.FocusOn(CurrentPositionedModels[0]);
                }
            }

            #endregion

            #region Nudge control
            if (InputManager.Keyboard.KeyDown(Key.N))
            {
                GameData.Camera.XVelocity = GameData.Camera.YVelocity = GameData.Camera.ZVelocity = 0;
                if (GameData.EditorLogic.CurrentSprites.Count != 0)
                {
                    float distanceToMove = 1 / GameData.Camera.PixelsPerUnitAt((GameData.EditorLogic.CurrentSprites[0]).Z);


                    if (InputManager.Keyboard.KeyPushed(Key.Up))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).Y += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Down))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).Y -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Left))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).X -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Right))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).X += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Equals))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).Z += .01f;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Minus))
                    {
                        (GameData.EditorLogic.CurrentSprites[0]).Z -= .01f;
                    }
                }
                else if (CurrentSpriteFrames.Count != 0)
                {
                    float distanceToMove = 1 / GameData.Camera.PixelsPerUnitAt((GameData.EditorLogic.CurrentSpriteFrames[0]).Z);

                    if (InputManager.Keyboard.KeyPushed(Key.Up))
                    {
                        CurrentSpriteFrames[0].Y += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Down))
                    {
                        CurrentSpriteFrames[0].Y -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Left))
                    {
                        CurrentSpriteFrames[0].X -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Right))
                    {
                        CurrentSpriteFrames[0].X += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Equals))
                    {
                        CurrentSpriteFrames[0].Z += .01f;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Minus))
                    {
                        CurrentSpriteFrames[0].Z -= .01f;
                    }
                }
                else if (CurrentTexts.Count != 0)
                {
                    float distanceToMove = 1 / GameData.Camera.PixelsPerUnitAt((GameData.EditorLogic.CurrentTexts[0]).Z);

                    if (InputManager.Keyboard.KeyPushed(Key.Up))
                    {
                        CurrentTexts[0].Y += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Down))
                    {
                        CurrentTexts[0].Y -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Left))
                    {
                        CurrentTexts[0].X -= distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Right))
                    {
                        CurrentTexts[0].X += distanceToMove;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Equals))
                    {
                        CurrentTexts[0].Z += .01f;
                    }
                    else if (InputManager.Keyboard.KeyPushed(Key.Minus))
                    {
                        CurrentTexts[0].Z -= .01f;
                    }
                }
            }
            #endregion

            #region tool key shortucts - move, rotate, scale, attach, detach, copy

            #region m - Move
            if (InputManager.Keyboard.KeyPushed(Key.M))
            {
                GuiData.ToolsWindow.MoveButton.Press();
            }
            #endregion

            #region r - Rotate
            if (InputManager.Keyboard.KeyPushed(Key.R))
            {
                GuiData.ToolsWindow.RotateButton.Press();
            }
            #endregion

            #region x - Scale
            if (InputManager.Keyboard.KeyPushed(Key.X))
            {
                GuiData.ToolsWindow.ScaleButton.Press();
            }
            #endregion

            #region a - Attach
            if (InputManager.Keyboard.KeyPushed(Key.A))
            {
                GuiData.ToolsWindow.attachSprite.Toggle();
            }
            #endregion

            #region d - Detach
            if (InputManager.Keyboard.KeyPushed(Key.D))
            {
                GuiData.ToolsWindow.detachSprite(null);
            }
            #endregion

            #region CTRL + c - Copy
            if (InputManager.Keyboard.ControlCPushed() &&
                (CurrentPositionedModels.Count != 0 || GameData.EditorLogic.CurrentSprites.Count != 0 || CurrentSpriteFrames.Count != 0 || CurrentTexts.Count != 0))
            {
                GuiData.ToolsWindow.DuplicateClick();
            }
            #endregion

            #endregion

            #region showing position by pressing C
            else if (InputManager.Keyboard.KeyPushed(Key.C))
            {
                if (GameData.showingCursorPosition)
                {
                    GameData.showingCursorPosition = false;
                }
                else
                {
                    GameData.showingCursorPosition = true;
                }
            }
            #endregion

            #region space - editing in solo mode
            if (InputManager.Keyboard.KeyPushed(Key.Space))
            {
                GameData.Cursor.ToggleSoloEdit();
            }
            #endregion

            #region DEL
            if (InputManager.Keyboard.KeyPushed(Key.Delete))
            {
                DeleteSelectedObject();
            }
            #endregion

            #region pressing shift to set scale dimention proportions
            if (InputManager.Keyboard.KeyPushed(Key.LeftShift) || InputManager.Keyboard.KeyPushed(Key.RightShift))
            {
                if (GameData.EditorLogic.CurrentSprites.Count != 0)
                {
                    xToY = (float)(GameData.EditorLogic.CurrentSprites[0].ScaleX / GameData.EditorLogic.CurrentSprites[0].ScaleY);
                }
                else if (CurrentSpriteFrames.Count != 0)
                {
                    xToY = CurrentSpriteFrames[0].ScaleX / CurrentSpriteFrames[0].ScaleY;
                }
            }
            #endregion

            #region file shortcuts

            #region CTRL + S
            if (InputManager.Keyboard.KeyPushed(Key.S) && (InputManager.Keyboard.KeyDown(Key.LeftControl) || (InputManager.Keyboard.KeyDown(Key.RightControl))))
            {
                SpriteEditor.Gui.GuiData.MenuStrip.SaveSceneClick(GameData.FileName);
            }
            #endregion

            #region CTRL + N
            if (InputManager.Keyboard.KeyPushed(Key.N) && (InputManager.Keyboard.KeyDown(Key.LeftControl) || (InputManager.Keyboard.KeyDown(Key.RightControl))))
            {
                SpriteEditor.Gui.MenuStrip.NewSceneClick(null);
            }
            #endregion

            #endregion

            #region Sys Rq/ Print Screen

            if (InputManager.Keyboard.KeyPushed(Key.SysRq))
            {
                FileWindow fw = GuiManager.AddFileWindow();
                fw.SetToSave();
                fw.OkClick += new GuiMessage(GameData.SetScreenshotFile);

                List <string> fileTypes = new List <string>();
                fileTypes.Add("bmp");
                fileTypes.Add("jpg");
                fileTypes.Add("tga");
                fileTypes.Add("png");
                fileTypes.Add("dds");

                fw.SetFileType(fileTypes);
                fw.CurrentFileType = "png";
            }
            #endregion
        }