Ejemplo n.º 1
0
 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);
        }
    }
Ejemplo n.º 3
0
    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);
    }