private void LockDPadX(ControllerInputBinding ControllerInputX)
        {
            int  ToggleButtonID = ControllerInputX.ButtonID;
            bool ToggleLoop     = true;

            while (ControllerDPad[0] == ToggleButtonID)
            {
                GetControllerState(); Thread.Sleep(15);
            }                                                                                       // Wait until user releases button

            while (ToggleLoop)
            {
                ExecuteAction((int)ControllerInputX.ActionToPerform); GetControllerState();
                if (ControllerDPad[0] == ToggleButtonID)
                {
                    ToggleLoop = false;
                }                                                                // Poll for re-press
                Thread.Sleep(15);
            }
            while (ControllerDPad[0] == ToggleButtonID)
            {
                GetControllerState(); Thread.Sleep(15);
            }                                                                                       // Wait until user releases button
            DPADButtonsIgnoreID.RemoveAll(FindToggleButton => FindToggleButton == ToggleButtonID);
        }
        public void LockButtonX(ControllerInputBinding ControllerInputX, Joystick PlayerControllerX)
        {
            int  ToggleButtonID = ControllerInputX.ButtonID;
            bool ToggleLoop     = true;

            do
            {
                { GetControllerState(PlayerControllerX); Thread.Sleep(15); }
            } while (ControllerButtons[ToggleButtonID]);                                                                   // Wait until user releases button

            do
            {
                ExecuteAction((int)ControllerInputX.ActionToPerform); GetControllerState(PlayerControllerX);
                if (ControllerButtons[ToggleButtonID] == true)
                {
                    ToggleLoop = false;
                }                                                                      // Poll for re-press
                Thread.Sleep(15);
            }while (ToggleLoop);
            do
            {
                GetControllerState(PlayerControllerX); Thread.Sleep(15);
            } while (ControllerButtons[ToggleButtonID]);                                                                // Wait until user releases button
            ButtonsIgnoreID.RemoveAll(FindToggleButton => FindToggleButton == ToggleButtonID);
        }