Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Key.h File Reference

Strongly-typed key codes; values mirror GLFW. More...

#include "Types.h"
+ Include dependency graph for Key.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mnd
 

Enumerations

enum class  mnd::Key : i16 {
  mnd::Key::Unknown = -1 , mnd::Key::Space = 32 , mnd::Key::Apostrophe = 39 , mnd::Key::Comma = 44 ,
  mnd::Key::Minus = 45 , mnd::Key::Period = 46 , mnd::Key::Slash = 47 , mnd::Key::Num0 = 48 ,
  mnd::Key::Num1 = 49 , mnd::Key::Num2 = 50 , mnd::Key::Num3 = 51 , mnd::Key::Num4 = 52 ,
  mnd::Key::Num5 = 53 , mnd::Key::Num6 = 54 , mnd::Key::Num7 = 55 , mnd::Key::Num8 = 56 ,
  mnd::Key::Num9 = 57 , mnd::Key::Semicolon = 59 , mnd::Key::Equal = 61 , mnd::Key::A = 65 ,
  mnd::Key::B = 66 , mnd::Key::C = 67 , mnd::Key::D = 68 , mnd::Key::E = 69 ,
  mnd::Key::F = 70 , mnd::Key::G = 71 , mnd::Key::H = 72 , mnd::Key::I = 73 ,
  mnd::Key::J = 74 , mnd::Key::K = 75 , mnd::Key::L = 76 , mnd::Key::M = 77 ,
  mnd::Key::N = 78 , mnd::Key::O = 79 , mnd::Key::P = 80 , mnd::Key::Q = 81 ,
  mnd::Key::R = 82 , mnd::Key::S = 83 , mnd::Key::T = 84 , mnd::Key::U = 85 ,
  mnd::Key::V = 86 , mnd::Key::W = 87 , mnd::Key::X = 88 , mnd::Key::Y = 89 ,
  mnd::Key::Z = 90 , mnd::Key::LeftBracket = 91 , mnd::Key::Backslash = 92 , mnd::Key::RightBracket = 93 ,
  mnd::Key::GraveAccent = 96 , mnd::Key::Escape = 256 , mnd::Key::Enter = 257 , mnd::Key::Tab = 258 ,
  mnd::Key::Backspace = 259 , mnd::Key::Insert = 260 , mnd::Key::Delete = 261 , mnd::Key::Right = 262 ,
  mnd::Key::Left = 263 , mnd::Key::Down = 264 , mnd::Key::Up = 265 , mnd::Key::PageUp = 266 ,
  mnd::Key::PageDown = 267 , mnd::Key::Home = 268 , mnd::Key::End = 269 , mnd::Key::CapsLock = 280 ,
  mnd::Key::ScrollLock = 281 , mnd::Key::NumLock = 282 , mnd::Key::PrintScreen = 283 , mnd::Key::Pause = 284 ,
  mnd::Key::F1 = 290 , mnd::Key::F2 = 291 , mnd::Key::F3 = 292 , mnd::Key::F4 = 293 ,
  mnd::Key::F5 = 294 , mnd::Key::F6 = 295 , mnd::Key::F7 = 296 , mnd::Key::F8 = 297 ,
  mnd::Key::F9 = 298 , mnd::Key::F10 = 299 , mnd::Key::F11 = 300 , mnd::Key::F12 = 301 ,
  mnd::Key::Kp0 = 320 , mnd::Key::Kp1 = 321 , mnd::Key::Kp2 = 322 , mnd::Key::Kp3 = 323 ,
  mnd::Key::Kp4 = 324 , mnd::Key::Kp5 = 325 , mnd::Key::Kp6 = 326 , mnd::Key::Kp7 = 327 ,
  mnd::Key::Kp8 = 328 , mnd::Key::Kp9 = 329 , mnd::Key::KpDecimal = 330 , mnd::Key::KpDivide = 331 ,
  mnd::Key::KpMultiply = 332 , mnd::Key::KpSubtract = 333 , mnd::Key::KpAdd = 334 , mnd::Key::KpEnter = 335 ,
  mnd::Key::KpEqual = 336 , mnd::Key::LeftShift = 340 , mnd::Key::LeftControl = 341 , mnd::Key::LeftAlt = 342 ,
  mnd::Key::LeftSuper = 343 , mnd::Key::RightShift = 344 , mnd::Key::RightControl = 345 , mnd::Key::RightAlt = 346 ,
  mnd::Key::RightSuper = 347 , mnd::Key::Menu = 348
}
 Keyboard key + mouse button identifier (GLFW-compatible values). More...
 
enum class  mnd::MouseButton : i8 {
  mnd::Left = 0 , mnd::Right = 1 , mnd::Middle = 2 , mnd::Btn4 = 3 ,
  mnd::Btn5 = 4 , mnd::Btn6 = 5 , mnd::Btn7 = 6 , mnd::Btn8 = 7
}
 

Detailed Description

Strongly-typed key codes; values mirror GLFW.

Underlying integer values are deliberately identical to GLFW_KEY_* and GLFW_MOUSE_BUTTON_* (USB HID usage codes for letters/digits) so an mnd::Key can be passed straight to GLFW callbacks without a translation table, while still giving the C++ side type safety.

if (input.IsKeyDown(mnd::Key::W)) { ... }
if (input.IsMouseButtonPressed(mnd::Key::MouseLeft)) { ... }

Definition in file Key.h.