Пример #1
0
        private string RetrieveFunctionName(IPresetElement presetElement)
        {
            var targetType = typeof(string);

            switch (presetElement.FunctionType)
            {
            case SplitterCore.FunctionType.Button:
            {
                var button = presetElement as PresetButton;
                return(new XboxButtonConverter().Convert(button.Button, targetType, null, null).ToString());
            }

            case SplitterCore.FunctionType.Trigger:
            {
                var trigger = presetElement as PresetTrigger;
                return(new XboxTriggerConverter().Convert(trigger.Trigger, targetType, null, null).ToString());
            }

            case SplitterCore.FunctionType.Axis:
            {
                var axis          = presetElement as PresetAxis;
                var axisConverter = new XboxAxisConverter();
                var xboxAxisName  = axisConverter.Convert(axis.Axis, targetType, null, null);
                var pos           = axisConverter.Convert(axis.Value, targetType, "value", null);
                return(string.Format("{0} {1}", xboxAxisName, pos));
            }

            case SplitterCore.FunctionType.Dpad:
            {
                var dpad = presetElement as PresetDpad;
                return(new XboxDpadConverter().Convert(dpad.Direction, targetType, null, null).ToString());
            }

            case SplitterCore.FunctionType.Custom:
            {
                var custom = presetElement as PresetCustom;
                return(new XboxCustomFunctionConverter().Convert(custom.Function, targetType, null, null).ToString());
            }

            default:
                throw new NotImplementedException("Not implemented function type: " + presetElement.FunctionType);
            }
        }
Пример #2
0
        public InputDetectorWindow(IInputManager inputManager, InputDetectorDeviceFilter filter, IPresetElement presetElement, IEmulationSlot slot)
            : this(inputManager, filter)
        {
            this.InputDetectorTarget = InputDetectorTarget.Key;
            this.FunctionName        = this.RetrieveFunctionName(presetElement);
            this.GamepadName         = "on " + slot.Gamepad.FriendlyName;
            this.keyboard            = slot.Keyboard;
            this.mouse = slot.Mouse;
            this.Title = "Waiting for ";
            switch (this.DeviceFilter)
            {
            case InputDetectorDeviceFilter.KeyboardOnly:
                this.Title += this.keyboard.StrongName;
                break;

            case InputDetectorDeviceFilter.MouseOnly:
                this.Title += this.mouse.StrongName;
                break;

            case InputDetectorDeviceFilter.KeyboardAndMouse:
                this.Title += this.keyboard.StrongName + " and " + this.mouse.StrongName;
                break;

            default:
                break;
            }

            this.Title += " input...";
        }