nJoy: Fixed settings when multiple pads are connected
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2195 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
c18613a580
commit
6daae62df3
|
@ -292,7 +292,8 @@ void ConfigBox::OnSaveById()
|
||||||
// Change Joystick
|
// Change Joystick
|
||||||
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||||
/* Function: When changing the joystick we save and load the settings and update the PadMapping
|
/* Function: When changing the joystick we save and load the settings and update the PadMapping
|
||||||
and PadState array */
|
and PadState array. PadState[].joy is the gamepad handle that is used to access the pad throughout
|
||||||
|
the plugin. Joyinfo[].joy is only used the first time the pads are checked. */
|
||||||
void ConfigBox::DoChangeJoystick()
|
void ConfigBox::DoChangeJoystick()
|
||||||
{
|
{
|
||||||
// Close the current pad, unless it's used by another slot
|
// Close the current pad, unless it's used by another slot
|
||||||
|
@ -443,12 +444,17 @@ void ConfigBox::ChangeSettings( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDC_CONTROLTYPE:
|
case IDC_CONTROLTYPE:
|
||||||
case IDC_TRIGGERTYPE:
|
|
||||||
if(!g_Config.bSaveByID)
|
if(!g_Config.bSaveByID)
|
||||||
{
|
{
|
||||||
PadMapping[notebookpage].controllertype = m_ControlType[notebookpage]->GetSelection();
|
PadMapping[notebookpage].controllertype = m_ControlType[notebookpage]->GetSelection();
|
||||||
UpdateGUI(notebookpage);
|
UpdateGUI(notebookpage);
|
||||||
}
|
}
|
||||||
|
case IDC_TRIGGERTYPE:
|
||||||
|
if(!g_Config.bSaveByID)
|
||||||
|
{
|
||||||
|
PadMapping[notebookpage].triggertype = m_TriggerType[notebookpage]->GetSelection();
|
||||||
|
UpdateGUI(notebookpage);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDC_JOYNAME:
|
case IDC_JOYNAME:
|
||||||
|
|
|
@ -268,14 +268,15 @@ void ConfigBox::DoGetButtons(int GetId)
|
||||||
int Controller = notebookpage;
|
int Controller = notebookpage;
|
||||||
int PadID = PadMapping[Controller].ID;
|
int PadID = PadMapping[Controller].ID;
|
||||||
|
|
||||||
/* Open a new joystick. Joysticks[controller].GetId is the system GetId of the physical joystick
|
// Create a shortcut for the pad handle
|
||||||
that is mapped to controller, for example 0, 1, 2, 3 for the first four PadMapping */
|
SDL_Joystick *joy = PadState[Controller].joy;
|
||||||
SDL_Joystick *joy = SDL_JoystickOpen(0);
|
|
||||||
|
|
||||||
// Get the number of axes, hats and buttons
|
// Get the number of axes, hats and buttons
|
||||||
int buttons = SDL_JoystickNumButtons(joy);
|
int Buttons = SDL_JoystickNumButtons(joy);
|
||||||
int axes = SDL_JoystickNumAxes(joy);
|
int Axes = SDL_JoystickNumAxes(joy);
|
||||||
int hats = SDL_JoystickNumHats(joy);
|
int Hats = SDL_JoystickNumHats(joy);
|
||||||
|
|
||||||
|
Console::Print("PadID: %i Axes: %i\n", PadID, joyinfo[PadID].NumAxes, joyinfo[PadID].joy);
|
||||||
|
|
||||||
// Get the controller and trigger type
|
// Get the controller and trigger type
|
||||||
int ControllerType = PadMapping[Controller].controllertype;
|
int ControllerType = PadMapping[Controller].controllertype;
|
||||||
|
@ -350,7 +351,7 @@ void ConfigBox::DoGetButtons(int GetId)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InputCommon::GetButton(
|
InputCommon::GetButton(
|
||||||
joyinfo[PadID].joy, PadID, joyinfo[PadID].NumButtons, joyinfo[PadID].NumAxes, joyinfo[PadID].NumHats,
|
joy, PadID, Buttons, Axes, Hats,
|
||||||
g_Pressed, value, type, pressed, Succeed, Stop,
|
g_Pressed, value, type, pressed, Succeed, Stop,
|
||||||
LeftRight, Axis, XInput, Button, Hat, NoTriggerFilter);
|
LeftRight, Axis, XInput, Button, Hat, NoTriggerFilter);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue