so://phie

so-term

An easy-to-use terminal library
git clone git://soophie.de/so-term

blob: aca2e552259564d6ca722e9a2b7c9ecc3fd37682 (646 bytes)[doc][blame][raw]

1#pragma once

2

3typedef enum {

4 KEY_ENTER = 13,

5 KEY_ESC = 27,

6 KEY_BACKSPACE = 127,

7 KEY_ARROW_LEFT = 1000,

8 KEY_ARROW_RIGHT,

9 KEY_ARROW_UP,

10 KEY_ARROW_DOWN,

11 KEY_DEL,

12 KEY_HOME,

13 KEY_END,

14 KEY_PAGE_UP,

15 KEY_PAGE_DOWN,

16} keycode_t;

17

18typedef struct {

19 char *buffer;

20 int len;

21} term_t;

22

23void term_panic(const char *s);

24void term_disable_raw_mode(void);

25void term_enable_raw_mode(void);

26int term_read_cursor_pos(int *rows, int *cols);

27int term_read_window_size(int *rows, int *cols);

28int term_poll_key(int timeout);

29int term_read_key(void);

30void term_write(char *str);

31void term_writef(const char *format, ...);

32void term_flush(void);