summaryrefslogtreecommitdiff
path: root/arm9/source/devices/input.h
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2024-12-16 14:52:54 +1300
committerBen Bridle <ben@derelict.engineering>2024-12-16 14:52:54 +1300
commit0d9978228b9226d16ba8272a03dd7e6c9ad83b3d (patch)
tree442ce8a1d37f2f9a0e9e655d3250849e874c2d41 /arm9/source/devices/input.h
parentdbe8171815ea3b51c3ac87dae1996ae0d8f6eb04 (diff)
downloadbedrock-nds-0d9978228b9226d16ba8272a03dd7e6c9ad83b3d.zip
Implement a toggleable keyboard on the lower screen
Diffstat (limited to 'arm9/source/devices/input.h')
-rw-r--r--arm9/source/devices/input.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/arm9/source/devices/input.h b/arm9/source/devices/input.h
index e62bdd3..4f91ed5 100644
--- a/arm9/source/devices/input.h
+++ b/arm9/source/devices/input.h
@@ -1,15 +1,20 @@
+#include <nds.h>
+#include "../types/circbuf.h"
+
#ifndef INPUT_H_
#define INPUT_H_
typedef struct {
- bool pointer; // pointer active
- bool keyboard; // keyboard active
- u16 x,y; // pointer position
- u8 navigation; // navigation state
- u8 gamepad; // gamepad state
- bool wake; // wake flag
+ bool pointer; // pointer active
+ bool keyboard; // keyboard active
+ CircBuf keybuffer; // queued keypresses
+ u16 x,y; // pointer position
+ u8 navigation; // navigation state
+ u8 gamepad; // gamepad state
+ bool wake; // wake flag
} InputDevice;
+ void inp_receive_byte(InputDevice *inp, u8 byte);
void inp_read_gamepad(InputDevice *inp);
void inp_read_navigation(InputDevice *inp);
void inp_read_touch(InputDevice *inp);