Add keycodes, remove all uses of glfw3.h from Application
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
#include <GLFW/glfw3.h>
|
|
||||||
|
|
||||||
#include "inferno/application.h"
|
#include "inferno/application.h"
|
||||||
#include "inferno/assertions.h"
|
#include "inferno/assertions.h"
|
||||||
#include "inferno/core.h"
|
#include "inferno/core.h"
|
||||||
@@ -7,6 +5,7 @@
|
|||||||
#include "inferno/event/event.h"
|
#include "inferno/event/event.h"
|
||||||
#include "inferno/event/keyevent.h"
|
#include "inferno/event/keyevent.h"
|
||||||
#include "inferno/input.h"
|
#include "inferno/input.h"
|
||||||
|
#include "inferno/inputcodes.h"
|
||||||
#include "inferno/log.h"
|
#include "inferno/log.h"
|
||||||
#include "inferno/settings.h"
|
#include "inferno/settings.h"
|
||||||
#include "inferno/render/buffer.h"
|
#include "inferno/render/buffer.h"
|
||||||
@@ -144,7 +143,7 @@ namespace Inferno {
|
|||||||
|
|
||||||
dbg(Log::Info) << "WindowCloseEvent triggered";
|
dbg(Log::Info) << "WindowCloseEvent triggered";
|
||||||
|
|
||||||
glfwSetWindowShouldClose(m_window->getWindow(), GL_TRUE);
|
m_window->setShouldClose(true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -171,7 +170,7 @@ namespace Inferno {
|
|||||||
e.getKey());
|
e.getKey());
|
||||||
|
|
||||||
// Stop the main loop on 'Escape' keypress
|
// Stop the main loop on 'Escape' keypress
|
||||||
if (e.getKey() == GLFW_KEY_ESCAPE) {
|
if (e.getKey() == KeyCode["GLFW_KEY_ESCAPE"]) {
|
||||||
m_window->setShouldClose(true);
|
m_window->setShouldClose(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,6 @@ namespace Inferno {
|
|||||||
static const char* getKeyName(int key);
|
static const char* getKeyName(int key);
|
||||||
static int getKeyScancode(int key);
|
static int getKeyScancode(int key);
|
||||||
|
|
||||||
// -----------------------------------------
|
|
||||||
|
|
||||||
static inline float getXOffset() { return m_xOffset; }
|
static inline float getXOffset() { return m_xOffset; }
|
||||||
static inline float getYOffset() { return m_yOffset; }
|
static inline float getYOffset() { return m_yOffset; }
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,131 @@
|
|||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
|
||||||
|
#include "inferno/inputcodes.h"
|
||||||
|
|
||||||
|
namespace Inferno {
|
||||||
|
|
||||||
|
std::unordered_map<const char*, int> KeyCode ({
|
||||||
|
{ MAP_KEY(GLFW_KEY_UNKNOWN) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_SPACE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_APOSTROPHE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_COMMA) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_MINUS) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_PERIOD) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_SLASH) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_0) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_1) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_2) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_3) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_4) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_5) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_6) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_7) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_8) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_9) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_SEMICOLON) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_EQUAL) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_A) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_B) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_C) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_D) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_E) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_G) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_H) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_I) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_J) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_K) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_L) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_M) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_N) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_O) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_P) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_Q) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_R) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_S) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_T) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_U) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_V) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_W) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_X) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_Y) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_Z) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT_BRACKET) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_BACKSLASH) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT_BRACKET) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_GRAVE_ACCENT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_WORLD_1) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_WORLD_2) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_ESCAPE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_ENTER) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_TAB) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_BACKSPACE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_INSERT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_DELETE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_DOWN) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_UP) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_PAGE_UP) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_PAGE_DOWN) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_HOME) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_END) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_CAPS_LOCK) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_SCROLL_LOCK) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_NUM_LOCK) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_PRINT_SCREEN) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_PAUSE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F1) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F2) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F3) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F4) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F5) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F6) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F7) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F8) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F9) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F10) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F11) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F12) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F13) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F14) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F15) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F16) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F17) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F18) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F19) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F20) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F21) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F22) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F23) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F24) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_F25) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_0) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_1) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_2) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_3) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_4) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_5) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_6) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_7) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_8) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_9) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_DECIMAL) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_DIVIDE) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_MULTIPLY) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_SUBTRACT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_ADD) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_ENTER) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_KP_EQUAL) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT_SHIFT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT_CONTROL) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT_ALT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_LEFT_SUPER) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT_SHIFT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT_CONTROL) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT_ALT) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_RIGHT_SUPER) },
|
||||||
|
{ MAP_KEY(GLFW_KEY_MENU) },
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#ifndef INPUTCODES_H
|
||||||
|
#define INPUTCODES_H
|
||||||
|
|
||||||
|
#define MAP_KEY(key) #key, key
|
||||||
|
|
||||||
|
#include <unordered_map> // std::unordered_map
|
||||||
|
|
||||||
|
namespace Inferno {
|
||||||
|
|
||||||
|
extern std::unordered_map<const char*, int> KeyCode;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // INPUTCODES_H
|
||||||
Reference in New Issue
Block a user