#pragma once

#define NORMAL 0
#define INSERT 1
#define SELECT 2
#define RUNNER 3

#define BG 0
#define DARK 1
#define RED 2
#define ORANGE 3
#define YELLOW 4
#define GREEN 5
#define CYAN 6
#define BLUE 7
#define WHITE 8
#define PURPLE 9

#define CTRL_KEY(k) ((k) & 0x1f)
#define UNUSED(x) (void)(x)

#define KEY_CHAR 0
#define KEY_SPECIAL 1
#define KEY_MOUSE 2
#define KEY_NONE 3

#define KEY_UP 0
#define KEY_DOWN 1
#define KEY_LEFT 2
#define KEY_RIGHT 3
#define KEY_DELETE 4

#define KEY_ESC '\x1b'

#define PRESS 0
#define RELEASE 1
#define DRAG 2
#define SCROLL 3

#define LEFT_BTN 0
#define MIDDLE_BTN 1
#define RIGHT_BTN 2
#define NONE_BTN 3

#define SCROLL_UP 0
#define SCROLL_DOWN 1
#define SCROLL_LEFT 2
#define SCROLL_RIGHT 3

#define ALT 1
#define CNTRL 2
#define CNTRL_ALT 3
#define SHIFT 4

#define BLOCK 0
#define BUFFER 1
#define WINDOW 2
#define ROOT 3
#define BUBBLE 4

#define VERTICAL 0
#define HORIZONTAL 1

#define UNKNOWN 0
#define RUBY 1
#define C_LANG 2
