public void RegisterInputMapping(string inputName, KeyboardInputModifier inputModifiers, params KeyCode[] keyCodes) { if (mapping.ContainsKey(inputName)) { mapping[inputName].Modifiers = inputModifiers; mapping[inputName].AddKeyCodes(keyCodes); } else { mapping.Add( inputName, new KeyboadMappedInput { InputName = inputName, Modifiers = inputModifiers, KeyCodes = keyCodes.ToList() }); } }
private bool GetKeyModifier(KeyboardInputModifier modifier) { switch (modifier) { case KeyboardInputModifier.None: return(!(GetKeyModifier(KeyboardInputModifier.Shift) || GetKeyModifier(KeyboardInputModifier.Control) || GetKeyModifier(KeyboardInputModifier.Alt))); case KeyboardInputModifier.Shift: return(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)); case KeyboardInputModifier.Control: return(Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)); case KeyboardInputModifier.Alt: return(Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt)); default: return(false); } }
public void RegisterInputMapping(string inputName, KeyboardInputModifier inputModifiers, params KeyCode[] keyCodes) { KeyboadMappedInput mappedInput; if (mapping.TryGetValue(inputName, out mappedInput)) { mappedInput.Modifiers = inputModifiers; mappedInput.AddKeyCodes(keyCodes); } else { mapping.Add( inputName, new KeyboadMappedInput { InputName = inputName, Modifiers = inputModifiers, KeyCodes = keyCodes.ToList() }); } }
private bool ModifiersActive() { KeyboardInputModifier currentlyPressed = KeyboardInputModifier.None; if (GetKeyModifier(KeyboardInputModifier.Shift)) { currentlyPressed = currentlyPressed | KeyboardInputModifier.Shift; } if (GetKeyModifier(KeyboardInputModifier.Control)) { currentlyPressed = currentlyPressed | KeyboardInputModifier.Control; } if (GetKeyModifier(KeyboardInputModifier.Alt)) { currentlyPressed = currentlyPressed | KeyboardInputModifier.Alt; } return(currentlyPressed == Modifiers); }