Exemple #1
0
        private ushort[] GetScancodeSequense(XInputState st, GamePadEventType type)
        {
            string[] keystroke = new string[] { };
            switch (type)
            {
            case GamePadEventType.Button:
                keystroke = Parse.Keystroke(Parse.KeysToString(Controller.GetProfile(), (XInputWrapper.GP)st.Gamepad.WButtons));
                break;

            case GamePadEventType.RightTrigger:
                keystroke = Parse.Keystroke(Parse.KeysToString(Controller.GetProfile(), (XInputWrapper.GP) 0x3333));
                break;

            case GamePadEventType.LeftTrigger:
                keystroke = Parse.Keystroke(Parse.KeysToString(Controller.GetProfile(), (XInputWrapper.GP) 0x5555));
                break;
            }
            List <ushort> result = new List <ushort>();

            foreach (var item in keystroke)
            {
                HardwareButtons code = (HardwareButtons)Enum.Parse(typeof(HardwareButtons), item);
                if (User32Wrapper.VKeys.TryGetValue((int)code, out ushort value))
                {
                    result.Add(value);
                }
            }

            return(result.ToArray());
        }
Exemple #2
0
 public static HardwareButtons[] KeyCodes(string value)
 {
     string[]          keysLine    = Keystroke(value);
     HardwareButtons[] keySequence = new HardwareButtons[keysLine.Length];
     for (int i = 0; i < keysLine.Length; i++)
     {
         keySequence[i] = Enum.TryParse(keysLine[i], out HardwareButtons code) ? code : HardwareButtons.Unknown;
     }
     return(keySequence);
 }
Exemple #3
0
        private void OnKeyDown(HardwareButtons button)
        {
            string key = Parse.KeysString(button);

            if (button == HardwareButtons.Unknown)
            {
                return;
            }

            if (!_keySequence.Contains(key))
            {
                _keySequence.Add(key);
            }
            SetShortcutSequence();
        }
Exemple #4
0
        private void OnKeyDown(HardwareButtons button)
        {
            string key = Parse.KeysString(button);

            if (button == HardwareButtons.Unknown)
            {
                return;
            }

            if (_keyCount == 0)
            {
                _keyStroketext = String.Empty;
                KeySequence.Clear();
            }

            if (!KeySequence.Contains(key))
            {
                KeySequence.Add(key);
                _keyCount++;
            }
            SetShortcutSequence();
        }
Exemple #5
0
        public static string KeysString(HardwareButtons button)
        {
            string vkey = String.Empty;

            switch (button)
            {
            case HardwareButtons.LeftShift:
            case HardwareButtons.RightShift:
                vkey = "Shift";
                break;

            case HardwareButtons.LeftControl:
            case HardwareButtons.RightControl:
                vkey = "Control";
                break;

            case HardwareButtons.LeftAlt:
            case HardwareButtons.RightAlt:
                vkey = "Alt";
                break;

            case HardwareButtons.LeftSuper:
            case HardwareButtons.RightSuper:
                vkey = "Win";
                break;

            default:
                break;
            }

            if (vkey == String.Empty)
            {
                vkey = button.ToString();
            }

            return(vkey.Contains("Alpha") ? vkey.Replace("Alpha", String.Empty) : vkey); // for keys: 1, 2, ... 0
        }
Exemple #6
0
        public static string KeysToString(Profile profile, XInputWrapper.GP button)
        {
            HardwareButtons[] sequence;
            switch (button)
            {
            case XInputWrapper.GP.XINPUT_GAMEPAD_A:
                sequence = profile.ButtonA;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_X:
                sequence = profile.ButtonX;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_Y:
                sequence = profile.ButtonY;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_B:
                sequence = profile.ButtonB;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_DPAD_UP:
                sequence = profile.ButtonDUp;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_DPAD_DOWN:
                sequence = profile.ButtonDDown;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_DPAD_LEFT:
                sequence = profile.ButtonDLeft;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_DPAD_RIGHT:
                sequence = profile.ButtonDRight;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_BACK:
                sequence = profile.ButtonBack;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_START:
                sequence = profile.ButtonStart;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_LEFT_SHOULDER:
                sequence = profile.ButtonLB;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_LEFT_THUMB:
                sequence = profile.ButtonLS;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_RIGHT_SHOULDER:
                sequence = profile.ButtonRB;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_RIGHT_THUMB:
                sequence = profile.ButtonRS;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_RIGHT_TRIGGER:
                sequence = profile.ButtonRT;
                break;

            case XInputWrapper.GP.XINPUT_GAMEPAD_LEFT_TRIGGER:
                sequence = profile.ButtonLT;
                break;

            default:
                sequence = new HardwareButtons[] { HardwareButtons.Unknown };
                break;
            }

            return(KeysToString(sequence));
        }