R-Type  2
Doom but in better
Loading...
Searching...
No Matches
Key.hpp File Reference

File in charge of containing code to provide an abstraction layer between the SFML keys and the internal program keys. More...

#include <any>
#include <optional>
#include <unordered_map>
#include <SFML/Window/Event.hpp>
#include "Log.hpp"
#include "LogMacros.hpp"
#include "Utilities.hpp"
#include "Constants.hpp"
#include "GUI/ECS/EntityNode.hpp"
Include dependency graph for Key.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  GUI::ECS::Systems::KeyMapper
 

Namespaces

namespace  GUI
 
namespace  GUI::ECS
 
namespace  GUI::ECS::Systems
 

Enumerations

enum class  GUI::ECS::Systems::Key {
  GUI::ECS::Systems::Unknown = -1 , GUI::ECS::Systems::A = 0 , GUI::ECS::Systems::B , GUI::ECS::Systems::C ,
  GUI::ECS::Systems::D , GUI::ECS::Systems::E , GUI::ECS::Systems::F , GUI::ECS::Systems::G ,
  GUI::ECS::Systems::H , GUI::ECS::Systems::I , GUI::ECS::Systems::J , GUI::ECS::Systems::K ,
  GUI::ECS::Systems::L , GUI::ECS::Systems::M , GUI::ECS::Systems::N , GUI::ECS::Systems::O ,
  GUI::ECS::Systems::P , GUI::ECS::Systems::Q , GUI::ECS::Systems::R , GUI::ECS::Systems::S ,
  GUI::ECS::Systems::T , GUI::ECS::Systems::U , GUI::ECS::Systems::V , GUI::ECS::Systems::W ,
  GUI::ECS::Systems::X , GUI::ECS::Systems::Y , GUI::ECS::Systems::Z , GUI::ECS::Systems::Up ,
  GUI::ECS::Systems::F1 , GUI::ECS::Systems::F2 , GUI::ECS::Systems::F3 , GUI::ECS::Systems::F4 ,
  GUI::ECS::Systems::F5 , GUI::ECS::Systems::F6 , GUI::ECS::Systems::F7 , GUI::ECS::Systems::F8 ,
  GUI::ECS::Systems::F9 , GUI::ECS::Systems::F10 , GUI::ECS::Systems::F11 , GUI::ECS::Systems::F12 ,
  GUI::ECS::Systems::F13 , GUI::ECS::Systems::F14 , GUI::ECS::Systems::F15 , GUI::ECS::Systems::F16 ,
  GUI::ECS::Systems::F17 , GUI::ECS::Systems::F18 , GUI::ECS::Systems::F19 , GUI::ECS::Systems::F20 ,
  GUI::ECS::Systems::F21 , GUI::ECS::Systems::F22 , GUI::ECS::Systems::F23 , GUI::ECS::Systems::F24 ,
  GUI::ECS::Systems::Tab , GUI::ECS::Systems::End , GUI::ECS::Systems::Add , GUI::ECS::Systems::Cut ,
  GUI::ECS::Systems::Num0 , GUI::ECS::Systems::Num1 , GUI::ECS::Systems::Num2 , GUI::ECS::Systems::Num3 ,
  GUI::ECS::Systems::Num4 , GUI::ECS::Systems::Num5 , GUI::ECS::Systems::Num6 , GUI::ECS::Systems::Num7 ,
  GUI::ECS::Systems::Num8 , GUI::ECS::Systems::Num9 , GUI::ECS::Systems::LAlt , GUI::ECS::Systems::RAlt ,
  GUI::ECS::Systems::Menu , GUI::ECS::Systems::Home , GUI::ECS::Systems::Down , GUI::ECS::Systems::Left ,
  GUI::ECS::Systems::Copy , GUI::ECS::Systems::Redo , GUI::ECS::Systems::Undo , GUI::ECS::Systems::Help ,
  GUI::ECS::Systems::Back , GUI::ECS::Systems::Stop , GUI::ECS::Systems::Comma , GUI::ECS::Systems::Enter ,
  GUI::ECS::Systems::Slash , GUI::ECS::Systems::Grave , GUI::ECS::Systems::Equal , GUI::ECS::Systems::Space ,
  GUI::ECS::Systems::Right , GUI::ECS::Systems::Pause , GUI::ECS::Systems::Paste , GUI::ECS::Systems::LShift ,
  GUI::ECS::Systems::RShift , GUI::ECS::Systems::Escape , GUI::ECS::Systems::Period , GUI::ECS::Systems::Hyphen ,
  GUI::ECS::Systems::PageUp , GUI::ECS::Systems::Insert , GUI::ECS::Systems::Delete , GUI::ECS::Systems::Divide ,
  GUI::ECS::Systems::Search , GUI::ECS::Systems::Select , GUI::ECS::Systems::Forward , GUI::ECS::Systems::Refresh ,
  GUI::ECS::Systems::Execute , GUI::ECS::Systems::LSystem , GUI::ECS::Systems::RSystem , GUI::ECS::Systems::Numpad0 ,
  GUI::ECS::Systems::Numpad1 , GUI::ECS::Systems::Numpad2 , GUI::ECS::Systems::Numpad3 , GUI::ECS::Systems::Numpad4 ,
  GUI::ECS::Systems::Numpad5 , GUI::ECS::Systems::Numpad6 , GUI::ECS::Systems::Numpad7 , GUI::ECS::Systems::Numpad8 ,
  GUI::ECS::Systems::Numpad9 , GUI::ECS::Systems::PageDown , GUI::ECS::Systems::LControl , GUI::ECS::Systems::RControl ,
  GUI::ECS::Systems::LBracket , GUI::ECS::Systems::RBracket , GUI::ECS::Systems::Subtract , GUI::ECS::Systems::Multiply ,
  GUI::ECS::Systems::CapsLock , GUI::ECS::Systems::HomePage , GUI::ECS::Systems::VolumeUp , GUI::ECS::Systems::Semicolon ,
  GUI::ECS::Systems::Backslash , GUI::ECS::Systems::Backspace , GUI::ECS::Systems::Favorites , GUI::ECS::Systems::MediaStop ,
  GUI::ECS::Systems::Apostrophe , GUI::ECS::Systems::LaunchMail , GUI::ECS::Systems::VolumeDown , GUI::ECS::Systems::ModeChange ,
  GUI::ECS::Systems::VolumeMute , GUI::ECS::Systems::Application , GUI::ECS::Systems::NumpadEqual , GUI::ECS::Systems::NumpadEnter ,
  GUI::ECS::Systems::NumpadDecimal , GUI::ECS::Systems::NonUsBackslash , GUI::ECS::Systems::MediaPlayPause , GUI::ECS::Systems::MediaNextTrack ,
  GUI::ECS::Systems::LaunchMediaSelect , GUI::ECS::Systems::LaunchApplication1 , GUI::ECS::Systems::LaunchApplication2 , GUI::ECS::Systems::MediaPreviousTrack
}
 

Functions

std::ostream & GUI::ECS::Systems::operator<< (std::ostream &os, const KeyMapper &item)
 Outputs the keyMapper's info to a stream.
 
std::ostream & GUI::ECS::Systems::operator<< (std::ostream &os, const Key &item)
 Outputs the keyMapper's info to a stream.
 

Variables

const std::unordered_map< Key, std::string > GUI::ECS::Systems::keyCodeEquivalence
 An unordered map to track the equivalence between the Key and the string representation.
 

Detailed Description

File in charge of containing code to provide an abstraction layer between the SFML keys and the internal program keys.

Definition in file Key.hpp.