SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
Sleak::Input Namespace Reference

Key and mouse-button code enumerations plus their name lookups. More...

Classes

struct  GamepadEvent
class  InputAction
class  InputEventListener
class  InputManager
class  Keyboard
struct  KeyboardEvent
struct  MouseEvent

Enumerations

enum class  GamepadEventType { GamepadEventType::ButtonPressed , GamepadEventType::ButtonReleased , GamepadEventType::AxisMotion }
enum class  KEY_CODE {
  KEY_CODE::KEY__UNKNOWN = 0 , KEY_CODE::KEY__A = 4 , KEY_CODE::KEY__B = 5 , KEY_CODE::KEY__C = 6 ,
  KEY_CODE::KEY__D = 7 , KEY_CODE::KEY__E = 8 , KEY_CODE::KEY__F = 9 , KEY_CODE::KEY__G = 10 ,
  KEY_CODE::KEY__H = 11 , KEY_CODE::KEY__I = 12 , KEY_CODE::KEY__J = 13 , KEY_CODE::KEY__K = 14 ,
  KEY_CODE::KEY__L = 15 , KEY_CODE::KEY__M = 16 , KEY_CODE::KEY__N = 17 , KEY_CODE::KEY__O = 18 ,
  KEY_CODE::KEY__P = 19 , KEY_CODE::KEY__Q = 20 , KEY_CODE::KEY__R = 21 , KEY_CODE::KEY__S = 22 ,
  KEY_CODE::KEY__T = 23 , KEY_CODE::KEY__U = 24 , KEY_CODE::KEY__V = 25 , KEY_CODE::KEY__W = 26 ,
  KEY_CODE::KEY__X = 27 , KEY_CODE::KEY__Y = 28 , KEY_CODE::KEY__Z = 29 , KEY_CODE::KEY__1 = 30 ,
  KEY_CODE::KEY__2 = 31 , KEY_CODE::KEY__3 = 32 , KEY_CODE::KEY__4 = 33 , KEY_CODE::KEY__5 = 34 ,
  KEY_CODE::KEY__6 = 35 , KEY_CODE::KEY__7 = 36 , KEY_CODE::KEY__8 = 37 , KEY_CODE::KEY__9 = 38 ,
  KEY_CODE::KEY__0 = 39 , KEY_CODE::KEY__RETURN = 40 , KEY_CODE::KEY__ESCAPE = 41 , KEY_CODE::KEY__BACKSPACE = 42 ,
  KEY_CODE::KEY__TAB = 43 , KEY_CODE::KEY__SPACE = 44 , KEY_CODE::KEY__MINUS = 45 , KEY_CODE::KEY__EQUALS = 46 ,
  KEY_CODE::KEY__LEFTBRACKET = 47 , KEY_CODE::KEY__RIGHTBRACKET = 48 , KEY_CODE::KEY__BACKSLASH = 49 , KEY_CODE::KEY__NONUSHASH = 50 ,
  KEY_CODE::KEY__SEMICOLON = 51 , KEY_CODE::KEY__APOSTROPHE = 52 , KEY_CODE::KEY__GRAVE = 53 , KEY_CODE::KEY__COMMA = 54 ,
  KEY_CODE::KEY__PERIOD = 55 , KEY_CODE::KEY__SLASH = 56 , KEY_CODE::KEY__CAPSLOCK = 57 , KEY_CODE::KEY__F1 = 58 ,
  KEY_CODE::KEY__F2 = 59 , KEY_CODE::KEY__F3 = 60 , KEY_CODE::KEY__F4 = 61 , KEY_CODE::KEY__F5 = 62 ,
  KEY_CODE::KEY__F6 = 63 , KEY_CODE::KEY__F7 = 64 , KEY_CODE::KEY__F8 = 65 , KEY_CODE::KEY__F9 = 66 ,
  KEY_CODE::KEY__F10 = 67 , KEY_CODE::KEY__F11 = 68 , KEY_CODE::KEY__F12 = 69 , KEY_CODE::KEY__PRINTSCREEN = 70 ,
  KEY_CODE::KEY__SCROLLLOCK = 71 , KEY_CODE::KEY__PAUSE = 72 , KEY_CODE::KEY__INSERT = 73 , KEY_CODE::KEY__HOME = 74 ,
  KEY_CODE::KEY__PAGEUP = 75 , KEY_CODE::KEY__DELETE = 76 , KEY_CODE::KEY__END = 77 , KEY_CODE::KEY__PAGEDOWN = 78 ,
  KEY_CODE::KEY__RIGHT = 79 , KEY_CODE::KEY__LEFT = 80 , KEY_CODE::KEY__DOWN = 81 , KEY_CODE::KEY__UP = 82 ,
  KEY_CODE::KEY__NUMLOCKCLEAR = 83 , KEY_CODE::KEY__KP_DIVIDE = 84 , KEY_CODE::KEY__KP_MULTIPLY = 85 , KEY_CODE::KEY__KP_MINUS = 86 ,
  KEY_CODE::KEY__KP_PLUS = 87 , KEY_CODE::KEY__KP_ENTER = 88 , KEY_CODE::KEY__KP_1 = 89 , KEY_CODE::KEY__KP_2 = 90 ,
  KEY_CODE::KEY__KP_3 = 91 , KEY_CODE::KEY__KP_4 = 92 , KEY_CODE::KEY__KP_5 = 93 , KEY_CODE::KEY__KP_6 = 94 ,
  KEY_CODE::KEY__KP_7 = 95 , KEY_CODE::KEY__KP_8 = 96 , KEY_CODE::KEY__KP_9 = 97 , KEY_CODE::KEY__KP_0 = 98 ,
  KEY_CODE::KEY__KP_PERIOD = 99 , KEY_CODE::KEY__NONUSBACKSLASH = 100 , KEY_CODE::KEY__APPLICATION = 101 , KEY_CODE::KEY__KP_EQUALS = 103 ,
  KEY_CODE::KEY__F13 = 104 , KEY_CODE::KEY__F14 = 105 , KEY_CODE::KEY__F15 = 106 , KEY_CODE::KEY__F16 = 107 ,
  KEY_CODE::KEY__F17 = 108 , KEY_CODE::KEY__F18 = 109 , KEY_CODE::KEY__F19 = 110 , KEY_CODE::KEY__F20 = 111 ,
  KEY_CODE::KEY__F21 = 112 , KEY_CODE::KEY__F22 = 113 , KEY_CODE::KEY__F23 = 114 , KEY_CODE::KEY__F24 = 115 ,
  KEY_CODE::KEY__EXECUTE = 116 , KEY_CODE::KEY__HELP = 117 , KEY_CODE::KEY__MENU = 118 , KEY_CODE::KEY__SELECT = 119 ,
  KEY_CODE::KEY__STOP = 120 , KEY_CODE::KEY__AGAIN = 121 , KEY_CODE::KEY__UNDO = 122 , KEY_CODE::KEY__CUT = 123 ,
  KEY_CODE::KEY__COPY = 124 , KEY_CODE::KEY__PASTE = 125 , KEY_CODE::KEY__FIND = 126 , KEY_CODE::KEY__MUTE = 127 ,
  KEY_CODE::KEY__VOLUMEUP = 128 , KEY_CODE::KEY__VOLUMEDOWN = 129 , KEY_CODE::KEY__KP_COMMA = 133 , KEY_CODE::KEY__KP_EQUALSAS400 = 134 ,
  KEY_CODE::KEY__INTERNATIONAL1 = 135 , KEY_CODE::KEY__INTERNATIONAL2 = 136 , KEY_CODE::KEY__INTERNATIONAL3 = 137 , KEY_CODE::KEY__INTERNATIONAL4 = 138 ,
  KEY_CODE::KEY__INTERNATIONAL5 = 139 , KEY_CODE::KEY__INTERNATIONAL6 = 140 , KEY_CODE::KEY__INTERNATIONAL7 = 141 , KEY_CODE::KEY__INTERNATIONAL8 = 142 ,
  KEY_CODE::KEY__INTERNATIONAL9 = 143 , KEY_CODE::KEY__LANG1 = 144 , KEY_CODE::KEY__LANG2 = 145 , KEY_CODE::KEY__LANG3 = 146 ,
  KEY_CODE::KEY__LANG4 = 147 , KEY_CODE::KEY__LANG5 = 148 , KEY_CODE::KEY__LANG6 = 149 , KEY_CODE::KEY__LANG7 = 150 ,
  KEY_CODE::KEY__LANG8 = 151 , KEY_CODE::KEY__LANG9 = 152 , KEY_CODE::KEY__ALTERASE = 153 , KEY_CODE::KEY__SYSREQ = 154 ,
  KEY_CODE::KEY__CANCEL = 155 , KEY_CODE::KEY__CLEAR = 156 , KEY_CODE::KEY__PRIOR = 157 , KEY_CODE::KEY__RETURN2 = 158 ,
  KEY_CODE::KEY__SEPARATOR = 159 , KEY_CODE::KEY__OUT = 160 , KEY_CODE::KEY__OPER = 161 , KEY_CODE::KEY__CLEARAGAIN = 162 ,
  KEY_CODE::KEY__CRSEL = 163 , KEY_CODE::KEY__EXSEL = 164 , KEY_CODE::KEY__KP_00 = 176 , KEY_CODE::KEY__KP_000 = 177 ,
  KEY_CODE::KEY__THOUSANDSSEPARATOR = 178 , KEY_CODE::KEY__DECIMALSEPARATOR = 179 , KEY_CODE::KEY__CURRENCYUNIT = 180 , KEY_CODE::KEY__CURRENCYSUBUNIT = 181 ,
  KEY_CODE::KEY__KP_LEFTPAREN = 182 , KEY_CODE::KEY__KP_RIGHTPAREN = 183 , KEY_CODE::KEY__KP_LEFTBRACE = 184 , KEY_CODE::KEY__KP_RIGHTBRACE = 185 ,
  KEY_CODE::KEY__KP_TAB = 186 , KEY_CODE::KEY__KP_BACKSPACE = 187 , KEY_CODE::KEY__KP_A = 188 , KEY_CODE::KEY__KP_B = 189 ,
  KEY_CODE::KEY__KP_C = 190 , KEY_CODE::KEY__KP_D = 191 , KEY_CODE::KEY__KP_E = 192 , KEY_CODE::KEY__KP_F = 193 ,
  KEY_CODE::KEY__KP_XOR = 194 , KEY_CODE::KEY__KP_POWER = 195 , KEY_CODE::KEY__KP_PERCENT = 196 , KEY_CODE::KEY__KP_LESS = 197 ,
  KEY_CODE::KEY__KP_GREATER = 198 , KEY_CODE::KEY__KP_AMPERSAND = 199 , KEY_CODE::KEY__KP_DBLAMPERSAND = 200 , KEY_CODE::KEY__KP_VERTICALBAR = 201 ,
  KEY_CODE::KEY__KP_DBLVERTICALBAR = 202 , KEY_CODE::KEY__KP_COLON = 203 , KEY_CODE::KEY__KP_HASH = 204 , KEY_CODE::KEY__KP_SPACE = 205 ,
  KEY_CODE::KEY__KP_AT = 206 , KEY_CODE::KEY__KP_EXCLAM = 207 , KEY_CODE::KEY__KP_MEMSTORE = 208 , KEY_CODE::KEY__KP_MEMRECALL = 209 ,
  KEY_CODE::KEY__KP_MEMCLEAR = 210 , KEY_CODE::KEY__KP_MEMADD = 211 , KEY_CODE::KEY__KP_MEMSUBTRACT = 212 , KEY_CODE::KEY__KP_MEMMULTIPLY = 213 ,
  KEY_CODE::KEY__KP_MEMDIVIDE = 214 , KEY_CODE::KEY__KP_PLUSMINUS = 215 , KEY_CODE::KEY__KP_CLEAR = 216 , KEY_CODE::KEY__KP_CLEARENTRY = 217 ,
  KEY_CODE::KEY__KP_BINARY = 218 , KEY_CODE::KEY__KP_OCTAL = 219 , KEY_CODE::KEY__KP_DECIMAL = 220 , KEY_CODE::KEY__KP_HEXADECIMAL = 221 ,
  KEY_CODE::KEY__LCTRL = 224 , KEY_CODE::KEY__LSHIFT = 225 , KEY_CODE::KEY__LALT = 226 , KEY_CODE::KEY__LGUI = 227 ,
  KEY_CODE::KEY__RCTRL = 228 , KEY_CODE::KEY__RSHIFT = 229 , KEY_CODE::KEY__RALT = 230 , KEY_CODE::KEY__RGUI = 231 ,
  KEY_CODE::KEY__MODE = 257 , KEY_CODE::KEY__SLEEP = 258 , KEY_CODE::KEY__WAKE = 259 , KEY_CODE::KEY__CHANNEL_INCREMENT = 260 ,
  KEY_CODE::KEY__CHANNEL_DECREMENT = 261 , KEY_CODE::KEY__MEDIA_PLAY = 262 , KEY_CODE::KEY__MEDIA_PAUSE = 263 , KEY_CODE::KEY__MEDIA_RECORD = 264 ,
  KEY_CODE::KEY__MEDIA_FAST_FORWARD = 265 , KEY_CODE::KEY__MEDIA_REWIND = 266 , KEY_CODE::KEY__MEDIA_NEXT_TRACK = 267 , KEY_CODE::KEY__MEDIA_PREVIOUS_TRACK = 268 ,
  KEY_CODE::KEY__MEDIA_STOP = 269 , KEY_CODE::KEY__MEDIA_EJECT = 270 , KEY_CODE::KEY__MEDIA_PLAY_PAUSE = 271 , KEY_CODE::KEY__MEDIA_SELECT = 272 ,
  KEY_CODE::KEY__AC_NEW = 273 , KEY_CODE::KEY__AC_OPEN = 274 , KEY_CODE::KEY__AC_CLOSE = 275 , KEY_CODE::KEY__AC_EXIT = 276 ,
  KEY_CODE::KEY__AC_SAVE = 277 , KEY_CODE::KEY__AC_PRINT = 278 , KEY_CODE::KEY__AC_PROPERTIES = 279 , KEY_CODE::KEY__AC_SEARCH = 280 ,
  KEY_CODE::KEY__AC_HOME = 281 , KEY_CODE::KEY__AC_BACK = 282 , KEY_CODE::KEY__AC_FORWARD = 283 , KEY_CODE::KEY__AC_STOP = 284 ,
  KEY_CODE::KEY__AC_REFRESH = 285 , KEY_CODE::KEY__AC_BOOKMARKS = 286 , KEY_CODE::KEY__SOFTLEFT = 287 , KEY_CODE::KEY__SOFTRIGHT = 288 ,
  KEY_CODE::KEY__CALL = 289 , KEY_CODE::KEY__ENDCALL = 290 , KEY_CODE::KEY__RESERVED = 400 , KEY_CODE::KEY__COUNT = 512
}
enum class  KeyboardEventType { KeyboardEventType::KeyPressed , KeyboardEventType::KeyReleased , KeyboardEventType::Hold }
enum class  MOUSE_CODE {
  MOUSE_CODE::Button0 = 0 , MOUSE_CODE::Button1 = 1 , MOUSE_CODE::Button2 = 2 , MOUSE_CODE::Button3 = 3 ,
  MOUSE_CODE::Button4 = 4 , MOUSE_CODE::Button5 = 5 , MOUSE_CODE::Button6 = 6 , MOUSE_CODE::Button7 = 7 ,
  MOUSE_CODE::ButtonLeft = Button1 , MOUSE_CODE::ButtonMiddle = Button2 , MOUSE_CODE::ButtonRight = Button3
}
enum class  MouseEventType { MouseEventType::ButtonPressed , MouseEventType::ButtonReleased , MouseEventType::Motion , MouseEventType::Wheel }

Functions

std::string Button_toString (MOUSE_CODE button)
 Human-readable label for button, used in event ToString() output.
std::string Key_toString (KEY_CODE key)
 Human-readable label for key, used in event ToString() output.

Detailed Description

Key and mouse-button code enumerations plus their name lookups.

Sleak::Input::KEY_CODE is the enum the keyboard events report, and the if_key_press(KEY__W) macro compares against it.

Function Documentation

◆ Button_toString()

std::string Sleak::Input::Button_toString ( MOUSE_CODE button)
inline

Human-readable label for button, used in event ToString() output.

Definition at line 564 of file KeyCodes.hpp.

◆ Key_toString()

std::string Sleak::Input::Key_toString ( KEY_CODE key)
inline

Human-readable label for key, used in event ToString() output.

Definition at line 310 of file KeyCodes.hpp.