Exemple #1
0
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();
}
Exemple #2
0
void PADManager::OnKeyUp(wxKeyEvent &keyEvent)
{
	SwitchButtons(true);  // enable all buttons
	m_button_id = 0; // reset current button id
	m_key_pressed = false;
	keyEvent.Skip();
}
Exemple #3
0
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();
}
Exemple #4
0
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;
		}
	}
}