diff --git a/include/arm11/hardware/hid.h b/include/arm11/hardware/hid.h index 3e09acb..4b3b963 100644 --- a/include/arm11/hardware/hid.h +++ b/include/arm11/hardware/hid.h @@ -49,8 +49,8 @@ void hidInit(void); -u32 hidGetPowerButton(void); -u32 hidGetWifiButton(void); +u32 hidGetPowerButton(bool resetState); +u32 hidGetWifiButton(bool resetState); void hidScanInput(void); u32 hidKeysHeld(void); u32 hidKeysDown(void); diff --git a/source/arm11/hardware/hid.c b/source/arm11/hardware/hid.c index 7212e28..f3e97c4 100644 --- a/source/arm11/hardware/hid.c +++ b/source/arm11/hardware/hid.c @@ -57,17 +57,17 @@ if(homeShellState & KEY_SHELL) homeShellState ^= (state & 0x40)<<16; } -u32 hidGetPowerButton(void) +u32 hidGetPowerButton(bool resetState) { u32 tmp = powerWifiState; - powerWifiState &= ~3; + if(resetState) powerWifiState &= ~3; return tmp & 3; } -u32 hidGetWifiButton(void) +u32 hidGetWifiButton(bool resetState) { u32 tmp = powerWifiState; - powerWifiState &= ~4; + if(resetState) powerWifiState &= ~4; return tmp>>2; } diff --git a/source/arm11/main.c b/source/arm11/main.c index aca64ec..c01d1e4 100644 --- a/source/arm11/main.c +++ b/source/arm11/main.c @@ -54,7 +54,7 @@ const u32 kDown = hidKeysDown(); const u32 kUp = hidKeysUp(); - if(hidGetPowerButton()) + if(hidGetPowerButton(true)) { if(g_poweroffAllowed) power_off(); PXI_trySendWord(PXI_RPL_POWER_PRESSED);