Newer
Older
uwuboot / source / arm9 / hardware / hid.c
@profi200 profi200 on 18 Oct 2017 501 bytes Ported hid code changes to ARM9.
/*
 * This code is part of ctrulib (https://github.com/smealum/ctrulib)
 */

#include "mem_map.h"
#include "types.h"


#define REG_HID_PAD  (*((vu16*)(IO_MEM_ARM9_ARM11 + 0x46000)) ^ 0xFFFFu)


static vu32 kHeld, kDown, kUp;



void hidScanInput(void)
{
	u32 kOld = kHeld;
	u32 tmpKHeld = REG_HID_PAD;
	kHeld = tmpKHeld;
	kDown = (~kOld) & tmpKHeld;
	kUp = kOld & (~tmpKHeld);
}

u32 hidKeysHeld(void)
{
	return kHeld;
}

u32 hidKeysDown(void)
{
	return kDown;
}

u32 hidKeysUp(void)
{
	return kUp;
}