public override void ApplyCustomMappings(EmuCores.GB.ConfigsGB.InputProfile aProfile) { if (aProfile.inputType != "joystick") { return; } m_mappedButtons[(int)GBButtons.A] = ParseBtnCode(aProfile.buttonA); m_mappedButtons[(int)GBButtons.B] = ParseBtnCode(aProfile.buttonB); m_mappedButtons[(int)GBButtons.Select] = ParseBtnCode(aProfile.buttonSelect); m_mappedButtons[(int)GBButtons.Start] = ParseBtnCode(aProfile.buttonStart); m_mappedButtons[(int)GBButtons.DPadUp] = ParseBtnCode(aProfile.buttonDPadUp); m_mappedButtons[(int)GBButtons.DPadDown] = ParseBtnCode(aProfile.buttonDPadDown); m_mappedButtons[(int)GBButtons.DPadLeft] = ParseBtnCode(aProfile.buttonDPadLeft); m_mappedButtons[(int)GBButtons.DPadRight] = ParseBtnCode(aProfile.buttonDPadRight); }
public override void ApplyCustomMappings(EmuCores.GB.ConfigsGB.InputProfile aProfile) { if (aProfile.inputType != "xinput") { return; } try { m_mappedButtons[(int)GBButtons.A] = new DigitalButton(int.Parse(aProfile.buttonA)); m_mappedButtons[(int)GBButtons.B] = new DigitalButton(int.Parse(aProfile.buttonB)); m_mappedButtons[(int)GBButtons.Select] = new DigitalButton(int.Parse(aProfile.buttonSelect)); m_mappedButtons[(int)GBButtons.Start] = new DigitalButton(int.Parse(aProfile.buttonStart)); } catch (System.Exception e) { EmuEnvironment.ShowErrorBox("Config file error", "Invalid data in Profile Input section: " + e.Message); } }
public override void ApplyCustomMappings(EmuCores.GB.ConfigsGB.InputProfile aProfile) { }
public static GBInput BuildInput(EmuCores.GB.ConfigsGB.InputProfile aProfile, List <PlatformSupport.IPlatformInput> aInputList) { // Build input list for (int i = 0; i < aInputList.Count; ++i) { if (aInputList[i].InputType == PlatformSupport.InputType.Keyboard) { s_inputList.Add(new KeyboardInput_GB(aInputList[i])); } else if (aInputList[i].InputType == PlatformSupport.InputType.Xbox) { s_inputList.Add(new XboxInput_GB(aInputList[i])); } else if (aInputList[i].InputType == PlatformSupport.InputType.GenericJoystick) { s_inputList.Add(new GenericJoystick_GB(aInputList[i])); } } if (aInputList.Count == 1) { return(s_inputList[0]); } return(new MasterInput_GB()); //TODO: apply custom profiles #if _DISABLED for (int i = 0; i < aInputList.Count; ++i) { if (aProfile.inputType == "keyboard" && aInputList[i] is PlatformSupport.KeyboardInput) { var kbd = new KeyboardInput_GB(aInputList[i]); kbd.ApplyCustomMappings(aProfile); return(kbd); } else if (aProfile.inputType == "xinput" && aInputList[i] is PlatformSupport.XboxInputType) { var xinput = new XboxInput_GB(aInputList[i]); xinput.ApplyCustomMappings(aProfile); return(xinput); } else if (aProfile.inputType == "joystick" && aInputList[i] is PlatformSupport.GenericJoystick) { var joystick = new GenericJoystick_GB(aInputList[i]); joystick.ApplyCustomMappings(aProfile); return(joystick); } } // Build default for platform var defaultInput = aInputList[0]; if (defaultInput is PlatformSupport.KeyboardInput) { return(new KeyboardInput_GB(defaultInput)); } else if (defaultInput is PlatformSupport.XboxInputType) { return(new XboxInput_GB(defaultInput)); } // Keyboard as fallback return(new KeyboardInput_GB(defaultInput)); #endif // _DISABLED }
public abstract void ApplyCustomMappings(EmuCores.GB.ConfigsGB.InputProfile aProfile);