static XBox360HidMapping()
        {
            RetroPadMapping mapping = new RetroPadMapping()
            {
                DeviceId = HidGameControl.DEVICE_ID, DeviceName = DEVICE_NAME
            };

            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.LEFT, new DeviceInput("Left", DirectionPadState.Left.ToString(), InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.RIGHT, new DeviceInput("Right", DirectionPadState.Right.ToString(), InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.UP, new DeviceInput("Up", DirectionPadState.Up.ToString(), InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.DOWN, new DeviceInput("Down", DirectionPadState.Down.ToString(), InputType.Button));

            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.A, new DeviceInput("2", "2", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.B, new DeviceInput("1", "1", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.X, new DeviceInput("4", "4", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.Y, new DeviceInput("3", "3", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.SELECT, new DeviceInput("7", "7", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.START, new DeviceInput("8", "8", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.L, new DeviceInput("5", "5", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.R, new DeviceInput("6", "6", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.L3, new DeviceInput("9", "9", InputType.Button));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.R3, new DeviceInput("10", "10", InputType.Button));

            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.L2, new DeviceInput("Z", "50", InputType.Axis, true));
            mapping.MapButton(RETRO_DEVICE_ID_JOYPAD.R2, new DeviceInput("Z", "50", InputType.Axis, false));

            mapping.MapAnalog(RetroAnalogDevice.LeftThumbLeft, new DeviceInput("X", "48", InputType.Axis, false));
            mapping.MapAnalog(RetroAnalogDevice.LeftThumbRight, new DeviceInput("X", "48", InputType.Axis, true));
            mapping.MapAnalog(RetroAnalogDevice.LeftThumbUp, new DeviceInput("Y", "49", InputType.Axis, false));
            mapping.MapAnalog(RetroAnalogDevice.LeftThumbDown, new DeviceInput("Y", "49", InputType.Axis, true));

            mapping.MapAnalog(RetroAnalogDevice.RightThumbLeft, new DeviceInput("Rx", "51", InputType.Axis, false));
            mapping.MapAnalog(RetroAnalogDevice.RightThumbRight, new DeviceInput("Rx", "51", InputType.Axis, true));
            mapping.MapAnalog(RetroAnalogDevice.RightThumbUp, new DeviceInput("Ry", "52", InputType.Axis, false));
            mapping.MapAnalog(RetroAnalogDevice.RightThumbDown, new DeviceInput("Ry", "52", InputType.Axis, true));

            DefaultMapping = mapping;
        }
Beispiel #2
0
        public static RetroPadMapping GetDefaultMapping(string subDeviceId, bool mapAnalogToDPad)
        {
            RetroPadMapping mapping = new RetroPadMapping()
            {
                DeviceId    = XInputController.DEVICE_ID,
                SubDeviceId = subDeviceId,
                DeviceName  = XInputController.DEVICE_NAME
            };

            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.LEFT, DPAD_LEFT);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.RIGHT, DPAD_RIGHT);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.UP, DPAD_UP);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.DOWN, DPAD_DOWN);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.SELECT, BACK);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.START, START);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.A, B);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.B, A);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.X, Y);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.Y, X);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.L, LEFT_SHOULDER);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.R, RIGHT_SHOULDER);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.L2, LEFT_TRIGGER);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.R2, RIGHT_TRIGGER);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.L3, LEFT_THUMB);
            mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.R3, RIGHT_THUMB);

            mapping.MapAnalog(RetroAnalogDevice.RightThumbLeft, RIGHT_THUMB_LEFT);
            mapping.MapAnalog(RetroAnalogDevice.RightThumbRight, RIGHT_THUMB_RIGHT);
            mapping.MapAnalog(RetroAnalogDevice.RightThumbUp, RIGHT_THUMB_UP);
            mapping.MapAnalog(RetroAnalogDevice.RightThumbDown, RIGHT_THUMB_DOWN);

            if (mapAnalogToDPad)
            {
                mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.LEFT, LEFT_THUMB_LEFT);
                mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.RIGHT, LEFT_THUMB_RIGHT);
                mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.UP, LEFT_THUMB_UP);
                mapping.MapButton(SharpRetro.LibRetro.RETRO_DEVICE_ID_JOYPAD.DOWN, LEFT_THUMB_DOWN);
            }
            else
            {
                mapping.MapAnalog(RetroAnalogDevice.LeftThumbLeft, LEFT_THUMB_LEFT);
                mapping.MapAnalog(RetroAnalogDevice.LeftThumbRight, LEFT_THUMB_RIGHT);
                mapping.MapAnalog(RetroAnalogDevice.LeftThumbUp, LEFT_THUMB_UP);
                mapping.MapAnalog(RetroAnalogDevice.LeftThumbDown, LEFT_THUMB_DOWN);
            }

            return(mapping);
        }