Archeus 0.0.0
A C library and game engine that focuses on documentation
Loading...
Searching...
No Matches
key.c
Go to the documentation of this file.
1#include "arc/console/key.h"
2#include "key.h"
3#include "arc/std/bool.h"
4#include <ncurses.h>
5#include <stdlib.h>
6
8 *consoleKey = (ARC_ConsoleKey *)malloc(sizeof(ARC_ConsoleKey));
9 (*consoleKey)->key = 0;
10
11 if(key != NULL){
12 (*consoleKey)->key = *key;
13 }
14}
15
17 free(consoleKey);
18}
19
23
27
29 switch(key){
31 return (ARC_ConsoleKey){ (int32_t)'a' };
32
34 return (ARC_ConsoleKey){ (int32_t)'b' };
35
37 return (ARC_ConsoleKey){ (int32_t)'c' };
38
40 return (ARC_ConsoleKey){ (int32_t)'d' };
41
43 return (ARC_ConsoleKey){ (int32_t)'e' };
44
46 return (ARC_ConsoleKey){ (int32_t)'f' };
47
49 return (ARC_ConsoleKey){ (int32_t)'g' };
50
52 return (ARC_ConsoleKey){ (int32_t)'h' };
53
55 return (ARC_ConsoleKey){ (int32_t)'i' };
56
58 return (ARC_ConsoleKey){ (int32_t)'j' };
59
61 return (ARC_ConsoleKey){ (int32_t)'k' };
62
64 return (ARC_ConsoleKey){ (int32_t)'l' };
65
67 return (ARC_ConsoleKey){ (int32_t)'m' };
68
70 return (ARC_ConsoleKey){ (int32_t)'n' };
71
73 return (ARC_ConsoleKey){ (int32_t)'o' };
74
76 return (ARC_ConsoleKey){ (int32_t)'p' };
77
79 return (ARC_ConsoleKey){ (int32_t)'q' };
80
82 return (ARC_ConsoleKey){ (int32_t)'r' };
83
85 return (ARC_ConsoleKey){ (int32_t)'s' };
86
88 return (ARC_ConsoleKey){ (int32_t)'t' };
89
91 return (ARC_ConsoleKey){ (int32_t)'u' };
92
94 return (ARC_ConsoleKey){ (int32_t)'v' };
95
97 return (ARC_ConsoleKey){ (int32_t)'w' };
98
100 return (ARC_ConsoleKey){ (int32_t)'x' };
101
103 return (ARC_ConsoleKey){ (int32_t)'y' };
104
106 return (ARC_ConsoleKey){ (int32_t)'z' };
107
109 return (ARC_ConsoleKey){ (int32_t)'0' };
110
112 return (ARC_ConsoleKey){ (int32_t)'1' };
113
115 return (ARC_ConsoleKey){ (int32_t)'2' };
116
118 return (ARC_ConsoleKey){ (int32_t)'3' };
119
121 return (ARC_ConsoleKey){ (int32_t)'4' };
122
124 return (ARC_ConsoleKey){ (int32_t)'5' };
125
127 return (ARC_ConsoleKey){ (int32_t)'6' };
128
130 return (ARC_ConsoleKey){ (int32_t)'7' };
131
133 return (ARC_ConsoleKey){ (int32_t)'8' };
134
136 return (ARC_ConsoleKey){ (int32_t)'9' };
137
139 return (ARC_ConsoleKey){ KEY_UP };
140
142 return (ARC_ConsoleKey){ KEY_DOWN };
143
145 return (ARC_ConsoleKey){ KEY_LEFT };
146
148 return (ARC_ConsoleKey){ KEY_RIGHT };
149
151 return (ARC_ConsoleKey){ (int32_t)'/' };
152
154 return (ARC_ConsoleKey){ KEY_BACKSPACE };
155
156 //TODO: This should probs be KEY_ENTER, but idk why it wasn't working
158 return (ARC_ConsoleKey){ 10 };
159
160 //TODO: This is escape and alt, need to fix
162 return (ARC_ConsoleKey){ 27 };
163
164 default:
165 return (ARC_ConsoleKey){ 0 };
166 }
167}
168
170 return consoleKey->key;
171}
#define ARC_Bool
Definition bool.h:10
ARC_ConsoleKey_Key
Definition key.h:13
@ ARC_CONSOLE_KEY_K
Definition key.h:24
@ ARC_CONSOLE_KEY_8
Definition key.h:49
@ ARC_CONSOLE_KEY_L
Definition key.h:25
@ ARC_CONSOLE_KEY_B
Definition key.h:15
@ ARC_CONSOLE_KEY_X
Definition key.h:37
@ ARC_CONSOLE_KEY_7
Definition key.h:48
@ ARC_CONSOLE_KEY_Z
Definition key.h:39
@ ARC_CONSOLE_KEY_UP
Definition key.h:55
@ ARC_CONSOLE_KEY_S
Definition key.h:32
@ ARC_CONSOLE_KEY_D
Definition key.h:17
@ ARC_CONSOLE_KEY_FORWARD_SLASH
Definition key.h:57
@ ARC_CONSOLE_KEY_C
Definition key.h:16
@ ARC_CONSOLE_KEY_DOWN
Definition key.h:54
@ ARC_CONSOLE_KEY_1
Definition key.h:42
@ ARC_CONSOLE_KEY_T
Definition key.h:33
@ ARC_CONSOLE_KEY_P
Definition key.h:29
@ ARC_CONSOLE_KEY_2
Definition key.h:43
@ ARC_CONSOLE_KEY_3
Definition key.h:44
@ ARC_CONSOLE_KEY_LEFT
Definition key.h:52
@ ARC_CONSOLE_KEY_V
Definition key.h:35
@ ARC_CONSOLE_KEY_U
Definition key.h:34
@ ARC_CONSOLE_KEY_J
Definition key.h:23
@ ARC_CONSOLE_KEY_4
Definition key.h:45
@ ARC_CONSOLE_KEY_H
Definition key.h:21
@ ARC_CONSOLE_KEY_I
Definition key.h:22
@ ARC_CONSOLE_KEY_M
Definition key.h:26
@ ARC_CONSOLE_KEY_A
Definition key.h:14
@ ARC_CONSOLE_KEY_G
Definition key.h:20
@ ARC_CONSOLE_KEY_R
Definition key.h:31
@ ARC_CONSOLE_KEY_F
Definition key.h:19
@ ARC_CONSOLE_KEY_6
Definition key.h:47
@ ARC_CONSOLE_KEY_N
Definition key.h:27
@ ARC_CONSOLE_KEY_9
Definition key.h:50
@ ARC_CONSOLE_KEY_ENTER
Definition key.h:61
@ ARC_CONSOLE_KEY_W
Definition key.h:36
@ ARC_CONSOLE_KEY_5
Definition key.h:46
@ ARC_CONSOLE_KEY_Y
Definition key.h:38
@ ARC_CONSOLE_KEY_RIGHT
Definition key.h:53
@ ARC_CONSOLE_KEY_0
Definition key.h:41
@ ARC_CONSOLE_KEY_BACKSPACE
Definition key.h:59
@ ARC_CONSOLE_KEY_Q
Definition key.h:30
@ ARC_CONSOLE_KEY_O
Definition key.h:28
@ ARC_CONSOLE_KEY_E
Definition key.h:18
@ ARC_CONSOLE_KEY_ESC
Definition key.h:63
ARC_Bool ARC_ConsoleKey_Equals(ARC_ConsoleKey consoleKey, ARC_ConsoleKey_Key key)
Definition key.c:20
ARC_ConsoleKey ARC_Keyboard_GetConsoleKey(enum ARC_ConsoleKey_Key key)
Definition key.c:28
ARC_Bool ARC_ConsoleKey_EqualsPointer(ARC_ConsoleKey *consoleKey, ARC_ConsoleKey_Key key)
Definition key.c:24
void ARC_ConsoleKey_Create(ARC_ConsoleKey **consoleKey, ARC_ConsoleKey_Key *key)
Definition key.c:7
uint8_t ARC_ConsoleKey_GetCharFromKey(ARC_ConsoleKey *consoleKey)
Definition key.c:169
void ARC_ConsoleKey_Destroy(ARC_ConsoleKey *consoleKey)
Definition key.c:16
int32_t key
Definition key.h:12