Make checking for focus optional for njoy input.
So if one wants, on one monitor play Dolphin, and on the other use the keyboard for something else git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2082 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
d8f71e0574
commit
f999ae94df
|
@ -164,6 +164,7 @@ void Config::Save(int Slot)
|
|||
|
||||
file.Set(SectionName.c_str(), "Diagonal", PadMapping[i].SDiagonal);
|
||||
file.Set(SectionName.c_str(), "SquareToCircle", PadMapping[i].bSquareToCircle);
|
||||
file.Set(SectionName.c_str(), "CheckForFocus", bCheckFocus);
|
||||
// ======================================
|
||||
|
||||
// Debugging
|
||||
|
@ -246,6 +247,7 @@ void Config::Load(bool ChangePad, bool ChangeSaveByID)
|
|||
|
||||
file.Get(SectionName.c_str(), "Diagonal", &PadMapping[i].SDiagonal, "100%");
|
||||
file.Get(SectionName.c_str(), "SquareToCircle", &Tmp, false); PadMapping[i].bSquareToCircle = Tmp;
|
||||
file.Get(SectionName.c_str(), "CheckForFocus", &bCheckFocus, true);
|
||||
// =============================
|
||||
|
||||
// Debugging
|
||||
|
|
|
@ -28,6 +28,7 @@ struct Config
|
|||
// General
|
||||
bool bShowAdvanced; // Only allow one of these
|
||||
bool bSaveByID;
|
||||
bool bCheckFocus;
|
||||
};
|
||||
|
||||
extern Config g_Config;
|
||||
|
|
|
@ -74,6 +74,7 @@ BEGIN_EVENT_TABLE(ConfigBox,wxDialog)
|
|||
// Other settings
|
||||
EVT_CHECKBOX(IDC_SAVEBYID, ConfigBox::ChangeSettings)
|
||||
EVT_CHECKBOX(IDC_SHOWADVANCED, ConfigBox::ChangeSettings)
|
||||
EVT_CHECKBOX(IDC_CHECKFOCUS, ConfigBox::ChangeSettings)
|
||||
EVT_COMBOBOX(IDCB_MAINSTICK_DIAGONAL, ConfigBox::ChangeSettings)
|
||||
EVT_COMBOBOX(IDC_CONTROLTYPE, ConfigBox::ChangeSettings)
|
||||
EVT_COMBOBOX(IDC_TRIGGERTYPE, ConfigBox::ChangeSettings)
|
||||
|
@ -415,7 +416,13 @@ void ConfigBox::ChangeSettings( wxCommandEvent& event )
|
|||
}
|
||||
SizeWindow();
|
||||
break;
|
||||
|
||||
case IDC_CHECKFOCUS:
|
||||
bCheckFocus = m_CBCheckFocus[notebookpage]->IsChecked();
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
m_CBCheckFocus[i]->SetValue(bCheckFocus);
|
||||
}
|
||||
break;
|
||||
case IDC_CONTROLTYPE:
|
||||
case IDC_TRIGGERTYPE:
|
||||
//UpdateGUI(notebookpage);
|
||||
|
@ -481,6 +488,7 @@ void ConfigBox::UpdateGUI(int _notebookpage)
|
|||
// General settings
|
||||
m_CBSaveByID[_notebookpage]->SetValue(g_Config.bSaveByID);
|
||||
m_CBShowAdvanced[_notebookpage]->SetValue(g_Config.bShowAdvanced);
|
||||
m_CBCheckFocus[_notebookpage]->SetValue(g_Config.bCheckFocus);
|
||||
|
||||
LogMsg("Update: %i\n", g_Config.bSaveByID);
|
||||
|
||||
|
@ -796,10 +804,12 @@ void ConfigBox::CreateGUIControls()
|
|||
m_gGenSettingsID[i] = new wxStaticBoxSizer( wxVERTICAL, m_Controller[i], wxT("Settings") );
|
||||
m_CBSaveByID[i] = new wxCheckBox(m_Controller[i], IDC_SAVEBYID, wxT("Save by ID"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
m_CBShowAdvanced[i] = new wxCheckBox(m_Controller[i], IDC_SHOWADVANCED, wxT("Show advanced settings"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
m_CBCheckFocus[i] = new wxCheckBox(m_Controller[i], IDC_CHECKFOCUS, wxT("Only accept input when Dolphin is in focus"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
|
||||
// Populate general settings 3
|
||||
m_gGenSettingsID[i]->Add(m_CBSaveByID[i], 0, wxEXPAND | wxALL, 3);
|
||||
m_gGenSettingsID[i]->Add(m_CBShowAdvanced[i], 0, wxEXPAND | wxALL, 3);
|
||||
m_gGenSettingsID[i]->Add(m_CBCheckFocus[i], 0, wxEXPAND | wxALL, 3);
|
||||
|
||||
// Create tooltips
|
||||
m_ControlType[i]->SetToolTip(wxT(
|
||||
|
|
|
@ -112,7 +112,7 @@ class ConfigBox : public wxDialog
|
|||
|
||||
wxStaticBoxSizer *m_gGenSettingsID[4];
|
||||
wxGridBagSizer * m_gGBGenSettings[4];
|
||||
wxCheckBox *m_CBSaveByID[4], *m_CBShowAdvanced[4];
|
||||
wxCheckBox *m_CBSaveByID[4], *m_CBShowAdvanced[4], *m_CBCheckFocus[4];
|
||||
wxStaticText *m_TSControltype[4], *m_TSTriggerType[4];
|
||||
|
||||
wxStaticBoxSizer *m_gStatusIn[4], *m_gStatusInSettings[4]; // Advanced settings
|
||||
|
@ -210,7 +210,7 @@ class ConfigBox : public wxDialog
|
|||
|
||||
IDG_CONTROLLERTYPE, IDC_CONTROLTYPE, IDC_TRIGGERTYPE, // Controller type
|
||||
|
||||
IDC_SAVEBYID, IDC_SHOWADVANCED, // Settings
|
||||
IDC_SAVEBYID, IDC_SHOWADVANCED, IDC_CHECKFOCUS, // Settings
|
||||
|
||||
ID_INSTATUS1, ID_INSTATUS2, ID_INSTATUS3, ID_INSTATUS4, // Advanced status
|
||||
ID_STATUSBMP1, ID_STATUSBMP2, ID_STATUSBMP3, ID_STATUSBMP4,
|
||||
|
|
|
@ -89,6 +89,7 @@ CONTROLLER_STATE PadState[4];
|
|||
CONTROLLER_MAPPING PadMapping[4];
|
||||
bool emulator_running = false;
|
||||
int NumPads = 0, NumGoodPads = 0;
|
||||
bool bCheckFocus = true;
|
||||
HWND m_hWnd; // Handle to window
|
||||
SPADInitialize *g_PADInitialize = NULL;
|
||||
|
||||
|
@ -400,7 +401,7 @@ void Shutdown()
|
|||
void PAD_Input(u16 _Key, u8 _UpDown)
|
||||
{
|
||||
// Check that Dolphin is in focus, otherwise don't update the pad status
|
||||
if (!IsFocus()) return;
|
||||
if (bCheckFocus && !IsFocus()) return;
|
||||
|
||||
// Check if the keys are interesting, and then update it
|
||||
for(int i = 0; i < 4; i++)
|
||||
|
@ -784,7 +785,7 @@ void ReadButton(int controller, int button)
|
|||
void GetJoyState(int controller)
|
||||
{
|
||||
// Check that Dolphin is in focus, otherwise don't update the pad status
|
||||
if (!IsFocus()) return;
|
||||
if (bCheckFocus && !IsFocus()) return;
|
||||
|
||||
// Update the gamepad status
|
||||
SDL_JoystickUpdate();
|
||||
|
|
|
@ -232,6 +232,7 @@ extern std::vector<u8> Keys;
|
|||
extern CONTROLLER_MAPPING PadMapping[4];
|
||||
extern HWND m_hWnd; // Handle to window
|
||||
extern int NumPads, NumGoodPads; // Number of goods pads
|
||||
extern bool bCheckFocus;
|
||||
#endif
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue