public static void ProcessKeyboard() { KeyboardKeyEventArgs evnt = null; prevKeyState = curKeyState; curKeyState = Keyboard.GetState(); foreach (var keyboardCode in keyboardCodes) { if (curKeyState[keyboardCode] != prevKeyState[keyboardCode]) { if (curKeyState[keyboardCode]) { OnKeyDown?.Invoke(evnt); input.ProcessKeyDown(keyboardCode); } else { OnKeyUp?.Invoke(evnt); input.ProcessKeyUp(keyboardCode); } } } }
/// <summary> /// Occurs when a key is pressed. /// </summary> /// <param name="sender">The KeyboardDevice which generated this event.</param> /// <param name="e">The key that was pressed.</param> void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { if (e.Key == global::OpenTK.Input.Key.Escape) { Exit(); } else if (e.Key == global::OpenTK.Input.Key.AltLeft) { altDown = true; } else if (altDown && e.Key == global::OpenTK.Input.Key.Enter) { if (WindowState == WindowState.Fullscreen) { WindowState = WindowState.Normal; } else { WindowState = WindowState.Fullscreen; } } input.ProcessKeyDown(e); scene.KeyPressed(e.Key); }
protected void OnKeyboardKeyDown(object sender, KeyboardKeyEventArgs e) { if (!Focused) { return; } if (e.Key == Key.Escape) { Exit(); } else if (e.Key == Key.F9) { Gwen.Platform.Neutral.FileOpen("Load NavMesh from file", ".", "All SharpNav Files(.snb, .snx, .snj)|*.snb;*.snx;*.snj|SharpNav Binary(.snb)|*.snb|SharpNav XML(.snx)|*.snx|SharpNav JSON(.snj)|*.snj", LoadNavMeshFromFile); } else if (e.Key == Key.F11) { WindowState = OpenTK.WindowState.Normal; } else if (e.Key == Key.F12) { WindowState = OpenTK.WindowState.Fullscreen; } gwenInput.ProcessKeyDown(e); base.OnKeyDown(e); }
protected override void OnKeyDown(KeyboardKeyEventArgs e) { if (e.Key == Keys.Escape) { Close(); } else if (e.Key == Keys.LeftAlt) { altDown = true; } else if (altDown && e.Key == Keys.Enter) { if (WindowState == WindowState.Fullscreen) { WindowState = WindowState.Normal; } else { WindowState = WindowState.Fullscreen; } } input.ProcessKeyDown(e); base.OnKeyDown(e); }
/// <summary> /// Occurs when a key is pressed. /// </summary> /// <param name="sender">The KeyboardDevice which generated this event.</param> /// <param name="e">The key that was pressed.</param> void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { if (e.Key == global::OpenTK.Input.Key.Escape) Exit(); else if (e.Key == global::OpenTK.Input.Key.AltLeft) altDown = true; else if (altDown && e.Key == global::OpenTK.Input.Key.Enter) if (WindowState == WindowState.Fullscreen) WindowState = WindowState.Normal; else WindowState = WindowState.Fullscreen; input.ProcessKeyDown(e); }
/// <summary> /// Occurs when a key is pressed. /// </summary> /// <param name="sender">The KeyboardDevice which generated this event.</param> /// <param name="e">The key that was pressed.</param> static void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { if (e.Key == global::OpenTK.Input.Key.AltLeft) { altDown = true; } else if (altDown && e.Key == global::OpenTK.Input.Key.Enter) { if (GraphicsManager.windowstate == WindowState.Fullscreen) { GraphicsManager.windowstate = WindowState.Normal; } else { GraphicsManager.windowstate = WindowState.Fullscreen; } } input.ProcessKeyDown(e); }
protected override void OnKeyDown(OpenTK.Input.KeyboardKeyEventArgs e) { base.OnKeyDown(e); try { input.ProcessKeyDown(e); } catch (Exception ex) { //sdl eats exceptions Console.WriteLine(ex.ToString()); throw ex; } if (e.Key == OpenTK.Input.Key.F5) { skinpng.Dispose(); skinpng = new Texture(Canvas.Skin.Renderer); var skinimg = new Bitmap(Image.FromFile("DefaultSkin.png")); var colorxml = System.IO.File.ReadAllText("DefaultColors.xml"); Gwen.Renderer.OpenTK.LoadTextureInternal( skinpng, skinimg); var skin = new Gwen.Skin.TexturedBase(Canvas.Skin.Renderer, skinpng, colorxml) { DefaultFont = Canvas.Skin.DefaultFont }; // Canvas.Skin = skin; Canvas.SetSkin(skin, true); skinimg.Dispose(); } if (e.Key == OpenTK.Input.Key.F12) { _slow = !_slow; } if (e.Key == OpenTK.Input.Key.F11) { _steps = true; } }
protected void OnKeyboardKeyDown(object sender, KeyboardKeyEventArgs e) { if (!Focused) { return; } if (e.Key == Key.Escape) { Exit(); } else if (e.Key == Key.F11) { WindowState = OpenTK.WindowState.Normal; } else if (e.Key == Key.F12) { WindowState = OpenTK.WindowState.Fullscreen; } gwenInput.ProcessKeyDown(e); base.OnKeyDown(e); }
protected override void OnKeyDown(KeyboardKeyEventArgs e) { base.OnKeyDown(e); try { if (!e.IsRepeat) { InputUtils.KeyDown(e.Key); } InputUtils.UpdateKeysDown(e.Keyboard); if (linerider.IO.TrackRecorder.Recording) { return; } var openwindows = Canvas.GetOpenWindows(); var mod = e.Modifiers; if (openwindows != null && openwindows.Count >= 1) { if (e.Key == Key.Escape) { foreach (var v in openwindows) { ((WindowControl)v).Close(); Invalidate(); } return; } } if (_input.ProcessKeyDown(e) || Canvas.IsModalOpen) { return; } if (_dragRider || OpenTK.Input.Mouse.GetState().IsButtonDown(MouseButton.Left)) { if (!_handToolOverride && (!Track.PlaybackMode || (Track.PlaybackMode && Track.Paused)) && SelectedTool != null) { if (SelectedTool.OnKeyDown(e.Key)) { return; } } else { return; } } InputUtils.ProcessHotkeys(); var input = e.Keyboard; if (!input.IsAnyKeyDown) { return; } if (input.IsKeyDown(Key.AltLeft) || input.IsKeyDown(Key.AltRight)) { if (input.IsKeyDown(Key.Enter)) { if (WindowBorder == WindowBorder.Resizable) { WindowBorder = WindowBorder.Hidden; X = 0; Y = 0; var area = Screen.PrimaryScreen.Bounds; RenderSize = area.Size; } else { WindowBorder = WindowBorder.Resizable; } return; } } } catch (Exception ex) { // SDL2 backend eats exceptions. // we have to manually crash. Program.Crash(ex, true); Close(); } }
protected override void OnKeyDown(KeyboardKeyEventArgs e) { base.OnKeyDown(e); if (linerider.TrackFiles.TrackRecorder.Recording) { return; } var openwindows = Canvas.GetOpenWindows(); if (openwindows != null && openwindows.Count >= 1) { if (e.Key == Key.Escape) { foreach (var v in openwindows) { ((WindowControl)v).Close(); Invalidate(); } return; } } if (_input.ProcessKeyDown(e) || Canvas.IsModalOpen) { return; } if (_dragRider || OpenTK.Input.Mouse.GetState().IsButtonDown(MouseButton.Left)) { if (!_handToolOverride && (!Track.Animating || (Track.Animating && Track.Paused)) && SelectedTool != null) { if (SelectedTool.OnKeyDown(e.Key)) { return; } } else { return; } } var input = e.Keyboard; #region CTRL+ if (input.IsKeyDown(Key.ControlLeft) || input.IsKeyDown(Key.ControlRight)) { if (e.Key == Key.Z) { SelectedTool?.Stop(); //BUGFIX SLAGwell removal. var u = Track.UndoManager.Undo(); Invalidate(); if (u) { Track.TrackUpdated(); } return; } if (e.Key == Key.Y) { SelectedTool?.Stop(); var r = Track.UndoManager.Redo(); Invalidate(); if (r) { Track.TrackUpdated(); } return; } if (e.Key == Key.S) { Canvas.ShowSaveWindow(); return; } if (e.Key == Key.O) { SettingOnionSkinning = !SettingOnionSkinning; Invalidate(); return; } if (e.Key == Key.P) { Canvas.ShowPreferences(); return; } } #endregion #region ALT+ else if (input.IsKeyDown(Key.AltLeft) || input.IsKeyDown(Key.AltRight)) { if (input.IsKeyDown(Key.Y)) { Track.Start(true); return; } if (SelectedTool == _lineadjusttool) { Invalidate(); } if (input.IsKeyDown(Key.Enter)) { if (WindowBorder == WindowBorder.Resizable) { WindowBorder = WindowBorder.Hidden; X = 0; Y = 0; var area = Screen.PrimaryScreen.Bounds; RenderSize = area.Size; } else { WindowBorder = WindowBorder.Resizable; } return; } } #endregion if (input.IsKeyDown(Key.ShiftLeft) || input.IsKeyDown(Key.ShiftRight)) { if (input.IsKeyDown(Key.Y)) { Track.Start(false, true, false); Scheduler.UpdatesPerSecond = SettingSlowmoSpeed; UpdateSongPosition(Track.CurrentFrame / 40f); return; } if (input.IsKeyDown(Key.I)) { Track.Start(true, true, true, true); return; } if (Track.Animating && Track.Paused && Track.Frame != 0) { if (input.IsKeyDown(Key.Right)) { if (IterationsOffset < 6) { IterationsOffset++; SetIteration(IterationsOffset, true); } else { Track.NextFrame(); Invalidate(); SetIteration(0, true); Track.Camera.AimPosition = Track.CameraAroundRider(Track.RiderState); Track.Camera.UpdateCamera(); } return; } if (input.IsKeyDown(Key.Left)) { if (IterationsOffset > 0) { IterationsOffset--; SetIteration(IterationsOffset, true); } else { Track.PreviousFrame(); Invalidate(); SetIteration(6, true); Track.Camera.AimPosition = Track.CameraAroundRider(Track.RiderState); Track.Camera.UpdateCamera(); } return; } } } if (e.Key == Key.Q) { SetTool(Tools.PencilTool); } else if (e.Key == Key.W) { SetTool(Tools.LineTool); } else if (e.Key == Key.E) { SetTool(Tools.EraserTool); } else if (e.Key == Key.R) { SetTool(Tools.LineAdjustTool); } else if (e.Key == Key.T) { SetTool(Tools.HandTool); } else if (e.Key == Key.Y) { Track.Start(); } else if (e.Key == Key.U) { Track.Stop(); } else if (e.Key == Key.I) { Track.Flag(); } else if (e.Key == Key.O) { Canvas.ShowLoadWindow(); } else if (e.Key == Key.M) { if (Track.Animating) { if (Math.Abs(Scheduler.UpdatesPerSecond - 40) < 0.01) { Scheduler.UpdatesPerSecond = SettingSlowmoSpeed; if (EnableSong) { UpdateSongPosition(Track.CurrentFrame / 40f); } } else { Scheduler.UpdatesPerSecond = 40; if (EnableSong) { UpdateSongPosition(Track.CurrentFrame / 40f); } } } } else if (e.Key == Key.Z) { if (Track.Playing) { _zoomPerTick = 0.08f; } } else if (e.Key == Key.X) { if (Track.Playing) { _zoomPerTick = -0.08f; } } if (e.Key == Key.Space) { if (!Track.Animating) { _handToolOverride = true; } else { if (!SettingRecordingMode) { Track.TogglePause(); } } } else if (e.Key == Key.F1) { if (!Track.Animating) { Track.Camera.SetPosition(Track.RiderState.ModelAnchors[4].Position); Invalidate(); } } else if (e.Key == Key.F2) { if (!Track.Animating) { var flag = Track.GetFlag(); if (flag != null) { Track.Camera.SetPosition(flag.State.ModelAnchors[4].Position); Invalidate(); } } } else if (e.Key == Key.F5) { Canvas.UpdateSaveNodes(); } else if (e.Key == Key.Number1) { Canvas.ColorControls.Selected = LineType.Blue; Invalidate(); } else if (e.Key == Key.Number2) { Canvas.ColorControls.Selected = LineType.Red; Invalidate(); } else if (e.Key == Key.Number3) { Canvas.ColorControls.Selected = LineType.Scenery; Invalidate(); } else if (e.Key == Key.Minus || e.Key == Key.KeypadMinus) { PlaybackDown(); } else if (e.Key == Key.Plus || e.Key == Key.KeypadPlus) { PlaybackUp(); } else if (e.Key == Key.BackSpace) { if (!Track.Animating || Track.Paused) { SelectedTool?.Stop(); //BUGFIX SLAGwell removal. var l = Track.GetLastLine(); if (l != null) { Track.RemoveLine(l); } Track.TrackUpdated(); Invalidate(); } } else if (e.Key == Key.Right) { if (!Track.Animating) { Track.Start(); } if (!Track.Paused) { Track.TogglePause(); } Track.NextFrame(); Invalidate(); Track.Camera.AimPosition = Track.CameraAroundRider(Track.RiderState); Track.Camera.UpdateCamera(); } else if (e.Key == Key.Left) { if (!Track.Paused) { Track.TogglePause(); } Track.PreviousFrame(); Invalidate(); Track.Camera.AimPosition = Track.CameraAroundRider(Track.RiderState); Track.Camera.UpdateCamera(); } else if (e.Key == Key.Home) { var l = Track.GetFirstLine(); if (l != null) { Track.Camera.SetPosition(l.Position); Invalidate(); } } else if (e.Key == Key.End) { var l = Track.GetLastLine(); if (l != null) { Track.Camera.SetPosition(l.Position); Invalidate(); } } else if (e.Key == Key.Tab) { if (!Track.Playing) { Canvas.ColorControls.OnTabButtonPressed(); } } else if (e.Key == Key.Escape) { Canvas.ShowPreferences(); } else if (e.Key == Key.F12) { } }
void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { InputHandler.ProcessKeyDown(e); }
void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { _input.ProcessKeyDown(e); }