Exemplo n.º 1
0
        public bool SetTriggerState(uint trigger, byte value)
        {
            if (!Enum.IsDefined(typeof(XboxTrigger), trigger))
            {
                return(false);
            }

            return(VirtualXboxController.SetTrigger(this.UserIndex, (XboxTrigger)trigger, value));
        }
Exemplo n.º 2
0
        public bool SetCustomFunctionState(uint function, bool value)
        {
            if (!Enum.IsDefined(typeof(XboxCustomFunction), function))
            {
                throw new InvalidOperationException("Xbox controller has no such custom function: " + function);
            }

            var xboxCustomFunction = (XboxCustomFunction)function;
            var functionType       = Helpers.CustomFunctionHelper.GetFunctionType(xboxCustomFunction);

            switch (functionType)
            {
            case FunctionType.Button:
                return(VirtualXboxController.SetButton(
                           this.UserIndex,
                           Helpers.CustomFunctionHelper.GetXboxButton(xboxCustomFunction),
                           value));

            case FunctionType.Axis:
            {
                XboxAxisPosition pos;
                var axis = Helpers.CustomFunctionHelper.GetXboxAxis(xboxCustomFunction, out pos);
                return(VirtualXboxController.SetAxis(this.UserIndex, axis, (short)pos));
            }

            case FunctionType.Dpad:
                return(VirtualXboxController.SetDPad(
                           this.UserIndex,
                           Helpers.CustomFunctionHelper.GetDpadDirection(xboxCustomFunction)));

            case FunctionType.Trigger:
                return(VirtualXboxController.SetTrigger(
                           this.UserIndex,
                           Helpers.CustomFunctionHelper.GetXboxTrigger(xboxCustomFunction),
                           value ? byte.MaxValue : byte.MinValue));

            default:
                throw new NotImplementedException("Not implemented Function Type: " + functionType);
            }
        }
        public static bool SetFunctionState(XboxCustomFunction function, uint userIndex, bool newState)
        {
            var functionType = GetFunctionType(function);

            switch (functionType)
            {
            case FunctionType.Button:
                var button = GetXboxButton(function);
                return(VirtualXboxController.SetButton(userIndex, button, newState));

            case FunctionType.Axis:
                XboxAxisPosition position;
                var axis = GetXboxAxis(function, out position);

                if (newState == false)
                {
                    return(VirtualXboxController.SetAxis(userIndex, axis, (short)XboxAxisPosition.Center));
                }

                return(VirtualXboxController.SetAxis(userIndex, axis, (short)position));

            case FunctionType.Dpad:
                if (newState == false)
                {
                    return(VirtualXboxController.SetDPad(userIndex, XboxDpadDirection.Off));
                }

                var direction = GetDpadDirection(function);
                return(VirtualXboxController.SetDPad(userIndex, direction));

            case FunctionType.Trigger:
                var trigger = GetXboxTrigger(function);
                return(VirtualXboxController.SetTrigger(userIndex, trigger, newState ? (byte)255 : (byte)0));

            default:
                throw new NotImplementedException("Not implemented xbox function type: " + functionType);
            }
        }