public void OnKeyControl(object sender, KeysEventArgs e) { // modify value based on key pressed if (e.ContainsKey(keyUp)) { position += up * Speed; } if (e.ContainsKey(keyDown)) { position -= up * Speed; } if (e.ContainsKey(keyForward)) { position += front * Speed; } if (e.ContainsKey(keyBackward)) { position -= front * Speed; } if (e.ContainsKey(keyRight)) { position += right * Speed; } if (e.ContainsKey(keyLeft)) { position -= right * Speed; } // update vectors once the camera moves Update(); }
public void Attach(DependencyObject AssociatedObject) { this.AssociatedObject = AssociatedObject; _keysEventArgs = new KeysEventArgs(); var uiElement = this.AssociatedObject as ExtendedTextBox; uiElement.PreKeyDown += UIElement_KeyDown; _keyupEventHandler = UIElement_KeyUp; uiElement.AddHandler(UIElement.KeyUpEvent, _keyupEventHandler, true); uiElement.IsEnabledChanged += UIElement_IsEnabledChanged; }
private void OnHotKeys(object sender, KeysEventArgs e) { var hotKeys = ""; if (e.Ctrl) { hotKeys += "Ctrl"; } if (e.Shift) { hotKeys += "Shift"; } if (e.Alt) { hotKeys += "Alt"; } hotKeys = e.Keys.Aggregate(hotKeys, (current, key) => current + ("+" + key)); Debug.Print((e.IsDown ? "down: " : e.IsUp ? "up: " : "") + hotKeys); switch (hotKeys) { case "Ctrl+S": // save file SaveFile(); break; case "Ctrl+O": // open file OpenFiles(); break; case "Ctrl+Alt+S": // save file as SaveFile(true); break; case "Alt+A+Z": var callNext = _keyboardHook.IsCallNextHookIfHotKey; _keyboardHook.IsCallNextHookIfHotKey = !callNext; callNext = _keyboardHook.IsCallNextHook; _keyboardHook.IsCallNextHook = !callNext; break; case "Ctrl+Alt+Delete": break; } }
void NPCTalkUI_KeyClicked(object sender, KeysEventArgs e) { foreach (Keys key in e.Keys) Console.WriteLine(key); if(e.Keys.Contains(Keys.Space)) { // next page or close. pages--; if (pages == 0) eventsCompleted = true; } }