diff options
author | cflip <cflip@cflip.net> | 2023-01-11 11:21:41 -0700 |
---|---|---|
committer | cflip <cflip@cflip.net> | 2023-01-11 11:21:41 -0700 |
commit | 0324dda2cc779bcd6d3eb425216e29b37a9a95ed (patch) | |
tree | 84fb7faab49b0773339803cb893da0c958f9d7e8 /input.c | |
parent | 61c387397d03c479ca110a02bfa78cd39fa82656 (diff) |
Remove all terminal-related code
Diffstat (limited to 'input.c')
-rw-r--r-- | input.c | 55 |
1 files changed, 0 insertions, 55 deletions
@@ -5,63 +5,8 @@ #include <unistd.h> #include "file.h" -#include "terminal.h" #include "row.h" -int editor_read_key() -{ - int read_count; - char c; - - while ((read_count = read(STDIN_FILENO, &c, 1)) != 1) { - if (read_count == -1 && errno != EAGAIN) - die("read"); - } - - if (c == '\x1b') { - char seq[3]; - - if (read(STDIN_FILENO, &seq[0], 1) != 1) return '\x1b'; - if (read(STDIN_FILENO, &seq[1], 1) != 1) return '\x1b'; - - if (seq[0] == '[') { - if (seq[1] >= '0' && seq[1] <= '9') { - if (read(STDIN_FILENO, &seq[2], 1) != 1) - return '\x1b'; - - if (seq[2] == '~') { - switch (seq[1]) { - case '1': return HOME_KEY; - case '3': return DELETE_KEY; - case '4': return END_KEY; - case '5': return PAGE_UP; - case '6': return PAGE_DOWN; - case '7': return HOME_KEY; - case '8': return END_KEY; - } - } - } else { - switch (seq[1]) { - case 'A': return ARROW_UP; - case 'B': return ARROW_DOWN; - case 'C': return ARROW_RIGHT; - case 'D': return ARROW_LEFT; - case 'H': return HOME_KEY; - case 'F': return END_KEY; - } - } - } else if (seq[0] == 'O') { - switch (seq[1]) { - case 'H': return HOME_KEY; - case 'F': return END_KEY; - } - } - return '\x1b'; - } else { - return c; - } -} - void editor_move_cursor(struct editor_state* editor, int key) { struct editor_row* row = (editor->cursor_y >= editor->row_count) ? NULL : &editor->rows[editor->cursor_y]; |