#ifndef INPUT_H_ #define INPUT_H_ #include "data.h" #include "define.h" #include "output.h" #include "terminal.h" #include "builtins.h" #include "../blisp/include/config_tools.h" #include // KEYS keycode // // ARROW_UP \x1b[A // ARROW_DOWN \x1b[B // ARROW_RIGHT \x1b[C // ARROW_LEFT \x1b[D // PAGE_UP \x1b[5~ // PAGE_DOWN \x1b[6~ // HOME \x1b[1~ || [7~ || [H || OH // END \x1b[4~ || [8~ || [F || OF // DELETE \x1b[3~ char *key_to_string(int key); int execute_key_binding(config_t *config, const char *key_combo, void *context); int handle_key_sequence(struct editorConfig *E, int key); char *editorPrompt(struct editorConfig *E, char *prompt); void editorMoveCursor(struct editorConfig *E, int key); /** * \fn void editorProcessKeypress() * \brief Get the last key input and do the proper action. */ void editorProcessKeypress(struct editorConfig *E); #endif // INPUT_H_