Merge pull request #21774 from hrydgard/assorted-fixes

Add default mappings for the right stick to many of our default keymaps
This commit is contained in:
Henrik Rydgård
2026-06-03 19:11:50 +02:00
committed by GitHub
4 changed files with 34 additions and 4 deletions
+20
View File
@@ -114,6 +114,10 @@ static const DefMappingStruct defaultXInputKeyMap[] = {
{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},
{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, -1},
{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, +1},
{VIRTKEY_AXIS_RIGHT_X_MIN, JOYSTICK_AXIS_Z, -1},
{VIRTKEY_AXIS_RIGHT_X_MAX, JOYSTICK_AXIS_Z, +1},
{VIRTKEY_AXIS_RIGHT_Y_MIN, JOYSTICK_AXIS_RZ, -1},
{VIRTKEY_AXIS_RIGHT_Y_MAX, JOYSTICK_AXIS_RZ, +1},
{CTRL_CROSS , NKCODE_BUTTON_A},
{CTRL_CIRCLE , NKCODE_BUTTON_B},
{CTRL_SQUARE , NKCODE_BUTTON_X},
@@ -198,6 +202,10 @@ static const DefMappingStruct defaultAndroidXboxControllerMap[] = {
{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},
{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},
{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},
{VIRTKEY_AXIS_RIGHT_X_MIN, JOYSTICK_AXIS_Z, -1},
{VIRTKEY_AXIS_RIGHT_X_MAX, JOYSTICK_AXIS_Z, +1},
{VIRTKEY_AXIS_RIGHT_Y_MIN, JOYSTICK_AXIS_RZ, +1},
{VIRTKEY_AXIS_RIGHT_Y_MAX, JOYSTICK_AXIS_RZ, -1},
};
// Retroid reports its controller as "Retro Station Controller".
@@ -277,6 +285,10 @@ static const DefMappingStruct defaultPadMap[] = {
{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},
{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},
{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},
{VIRTKEY_AXIS_RIGHT_X_MIN, JOYSTICK_AXIS_Z, -1},
{VIRTKEY_AXIS_RIGHT_X_MAX, JOYSTICK_AXIS_Z, +1},
{VIRTKEY_AXIS_RIGHT_Y_MIN, JOYSTICK_AXIS_RZ, +1},
{VIRTKEY_AXIS_RIGHT_Y_MAX, JOYSTICK_AXIS_RZ, -1},
{VIRTKEY_PAUSE , NKCODE_BUTTON_SELECT },
{VIRTKEY_PAUSE , NKCODE_BUTTON_L2 },
{VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1},
@@ -300,6 +312,10 @@ static const DefMappingStruct defaultPadMapIOS[] = {
{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},
{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},
{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},
{VIRTKEY_AXIS_RIGHT_X_MIN, JOYSTICK_AXIS_Z, -1},
{VIRTKEY_AXIS_RIGHT_X_MAX, JOYSTICK_AXIS_Z, +1},
{VIRTKEY_AXIS_RIGHT_Y_MIN, JOYSTICK_AXIS_RZ, -1},
{VIRTKEY_AXIS_RIGHT_Y_MAX, JOYSTICK_AXIS_RZ, +1},
{VIRTKEY_PAUSE , NKCODE_BUTTON_THUMBL },
{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},
};
@@ -321,6 +337,10 @@ static const DefMappingStruct defaultXperiaPlay[] = {
{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},
{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, -1},
{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, +1},
{VIRTKEY_AXIS_RIGHT_X_MIN, JOYSTICK_AXIS_Z, -1},
{VIRTKEY_AXIS_RIGHT_X_MAX, JOYSTICK_AXIS_Z, +1},
{VIRTKEY_AXIS_RIGHT_Y_MIN, JOYSTICK_AXIS_RZ, -1},
{VIRTKEY_AXIS_RIGHT_Y_MAX, JOYSTICK_AXIS_RZ, +1},
};
static const DefMappingStruct defaultVRLeftController[] = {
+6
View File
@@ -51,6 +51,12 @@ DrawEngineCommon::DrawEngineCommon() : decoderMap_(32) {
transformedExpanded_ = (TransformedVertex *)AllocateMemoryPages(3 * TRANSFORMED_VERTEX_BUFFER_SIZE, MEM_PROT_READ | MEM_PROT_WRITE);
decoded_ = (u8 *)AllocateMemoryPages(DECODED_VERTEX_BUFFER_SIZE, MEM_PROT_READ | MEM_PROT_WRITE);
decIndex_ = (u16 *)AllocateMemoryPages(DECODED_INDEX_BUFFER_SIZE, MEM_PROT_READ | MEM_PROT_WRITE);
_dbg_assert_(transformed_);
_dbg_assert_(transformedExpanded_);
_dbg_assert_(decoded_);
_dbg_assert_(decIndex_);
indexGen.Setup(decIndex_);
InitDepthRaster();
+6 -2
View File
@@ -376,9 +376,13 @@ GamePauseScreen::~GamePauseScreen() {
}
bool GamePauseScreen::UnsyncKey(const KeyInput &key) {
int retval = UIScreen::UnsyncKey(key);
bool retval = UIScreen::UnsyncKey(key);
bool pauseTrigger = false;
return retval || g_controlMapper.Key(key, &pauseTrigger);
retval = g_controlMapper.Key(key, &pauseTrigger) || retval;
if (pauseTrigger) {
TriggerFinish(DR_BACK);
}
return retval;
}
void GamePauseScreen::UnsyncAxis(const AxisInput *axes, size_t count) {
+2 -2
View File
@@ -32,7 +32,7 @@ static const HidStickMapping g_psStickMappings[] = {
{HID_STICK_LX, JOYSTICK_AXIS_X},
{HID_STICK_LY, JOYSTICK_AXIS_Y},
{HID_STICK_RX, JOYSTICK_AXIS_Z},
{HID_STICK_RY, JOYSTICK_AXIS_RX},
{HID_STICK_RY, JOYSTICK_AXIS_RZ},
};
struct HidTriggerMapping {
@@ -203,7 +203,7 @@ void HidInputDevice::ReleaseAllKeys(const ButtonInputMapping *buttonMappings, in
JOYSTICK_AXIS_X,
JOYSTICK_AXIS_Y,
JOYSTICK_AXIS_Z,
JOYSTICK_AXIS_RX,
JOYSTICK_AXIS_RZ,
JOYSTICK_AXIS_LTRIGGER,
JOYSTICK_AXIS_RTRIGGER,
};