mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-07 22:34:12 +08:00
40 lines
606 B
C
40 lines
606 B
C
/*
|
|
* This code is part of libctru (https://github.com/devkitPro/libctru)
|
|
*/
|
|
|
|
#include "types.h"
|
|
#include "mem_map.h"
|
|
|
|
|
|
#define HID_REGS_BASE (IO_MEM_ARM9_ARM11 + 0x46000)
|
|
#define REG_HID_PAD (*((vu16*)(HID_REGS_BASE + 0x0)) ^ 0xFFFFu)
|
|
#define REG_HID_PADCNT *((vu16*)(HID_REGS_BASE + 0x2))
|
|
|
|
|
|
static u32 g_kHeld, g_kDown, g_kUp;
|
|
|
|
|
|
|
|
void hidScanInput(void)
|
|
{
|
|
u32 kOld = g_kHeld;
|
|
g_kHeld = REG_HID_PAD;
|
|
g_kDown = (~kOld) & g_kHeld;
|
|
g_kUp = kOld & (~g_kHeld);
|
|
}
|
|
|
|
u32 hidKeysHeld(void)
|
|
{
|
|
return g_kHeld;
|
|
}
|
|
|
|
u32 hidKeysDown(void)
|
|
{
|
|
return g_kDown;
|
|
}
|
|
|
|
u32 hidKeysUp(void)
|
|
{
|
|
return g_kUp;
|
|
}
|