Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
keyboard.h
Go to the documentation of this file.
1 // Blamite Game Engine - Keyboard Input Handling //
3 // (c) Elaztek Studios 2023 //
5 
6 #pragma once
7 
8 #include <Windows.h>
9 #include <sdl2/SDL_keyboard.h>
10 #include <sdl2/SDL_mouse.h>
11 
12 #ifndef BLAM
13 #define BLAM
14 #endif
15 
19 namespace Blam::Input
20 {
26  BLAM void FireKeyPress(SDL_Keycode key);
27 
33  BLAM void FireCharacterInput(char character);
34 
41  BLAM void SetKeyState(SDL_Keycode key, bool down);
42 
50  BLAM bool IsKeyDown(SDL_Keycode key);
51 
58  BLAM void FireMouseClick(uint8_t button);
59 
68  BLAM void FireMouseMove(int x, int y);
69 
77  BLAM void SetMouseButtonState(uint8_t button, bool down);
78 
87  BLAM bool IsMouseButtonDown(uint8_t button);
88 }
SDLK_BACKSPACE
@ SDLK_BACKSPACE
Definition: SdlEmulationLayer.h:387
BLAM
#define BLAM
Definition: keyboard.h:13
special_keys
std::vector< int > special_keys
List of all special keys, or non-alphanumeric keys to be handled from the WM_KEYDOWN message.
Definition: keyboard.cpp:24
SDLK_HOME
@ SDLK_HOME
Definition: SdlEmulationLayer.h:477
Blam::Input::FireCharacterInput
BLAM void FireCharacterInput(char character)
Fires a character input event.
Definition: keyboard.cpp:97
SDLK_F10
@ SDLK_F10
Definition: SdlEmulationLayer.h:469
Blam::Input::FireMouseMove
BLAM void FireMouseMove(int x, int y)
Fires a MouseMoveEvent.
Definition: mouse.cpp:18
keyboard.h
SDL_Keycode
Ogre::int32 SDL_Keycode
Definition: SdlEmulationLayer.h:10
Blam::Input::FireKeyPress
BLAM void FireKeyPress(SDL_Keycode key)
Fires a key press event.
Definition: keyboard.cpp:91
SDLK_F12
@ SDLK_F12
Definition: SdlEmulationLayer.h:471
SDLK_F1
@ SDLK_F1
Definition: SdlEmulationLayer.h:460
uint8_t
unsigned char uint8_t
Definition: stdint.h:15
SDLK_UP
@ SDLK_UP
Definition: SdlEmulationLayer.h:485
y
font DisplayOffset y
Definition: README.txt:68
is_special_key
bool is_special_key(WPARAM virtual_key)
Checks if the provided virtual key is found within the list of special keys.
Definition: keyboard.cpp:52
SDLK_F8
@ SDLK_F8
Definition: SdlEmulationLayer.h:467
Blam::Input::IsMouseButtonDown
BLAM bool IsMouseButtonDown(uint8_t button)
Checks if a given mouse button is down.
Definition: mouse.cpp:59
Blam::Input::SetMouseButtonState
BLAM void SetMouseButtonState(uint8_t button, bool down)
Sets the mouse down state for a given mouse button.
Definition: mouse.cpp:24
is_regular_key
bool is_regular_key(char character)
Determines whether or not the provided key is found in the list of normal characters.
Definition: keyboard.cpp:75
SDLK_F4
@ SDLK_F4
Definition: SdlEmulationLayer.h:463
SDLK_RETURN
@ SDLK_RETURN
Definition: SdlEmulationLayer.h:385
normal_chars
std::vector< char > normal_chars
List of all standard characters to be handled from the WM_CHAR message.
Definition: keyboard.cpp:33
SDLK_RIGHT
@ SDLK_RIGHT
Definition: SdlEmulationLayer.h:482
SDLK_F2
@ SDLK_F2
Definition: SdlEmulationLayer.h:461
Blam::Input
Namespace containing functions for handling input from keyboards, mice, etc.
Definition: keyboard.h:19
SDLK_F7
@ SDLK_F7
Definition: SdlEmulationLayer.h:466
SDLK_LEFT
@ SDLK_LEFT
Definition: SdlEmulationLayer.h:483
SDLK_DOWN
@ SDLK_DOWN
Definition: SdlEmulationLayer.h:484
SDLK_F9
@ SDLK_F9
Definition: SdlEmulationLayer.h:468
Blam::Input::IsKeyDown
BLAM bool IsKeyDown(SDL_Keycode key)
Checks if a given key is down.
Definition: keyboard.cpp:141
Blam::Input::FireMouseClick
BLAM void FireMouseClick(uint8_t button)
Fires a MouseClickEvent.
Definition: mouse.cpp:12
SDLK_TAB
@ SDLK_TAB
Definition: SdlEmulationLayer.h:388
x
config GlyphExtraSpacing x
Definition: README.txt:30
SDLK_F6
@ SDLK_F6
Definition: SdlEmulationLayer.h:465
Blam::Input::SetKeyState
BLAM void SetKeyState(SDL_Keycode key, bool down)
Sets the pressed state of a key.
Definition: keyboard.cpp:106
active_keys
std::vector< SDL_Keycode > active_keys
Definition: keyboard.cpp:42
SDLK_F11
@ SDLK_F11
Definition: SdlEmulationLayer.h:470
lock_keystate
bool lock_keystate
Definition: keyboard.cpp:43
SDLK_F5
@ SDLK_F5
Definition: SdlEmulationLayer.h:464
SDLK_F3
@ SDLK_F3
Definition: SdlEmulationLayer.h:462