summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve_kbd.h
blob: 60a2ff267a87820d0e92167d5fb3c71290b6d115 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdint.h>

typedef void (*eos_kbd_fptr_t) (int);

typedef struct EOSKbd {
    uint32_t mem_addr;
    uint16_t mem_size;
    uint8_t key_count;
    uint8_t key_down;
    uint8_t key_modifier;
    uint8_t key_modifier_sticky;
    uint8_t key_modifier_lock;
    eos_kbd_fptr_t key_down_f;
} EOSKbd;

void eos_kbd_init(EOSKbd *kbd, eos_kbd_fptr_t key_down_f, uint32_t mem_addr, uint32_t *mem_next);
void eos_kbd_draw(EOSKbd *kbd, uint8_t tag0, int touch_idx);
void eos_kbd_update(EOSKbd *kbd);