#pragma once #include #include #include #include #include #include "Common/SysConf.h" #include "Core/ConfigManager.h" #include "Core/HW/Wiimote.h" class InputConfig; class wxButton; class wxStaticBoxSizer; class wxWindow; class ControllerConfigDiag : public wxDialog { public: ControllerConfigDiag(wxWindow* const parent); void RefreshRealWiimotes(wxCommandEvent& event); void SelectSource(wxCommandEvent& event); void RevertSource(); void ConfigEmulatedWiimote(wxCommandEvent& event); void Save(wxCommandEvent& event); void OnSensorBarPos(wxCommandEvent& event) { SConfig::GetInstance().m_SYSCONF->SetData("BT.BAR", event.GetInt()); event.Skip(); } void OnSensorBarSensitivity(wxCommandEvent& event) { SConfig::GetInstance().m_SYSCONF->SetData("BT.SENS", event.GetInt()); event.Skip(); } void OnSpeakerVolume(wxCommandEvent& event) { SConfig::GetInstance().m_SYSCONF->SetData("BT.SPKV", event.GetInt()); event.Skip(); } void OnMotor(wxCommandEvent& event) { SConfig::GetInstance().m_SYSCONF->SetData("BT.MOT", event.GetInt()); event.Skip(); } void OnContinuousScanning(wxCommandEvent& event) { SConfig::GetInstance().m_WiimoteContinuousScanning = event.IsChecked(); WiimoteReal::Initialize(); event.Skip(); } void OnEnableSpeaker(wxCommandEvent& event) { SConfig::GetInstance().m_WiimoteEnableSpeaker = event.IsChecked(); event.Skip(); } private: wxStaticBoxSizer* CreateGamecubeSizer(); wxStaticBoxSizer* CreateWiimoteConfigSizer(); wxStaticBoxSizer* CreateBalanceBoardSizer(); wxStaticBoxSizer* CreateRealWiimoteSizer(); wxStaticBoxSizer* CreateGeneralWiimoteSettingsSizer(); void Cancel(wxCommandEvent& event); void OnGameCubePortChanged(wxCommandEvent& event); void OnGameCubeConfigButton(wxCommandEvent& event); std::map m_gc_port_choice_ids; std::map m_gc_port_config_ids; static const std::array m_gc_pad_type_strs; std::map m_wiimote_index_from_ctrl_id; unsigned int m_orig_wiimote_sources[MAX_BBMOTES]; wxButton* wiimote_configure_bt[MAX_WIIMOTES]; std::map m_wiimote_index_from_conf_bt_id; };