void PADManager::OnButtonClicked(wxCommandEvent &event) { if (event.GetId() != wxID_OK && event.GetId() != wxID_CANCEL && event.GetId() != id_reset_parameters) { m_button_id = event.GetId(); SwitchButtons(false); // disable all buttons, needed for using Space, Enter and other specific buttons //RunTimer(3, event.GetId()); // TODO: Currently, timer disabled. Use by later, have some strange problems //SwitchButtons(true); // needed, if timer enabled UpdateLabel(); } else { switch (event.GetId()) { case id_reset_parameters: ResetParameters(); UpdateLabel(); break; case wxID_OK: rpcs3::config.save(); break; case wxID_CANCEL: break; default: LOG_ERROR(HLE, "Unknown button ID: %d", event.GetId()); break; } } event.Skip(); }
void PADManager::OnKeyUp(wxKeyEvent &keyEvent) { SwitchButtons(true); // enable all buttons m_button_id = 0; // reset current button id m_key_pressed = false; keyEvent.Skip(); }
void pad_settings_dialog::keyPressEvent(QKeyEvent *keyEvent) { m_key_pressed = true; cfg::int32* entry = nullptr; switch (m_button_id) { case id_pad_lstick_left: entry = &g_kbpad_config.left_stick_left; break; case id_pad_lstick_down: entry = &g_kbpad_config.left_stick_down; break; case id_pad_lstick_right: entry = &g_kbpad_config.left_stick_right; break; case id_pad_lstick_up: entry = &g_kbpad_config.left_stick_up; break; case id_pad_left: entry = &g_kbpad_config.left; break; case id_pad_down: entry = &g_kbpad_config.down; break; case id_pad_right: entry = &g_kbpad_config.right; break; case id_pad_up: entry = &g_kbpad_config.up; break; case id_pad_l1: entry = &g_kbpad_config.l1; break; case id_pad_l2: entry = &g_kbpad_config.l2; break; case id_pad_l3: entry = &g_kbpad_config.l3; break; case id_pad_start: entry = &g_kbpad_config.start; break; case id_pad_select: entry = &g_kbpad_config.select; break; case id_pad_r1: entry = &g_kbpad_config.r1; break; case id_pad_r2: entry = &g_kbpad_config.r2; break; case id_pad_r3: entry = &g_kbpad_config.r3; break; case id_pad_square: entry = &g_kbpad_config.square; break; case id_pad_cross: entry = &g_kbpad_config.cross; break; case id_pad_circle: entry = &g_kbpad_config.circle; break; case id_pad_triangle: entry = &g_kbpad_config.triangle; break; case id_pad_rstick_left: entry = &g_kbpad_config.right_stick_left; break; case id_pad_rstick_down: entry = &g_kbpad_config.right_stick_down; break; case id_pad_rstick_right: entry = &g_kbpad_config.right_stick_right; break; case id_pad_rstick_up: entry = &g_kbpad_config.right_stick_up; break; case 0: break; default: LOG_ERROR(HLE, "Unknown button ID: %d", m_button_id); break; } if (entry) { // TODO: do not modify config entry->from_string(std::to_string(keyEvent->key())); } SwitchButtons(true); // enable all buttons m_button_id = 0; // reset current button id m_key_pressed = false; UpdateLabel(); }
void pad_settings_dialog::OnPadButtonClicked(int id) { if (id != id_reset_parameters && id != id_ok) { m_button_id = id; SwitchButtons(false); // disable all buttons, needed for using Space, Enter and other specific buttons //RunTimer(3, event.GetId()); // TODO: Currently, timer disabled. Use by later, have some strange problems //SwitchButtons(true); // needed, if timer enabled UpdateLabel(); } else { switch (id) { case id_reset_parameters: g_kbpad_config.from_default(); UpdateLabel(); break; case id_ok: g_kbpad_config.save(); QDialog::accept(); break; case id_cancel: break; } } }