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:
commit
13a1566b4e
4 changed files with 22 additions and 6 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Reference in a new issue