Nanite/src/kernel/dri/keyboard.h

96 lines
1.9 KiB
C

/*----------------*\
|Nanite OS |
|Copyright (C) 2025|
|Tyler McGurrin |
\*----------------*/
#pragma once
void Print_Key(int scancode);
// Scancodes for a QWERTY layout;
// Will add support for alt layouts like for example DVORAK (my layout of choice)
// Kinda need to tbh, cuz even with QEMU i can't type lolololol
typedef enum {
KEYSCAN_ESC = 1 ,
KEYSCAN_1 = 2 ,
KEYSCAN_2 = 3 ,
KEYSCAN_3 = 4 ,
KEYSCAN_4 = 5 ,
KEYSCAN_5 = 6 ,
KEYSCAN_6 = 7 ,
KEYSCAN_7 = 8 ,
KEYSCAN_8 = 9 ,
KEYSCAN_9 = 10,
KEYSCAN_0 = 11,
KEYSCAN_Minus = 12,
KEYSCAN_Equals = 13,
KEYSCAN_BackSpace = 14,
KEYSCAN_Tab = 15,
KEYSCAN_Q = 16,
KEYSCAN_W = 17,
KEYSCAN_E = 18,
KEYSCAN_R = 19,
KEYSCAN_T = 20,
KEYSCAN_Y = 21,
KEYSCAN_U = 22,
KEYSCAN_I = 23,
KEYSCAN_O = 24,
KEYSCAN_P = 25,
KEYSCAN_LeftBracket = 26,
KEYSCAN_RightBracket = 27,
KEYSCAN_Enter = 28,
KEYSCAN_CTRL = 29,
KEYSCAN_A = 30,
KEYSCAN_S = 31,
KEYSCAN_D = 32,
KEYSCAN_F = 33,
KEYSCAN_G = 34,
KEYSCAN_H = 35,
KEYSCAN_J = 36,
KEYSCAN_K = 37,
KEYSCAN_L = 38,
KEYSCAN_Semicolon = 39,
KEYSCAN_Apostrophe = 40,
KEYSCAN_Grave = 41,
KEYSCAN_LShift = 42,
KEYSCAN_Backslash = 43,
KEYSCAN_Z = 44,
KEYSCAN_X = 45,
KEYSCAN_C = 46,
KEYSCAN_V = 47,
KEYSCAN_B = 48,
KEYSCAN_N = 49,
KEYSCAN_M = 50,
KEYSCAN_Comma = 51,
KEYSCAN_Period = 52,
KEYSCAN_Forwardslash = 53,
KEYSCAN_RShift = 54,
KEYSCAN_PrtSc = 55,
KEYSCAN_Alt = 56,
KEYSCAN_Space = 57,
KEYSCAN_Caps = 58,
KEYSCAN_F1 = 59,
KEYSCAN_F2 = 60,
KEYSCAN_F3 = 61,
KEYSCAN_F4 = 62,
KEYSCAN_F5 = 63,
KEYSCAN_F6 = 64,
KEYSCAN_F7 = 65,
KEYSCAN_F8 = 66,
KEYSCAN_F9 = 67,
KEYSCAN_F10 = 68,
KEYSCAN_Num = 69,
KEYSCAN_Scroll = 70,
KEYSCAN_Home = 71,
KEYSCAN_Up = 72,
KEYSCAN_PgUp = 73,
KEYSCAN_Minus2 = 74,
KEYSCAN_Left = 75,
KEYSCAN_Center = 76,
KEYSCAN_Right = 77,
KEYSCAN_Plus = 78,
KEYSCAN_End = 79,
KEYSCAN_Down = 80,
KEYSCAN_PgDn = 81,
KEYSCAN_Ins = 82,
KEYSCAN_Delete = 83
} Scancodes;