1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-18 09:56:40 +00:00

Merge pull request #542 from leo60228/master

Allow pressing buttons on all controllers in loader (closes #541)
This commit is contained in:
SciresM 2019-05-17 07:33:55 -07:00 committed by GitHub
commit 13a1566b4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 6 deletions

View file

@ -460,7 +460,11 @@ Result Utils::GetKeysHeld(u64 *keys) {
} }
hidScanInput(); hidScanInput();
*keys = hidKeysHeld(CONTROLLER_P1_AUTO); *keys = 0;
for (int controller = 0; controller < 10; controller++) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
return ResultSuccess; return ResultSuccess;
} }

View file

@ -26,7 +26,11 @@ Result HidManagement::GetKeysDown(u64 *keys) {
std::scoped_lock<HosMutex> lk(g_hid_keys_down_lock); std::scoped_lock<HosMutex> lk(g_hid_keys_down_lock);
hidScanInput(); hidScanInput();
*keys = hidKeysHeld(CONTROLLER_P1_AUTO); *keys = 0;
for (int controller = 0; controller < 10; controller++) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
return ResultSuccess; return ResultSuccess;
} }

View file

@ -36,7 +36,11 @@ Result HidManagement::GetKeysHeld(u64 *keys) {
} }
hidScanInput(); hidScanInput();
*keys = hidKeysHeld(CONTROLLER_P1_AUTO); *keys = 0;
for (int controller = 0; controller < 10; controller++) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
return ResultSuccess; return ResultSuccess;
} }

View file

@ -79,8 +79,12 @@ int main(int argc, char **argv)
//Scan all the inputs. This should be done once for each frame //Scan all the inputs. This should be done once for each frame
hidScanInput(); hidScanInput();
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame) u64 kDown = 0;
u64 kDown = hidKeysDown(CONTROLLER_P1_AUTO);
for (int controller = 0; controller < 10; controller++) {
// hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
kDown |= hidKeysDown((HidControllerID) controller);
}
if (can_reboot && kDown & KEY_MINUS) { if (can_reboot && kDown & KEY_MINUS) {
reboot_to_payload(); reboot_to_payload();