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();
*keys = hidKeysHeld(CONTROLLER_P1_AUTO);
*keys = 0;
for (int controller = 0; controller < 10; controller++) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
return ResultSuccess;
}

View file

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

View file

@ -36,7 +36,11 @@ Result HidManagement::GetKeysHeld(u64 *keys) {
}
hidScanInput();
*keys = hidKeysHeld(CONTROLLER_P1_AUTO);
*keys = 0;
for (int controller = 0; controller < 10; controller++) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
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
hidScanInput();
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
u64 kDown = hidKeysDown(CONTROLLER_P1_AUTO);
u64 kDown = 0;
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) {
reboot_to_payload();