changeset 527:3d004b068744

core: doxygenize key
author David Demelier <markand@malikania.fr>
date Sat, 04 Mar 2023 20:03:08 +0100
parents 8e1f4e17bc80
children 95792046d3d2
files libmlk-core/mlk/core/event.c libmlk-core/mlk/core/key.h
diffstat 2 files changed, 664 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- 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                      },
--- 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
 };