# HG changeset patch # User David Demelier # Date 1677956588 -3600 # Node ID 3d004b0687445f9f5899066a768e25abbc47ae39 # Parent 8e1f4e17bc808e4211613dae0e39355691332db4 core: doxygenize key diff -r 8e1f4e17bc80 -r 3d004b068744 libmlk-core/mlk/core/event.c --- a/libmlk-core/mlk/core/event.c Sat Mar 04 19:43:06 2023 +0100 +++ b/libmlk-core/mlk/core/event.c Sat Mar 04 20:03:08 2023 +0100 @@ -68,32 +68,32 @@ { SDLK_CARET, MLK_KEY_CARET }, { SDLK_UNDERSCORE, MLK_KEY_UNDERSCORE }, { SDLK_BACKQUOTE, MLK_KEY_BACKQUOTE }, - { SDLK_a, MLK_KEY_a }, - { SDLK_b, MLK_KEY_b }, - { SDLK_c, MLK_KEY_c }, - { SDLK_d, MLK_KEY_d }, - { SDLK_e, MLK_KEY_e }, - { SDLK_f, MLK_KEY_f }, - { SDLK_g, MLK_KEY_g }, - { SDLK_h, MLK_KEY_h }, - { SDLK_i, MLK_KEY_i }, - { SDLK_j, MLK_KEY_j }, - { SDLK_k, MLK_KEY_k }, - { SDLK_l, MLK_KEY_l }, - { SDLK_m, MLK_KEY_m }, - { SDLK_n, MLK_KEY_n }, - { SDLK_o, MLK_KEY_o }, - { SDLK_p, MLK_KEY_p }, - { SDLK_q, MLK_KEY_q }, - { SDLK_r, MLK_KEY_r }, - { SDLK_s, MLK_KEY_s }, - { SDLK_t, MLK_KEY_t }, - { SDLK_u, MLK_KEY_u }, - { SDLK_v, MLK_KEY_v }, - { SDLK_w, MLK_KEY_w }, - { SDLK_x, MLK_KEY_x }, - { SDLK_y, MLK_KEY_y }, - { SDLK_z, MLK_KEY_z }, + { SDLK_a, MLK_KEY_A }, + { SDLK_b, MLK_KEY_B }, + { SDLK_c, MLK_KEY_C }, + { SDLK_d, MLK_KEY_D }, + { SDLK_e, MLK_KEY_E }, + { SDLK_f, MLK_KEY_F }, + { SDLK_g, MLK_KEY_G }, + { SDLK_h, MLK_KEY_H }, + { SDLK_i, MLK_KEY_I }, + { SDLK_j, MLK_KEY_J }, + { SDLK_k, MLK_KEY_K }, + { SDLK_l, MLK_KEY_L }, + { SDLK_m, MLK_KEY_M }, + { SDLK_n, MLK_KEY_N }, + { SDLK_o, MLK_KEY_O }, + { SDLK_p, MLK_KEY_P }, + { SDLK_q, MLK_KEY_Q }, + { SDLK_r, MLK_KEY_R }, + { SDLK_s, MLK_KEY_S }, + { SDLK_t, MLK_KEY_T }, + { SDLK_u, MLK_KEY_U }, + { SDLK_v, MLK_KEY_V }, + { SDLK_w, MLK_KEY_W }, + { SDLK_x, MLK_KEY_X }, + { SDLK_y, MLK_KEY_Y }, + { SDLK_z, MLK_KEY_Z }, { SDLK_CAPSLOCK, MLK_KEY_CAPSLOCK }, { SDLK_F1, MLK_KEY_F1 }, { SDLK_F2, MLK_KEY_F2 }, diff -r 8e1f4e17bc80 -r 3d004b068744 libmlk-core/mlk/core/key.h --- a/libmlk-core/mlk/core/key.h Sat Mar 04 19:43:06 2023 +0100 +++ b/libmlk-core/mlk/core/key.h Sat Mar 04 20:03:08 2023 +0100 @@ -19,157 +19,764 @@ #ifndef MLK_CORE_KEY_H #define MLK_CORE_KEY_H +/** + * \file mlk/core/key.h + * \brief Keyboard definitions + */ + +/** + * \enum mlk_key + * \brief Keyboard code + * + * Its enumeration constants are as self explanatory as possible. + */ enum mlk_key { - MLK_KEY_UNKNOWN, + /** + * Unknown key pressed (default). + */ + MLK_KEY_UNKNOWN = 0, + + /** + * Return/enter. + */ MLK_KEY_ENTER, + + /** + * Escape, aka the vim key. + */ MLK_KEY_ESCAPE, + + /** + * Left delete. + */ MLK_KEY_BACKSPACE, + + /** + * Tab. + */ MLK_KEY_TAB, + + /** + * Space bar. + */ MLK_KEY_SPACE, + + /** + * Exclamation (!). + */ MLK_KEY_EXCLAIM, + + /** + * Double quot ("). + */ MLK_KEY_DOUBLE_QUOTE, + + /** + * Hash (#). + */ MLK_KEY_HASH, + + /** + * Percent (%). + */ MLK_KEY_PERCENT, + + /** + * Euro ($). + */ MLK_KEY_DOLLAR, + + /** + * Ampersand (&). + */ MLK_KEY_AMPERSAND, + + /** + * Simple quote ('). + */ MLK_KEY_QUOTE, - MLK_KEY_LEFT_PAREN, - MLK_KEY_RIGHT_PAREN, + + /** + * Left parenthesis ((). + */ + MLK_KEY_LPAREN, + + /** + * Right parenthesis ()). + */ + MLK_KEY_RPAREN, + + /** + * Asterisk (*). + */ MLK_KEY_ASTERISK, + + /** + * Plus (+). + */ MLK_KEY_PLUS, + + /** + * Comma (,). + */ MLK_KEY_COMMA, + + /** + * Minus (-). + */ MLK_KEY_MINUS, + + /** + * Period (.). + */ MLK_KEY_PERIOD, + + /** + * Forward slash (/). + */ MLK_KEY_SLASH, + + /** + * 0. + */ MLK_KEY_0, + + /** + * 1. + */ MLK_KEY_1, + + /** + * 2. + */ MLK_KEY_2, + + /** + * 3. + */ MLK_KEY_3, + + /** + * 4. + */ MLK_KEY_4, + + /** + * 5. + */ MLK_KEY_5, + + /** + * 6. + */ MLK_KEY_6, + + /** + * 7. + */ MLK_KEY_7, + + /** + * 8. + */ MLK_KEY_8, + + /** + * 9. + */ MLK_KEY_9, + + /** + * Colon (:). + */ MLK_KEY_COLON, + + /** + * Semicolon (;). + */ MLK_KEY_SEMICOLON, + + /** + * Less (<). + */ MLK_KEY_LESS, + + /** + * Equals (=). + */ MLK_KEY_EQUALS, + + /** + * Greater (>). + */ MLK_KEY_GREATER, + + /** + * Response (?). + */ MLK_KEY_QUESTION, + + /** + * At (@). + */ MLK_KEY_AT, - MLK_KEY_LEFT_BRACKET, + + /** + * Left bracket ([). + */ + MLK_KEY_LBRACKET, + + /** + * Back slack (\). + */ MLK_KEY_BACKSLASH, - MLK_KEY_RIGHT_BRACKET, + + /** + * Right bracket (]). + */ + MLK_KEY_RBRACKET, + + /** + * Caret (^). + */ MLK_KEY_CARET, + + /** + * Underscore (_). + */ MLK_KEY_UNDERSCORE, + + /** + * Back quote (`). + */ MLK_KEY_BACKQUOTE, - MLK_KEY_a, - MLK_KEY_b, - MLK_KEY_c, - MLK_KEY_d, - MLK_KEY_e, - MLK_KEY_f, - MLK_KEY_g, - MLK_KEY_h, - MLK_KEY_i, - MLK_KEY_j, - MLK_KEY_k, - MLK_KEY_l, - MLK_KEY_m, - MLK_KEY_n, - MLK_KEY_o, - MLK_KEY_p, - MLK_KEY_q, - MLK_KEY_r, - MLK_KEY_s, - MLK_KEY_t, - MLK_KEY_u, - MLK_KEY_v, - MLK_KEY_w, - MLK_KEY_x, - MLK_KEY_y, - MLK_KEY_z, + + /** + * A. + */ + MLK_KEY_A, + + /** + * B. + */ + MLK_KEY_B, + + /** + * C. + */ + MLK_KEY_C, + + /** + * D. + */ + MLK_KEY_D, + + /** + * E. + */ + MLK_KEY_E, + + /** + * F. + */ + MLK_KEY_F, + + /** + * G. + */ + MLK_KEY_G, + + /** + * H. + */ + MLK_KEY_H, + + /** + * I. + */ + MLK_KEY_I, + + /** + * J. + */ + MLK_KEY_J, + + /** + * K. + */ + MLK_KEY_K, + + /** + * L. + */ + MLK_KEY_L, + + /** + * M. + */ + MLK_KEY_M, + + /** + * N. + */ + MLK_KEY_N, + + /** + * O. + */ + MLK_KEY_O, + + /** + * P. + */ + MLK_KEY_P, + + /** + * Q. + */ + MLK_KEY_Q, + + /** + * R. + */ + MLK_KEY_R, + + /** + * S. + */ + MLK_KEY_S, + + /** + * T. + */ + MLK_KEY_T, + + /** + * U. + */ + MLK_KEY_U, + + /** + * V. + */ + MLK_KEY_V, + + /** + * W. + */ + MLK_KEY_W, + + /** + * X. + */ + MLK_KEY_X, + + /** + * Y. + */ + MLK_KEY_Y, + + /** + * Z. + */ + MLK_KEY_Z, + + /** + * Caps lock, aka the most useless key. + */ MLK_KEY_CAPSLOCK, + + /** + * F1. + */ MLK_KEY_F1, + + /** + * F2. + */ MLK_KEY_F2, + + /** + * F3. + */ MLK_KEY_F3, + + /** + * F4. + */ MLK_KEY_F4, + + /** + * F5. + */ MLK_KEY_F5, + + /** + * F6. + */ MLK_KEY_F6, + + /** + * F7. + */ MLK_KEY_F7, + + /** + * F8. + */ MLK_KEY_F8, + + /** + * F9. + */ MLK_KEY_F9, + + /** + * F10. + */ MLK_KEY_F10, + + /** + * F11. + */ MLK_KEY_F11, + + /** + * F12. + */ MLK_KEY_F12, + + /** + * F13. + */ MLK_KEY_F13, + + /** + * F14. + */ MLK_KEY_F14, + + /** + * F15. + */ MLK_KEY_F15, + + /** + * F16. + */ MLK_KEY_F16, + + /** + * F17. + */ MLK_KEY_F17, + + /** + * F18. + */ MLK_KEY_F18, + + /** + * F19. + */ MLK_KEY_F19, + + /** + * F20. + */ MLK_KEY_F20, + + /** + * F21. + */ MLK_KEY_F21, + + /** + * F22. + */ MLK_KEY_F22, + + /** + * F23. + */ MLK_KEY_F23, + + /** + * F24. + */ MLK_KEY_F24, + + /** + * Print screen. + */ MLK_KEY_PRINTSCREEN, + + /** + * Scroll lock. + */ MLK_KEY_SCROLL_LOCK, + + /** + * Pause. + */ MLK_KEY_PAUSE, + + /** + * Insert. + */ MLK_KEY_INSERT, + + /** + * Home. + */ MLK_KEY_HOME, + + /** + * Page up. + */ MLK_KEY_PAGEUP, + + /** + * Right delete. + */ MLK_KEY_DELETE, + + /** + * End. + */ MLK_KEY_END, + + /** + * Page down. + */ MLK_KEY_PAGEDOWN, + + /** + * Right arrow. + */ MLK_KEY_RIGHT, + + /** + * Left arrow. + */ MLK_KEY_LEFT, + + /** + * Down arrow. + */ MLK_KEY_DOWN, + + /** + * Up arrow. + */ MLK_KEY_UP, + + /** + * Num lock key. + */ MLK_KEY_NUMLOCKCLEAR, + + /** + * Keypad divide (/). + */ MLK_KEY_KP_DIVIDE, + + /** + * Keypad multiply (*). + */ MLK_KEY_KP_MULTIPLY, + + /** + * Keypad minus (-). + */ MLK_KEY_KP_MINUS, + + /** + * Keypad plus (+). + */ MLK_KEY_KP_PLUS, + + /** + * Keypad enter. + */ MLK_KEY_KP_ENTER, + + /** + * Keypad 00. + */ MLK_KEY_KP_00, + + /** + * Keypad 000. + */ MLK_KEY_KP_000, + + /** + * Keypad (1). + */ MLK_KEY_KP_1, + + /** + * Keypad (2). + */ MLK_KEY_KP_2, + + /** + * Keypad (3). + */ MLK_KEY_KP_3, + + /** + * Keypad (4). + */ MLK_KEY_KP_4, + + /** + * Keypad (5). + */ MLK_KEY_KP_5, + + /** + * Keypad (6). + */ MLK_KEY_KP_6, + + /** + * Keypad (7). + */ MLK_KEY_KP_7, + + /** + * Keypad (8). + */ MLK_KEY_KP_8, + + /** + * Keypad (9). + */ MLK_KEY_KP_9, + + /** + * Keypad (0). + */ MLK_KEY_KP_0, + + /** + * Keypad period (.). + */ MLK_KEY_KP_PERIOD, + + /** + * Keypad comma (,). + */ MLK_KEY_KP_COMMA, + + /** + * Menu. + */ MLK_KEY_MENU, + + /** + * Sound mute. + */ MLK_KEY_MUTE, + + /** + * Sound volume up. + */ MLK_KEY_VOLUME_UP, + + /** + * Sound volume down. + */ MLK_KEY_VOLUME_DOWN, + + /** + * Left ctrl. + */ MLK_KEY_LCTRL, + + /** + * Left shift. + */ MLK_KEY_LSHIFT, + + /** + * Left alt/option. + */ MLK_KEY_LALT, + + /** + * Left super (or logo). + */ MLK_KEY_LSUPER, + + /** + * Right ctrl. + */ MLK_KEY_RCTRL, + + /** + * Right shift. + */ MLK_KEY_RSHIFT, + + /** + * Right alt/option. + */ MLK_KEY_RALT, + + /** + * Right super (or logo). + */ MLK_KEY_RSUPER, }; +/** + * \enum mlk_key_mod + * \brief Keyboard modifier + * + * This enumeration is implemented as a bitmask. + */ enum mlk_key_mod { + /** + * Left shift. + */ MLK_KEY_MOD_LSHIFT = 1 << 0, + + /** + * Left ctrl. + */ MLK_KEY_MOD_LCTRL = 1 << 1, + + /** + * Left alt/option. + */ MLK_KEY_MOD_LALT = 1 << 2, + + /** + * Left super (or logo). + */ MLK_KEY_MOD_LSUPER = 1 << 3, + + /** + * Right shift. + */ MLK_KEY_MOD_RSHIFT = 1 << 4, + + /** + * Right ctrl. + */ MLK_KEY_MOD_RCTRL = 1 << 5, + + /** + * Right alt/option. + */ MLK_KEY_MOD_RALT = 1 << 6, + + /** + * Right super (or logo). + */ MLK_KEY_MOD_RSUPER = 1 << 7 };