Merge pull request #452 from Mrlinkwii/riR3

Qt/Emulator: Add right analog and remap some keys
This commit is contained in:
PSISP 2021-03-01 14:21:07 -05:00 committed by GitHub
commit 0ae0bc718e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 67 additions and 44 deletions

View file

@ -69,28 +69,32 @@ The various command line options are as follows:
The key bindings are as follows:
| Keyboard | DualShock 2 |
| ---------------- | ----------------- |
| <kbd>A</kbd> | Triangle |
| <kbd>S</kbd> | Square |
| <kbd>Z</kbd> | Circle |
| <kbd>X</kbd> | Cross |
| <kbd>Enter</kbd> | Start |
| <kbd>Space</kbd> | Select |
| <kbd>Q</kbd> | L1 |
| N/A | L2 |
| N/A | L3 |
| <kbd>W</kbd> | R1 |
| N/A | R2 |
| N/A | R3 |
| <kbd></kbd> | D-pad up |
| <kbd></kbd> | D-pad down |
| <kbd></kbd> | D-pad left |
| <kbd></kbd> | D-pad right |
| <kbd>I</kbd> | Left Analog up |
| <kbd>K</kbd> | Left Analog down |
| <kbd>J</kbd> | Left Analog left |
| <kbd>L</kbd> | Left Analog right |
| Keyboard | DualShock 2 |
| ---------------- | ------------------ |
| <kbd>S</kbd> | Triangle |
| <kbd>A</kbd> | Square |
| <kbd>X</kbd> | Circle |
| <kbd>Z</kbd> | Cross |
| <kbd>Enter</kbd> | Start |
| <kbd>Space</kbd> | Select |
| <kbd>Q</kbd> | L1 |
| N/A | L2 |
| N/A | L3 |
| <kbd>W</kbd> | R1 |
| N/A | R2 |
| N/A | R3 |
| <kbd></kbd> | D-pad up |
| <kbd></kbd> | D-pad down |
| <kbd></kbd> | D-pad left |
| <kbd></kbd> | D-pad right |
| <kbd>R</kbd> | Left Analog up |
| <kbd>F</kbd> | Left Analog down |
| <kbd>D</kbd> | Left Analog left |
| <kbd>G</kbd> | Left Analog right |
| <kbd>I</kbd> | Right Analog up |
| <kbd>K</kbd> | Right Analog down |
| <kbd>J</kbd> | Right Analog left |
| <kbd>L</kbd> | Right Analog right |
| Keyboard | DobieStation |
| ------------- | -------------------------- |

View file

@ -529,16 +529,16 @@ void EmuWindow::keyPressEvent(QKeyEvent *event)
emit press_key(PAD_BUTTON::RIGHT);
break;
case Qt::Key_Z:
emit press_key(PAD_BUTTON::CIRCLE);
break;
case Qt::Key_X:
emit press_key(PAD_BUTTON::CROSS);
break;
case Qt::Key_X:
emit press_key(PAD_BUTTON::CIRCLE );
break;
case Qt::Key_A:
emit press_key(PAD_BUTTON::TRIANGLE);
emit press_key(PAD_BUTTON::SQUARE);
break;
case Qt::Key_S:
emit press_key(PAD_BUTTON::SQUARE);
emit press_key(PAD_BUTTON::TRIANGLE );
break;
case Qt::Key_Q:
emit press_key(PAD_BUTTON::L1);
@ -555,18 +555,29 @@ void EmuWindow::keyPressEvent(QKeyEvent *event)
case Qt::Key_Period:
emu_thread.unpause(PAUSE_EVENT::FRAME_ADVANCE);
break;
case Qt::Key_J:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::X, 0x00);
break;
case Qt::Key_L:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::X, 0xFF);
break;
case Qt::Key_I:
case Qt::Key_R:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::Y, 0x00);
break;
case Qt::Key_K:
case Qt::Key_F:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::Y, 0xFF);
break;
case Qt::Key_G:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::X, 0xFF);
break;
case Qt::Key_D:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::X, 0x00);
break;
case Qt::Key_I:
emit update_joystick(JOYSTICK::RIGHT,JOYSTICK_AXIS::Y, 0x00);
break;
case Qt::Key_K:
emit update_joystick(JOYSTICK::RIGHT,JOYSTICK_AXIS::Y, 0xFF);
case Qt::Key_J:
emit update_joystick(JOYSTICK::RIGHT,JOYSTICK_AXIS::X, 0xFF);
break;
case Qt::Key_L:
emit update_joystick(JOYSTICK::RIGHT,JOYSTICK_AXIS::X, 0x00);
break;
case Qt::Key_F1:
if(!Settings::instance().recent_roms.isEmpty())
load_exec(Settings::instance().recent_roms.first().toLocal8Bit(), true);
@ -605,16 +616,16 @@ void EmuWindow::keyReleaseEvent(QKeyEvent *event)
emit release_key(PAD_BUTTON::RIGHT);
break;
case Qt::Key_Z:
emit release_key(PAD_BUTTON::CIRCLE);
break;
case Qt::Key_X:
emit release_key(PAD_BUTTON::CROSS);
break;
case Qt::Key_X:
emit release_key(PAD_BUTTON::CIRCLE );
break;
case Qt::Key_A:
emit release_key(PAD_BUTTON::TRIANGLE);
emit release_key(PAD_BUTTON::SQUARE);
break;
case Qt::Key_S:
emit release_key(PAD_BUTTON::SQUARE);
emit release_key(PAD_BUTTON::TRIANGLE);
break;
case Qt::Key_Q:
emit release_key(PAD_BUTTON::L1);
@ -628,13 +639,21 @@ void EmuWindow::keyReleaseEvent(QKeyEvent *event)
case Qt::Key_Space:
emit release_key(PAD_BUTTON::SELECT);
break;
case Qt::Key_J:
case Qt::Key_L:
case Qt::Key_R:
case Qt::Key_F:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::Y, 0x80);
break;
case Qt::Key_D:
case Qt::Key_G:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::X, 0x80);
break;
case Qt::Key_K:
case Qt::Key_I:
emit update_joystick(JOYSTICK::LEFT, JOYSTICK_AXIS::Y, 0x80);
case Qt::Key_K:
emit update_joystick(JOYSTICK::RIGHT, JOYSTICK_AXIS::Y, 0x80);
break;
case Qt::Key_J:
case Qt::Key_L:
emit update_joystick(JOYSTICK::RIGHT, JOYSTICK_AXIS::X,0x80);
break;
}
}