#ifndef KEYBOARD_KEYS_H
#define KEYBOARD_KEYS_H

#ifdef __cplusplus
extern "C"
{
#endif

#define KEYBOARD_KEYS \
    X(KEYBOARD_KEY_NONE) \
    X(KEYBOARD_KEY_A) \
    X(KEYBOARD_KEY_B) \
    X(KEYBOARD_KEY_C) \
    X(KEYBOARD_KEY_D) \
    X(KEYBOARD_KEY_E) \
    X(KEYBOARD_KEY_F) \
    X(KEYBOARD_KEY_G) \
    X(KEYBOARD_KEY_H) \
    X(KEYBOARD_KEY_I) \
    X(KEYBOARD_KEY_J) \
    X(KEYBOARD_KEY_K) \
    X(KEYBOARD_KEY_L) \
    X(KEYBOARD_KEY_M) \
    X(KEYBOARD_KEY_N) \
    X(KEYBOARD_KEY_O) \
    X(KEYBOARD_KEY_P) \
    X(KEYBOARD_KEY_Q) \
    X(KEYBOARD_KEY_R) \
    X(KEYBOARD_KEY_S) \
    X(KEYBOARD_KEY_T) \
    X(KEYBOARD_KEY_U) \
    X(KEYBOARD_KEY_V) \
    X(KEYBOARD_KEY_W) \
    X(KEYBOARD_KEY_X) \
    X(KEYBOARD_KEY_Y) \
    X(KEYBOARD_KEY_Z) \
    X(KEYBOARD_KEY_0) \
    X(KEYBOARD_KEY_1) \
    X(KEYBOARD_KEY_2) \
    X(KEYBOARD_KEY_3) \
    X(KEYBOARD_KEY_4) \
    X(KEYBOARD_KEY_5) \
    X(KEYBOARD_KEY_6) \
    X(KEYBOARD_KEY_7) \
    X(KEYBOARD_KEY_8) \
    X(KEYBOARD_KEY_9) \
    X(KEYBOARD_KEY_LSHIFT) \
    X(KEYBOARD_KEY_RSHIFT) \
    X(KEYBOARD_KEY_LCTRL) \
    X(KEYBOARD_KEY_RCTRL) \
    X(KEYBOARD_KEY_F11) \
    X(KEYBOARD_KEY_ESC) \
    X(KEYBOARD_KEY_LEFT) \
    X(KEYBOARD_KEY_RIGHT) \
    X(KEYBOARD_KEY_UP) \
    X(KEYBOARD_KEY_DOWN) \
    X(KEYBOARD_KEY_EXIT) \
    X(KEYBOARD_KEY_BACKSPACE) \
    X(KEYBOARD_KEY_SPACE) \
    X(KEYBOARD_KEY_MINUS) \
    X(KEYBOARD_KEY_DOT) \
    X(KEYBOARD_KEY_RETURN) \
    X(KEYBOARD_KEY_SLASH)

enum keyboard_key
{
#define X(x) x,
    KEYBOARD_KEYS
#undef X
};

#ifdef __cplusplus
}
#endif

#endif /* KEYBOARD_KEYS_H */
