// NOTE: BasedOn // NOTE: Pulled XK_MISCELLANY and XK_LATIN1 only. package X11 // Done in nvim via: // TitleCase to Ada_Case substitution: s/\(_.*\)\(\w\)\([A-K]\)/\1\2_\3/ge // #define macro to Odin constant macro: qavelxve[run substitution]elcw :: fxlvegU/#defineq // Later, after deciding to go the enum route: qadf_elct0 = A,/XK_q Key_Code :: enum u16 { // #ifdef XK_MISCELLANY Back_Space = 0xFF08, Tab = 0xFF09, Linefeed = 0xFF0A, Clear = 0xFF0B, Return = 0xFF0D, Pause = 0xFF13, Scroll_Lock = 0xFF14, Sys_Req = 0xFF15, Escape = 0xFF1B, Delete = 0xFFFF, Multi_Key = 0xFF20, Codeinput = 0xFF37, Single_Candidate = 0xFF3C, Multiple_Candidate = 0xFF3D, Previous_Candidate = 0xFF3E, Kanji = 0xFF21, Muhenkan = 0xFF22, Henkan_Mode = 0xFF23, Henkan = 0xFF23, Romaji = 0xFF24, Hiragana = 0xFF25, Katakana = 0xFF26, Hiragana_Katakana = 0xFF27, Zenkaku = 0xFF28, Hankaku = 0xFF29, Zenkaku_Hankaku = 0xFF2A, Touroku = 0xFF2B, Massyo = 0xFF2C, Kana_Lock = 0xFF2D, Kana_Shift = 0xFF2E, Eisu_Shift = 0xFF2F, Eisu_Toggle = 0xFF30, Kanji_Bangou = 0xFF37, Zen_Koho = 0xFF3D, Mae_Koho = 0xFF3E, Home = 0xFF50, Left = 0xFF51, Up = 0xFF52, Right = 0xFF53, Down = 0xFF54, Prior = 0xFF55, Page_Up = 0xFF55, Next = 0xFF56, Page_Down = 0xFF56, End = 0xFF57, Begin = 0xFF58, Select = 0xFF60, Print = 0xFF61, Execute = 0xFF62, Insert = 0xFF63, Undo = 0xFF65, Redo = 0xFF66, Menu = 0xFF67, Find = 0xFF68, Cancel = 0xFF69, Help = 0xFF6A, Break = 0xFF6B, Mode_Switch = 0xFF7E, Script_Switch = 0xFF7E, Num_Lock = 0xFF7F, KP_Space = 0xFF80, KP_Tab = 0xFF89, KP_Enter = 0xFF8D, KP_F1 = 0xFF91, KP_F2 = 0xFF92, KP_F3 = 0xFF93, KP_F4 = 0xFF94, KP_Home = 0xFF95, KP_Left = 0xFF96, KP_Up = 0xFF97, KP_Right = 0xFF98, KP_Down = 0xFF99, KP_Prior = 0xFF9A, KP_Page_Up = 0xFF9A, KP_Next = 0xFF9B, KP_Page_Down = 0xFF9B, KP_End = 0xFF9C, KP_Begin = 0xFF9D, KP_Insert = 0xFF9E, KP_Delete = 0xFF9F, KP_Equal = 0xFFBD, KP_Multiply = 0xFFAA, KP_Add = 0xFFAB, KP_Separator = 0xFFAC, KP_Subtract = 0xFFAD, KP_Decimal = 0xFFAE, KP_Divide = 0xFFAF, KP_0 = 0xFFB0, KP_1 = 0xFFB1, KP_2 = 0xFFB2, KP_3 = 0xFFB3, KP_4 = 0xFFB4, KP_5 = 0xFFB5, KP_6 = 0xFFB6, KP_7 = 0xFFB7, KP_8 = 0xFFB8, KP_9 = 0xFFB9, F1 = 0xFFBE, F2 = 0xFFBF, F3 = 0xFFC0, F4 = 0xFFC1, F5 = 0xFFC2, F6 = 0xFFC3, F7 = 0xFFC4, F8 = 0xFFC5, F9 = 0xFFC6, F10 = 0xFFC7, F11 = 0xFFC8, L1 = 0xFFC8, F12 = 0xFFC9, L2 = 0xFFC9, F13 = 0xFFCA, L3 = 0xFFCA, F14 = 0xFFCB, L4 = 0xFFCB, F15 = 0xFFCC, L5 = 0xFFCC, F16 = 0xFFCD, L6 = 0xFFCD, F17 = 0xFFCE, L7 = 0xFFCE, F18 = 0xFFCF, L8 = 0xFFCF, F19 = 0xFFD0, L9 = 0xFFD0, F20 = 0xFFD1, L10 = 0xFFD1, F21 = 0xFFD2, R1 = 0xFFD2, F22 = 0xFFD3, R2 = 0xFFD3, F23 = 0xFFD4, R3 = 0xFFD4, F24 = 0xFFD5, R4 = 0xFFD5, F25 = 0xFFD6, R5 = 0xFFD6, F26 = 0xFFD7, R6 = 0xFFD7, F27 = 0xFFD8, R7 = 0xFFD8, F28 = 0xFFD9, R8 = 0xFFD9, F29 = 0xFFDA, R9 = 0xFFDA, F30 = 0xFFDB, R10 = 0xFFDB, F31 = 0xFFDC, R11 = 0xFFDC, F32 = 0xFFDD, R12 = 0xFFDD, F33 = 0xFFDE, R13 = 0xFFDE, F34 = 0xFFDF, R14 = 0xFFDF, F35 = 0xFFE0, R15 = 0xFFE0, Shift_L = 0xFFE1, Shift_R = 0xFFE2, Control_L = 0xFFE3, Control_R = 0xFFE4, Caps_Lock = 0xFFE5, Shift_Lock = 0xFFE6, Meta_L = 0xFFE7, Meta_R = 0xFFE8, Alt_L = 0xFFE9, Alt_R = 0xFFEA, Super_L = 0xFFEB, Super_R = 0xFFEC, Hyper_L = 0xFFED, Hyper_R = 0xFFEE, // #endif MISCELLANY // #ifdef XK_LATIN1 Space = 0x0020, Exclam = 0x0021, Quotedbl = 0x0022, Numbersign = 0x0023, Dollar = 0x0024, Percent = 0x0025, Ampersand = 0x0026, Apostrophe = 0x0027, Quoteright = 0x0027, Parenleft = 0x0028, Parenright = 0x0029, Asterisk = 0x002A, Plus = 0x002B, Comma = 0x002C, Minus = 0x002D, Period = 0x002E, Slash = 0x002F, Num0 = 0x0030, Num1 = 0x0031, Num2 = 0x0032, Num3 = 0x0033, Num4 = 0x0034, Num5 = 0x0035, Num6 = 0x0036, Num7 = 0x0037, Num8 = 0x0038, Num9 = 0x0039, Colon = 0x003A, Semicolon = 0x003B, Less = 0x003C, Equal = 0x003D, Greater = 0x003E, Question = 0x003F, At = 0x0040, A = 0x0041, B = 0x0042, C = 0x0043, D = 0x0044, E = 0x0045, F = 0x0046, G = 0x0047, H = 0x0048, I = 0x0049, J = 0x004A, K = 0x004B, L = 0x004C, M = 0x004D, N = 0x004E, O = 0x004F, P = 0x0050, Q = 0x0051, R = 0x0052, S = 0x0053, T = 0x0054, U = 0x0055, V = 0x0056, W = 0x0057, X = 0x0058, Y = 0x0059, Z = 0x005A, Bracketleft = 0x005B, Backslash = 0x005C, Bracketright = 0x005D, Asciicircum = 0x005E, Underscore = 0x005F, Grave = 0x0060, Quoteleft = 0x0060, a = 0x0061, b = 0x0062, c = 0x0063, d = 0x0064, e = 0x0065, f = 0x0066, g = 0x0067, h = 0x0068, i = 0x0069, j = 0x006A, k = 0x006B, l = 0x006C, m = 0x006D, n = 0x006E, o = 0x006F, p = 0x0070, q = 0x0071, r = 0x0072, s = 0x0073, t = 0x0074, u = 0x0075, v = 0x0076, w = 0x0077, x = 0x0078, y = 0x0079, z = 0x007A, Braceleft = 0x007B, Bar = 0x007C, Braceright = 0x007D, Asciitilde = 0x007E, Nobreakspace = 0x00A0, Exclamdown = 0x00A1, Cent = 0x00A2, Sterling = 0x00A3, Currency = 0x00A4, Yen = 0x00A5, Brokenbar = 0x00A6, Section = 0x00A7, Diaeresis = 0x00A8, Copyright = 0x00A9, Ordfeminine = 0x00AA, Guillemotleft = 0x00AB, Notsign = 0x00AC, Hyphen = 0x00AD, Registered = 0x00AE, Macron = 0x00AF, Degree = 0x00B0, Plusminus = 0x00B1, Twosuperior = 0x00B2, Threesuperior = 0x00B3, Acute = 0x00B4, Mu = 0x00B5, Paragraph = 0x00B6, Periodcentered = 0x00B7, Cedilla = 0x00B8, Onesuperior = 0x00B9, Masculine = 0x00BA, Guillemotright = 0x00BB, Onequarter = 0x00BC, Onehalf = 0x00BD, Threequarters = 0x00BE, Questiondown = 0x00BF, Agrave = 0x00C0, Aacute = 0x00C1, Acircumflex = 0x00C2, Atilde = 0x00C3, Adiaeresis = 0x00C4, Aring = 0x00C5, A_E = 0x00C6, Ccedilla = 0x00C7, Egrave = 0x00C8, Eacute = 0x00C9, Ecircumflex = 0x00CA, Ediaeresis = 0x00CB, Igrave = 0x00CC, Iacute = 0x00CD, Icircumflex = 0x00CE, Idiaeresis = 0x00CF, Eth = 0x00D0, Ntilde = 0x00D1, Ograve = 0x00D2, Oacute = 0x00D3, Ocircumflex = 0x00D4, Otilde = 0x00D5, Odiaeresis = 0x00D6, Multiply = 0x00D7, Oslash = 0x00D8, Ooblique = 0x00D8, Ugrave = 0x00D9, Uacute = 0x00DA, Ucircumflex = 0x00DB, Udiaeresis = 0x00DC, Yacute = 0x00DD, Thorn = 0x00DE, ssharp = 0x00DF, agrave = 0x00E0, aacute = 0x00E1, acircumflex = 0x00E2, atilde = 0x00E3, adiaeresis = 0x00E4, aring = 0x00E5, ae = 0x00E6, ccedilla = 0x00E7, egrave = 0x00E8, eacute = 0x00E9, ecircumflex = 0x00EA, ediaeresis = 0x00EB, igrave = 0x00EC, iacute = 0x00ED, icircumflex = 0x00EE, idiaeresis = 0x00EF, eth = 0x00F0, ntilde = 0x00F1, ograve = 0x00F2, oacute = 0x00F3, ocircumflex = 0x00F4, otilde = 0x00F5, odiaeresis = 0x00F6, division = 0x00F7, oslash = 0x00F8, ooblique = 0x00F8, ugrave = 0x00F9, uacute = 0x00FA, ucircumflex = 0x00FB, udiaeresis = 0x00FC, yacute = 0x00FD, thorn = 0x00FE, ydiaeresis = 0x00FF, // #endif LATIN1 }