aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_key_events.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_key_events.c44
1 files changed, 40 insertions, 4 deletions
diff --git a/src/ft_key_events.c b/src/ft_key_events.c
index f333cd0..188a770 100644
--- a/src/ft_key_events.c
+++ b/src/ft_key_events.c
@@ -2,16 +2,52 @@
#include <cub3d.h>
#include <stdlib.h>
+static int
+ft_w_key(void)
+{
+ ft_printf("w\n");
+ return (0);
+}
+
+static int
+ft_a_key(void)
+{
+ ft_printf("a\n");
+ return (0);
+}
+
+static int
+ft_s_key(void)
+{
+ ft_printf("s\n");
+ return (0);
+}
+
+static int
+ft_d_key(void)
+{
+ ft_printf("d\n");
+ return (0);
+}
+
int
ft_key_event(int keycode, void *param)
{
- (void)param;
+ int (*fun_ptr[4])(void);
+
+ fun_ptr[0] = ft_a_key;
+ fun_ptr[1] = ft_s_key;
+ fun_ptr[2] = ft_d_key;
+ fun_ptr[3] = ft_w_key;
ft_printf("Key [%d] pressed\n", keycode);
+ (keycode == 13) ? (keycode = 3) : 0;
+ (keycode <= 3) ? (*fun_ptr[keycode])() : 0;
if (keycode == 53)
{
- /* ft_memdel(param->wlx); */
- /* ft_memdel(param->winptr); */
- /* ft_memdel(param); */
+ ft_memdel(((t_winlist*)param)->wlx);
+ ft_memdel(((t_winlist*)param)->winptr);
+ ft_memdel(((t_winlist*)param));
+ ft_printf("Exiting program\n");
exit(0);
}
return (0);