171 lines
5.0 KiB
C
171 lines
5.0 KiB
C
#ifndef SOCKS_INPUT_H_
|
|
#define SOCKS_INPUT_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
enum input_event_type {
|
|
INPUT_TYPE_UNKNOWN = 0x00u,
|
|
INPUT_TYPE_KEY = 0x01u,
|
|
INPUT_TYPE_MOTION = 0x02u,
|
|
};
|
|
|
|
enum input_event_motion_type {
|
|
INPUT_MOTION_TYPE_MOUSE = 0x01u,
|
|
INPUT_MOTION_TYPE_SCROLL = 0x02u,
|
|
};
|
|
|
|
enum input_keycode {
|
|
KEY_UNKNOWN = 0x00u,
|
|
KEY_A = 0x01u,
|
|
KEY_B = 0x02u,
|
|
KEY_C = 0x03u,
|
|
KEY_D = 0x04u,
|
|
KEY_E = 0x05u,
|
|
KEY_F = 0x06u,
|
|
KEY_G = 0x07u,
|
|
KEY_H = 0x08u,
|
|
KEY_I = 0x09u,
|
|
KEY_J = 0x0Au,
|
|
KEY_K = 0x0Bu,
|
|
KEY_L = 0x0Cu,
|
|
KEY_M = 0x0Du,
|
|
KEY_N = 0x0Eu,
|
|
KEY_O = 0x0Fu,
|
|
KEY_P = 0x10u,
|
|
KEY_Q = 0x11u,
|
|
KEY_R = 0x12u,
|
|
KEY_S = 0x13u,
|
|
KEY_T = 0x14u,
|
|
KEY_U = 0x15u,
|
|
KEY_V = 0x16u,
|
|
KEY_W = 0x17u,
|
|
KEY_X = 0x18u,
|
|
KEY_Y = 0x19u,
|
|
KEY_Z = 0x1Au,
|
|
KEY_KEY_1 = 0x1Bu,
|
|
KEY_KEY_2 = 0x1Cu,
|
|
KEY_KEY_3 = 0x1Du,
|
|
KEY_KEY_4 = 0x1Eu,
|
|
KEY_KEY_5 = 0x1Fu,
|
|
KEY_KEY_6 = 0x20u,
|
|
KEY_KEY_7 = 0x21u,
|
|
KEY_KEY_8 = 0x22u,
|
|
KEY_KEY_9 = 0x23u,
|
|
KEY_KEY_0 = 0x24u,
|
|
KEY_ENTER = 0x25u,
|
|
KEY_ESCAPE = 0x26u,
|
|
KEY_BACKSPACE = 0x27u,
|
|
KEY_TAB = 0x28u,
|
|
KEY_SPACE = 0x29u,
|
|
KEY_MINUS = 0x2Au,
|
|
KEY_EQUALS = 0x2Bu,
|
|
KEY_LEFT_BRACE = 0x2Cu,
|
|
KEY_RIGHT_BRACE = 0x2Du,
|
|
KEY_BACKSLASH = 0x2Eu,
|
|
KEY_NON_US_HASH = 0x2Fu,
|
|
KEY_SEMICOLON = 0x30u,
|
|
KEY_APOSTROPHE = 0x31u,
|
|
KEY_GRAVE_ACCENT = 0x32u,
|
|
KEY_COMMA = 0x33u,
|
|
KEY_DOT = 0x34u,
|
|
KEY_SLASH = 0x35u,
|
|
KEY_CAPS_LOCK = 0x36u,
|
|
KEY_F1 = 0x37u,
|
|
KEY_F2 = 0x38u,
|
|
KEY_F3 = 0x39u,
|
|
KEY_F4 = 0x3Au,
|
|
KEY_F5 = 0x3Bu,
|
|
KEY_F6 = 0x3Cu,
|
|
KEY_F7 = 0x3Du,
|
|
KEY_F8 = 0x3Eu,
|
|
KEY_F9 = 0x3Fu,
|
|
KEY_F10 = 0x40u,
|
|
KEY_F11 = 0x41u,
|
|
KEY_F12 = 0x42u,
|
|
KEY_PRINT_SCREEN = 0x43u,
|
|
KEY_SCROLL_LOCK = 0x44u,
|
|
KEY_PAUSE = 0x45u,
|
|
KEY_INSERT = 0x46u,
|
|
KEY_HOME = 0x47u,
|
|
KEY_PAGE_UP = 0x48u,
|
|
KEY_DELETE = 0x49u,
|
|
KEY_END = 0x4Au,
|
|
KEY_PAGE_DOWN = 0x4Bu,
|
|
KEY_RIGHT = 0x4Cu,
|
|
KEY_LEFT = 0x4Du,
|
|
KEY_DOWN = 0x4Eu,
|
|
KEY_UP = 0x4Fu,
|
|
KEY_NUM_LOCK = 0x50u,
|
|
KEY_KEYPAD_SLASH = 0x51u,
|
|
KEY_KEYPAD_ASTERISK = 0x52u,
|
|
KEY_KEYPAD_MINUS = 0x53u,
|
|
KEY_KEYPAD_PLUS = 0x54u,
|
|
KEY_KEYPAD_ENTER = 0x55u,
|
|
KEY_KEYPAD_1 = 0x56u,
|
|
KEY_KEYPAD_2 = 0x57u,
|
|
KEY_KEYPAD_3 = 0x58u,
|
|
KEY_KEYPAD_4 = 0x59u,
|
|
KEY_KEYPAD_5 = 0x5Au,
|
|
KEY_KEYPAD_6 = 0x5Bu,
|
|
KEY_KEYPAD_7 = 0x5Cu,
|
|
KEY_KEYPAD_8 = 0x5Du,
|
|
KEY_KEYPAD_9 = 0x5Eu,
|
|
KEY_KEYPAD_0 = 0x5Fu,
|
|
KEY_KEYPAD_DOT = 0x60u,
|
|
KEY_NON_US_BACKSLASH = 0x61u,
|
|
KEY_KEYPAD_EQUALS = 0x62u,
|
|
KEY_MENU = 0x63u,
|
|
KEY_LEFT_CTRL = 0x64u,
|
|
KEY_LEFT_SHIFT = 0x65u,
|
|
KEY_LEFT_ALT = 0x66u,
|
|
KEY_LEFT_META = 0x67u,
|
|
KEY_RIGHT_CTRL = 0x68u,
|
|
KEY_RIGHT_SHIFT = 0x69u,
|
|
KEY_RIGHT_ALT = 0x6Au,
|
|
KEY_RIGHT_META = 0x6Bu,
|
|
KEY_MEDIA_MUTE = 0x6Cu,
|
|
KEY_MEDIA_VOLUME_INCREMENT = 0x6Du,
|
|
KEY_MEDIA_VOLUME_DECREMENT = 0x6Eu,
|
|
};
|
|
|
|
enum input_key_state {
|
|
INPUT_KEYSTATE_DOWN = 0x00u,
|
|
INPUT_KEYSTATE_UP = 0x01u,
|
|
};
|
|
|
|
enum input_button {
|
|
INPUT_BUTTON_MOUSE_LEFT = 0x00u,
|
|
INPUT_BUTTON_MOUSE_MIDDLE = 0x01u,
|
|
INPUT_BUTTON_MOUSE_RIGHT = 0x02u,
|
|
INPUT_BUTTON_MOUSE_BACK = 0x03u,
|
|
INPUT_BUTTON_MOUSE_FORWARD = 0x04u,
|
|
};
|
|
|
|
enum input_button_state {
|
|
INPUT_BUTTON_DOWN = 0x00u,
|
|
INPUT_BUTTON_UP = 0x01u,
|
|
};
|
|
|
|
struct input_event {
|
|
enum input_event_type ev_type;
|
|
union {
|
|
struct {
|
|
enum input_event_motion_type type;
|
|
int16_t movement_x;
|
|
int16_t movement_y;
|
|
} ev_motion;
|
|
|
|
struct {
|
|
enum input_button button;
|
|
enum input_button_state state;
|
|
} ev_button;
|
|
|
|
struct {
|
|
enum input_keycode key;
|
|
enum input_key_state state;
|
|
} ev_key;
|
|
};
|
|
};
|
|
|
|
#endif
|