mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-09-02 23:55:35 +00:00
Minor fixes (#3370)
This commit is contained in:
parent
c7f1c66b82
commit
e56232134f
3 changed files with 30 additions and 24 deletions
|
@ -859,61 +859,66 @@ bool ControlSettings::eventFilter(QObject* obj, QEvent* event) {
|
||||||
|
|
||||||
void ControlSettings::processSDLEvents(int Type, int Input, int Value) {
|
void ControlSettings::processSDLEvents(int Type, int Input, int Value) {
|
||||||
if (EnableButtonMapping) {
|
if (EnableButtonMapping) {
|
||||||
|
|
||||||
|
if (pressedButtons.size() >= 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (Type == SDL_EVENT_GAMEPAD_BUTTON_DOWN) {
|
if (Type == SDL_EVENT_GAMEPAD_BUTTON_DOWN) {
|
||||||
switch (Input) {
|
switch (Input) {
|
||||||
case SDL_GAMEPAD_BUTTON_SOUTH:
|
case SDL_GAMEPAD_BUTTON_SOUTH:
|
||||||
pressedButtons.insert("cross");
|
pressedButtons.insert(5, "cross");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_EAST:
|
case SDL_GAMEPAD_BUTTON_EAST:
|
||||||
pressedButtons.insert("circle");
|
pressedButtons.insert(6, "circle");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_NORTH:
|
case SDL_GAMEPAD_BUTTON_NORTH:
|
||||||
pressedButtons.insert("triangle");
|
pressedButtons.insert(7, "triangle");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_WEST:
|
case SDL_GAMEPAD_BUTTON_WEST:
|
||||||
pressedButtons.insert("square");
|
pressedButtons.insert(8, "square");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_LEFT_SHOULDER:
|
case SDL_GAMEPAD_BUTTON_LEFT_SHOULDER:
|
||||||
pressedButtons.insert("l1");
|
pressedButtons.insert(3, "l1");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER:
|
case SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER:
|
||||||
pressedButtons.insert("r1");
|
pressedButtons.insert(4, "r1");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_LEFT_STICK:
|
case SDL_GAMEPAD_BUTTON_LEFT_STICK:
|
||||||
pressedButtons.insert("l3");
|
pressedButtons.insert(9, "l3");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_RIGHT_STICK:
|
case SDL_GAMEPAD_BUTTON_RIGHT_STICK:
|
||||||
pressedButtons.insert("r3");
|
pressedButtons.insert(10, "r3");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_DPAD_UP:
|
case SDL_GAMEPAD_BUTTON_DPAD_UP:
|
||||||
pressedButtons.insert("pad_up");
|
pressedButtons.insert(13, "pad_up");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_DPAD_DOWN:
|
case SDL_GAMEPAD_BUTTON_DPAD_DOWN:
|
||||||
pressedButtons.insert("pad_down");
|
pressedButtons.insert(14, "pad_down");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_DPAD_LEFT:
|
case SDL_GAMEPAD_BUTTON_DPAD_LEFT:
|
||||||
pressedButtons.insert("pad_left");
|
pressedButtons.insert(15, "pad_left");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_DPAD_RIGHT:
|
case SDL_GAMEPAD_BUTTON_DPAD_RIGHT:
|
||||||
pressedButtons.insert("pad_right");
|
pressedButtons.insert(16, "pad_right");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_BACK:
|
case SDL_GAMEPAD_BUTTON_BACK:
|
||||||
pressedButtons.insert("back");
|
pressedButtons.insert(11, "back");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_LEFT_PADDLE1:
|
case SDL_GAMEPAD_BUTTON_LEFT_PADDLE1:
|
||||||
pressedButtons.insert("lpaddle_high");
|
pressedButtons.insert(17, "lpaddle_high");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1:
|
case SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1:
|
||||||
pressedButtons.insert("rpaddle_high");
|
pressedButtons.insert(18, "rpaddle_high");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_LEFT_PADDLE2:
|
case SDL_GAMEPAD_BUTTON_LEFT_PADDLE2:
|
||||||
pressedButtons.insert("lpaddle_low");
|
pressedButtons.insert(19, "lpaddle_low");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2:
|
case SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2:
|
||||||
pressedButtons.insert("rpaddle_low");
|
pressedButtons.insert(20, "rpaddle_low");
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_BUTTON_START:
|
case SDL_GAMEPAD_BUTTON_START:
|
||||||
pressedButtons.insert("options");
|
pressedButtons.insert(12, "options");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -926,19 +931,19 @@ void ControlSettings::processSDLEvents(int Type, int Input, int Value) {
|
||||||
switch (Input) {
|
switch (Input) {
|
||||||
case SDL_GAMEPAD_AXIS_LEFT_TRIGGER:
|
case SDL_GAMEPAD_AXIS_LEFT_TRIGGER:
|
||||||
if (Value > 16000) {
|
if (Value > 16000) {
|
||||||
pressedButtons.insert("l2");
|
pressedButtons.insert(1, "l2");
|
||||||
L2Pressed = true;
|
L2Pressed = true;
|
||||||
} else if (Value < 5000) {
|
} else if (Value < 5000) {
|
||||||
if (L2Pressed)
|
if (L2Pressed && !R2Pressed)
|
||||||
emit PushGamepadEvent();
|
emit PushGamepadEvent();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SDL_GAMEPAD_AXIS_RIGHT_TRIGGER:
|
case SDL_GAMEPAD_AXIS_RIGHT_TRIGGER:
|
||||||
if (Value > 16000) {
|
if (Value > 16000) {
|
||||||
pressedButtons.insert("r2");
|
pressedButtons.insert(2, "r2");
|
||||||
R2Pressed = true;
|
R2Pressed = true;
|
||||||
} else if (Value < 5000) {
|
} else if (Value < 5000) {
|
||||||
if (R2Pressed)
|
if (R2Pressed && !L2Pressed)
|
||||||
emit PushGamepadEvent();
|
emit PushGamepadEvent();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -47,9 +47,10 @@ private:
|
||||||
void EnableMappingButtons();
|
void EnableMappingButtons();
|
||||||
void Cleanup();
|
void Cleanup();
|
||||||
|
|
||||||
|
// use QMap instead of QSet to maintain order of inserted strings
|
||||||
|
QMap<int, QString> pressedButtons;
|
||||||
QList<QPushButton*> ButtonsList;
|
QList<QPushButton*> ButtonsList;
|
||||||
QList<QPushButton*> AxisList;
|
QList<QPushButton*> AxisList;
|
||||||
QSet<QString> pressedButtons;
|
|
||||||
|
|
||||||
std::string RunningGameSerial;
|
std::string RunningGameSerial;
|
||||||
bool GameRunning;
|
bool GameRunning;
|
||||||
|
|
|
@ -234,7 +234,7 @@ void KBMSettings::SaveKBMConfig(bool close_on_save) {
|
||||||
|
|
||||||
lines.push_back("");
|
lines.push_back("");
|
||||||
|
|
||||||
add_mapping(ui->MouseJoystickBox->currentText(), "mouse_to_joystick");
|
lines.push_back("mouse_to_joystick = " + ui->MouseJoystickBox->currentText().toStdString());
|
||||||
add_mapping(ui->LHalfButton->text(), "leftjoystick_halfmode");
|
add_mapping(ui->LHalfButton->text(), "leftjoystick_halfmode");
|
||||||
add_mapping(ui->RHalfButton->text(), "rightjoystick_halfmode");
|
add_mapping(ui->RHalfButton->text(), "rightjoystick_halfmode");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue