153 lines
3.4 KiB
C
153 lines
3.4 KiB
C
/* Calcite, include/kernel-public/input.h
|
|
* Copyright 2025-2026 Benji Dial
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
* for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
struct mouse_packet {
|
|
int x_change;
|
|
int y_change;
|
|
};
|
|
|
|
//named after qwerty value of key
|
|
enum key_value {
|
|
KEY_F9 = 0x01,
|
|
KEY_F5 = 0x03,
|
|
KEY_F3 = 0x04,
|
|
KEY_F1 = 0x05,
|
|
KEY_F2 = 0x06,
|
|
KEY_F12 = 0x07,
|
|
KEY_F10 = 0x09,
|
|
KEY_F8 = 0x0a,
|
|
KEY_F6 = 0x0b,
|
|
KEY_F4 = 0x0c,
|
|
KEY_TAB = 0x0d,
|
|
KEY_GRAVE = 0x0e,
|
|
KEY_LEFT_ALT = 0x11,
|
|
KEY_LEFT_SHIFT = 0x12,
|
|
KEY_LEFT_CTRL = 0x14,
|
|
KEY_Q = 0x15,
|
|
KEY_1 = 0x16,
|
|
KEY_Z = 0x1a,
|
|
KEY_S = 0x1b,
|
|
KEY_A = 0x1c,
|
|
KEY_W = 0x1d,
|
|
KEY_2 = 0x1e,
|
|
KEY_C = 0x21,
|
|
KEY_X = 0x22,
|
|
KEY_D = 0x23,
|
|
KEY_E = 0x24,
|
|
KEY_4 = 0x25,
|
|
KEY_3 = 0x26,
|
|
KEY_SPACE = 0x29,
|
|
KEY_V = 0x2a,
|
|
KEY_F = 0x2b,
|
|
KEY_T = 0x2c,
|
|
KEY_R = 0x2d,
|
|
KEY_5 = 0x2e,
|
|
KEY_N = 0x31,
|
|
KEY_B = 0x32,
|
|
KEY_H = 0x33,
|
|
KEY_G = 0x34,
|
|
KEY_Y = 0x35,
|
|
KEY_6 = 0x36,
|
|
KEY_M = 0x3a,
|
|
KEY_J = 0x3b,
|
|
KEY_U = 0x3c,
|
|
KEY_7 = 0x3d,
|
|
KEY_8 = 0x3e,
|
|
KEY_COMMA = 0x41,
|
|
KEY_K = 0x42,
|
|
KEY_I = 0x43,
|
|
KEY_O = 0x44,
|
|
KEY_0 = 0x45,
|
|
KEY_9 = 0x46,
|
|
KEY_PERIOD = 0x49,
|
|
KEY_SLASH = 0x4a,
|
|
KEY_L = 0x4b,
|
|
KEY_SEMICOLON = 0x4c,
|
|
KEY_P = 0x4d,
|
|
KEY_MINUS = 0x4e,
|
|
KEY_APOSTRAPHE = 0x52,
|
|
KEY_OPEN_BRACKET = 0x54,
|
|
KEY_EQUALS = 0x55,
|
|
KEY_CAPS_LOCK = 0x58,
|
|
KEY_RIGHT_SHIFT = 0x59,
|
|
KEY_ENTER = 0x5a,
|
|
KEY_CLOSE_BRACKET = 0x5b,
|
|
KEY_BACKSLASH = 0x5d,
|
|
KEY_BACKSPACE = 0x66,
|
|
KEY_NUM_1 = 0x69,
|
|
KEY_NUM_4 = 0x6b,
|
|
KEY_NUM_7 = 0x6c,
|
|
KEY_NUM_0 = 0x70,
|
|
KEY_NUM_PERIOD = 0x71,
|
|
KEY_NUM_2 = 0x72,
|
|
KEY_NUM_5 = 0x73,
|
|
KEY_NUM_6 = 0x74,
|
|
KEY_NUM_8 = 0x75,
|
|
KEY_ESCAPE = 0x76,
|
|
KEY_NUM_LOCK = 0x77,
|
|
KEY_F11 = 0x78,
|
|
KEY_NUM_PLUS = 0x79,
|
|
KEY_NUM_3 = 0x7a,
|
|
KEY_NUM_MINUS = 0x7b,
|
|
KEY_NUM_TIMES = 0x7c,
|
|
KEY_NUM_9 = 0x7d,
|
|
KEY_SCROLL_LOCK = 0x7e,
|
|
KEY_F7 = 0x83,
|
|
KEY_WEB_SEARCH = 0x90,
|
|
KEY_RIGHT_ALT = 0x91,
|
|
KEY_RIGHT_CTRL = 0x94,
|
|
KEY_MEDIA_PREVIOUS = 0x95,
|
|
KEY_WEB_FAVORITES = 0x98,
|
|
KEY_LEFT_GUI = 0x9f,
|
|
KEY_WEB_REFRESH = 0xa0,
|
|
KEY_MEDIA_VOLUME_DOWN = 0xa1,
|
|
KEY_MEDIA_MUTE = 0xa3,
|
|
KEY_RIGHT_GUI = 0xa7,
|
|
KEY_WEB_STOP = 0xa8,
|
|
KEY_CALCULATOR = 0xab,
|
|
KEY_MENU = 0xaf,
|
|
KEY_WEB_FORWARD = 0xb0,
|
|
KEY_MEDIA_VOLUME_UP = 0xb2,
|
|
KEY_MEDIA_PAUSE = 0xb4,
|
|
KEY_ACPI_POWER = 0xb7,
|
|
KEY_WEB_BACK = 0xb8,
|
|
KEY_WEB_HOME = 0xba,
|
|
KEY_MEDIA_STOP = 0xbb,
|
|
KEY_ACPI_SLEEP = 0xbf,
|
|
KEY_COMPUTER = 0xc0,
|
|
KEY_EMAIL = 0xc8,
|
|
KEY_NUM_DIVIDE = 0xca,
|
|
KEY_MEDIA_NEXT = 0xcd,
|
|
KEY_MEDIA_SELECT = 0xd0,
|
|
KEY_NUM_ENTER = 0xda,
|
|
KEY_ACPI_WAKE = 0xde,
|
|
KEY_END = 0xe9,
|
|
KEY_LEFT = 0xeb,
|
|
KEY_HOME = 0xec,
|
|
KEY_INSERT = 0xf0,
|
|
KEY_DELETE = 0xf1,
|
|
KEY_DOWN = 0xf2,
|
|
KEY_RIGHT = 0xf4,
|
|
KEY_UP = 0xf5,
|
|
KEY_PAGE_DOWN = 0xfa,
|
|
KEY_PAGE_UP = 0xfd,
|
|
KEY_PRINT_SCREEN = 0xfe,
|
|
KEY_PAUSE_BREAK = 0xff,
|
|
KEY_FLAG_MAKE = 0x100
|
|
};
|