void Emulator_Implementation_ButtonMappingSettings(int map_button_option_enum)
{
	switch(map_button_option_enum)
	{
		case MAP_BUTTONS_OPTION_SETTER:
			currentconfig.SetInt("PS3ButtonMappings::DPad_Up",Settings.DPad_Up);
			currentconfig.SetInt("PS3ButtonMappings::DPad_Down",Settings.DPad_Down);
			currentconfig.SetInt("PS3ButtonMappings::DPad_Left",Settings.DPad_Left);
			currentconfig.SetInt("PS3ButtonMappings::DPad_Right",Settings.DPad_Right);
			currentconfig.SetInt("PS3ButtonMappings::ButtonCircle",Settings.ButtonCircle);
			currentconfig.SetInt("PS3ButtonMappings::ButtonCross",Settings.ButtonCross);
			currentconfig.SetInt("PS3ButtonMappings::ButtonTriangle",Settings.ButtonTriangle);
			currentconfig.SetInt("PS3ButtonMappings::ButtonSquare",Settings.ButtonSquare);
			currentconfig.SetInt("PS3ButtonMappings::ButtonSelect",Settings.ButtonSelect);
			currentconfig.SetInt("PS3ButtonMappings::ButtonStart",Settings.ButtonStart);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL1",Settings.ButtonL1);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR1",Settings.ButtonR1);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2",Settings.ButtonL2);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2",Settings.ButtonR2);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_ButtonL3",Settings.ButtonL2_ButtonL3);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_ButtonR3",Settings.ButtonL2_ButtonR3);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR3",Settings.ButtonR3);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL3",Settings.ButtonL3);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_ButtonR2",Settings.ButtonL2_ButtonR2);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Right",Settings.ButtonL2_AnalogR_Right);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Left",Settings.ButtonL2_AnalogR_Left);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Up",Settings.ButtonL2_AnalogR_Up);
			currentconfig.SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Down",Settings.ButtonL2_AnalogR_Down);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Right",Settings.ButtonR2_AnalogR_Right);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Left",Settings.ButtonR2_AnalogR_Left);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Up",Settings.ButtonR2_AnalogR_Up);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Down",Settings.ButtonR2_AnalogR_Down);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR2_ButtonR3",Settings.ButtonR2_ButtonR3);
			currentconfig.SetInt("PS3ButtonMappings::ButtonR3_ButtonL3",Settings.ButtonR3_ButtonL3);
			currentconfig.SetInt("PS3ButtonMappings::AnalogR_Up",Settings.AnalogR_Up);
			currentconfig.SetInt("PS3ButtonMappings::AnalogR_Down",Settings.AnalogR_Down);
			currentconfig.SetInt("PS3ButtonMappings::AnalogR_Left",Settings.AnalogR_Left);
			currentconfig.SetInt("PS3ButtonMappings::AnalogR_Right",Settings.AnalogR_Right);

			currentconfig.SetBool("PS3ButtonMappings::AnalogR_Up_Type",Settings.AnalogR_Up_Type);
			currentconfig.SetBool("PS3ButtonMappings::AnalogR_Down_Type",Settings.AnalogR_Down_Type);
			currentconfig.SetBool("PS3ButtonMappings::AnalogR_Left_Type",Settings.AnalogR_Left_Type);
			currentconfig.SetBool("PS3ButtonMappings::AnalogR_Right_Type",Settings.AnalogR_Right_Type);
			break;
		case MAP_BUTTONS_OPTION_GETTER:
			Settings.DPad_Up		= currentconfig.GetInt("PS3ButtonMappings::DPad_Up",BTN_UP);
			Settings.DPad_Down		= currentconfig.GetInt("PS3ButtonMappings::DPad_Down",BTN_DOWN);
			Settings.DPad_Left		= currentconfig.GetInt("PS3ButtonMappings::DPad_Left",BTN_LEFT);
			Settings.DPad_Right		= currentconfig.GetInt("PS3ButtonMappings::DPad_Right",BTN_RIGHT);
			Settings.ButtonCircle		= currentconfig.GetInt("PS3ButtonMappings::ButtonCircle",BTN_A);
			Settings.ButtonCross		= currentconfig.GetInt("PS3ButtonMappings::ButtonCross",BTN_B);
			Settings.ButtonTriangle		= currentconfig.GetInt("PS3ButtonMappings::ButtonTriangle",BTN_NONE);
			Settings.ButtonSquare		= currentconfig.GetInt("PS3ButtonMappings::ButtonSquare",BTN_NONE);
			Settings.ButtonSelect		= currentconfig.GetInt("PS3ButtonMappings::ButtonSelect",BTN_SELECT);
			Settings.ButtonStart		= currentconfig.GetInt("PS3ButtonMappings::ButtonStart",BTN_START);
			Settings.ButtonL1		= currentconfig.GetInt("PS3ButtonMappings::ButtonL1",BTN_NONE);
			Settings.ButtonR1		= currentconfig.GetInt("PS3ButtonMappings::ButtonR1",BTN_NONE);
			Settings.ButtonL2		= currentconfig.GetInt("PS3ButtonMappings::ButtonL2",BTN_NONE);
			Settings.ButtonR2		= currentconfig.GetInt("PS3ButtonMappings::ButtonR2",BTN_NONE);
			Settings.ButtonL2_ButtonL3	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_ButtonL3",BTN_NONE);
			Settings.ButtonL2_ButtonR3	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_ButtonR3",BTN_QUICKLOAD);
			Settings.ButtonR3		= currentconfig.GetInt("PS3ButtonMappings::ButtonR3",BTN_NONE);
			Settings.ButtonL3		= currentconfig.GetInt("PS3ButtonMappings::ButtonL3",BTN_NONE);
			Settings.ButtonL2_ButtonR2	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_ButtonR2",BTN_NONE);
			Settings.ButtonL2_AnalogR_Right = currentconfig.GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Right",BTN_INCREMENTCHEAT);
			Settings.ButtonL2_AnalogR_Left	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Left",BTN_DECREMENTCHEAT);
			Settings.ButtonL2_AnalogR_Up	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Up",BTN_NONE);
			Settings.ButtonL2_AnalogR_Down	= currentconfig.GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Down",BTN_NONE);
			Settings.ButtonR2_AnalogR_Right	= currentconfig.GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Right",BTN_NONE);
			Settings.ButtonR2_AnalogR_Left	= currentconfig.GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Left",BTN_NONE);
			Settings.ButtonR2_AnalogR_Up	= currentconfig.GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Up",BTN_NONE);
			Settings.ButtonR2_AnalogR_Down	= currentconfig.GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Down",BTN_NONE);
			Settings.ButtonR2_ButtonR3	= currentconfig.GetInt("PS3ButtonMappings::ButtonR2_ButtonR3",BTN_QUICKSAVE);
			Settings.ButtonR3_ButtonL3	= currentconfig.GetInt("PS3ButtonMappings::ButtonR3_ButtonL3",BTN_EXITTOMENU);
			Settings.AnalogR_Up		= currentconfig.GetInt("PS3ButtonMappings::AnalogR_Up",BTN_CHEATENABLE);
			Settings.AnalogR_Down		= currentconfig.GetInt("PS3ButtonMappings::AnalogR_Down",BTN_NONE);
			Settings.AnalogR_Left		= currentconfig.GetInt("PS3ButtonMappings::AnalogR_Left",BTN_DECREMENTSAVE);
			Settings.AnalogR_Right		= currentconfig.GetInt("PS3ButtonMappings::AnalogR_Right",BTN_INCREMENTSAVE);

			Settings.AnalogR_Up_Type	= currentconfig.GetBool("PS3ButtonMappings::AnalogR_Up_Type",false);
			Settings.AnalogR_Down_Type	= currentconfig.GetBool("PS3ButtonMappings::AnalogR_Down_Type",false);
			Settings.AnalogR_Left_Type	= currentconfig.GetBool("PS3ButtonMappings::AnalogR_Left_Type",false);
			Settings.AnalogR_Right_Type	= currentconfig.GetBool("PS3ButtonMappings::AnalogR_Right_Type",false);
			break;
		case MAP_BUTTONS_OPTION_DEFAULT:
			Settings.DPad_Up			= BTN_UP;
			Settings.DPad_Down			= BTN_DOWN;
			Settings.DPad_Left			= BTN_LEFT;
			Settings.DPad_Right			= BTN_RIGHT;
			Settings.ButtonCircle			= BTN_A;
			Settings.ButtonCross			= BTN_B;
			Settings.ButtonTriangle			= BTN_NONE;
			Settings.ButtonSquare			= BTN_NONE;
			Settings.ButtonSelect			= BTN_SELECT;
			Settings.ButtonStart			= BTN_START;
			Settings.ButtonL1			= BTN_NONE;
			Settings.ButtonR1			= BTN_NONE;
			Settings.ButtonL2			= BTN_NONE;
			Settings.ButtonR2			= BTN_NONE;
			Settings.ButtonL2_ButtonL3		= BTN_NONE;
			Settings.ButtonL2_ButtonR3		= BTN_QUICKLOAD;	
			Settings.ButtonR3			= BTN_NONE;
			Settings.ButtonL3			= BTN_NONE;
			Settings.ButtonL2_ButtonR2		= BTN_NONE;
			Settings.ButtonL2_AnalogR_Right		= BTN_INCREMENTCHEAT;
			Settings.ButtonL2_AnalogR_Left		= BTN_DECREMENTCHEAT;
			Settings.ButtonL2_AnalogR_Up		= BTN_NONE;
			Settings.ButtonL2_AnalogR_Down		= BTN_NONE;
			Settings.ButtonR2_AnalogR_Right		= BTN_NONE;
			Settings.ButtonR2_AnalogR_Left		= BTN_NONE;
			Settings.ButtonR2_AnalogR_Up		= BTN_NONE;
			Settings.ButtonR2_AnalogR_Down		= BTN_NONE;
			Settings.ButtonR2_ButtonR3		= BTN_QUICKSAVE;
			Settings.ButtonR3_ButtonL3		= BTN_EXITTOMENU;
			Settings.AnalogR_Up			= BTN_CHEATENABLE;
			Settings.AnalogR_Down			= BTN_NONE;
			Settings.AnalogR_Left			= BTN_DECREMENTSAVE;
			Settings.AnalogR_Right			= BTN_INCREMENTSAVE;
			Settings.AnalogR_Up_Type		= false;
			Settings.AnalogR_Down_Type		= false;
			Settings.AnalogR_Left_Type		= false;
			Settings.AnalogR_Right_Type		= false;
			break;
		case MAP_BUTTONS_OPTION_NEW:
			Input_MapButton(&Settings.DPad_Up,false,BTN_UP);
			Input_MapButton(&Settings.DPad_Down,false,BTN_DOWN);
			Input_MapButton(&Settings.DPad_Left,false,BTN_LEFT);
			Input_MapButton(&Settings.DPad_Right,false,BTN_RIGHT);
			Input_MapButton(&Settings.ButtonCircle,false,BTN_A);
			Input_MapButton(&Settings.ButtonCross,false,BTN_B);
			Input_MapButton(&Settings.ButtonTriangle,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonSquare,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonSelect,false,BTN_SELECT);
			Input_MapButton(&Settings.ButtonStart,false,BTN_START);
			Input_MapButton(&Settings.ButtonL1,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL2,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonR2,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL3,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonR3,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonR1,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL2_ButtonL3,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL2_ButtonR2,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL2_ButtonR3,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonR2_ButtonR3,false,BTN_NONE);
			Input_MapButton(&Settings.AnalogR_Up,false,BTN_NONE);
			Input_MapButton(&Settings.AnalogR_Down,false,BTN_NONE);
			Input_MapButton(&Settings.AnalogR_Left,false,BTN_NONE);
			Input_MapButton(&Settings.AnalogR_Right,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonL2_AnalogR_Right,false,BTN_INCREMENTCHEAT);
			Input_MapButton(&Settings.ButtonL2_AnalogR_Left,false,BTN_DECREMENTCHEAT);
			Input_MapButton(&Settings.ButtonL2_AnalogR_Up,false,BTN_CHEATENABLE);
			Input_MapButton(&Settings.ButtonL2_AnalogR_Down,false,BTN_NONE);
			Input_MapButton(&Settings.ButtonR2_AnalogR_Right,false,BTN_INCREMENTSAVE);
			Input_MapButton(&Settings.ButtonR2_AnalogR_Left,false,BTN_DECREMENTSAVE);
			Input_MapButton(&Settings.ButtonR2_AnalogR_Up,false,BTN_QUICKLOAD);
			Input_MapButton(&Settings.ButtonR2_AnalogR_Down,false,BTN_QUICKSAVE);
			Input_MapButton(&Settings.ButtonR3_ButtonL3,false,BTN_EXITTOMENU);
			Settings.AnalogR_Up_Type = 0;
			Settings.AnalogR_Down_Type = 0;
			Settings.AnalogR_Left_Type = 0;
			Settings.AnalogR_Right_Type = 0;
			break;
	}
}
void Emulator_Implementation_ButtonMappingSettings(bool map_button_option_enum)
{
    switch(map_button_option_enum)
    {
    case MAP_BUTTONS_OPTION_SETTER:
        currentconfig->SetInt("PS3ButtonMappings::DPad_Up",Settings.DPad_Up);
        currentconfig->SetInt("PS3ButtonMappings::DPad_Down",Settings.DPad_Down);
        currentconfig->SetInt("PS3ButtonMappings::DPad_Left",Settings.DPad_Left);
        currentconfig->SetInt("PS3ButtonMappings::DPad_Right",Settings.DPad_Right);
        currentconfig->SetInt("PS3ButtonMappings::ButtonCircle",Settings.ButtonCircle);
        currentconfig->SetInt("PS3ButtonMappings::ButtonCross",Settings.ButtonCross);
        currentconfig->SetInt("PS3ButtonMappings::ButtonTriangle",Settings.ButtonTriangle);
        currentconfig->SetInt("PS3ButtonMappings::ButtonSquare",Settings.ButtonSquare);
        currentconfig->SetInt("PS3ButtonMappings::ButtonSelect",Settings.ButtonSelect);
        currentconfig->SetInt("PS3ButtonMappings::ButtonStart",Settings.ButtonStart);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL1",Settings.ButtonL1);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR1",Settings.ButtonR1);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2",Settings.ButtonL2);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2",Settings.ButtonR2);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_ButtonL3",Settings.ButtonL2_ButtonL3);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_ButtonR3",Settings.ButtonL2_ButtonR3);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR3",Settings.ButtonR3);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL3",Settings.ButtonL3);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_ButtonR2",Settings.ButtonL2_ButtonR2);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Right",Settings.ButtonL2_AnalogR_Right);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Left",Settings.ButtonL2_AnalogR_Left);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Up",Settings.ButtonL2_AnalogR_Up);
        currentconfig->SetInt("PS3ButtonMappings::ButtonL2_AnalogR_Down",Settings.ButtonL2_AnalogR_Down);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Right",Settings.ButtonR2_AnalogR_Right);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Left",Settings.ButtonR2_AnalogR_Left);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Up",Settings.ButtonR2_AnalogR_Up);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2_AnalogR_Down",Settings.ButtonR2_AnalogR_Down);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR2_ButtonR3",Settings.ButtonR2_ButtonR3);
        currentconfig->SetInt("PS3ButtonMappings::ButtonR3_ButtonL3",Settings.ButtonR3_ButtonL3);
        currentconfig->SetInt("PS3ButtonMappings::AnalogR_Up",Settings.AnalogR_Up);
        currentconfig->SetInt("PS3ButtonMappings::AnalogR_Down",Settings.AnalogR_Down);
        currentconfig->SetInt("PS3ButtonMappings::AnalogR_Left",Settings.AnalogR_Left);
        currentconfig->SetInt("PS3ButtonMappings::AnalogR_Right",Settings.AnalogR_Right);

        currentconfig->SetBool("PS3ButtonMappings::AnalogR_Up_Type",Settings.AnalogR_Up_Type);
        currentconfig->SetBool("PS3ButtonMappings::AnalogR_Down_Type",Settings.AnalogR_Down_Type);
        currentconfig->SetBool("PS3ButtonMappings::AnalogR_Left_Type",Settings.AnalogR_Left_Type);
        currentconfig->SetBool("PS3ButtonMappings::AnalogR_Right_Type",Settings.AnalogR_Right_Type);
        break;
    case MAP_BUTTONS_OPTION_GETTER:
        Settings.DPad_Up		= currentconfig->GetInt("PS3ButtonMappings::DPad_Up",BTN_UP);
        Settings.DPad_Down		= currentconfig->GetInt("PS3ButtonMappings::DPad_Down",BTN_DOWN);
        Settings.DPad_Left		= currentconfig->GetInt("PS3ButtonMappings::DPad_Left",BTN_LEFT);
        Settings.DPad_Right		= currentconfig->GetInt("PS3ButtonMappings::DPad_Right",BTN_RIGHT);
        Settings.ButtonCircle		= currentconfig->GetInt("PS3ButtonMappings::ButtonCircle",BTN_C);
        Settings.ButtonCross		= currentconfig->GetInt("PS3ButtonMappings::ButtonCross",BTN_B);
        Settings.ButtonTriangle		= currentconfig->GetInt("PS3ButtonMappings::ButtonTriangle",BTN_X);
        Settings.ButtonSquare		= currentconfig->GetInt("PS3ButtonMappings::ButtonSquare",BTN_A);
        Settings.ButtonSelect		= currentconfig->GetInt("PS3ButtonMappings::ButtonSelect",BTN_MODE);
        Settings.ButtonStart		= currentconfig->GetInt("PS3ButtonMappings::ButtonStart",BTN_START);
        Settings.ButtonL1		= currentconfig->GetInt("PS3ButtonMappings::ButtonL1",BTN_Y);
        Settings.ButtonR1		= currentconfig->GetInt("PS3ButtonMappings::ButtonR1",BTN_Z);
        Settings.ButtonL2		= currentconfig->GetInt("PS3ButtonMappings::ButtonL2",BTN_NONE);
        Settings.ButtonR2		= currentconfig->GetInt("PS3ButtonMappings::ButtonR2",BTN_NONE);
        Settings.ButtonL2_ButtonL3	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_ButtonL3",BTN_NONE);
        Settings.ButtonL2_ButtonR3	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_ButtonR3",BTN_QUICKLOAD);
        Settings.ButtonR3		= currentconfig->GetInt("PS3ButtonMappings::ButtonR3",BTN_NONE);
        Settings.ButtonL3		= currentconfig->GetInt("PS3ButtonMappings::ButtonL3",BTN_NONE);
        Settings.ButtonL2_ButtonR2	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_ButtonR2",BTN_NONE);
        Settings.ButtonL2_AnalogR_Right = currentconfig->GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Right",BTN_NONE);
        Settings.ButtonL2_AnalogR_Left	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Left",BTN_NONE);
        Settings.ButtonL2_AnalogR_Up	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Up",BTN_NONE);
        Settings.ButtonL2_AnalogR_Down	= currentconfig->GetInt("PS3ButtonMappings::ButtonL2_AnalogR_Down",BTN_NONE);
        Settings.ButtonR2_AnalogR_Right	= currentconfig->GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Right",BTN_NONE);
        Settings.ButtonR2_AnalogR_Left	= currentconfig->GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Left",BTN_NONE);
        Settings.ButtonR2_AnalogR_Up	= currentconfig->GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Up",BTN_NONE);
        Settings.ButtonR2_AnalogR_Down	= currentconfig->GetInt("PS3ButtonMappings::ButtonR2_AnalogR_Down",BTN_NONE);
        Settings.ButtonR2_ButtonR3	= currentconfig->GetInt("PS3ButtonMappings::ButtonR2_ButtonR3",BTN_QUICKSAVE);
        Settings.ButtonR3_ButtonL3	= currentconfig->GetInt("PS3ButtonMappings::ButtonR3_ButtonL3",BTN_EXITTOMENU);
        Settings.AnalogR_Up		= currentconfig->GetInt("PS3ButtonMappings::AnalogR_Up",BTN_NONE);
        Settings.AnalogR_Down		= currentconfig->GetInt("PS3ButtonMappings::AnalogR_Down",BTN_NONE);
        Settings.AnalogR_Left		= currentconfig->GetInt("PS3ButtonMappings::AnalogR_Left",BTN_NONE);
        Settings.AnalogR_Right		= currentconfig->GetInt("PS3ButtonMappings::AnalogR_Right",BTN_NONE);

        Settings.AnalogR_Up_Type	= currentconfig->GetBool("PS3ButtonMappings::AnalogR_Up_Type",false);
        Settings.AnalogR_Down_Type	= currentconfig->GetBool("PS3ButtonMappings::AnalogR_Down_Type",false);
        Settings.AnalogR_Left_Type	= currentconfig->GetBool("PS3ButtonMappings::AnalogR_Left_Type",false);
        Settings.AnalogR_Right_Type	= currentconfig->GetBool("PS3ButtonMappings::AnalogR_Right_Type",false);
        break;
    case MAP_BUTTONS_OPTION_DEFAULT:
        Input_MapButton(&Settings.DPad_Up,true,BTN_UP);
        Input_MapButton(&Settings.DPad_Down,true,BTN_DOWN);
        Input_MapButton(&Settings.DPad_Left,true,BTN_LEFT);
        Input_MapButton(&Settings.DPad_Right,true,BTN_RIGHT);
        Input_MapButton(&Settings.ButtonCircle,true,BTN_C);
        Input_MapButton(&Settings.ButtonCross,true,BTN_B);
        Input_MapButton(&Settings.ButtonTriangle,true,BTN_X);
        Input_MapButton(&Settings.ButtonSquare,true,BTN_A);
        Input_MapButton(&Settings.ButtonSelect,true,BTN_MODE);
        Input_MapButton(&Settings.ButtonStart,true,BTN_START);
        Input_MapButton(&Settings.ButtonL1,true,BTN_Y);
        Input_MapButton(&Settings.ButtonR1,true,BTN_Z);
        Input_MapButton(&Settings.ButtonL2,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonR2,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_ButtonL3,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_ButtonR3,true,BTN_QUICKLOAD);
        Input_MapButton(&Settings.ButtonR3,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL3,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_ButtonR2,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Right,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Left,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Up,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Down,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Right,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonL2_AnalogR_Left,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonR2_AnalogR_Up,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonR2_AnalogR_Down,true,BTN_NONE);
        Input_MapButton(&Settings.ButtonR2_ButtonR3,true,BTN_QUICKSAVE);
        Input_MapButton(&Settings.ButtonR3_ButtonL3,true,BTN_EXITTOMENU);
        Input_MapButton(&Settings.AnalogR_Up,true,BTN_NONE);
        Input_MapButton(&Settings.AnalogR_Down,true,BTN_NONE);
        Input_MapButton(&Settings.AnalogR_Left,true,BTN_NONE);
        Input_MapButton(&Settings.AnalogR_Right,true,BTN_NONE);
        Settings.AnalogR_Up_Type		= false;
        Settings.AnalogR_Down_Type		= false;
        Settings.AnalogR_Left_Type		= false;
        Settings.AnalogR_Right_Type		= false;
        break;
    }
}