76 lines
1.4 KiB
C
76 lines
1.4 KiB
C
|
|
#ifndef ARC_CONSOLE_KEY_H_
|
||
|
|
#define ARC_CONSOLE_KEY_H_
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#include "arc/std/bool.h"
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
typedef struct ARC_ConsoleKeyType ARC_ConsoleKey;
|
||
|
|
|
||
|
|
typedef enum ARC_ConsoleKey_Key {
|
||
|
|
ARC_KEY_A,
|
||
|
|
ARC_KEY_B,
|
||
|
|
ARC_KEY_C,
|
||
|
|
ARC_KEY_D,
|
||
|
|
ARC_KEY_E,
|
||
|
|
ARC_KEY_F,
|
||
|
|
ARC_KEY_G,
|
||
|
|
ARC_KEY_H,
|
||
|
|
ARC_KEY_I,
|
||
|
|
ARC_KEY_J,
|
||
|
|
ARC_KEY_K,
|
||
|
|
ARC_KEY_L,
|
||
|
|
ARC_KEY_M,
|
||
|
|
ARC_KEY_N,
|
||
|
|
ARC_KEY_O,
|
||
|
|
ARC_KEY_P,
|
||
|
|
ARC_KEY_Q,
|
||
|
|
ARC_KEY_R,
|
||
|
|
ARC_KEY_S,
|
||
|
|
ARC_KEY_T,
|
||
|
|
ARC_KEY_U,
|
||
|
|
ARC_KEY_V,
|
||
|
|
ARC_KEY_W,
|
||
|
|
ARC_KEY_X,
|
||
|
|
ARC_KEY_Y,
|
||
|
|
ARC_KEY_Z,
|
||
|
|
|
||
|
|
ARC_KEY_0,
|
||
|
|
ARC_KEY_1,
|
||
|
|
ARC_KEY_2,
|
||
|
|
ARC_KEY_3,
|
||
|
|
ARC_KEY_4,
|
||
|
|
ARC_KEY_5,
|
||
|
|
ARC_KEY_6,
|
||
|
|
ARC_KEY_7,
|
||
|
|
ARC_KEY_8,
|
||
|
|
ARC_KEY_9,
|
||
|
|
|
||
|
|
ARC_KEY_LEFT,
|
||
|
|
ARC_KEY_RIGHT,
|
||
|
|
ARC_KEY_DOWN,
|
||
|
|
ARC_KEY_UP,
|
||
|
|
|
||
|
|
ARC_KEY_ESC
|
||
|
|
} ARC_ConsoleKey_Key;
|
||
|
|
|
||
|
|
void ARC_ConsoleKey_Create(ARC_ConsoleKey **consoleKey, ARC_ConsoleKey_Key *key);
|
||
|
|
|
||
|
|
void ARC_ConsoleKey_Destroy(ARC_ConsoleKey *consoleKey);
|
||
|
|
|
||
|
|
ARC_Bool ARC_ConsoleKey_Equals(ARC_ConsoleKey consoleKey, enum ARC_ConsoleKey_Key key);
|
||
|
|
|
||
|
|
ARC_Bool ARC_ConsoleKey_EqualsPointer(ARC_ConsoleKey *consoleKey, enum ARC_ConsoleKey_Key key);
|
||
|
|
|
||
|
|
ARC_ConsoleKey ARC_Keyboard_GetConsoleKey(enum ARC_ConsoleKey_Key key);
|
||
|
|
|
||
|
|
uint8_t ARC_ConsoleKey_GetCharFromKey(ARC_ConsoleKey *consoleKey);
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif // !ARC_CONSOLE_KEY_H_
|