You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GlosSI/GlosSITarget/steam_sf_keymap.h

116 lines
2.7 KiB
C++

#pragma once
#include <SFML/Window/Keyboard.hpp>
#include <unordered_map>
#define QQ(x) #x
#define QUOTE(x) QQ(x)
#define KEYCONVSF(KEY) \
{ QUOTE(KEY), sf::Keyboard::Key::KEY }
namespace keymap {
std::unordered_map<std::string, sf::Keyboard::Key> sfkey = {
{"Shift", sf::Keyboard::Key::LShift},
{"Alt", sf::Keyboard::Key::LAlt},
{"Ctrl", sf::Keyboard::Key::LControl},
{"Del", sf::Keyboard::Key::Delete},
{"Ins", sf::Keyboard::Key::Insert},
{"Home", sf::Keyboard::Key::Home},
{"Space", sf::Keyboard::Key::Space},
{"Backspace", sf::Keyboard::Key::Backspace},
{"Enter", sf::Keyboard::Key::Enter},
// TODO: more special keys with keylayout mapping... nope..
{"KEY_0", sf::Keyboard::Key::Num0},
{"KEY_1", sf::Keyboard::Key::Num1},
{"KEY_2", sf::Keyboard::Key::Num2},
{"KEY_3", sf::Keyboard::Key::Num3},
{"KEY_4", sf::Keyboard::Key::Num4},
{"KEY_5", sf::Keyboard::Key::Num5},
{"KEY_6", sf::Keyboard::Key::Num6},
{"KEY_7", sf::Keyboard::Key::Num7},
{"KEY_8", sf::Keyboard::Key::Num8},
{"KEY_9", sf::Keyboard::Key::Num9},
KEYCONVSF(A),
KEYCONVSF(B),
KEYCONVSF(C),
KEYCONVSF(D),
KEYCONVSF(E),
KEYCONVSF(F),
KEYCONVSF(G),
KEYCONVSF(H),
KEYCONVSF(I),
KEYCONVSF(J),
KEYCONVSF(K),
KEYCONVSF(L),
KEYCONVSF(M),
KEYCONVSF(N),
KEYCONVSF(O),
KEYCONVSF(P),
KEYCONVSF(Q),
KEYCONVSF(R),
KEYCONVSF(S),
KEYCONVSF(T),
KEYCONVSF(U),
KEYCONVSF(V),
KEYCONVSF(W),
KEYCONVSF(X),
KEYCONVSF(Y),
KEYCONVSF(Z)
};
#ifdef _WIN32
#define NOMINMAX
#include <Windows.h>
//yep.. there are smarter ways to tho this...
std::unordered_map<std::string, uint8_t> winkey = {
{"Shift", VK_SHIFT},
{"Alt", VK_MENU},
{"Ctrl", VK_CONTROL},
{"Del", VK_DELETE},
{"Ins",VK_INSERT},
{"Home",VK_HOME},
{"Space", VK_SPACE},
{"Backspace", VK_BACK},
{"Enter", VK_RETURN},
// TODO: more special keys with keylayout mapping... nope..
{"KEY_0", 0x30},
{"KEY_1", 0x31},
{"KEY_2", 0x32},
{"KEY_3", 0x33},
{"KEY_4", 0x34},
{"KEY_5", 0x35},
{"KEY_6", 0x36},
{"KEY_7", 0x37},
{"KEY_8", 0x38},
{"KEY_9", 0x39},
{"KEY_A", 0x41},
{"KEY_B", 0x42},
{"KEY_C", 0x43},
{"KEY_D", 0x44},
{"KEY_E", 0x45},
{"KEY_F", 0x46},
{"KEY_G", 0x47},
{"KEY_H", 0x48},
{"KEY_I", 0x49},
{"KEY_J", 0x4A},
{"KEY_K", 0x4B},
{"KEY_L", 0x4C},
{"KEY_M", 0x4D},
{"KEY_N", 0x4E},
{"KEY_O", 0x5F},
{"KEY_P", 0x50},
{"KEY_Q", 0x51},
{"KEY_R", 0x52},
{"KEY_S", 0x53},
{"KEY_T", 0x54},
{"KEY_U", 0x55},
{"KEY_V", 0x56},
{"KEY_W", 0x57},
{"KEY_X", 0x58},
{"KEY_Y", 0x59},
{"KEY_Z", 0x5A}
};
#endif
}