public override void HandleKeyEvent(int id, int keyCode, char keyChar) { KeyEventData e = new KeyEventData(id, keyCode, keyChar); Keyboard.HandleEvent(e); UIElement.HandleKeyEvent(e); }
public static KeyEventData ProcessKeyEvent(Event evt) { KeyEventData eventData = new KeyEventData(); eventData.Modifiers = GetEventModifiersState(evt); eventData.KeyCode = s_KeyCodeMapping [(int)evt.keyCode]; eventData.IsNumPad = evt.numeric; eventData.IsAutoRepeat = false; // Indeterminate return(eventData); }
public void EscKeyFunctionalityNotInEditMode() { KeyEventData keyEventData = new KeyEventData(KeyEvent.KEY_RELEASED, KeyEvent.VK_ESCAPE, '\x1b'); _labelView.CanLeaveEditMode = true; UIElement.HandleKeyEvent(keyEventData); // Check if expected ESC action occurred. Assert.IsFalse(_labelView.IsInEditMode); }
public static KeyEventData ProcessCharEvent(Event evt) { KeyEventData eventData = new KeyEventData(); eventData.Modifiers = GetEventModifiersState(evt); eventData.KeyCode = evt.character; eventData.IsNumPad = evt.numeric; eventData.IsAutoRepeat = false; // Indeterminate eventData.Type = KeyEventData.EventType.Char; return(eventData); }
/// <summary> /// ボタンを押下したときの処理 /// </summary> /// <param name="eventData">キー入力のイベント情報</param> void IKeyDownHandler.OnKeyDown(KeyEventData eventData) { if (_isAlter) { return; } if (eventData.keyId == UIKeyId.Submit) { BeginAlterKey(); } }
/// <summary> /// Helper function for faking the typing of characters. /// A character is typed every 10 ticks. /// </summary> /// <param name="text">The text to schedule type events for.</param> public void ScheduleTypeTextInLabelView(string text) { int scheduleTicks = 10; // Schedule to type a character in every 10 ticks. foreach (char character in text) { KeyEventData keyEventData = new KeyEventData(KeyEvent.KEY_TYPED, KeyEvent.CHAR_UNDEFINED, character); _scheduler.Schedule(TimeSpan.FromTicks(scheduleTicks), () => UIElement.HandleKeyEvent(keyEventData)); scheduleTicks += 10; } }
public void SwitchViewsOnTab() { _diagramEditorView.SeqDiagView.IsVisible = true; _diagramEditorView.CommDiagView.IsVisible = false; _diagramEditorView.ViewModel = new DiagramEditorViewModel(new Diagram()); var expectedSeqDiagVisible = !_diagramEditorView.SeqDiagView.IsVisible; var expectedCommDiagVisible = !_diagramEditorView.CommDiagView.IsVisible; // Press TAB var tabPressedData = new KeyEventData(KeyEvent.KEY_PRESSED, KeyEvent.VK_TAB, ' '); _diagramEditorView.RunOnKeyEvent(tabPressedData); var actualSeqDiagVisible = _diagramEditorView.SeqDiagView.IsVisible; var actualCommDiagVisible = _diagramEditorView.CommDiagView.IsVisible; Assert.AreEqual(expectedSeqDiagVisible, actualSeqDiagVisible); Assert.AreEqual(expectedCommDiagVisible, actualCommDiagVisible); }
public virtual void OnNewKeyInput(object source, KeyEventData data) { keyState = data._newKey; Animations.ChangeActiveAnimation(IdleState); if (keyState.IsKeyDown(Keys.D) || keyState.IsKeyDown(Keys.Right)) { Animations.ChangeActiveAnimation("Walking_Right"); speed = 2.5f; IdleState = "Idle_Right"; body.Position += new Vector2(speed, 0); } if (keyState.IsKeyDown(Keys.A) || keyState.IsKeyDown(Keys.Left)) { Animations.ChangeActiveAnimation("Walking_Left"); speed = -2.5f; IdleState = "Idle_Left"; body.Position += new Vector2(speed, 0); } if (canClimb && keyState.IsKeyDown(Keys.W) || keyState.IsKeyDown(Keys.Up)) { speed = -5f; body.Position += new Vector2(0, speed); Animations.ChangeActiveAnimation("Climbing"); sound.Playsnd("Ladder", 0.3f, true); } if (canClimb && keyState.IsKeyDown(Keys.S) || keyState.IsKeyDown(Keys.Down)) { speed = 5f; body.Position += new Vector2(0, speed); Animations.ChangeActiveAnimation("Climbing"); sound.Playsnd("Ladder", 0.3f, true); } }
public void OnKeyBeginHold(KeyEventData eventData) { Debug.Log("Key begin hold."); Debug.Log(eventData.ToString()); }
public void OnKeyUp(KeyEventData eventData) { Debug.Log("Key up."); Debug.Log(eventData.ToString()); }
public void OnKeyDown(KeyEventData eventData) { Debug.Log("Key down."); Debug.Log(eventData.ToString()); }
public void OnKeyEndHold(KeyEventData eventData) { Debug.Log("Key end hold."); Debug.Log(eventData.ToString()); }
public static KeyEventData ProcessCharEvent (Event evt) { KeyEventData eventData = new KeyEventData (); eventData.Modifiers = GetEventModifiersState (evt); eventData.KeyCode = evt.character; eventData.IsNumPad = evt.numeric; eventData.IsAutoRepeat = false; // Indeterminate eventData.Type = KeyEventData.EventType.Char; return eventData; }
public static KeyEventData ProcessKeyEvent (Event evt) { KeyEventData eventData = new KeyEventData (); eventData.Modifiers = GetEventModifiersState (evt); eventData.KeyCode = s_KeyCodeMapping [(int)evt.keyCode]; eventData.IsNumPad = evt.numeric; eventData.IsAutoRepeat = false; // Indeterminate return eventData; }
public virtual void OnGUI() { if (m_Views == null) { return; } #if UNITY_ANDROID || COHERENT_SIMULATE_MOBILE_IN_EDITOR || COHERENT_SIMULATE_MOBILE_IN_PLAYER if (Event.current.isMouse && !IsPointInsideAnyView( (int)Event.current.mousePosition.x, (int)Event.current.mousePosition.y)) { var evt = Event.current; int x = (int)evt.mousePosition.x; int y = (int)evt.mousePosition.y; switch (evt.type) { case EventType.MouseDown: CoherentUI.InputManager.ProcessTouchEvent( (int)TouchPhase.Began, evt.button, x, y); break; case EventType.MouseUp: CoherentUI.InputManager.ProcessTouchEvent( (int)TouchPhase.Ended, evt.button, x, y); break; case EventType.MouseDrag: CoherentUI.InputManager.ProcessTouchEvent( (int)TouchPhase.Moved, evt.button, x, y); break; } } #endif #if COHERENT_UNITY_STANDALONE MouseEventData mouseEventData = null; KeyEventData keyEventData = null; KeyEventData keyEventDataChar = null; switch (Event.current.type) { case EventType.MouseDown: { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseDown; } break; case EventType.MouseUp: { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseUp; } break; case EventType.ScrollWheel: { if (Event.current.delta.SqrMagnitude() > 0) { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseWheel; } } break; case EventType.KeyDown: if (Event.current.keyCode != KeyCode.None) { keyEventData = Coherent.UI.InputManager.ProcessKeyEvent(Event.current); keyEventData.Type = KeyEventData.EventType.KeyDown; if (keyEventData.KeyCode == 0) { keyEventData = null; } } if (Event.current.character != 0) { keyEventDataChar = Coherent.UI.InputManager.ProcessCharEvent(Event.current); if (keyEventDataChar.KeyCode == 10) { keyEventDataChar.KeyCode = 13; } } break; case EventType.KeyUp: { keyEventData = Coherent.UI.InputManager.ProcessKeyEvent(Event.current); keyEventData.Type = KeyEventData.EventType.KeyUp; if (keyEventData.KeyCode == 0) { keyEventData = null; } } break; } foreach (var item in m_Views) { var view = item.View; #if COHERENT_SIMULATE_MOBILE_IN_EDITOR || COHERENT_SIMULATE_MOBILE_IN_PLAYER bool forwardInput = (item.InputState != CoherentUIView.CoherentViewInputState.TakeNone); #else bool forwardInput = item.ReceivesInput; #endif if (forwardInput && view != null) { if (mouseEventData != null) { if (item.MouseX != -1 && item.MouseY != -1) { mouseEventData.X = item.MouseX; mouseEventData.Y = item.MouseY; } //Check if there is a camera attached to the view's parent //Views attached on surfaces do not have such camera. var isOnSurface = item.gameObject.camera == null; if (!isOnSurface) { CalculateScaledMouseCoordinates(ref mouseEventData, item, false); } view.MouseEvent(mouseEventData); //Note: The Event.current.Use() marks the event as used, //and makes the other GUI elements to ignore it, but does //not destroy the event immediately Event.current.Use(); } if (keyEventData != null) { view.KeyEvent(keyEventData); Event.current.Use(); } if (keyEventDataChar != null) { view.KeyEvent(keyEventDataChar); Event.current.Use(); } } } #endif }
public void PushEvent(KeyEventData data, IWidget target) { InputFlags = data.Flags; }
public void RunOnKeyEvent(KeyEventData eventData) { OnKeyEvent(eventData); }
public virtual void OnGUI() { if (m_Views == null) { return; } #if UNITY_EDITOR || COHERENT_UNITY_STANDALONE MouseEventData mouseEventData = null; KeyEventData keyEventData = null; KeyEventData keyEventDataChar = null; switch (Event.current.type) { case EventType.MouseDown: { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseDown; } break; case EventType.MouseUp: { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseUp; } break; case EventType.ScrollWheel: { if (Event.current.delta.SqrMagnitude() > 0) { mouseEventData = Coherent.UI.InputManager.ProcessMouseEvent(Event.current); mouseEventData.Type = MouseEventData.EventType.MouseWheel; } } break; case EventType.KeyDown: if (Event.current.keyCode != KeyCode.None) { keyEventData = Coherent.UI.InputManager.ProcessKeyEvent(Event.current); keyEventData.Type = KeyEventData.EventType.KeyDown; if (keyEventData.KeyCode == 0) { keyEventData = null; } } if (Event.current.character != 0) { keyEventDataChar = Coherent.UI.InputManager.ProcessCharEvent(Event.current); } break; case EventType.KeyUp: { keyEventData = Coherent.UI.InputManager.ProcessKeyEvent(Event.current); keyEventData.Type = KeyEventData.EventType.KeyUp; if (keyEventData.KeyCode == 0) { keyEventData = null; } } break; } foreach (var item in m_Views) { var view = item.View; if (item.ReceivesInput && view != null) { if (mouseEventData != null) { if (item.MouseX != -1 && item.MouseY != -1) { mouseEventData.X = item.MouseX; mouseEventData.Y = item.MouseY; } view.MouseEvent(mouseEventData); Event.current.Use(); } if (keyEventData != null) { view.KeyEvent(keyEventData); Event.current.Use(); } if (keyEventDataChar != null) { view.KeyEvent(keyEventDataChar); Event.current.Use(); } } } #endif }