Files
OpenSpace/include/openspace/util/keys.h
2015-02-17 14:20:03 +01:00

173 lines
5.3 KiB
C++

/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2015 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef __KEYS_H__
#define __KEYS_H__
#include <sgct.h>
namespace openspace {
enum class KeyAction {
Press = SGCT_PRESS,
Release = SGCT_RELEASE,
Repeat = SGCT_REPEAT
};
enum class KeyModifier {
NoModifier = 0,
Shift = GLFW_MOD_SHIFT,
Control = GLFW_MOD_CONTROL,
Alt = GLFW_MOD_ALT,
Super = GLFW_MOD_SUPER
};
enum class Key {
Unknown = SGCT_KEY_UNKNOWN,
Space = SGCT_KEY_SPACE,
Apostrophe = SGCT_KEY_APOSTROPHE,
Comma = SGCT_KEY_COMMA,
Minus = SGCT_KEY_MINUS,
Period = SGCT_KEY_PERIOD,
Slash = SGCT_KEY_SLASH,
Num0 = SGCT_KEY_0,
Num1 = SGCT_KEY_1,
Num2 = SGCT_KEY_2,
Num3 = SGCT_KEY_3,
Num4 = SGCT_KEY_4,
Num5 = SGCT_KEY_5,
Num6 = SGCT_KEY_6,
Num7 = SGCT_KEY_7,
Num8 = SGCT_KEY_8,
Num9 = SGCT_KEY_9,
SemiColon = SGCT_KEY_SEMICOLON,
Equal = SGCT_KEY_EQUAL,
A = SGCT_KEY_A,
B = SGCT_KEY_B,
C = SGCT_KEY_C,
D = SGCT_KEY_D,
E = SGCT_KEY_E,
F = SGCT_KEY_F,
G = SGCT_KEY_G,
H = SGCT_KEY_H,
I = SGCT_KEY_I,
J = SGCT_KEY_J,
K = SGCT_KEY_K,
L = SGCT_KEY_L,
M = SGCT_KEY_M,
N = SGCT_KEY_N,
O = SGCT_KEY_O,
P = SGCT_KEY_P,
Q = SGCT_KEY_Q,
R = SGCT_KEY_R,
S = SGCT_KEY_S,
T = SGCT_KEY_T,
U = SGCT_KEY_U,
V = SGCT_KEY_V,
W = SGCT_KEY_W,
X = SGCT_KEY_X,
Y = SGCT_KEY_Y,
Z = SGCT_KEY_Z,
LeftBracket = SGCT_KEY_LEFT_BRACKET,
BackSlash = SGCT_KEY_BACKSLASH,
RightBracket = SGCT_KEY_RIGHT_BRACKET,
GraveAccent = SGCT_KEY_GRAVE_ACCENT,
World1 = SGCT_KEY_WORLD_1,
World2 = SGCT_KEY_WORLD_2,
Escape = SGCT_KEY_ESC,
Enter = SGCT_KEY_ENTER,
Tab = SGCT_KEY_TAB,
BackSpace = SGCT_KEY_BACKSPACE,
Insert = SGCT_KEY_INSERT,
Delete = SGCT_KEY_DELETE,
Right = SGCT_KEY_RIGHT,
Left = SGCT_KEY_LEFT,
Down = SGCT_KEY_DOWN,
Up = SGCT_KEY_UP,
PageUp = SGCT_KEY_PAGE_UP,
PageDown = SGCT_KEY_PAGE_DOWN,
Home = SGCT_KEY_HOME,
End = SGCT_KEY_END,
CapsLock = SGCT_KEY_CAPS_LOCK,
ScrollLock = SGCT_KEY_SCROLL_LOCK,
NumLock = SGCT_KEY_NUM_LOCK,
PrintScreen = SGCT_KEY_PRINT_SCREEN,
Pause = SGCT_KEY_PAUSE,
F1 = SGCT_KEY_F1,
F2 = SGCT_KEY_F2,
F3 = SGCT_KEY_F3,
F4 = SGCT_KEY_F4,
F5 = SGCT_KEY_F5,
F6 = SGCT_KEY_F6,
F7 = SGCT_KEY_F7,
F8 = SGCT_KEY_F8,
F9 = SGCT_KEY_F9,
F10 = SGCT_KEY_F10,
F11 = SGCT_KEY_F11,
F12 = SGCT_KEY_F12,
F13 = SGCT_KEY_F13,
F14 = SGCT_KEY_F14,
F15 = SGCT_KEY_F15,
F16 = SGCT_KEY_F16,
F17 = SGCT_KEY_F17,
F18 = SGCT_KEY_F18,
F19 = SGCT_KEY_F19,
F20 = SGCT_KEY_F20,
F21 = SGCT_KEY_F21,
F22 = SGCT_KEY_F22,
F23 = SGCT_KEY_F23,
F24 = SGCT_KEY_F24,
F25 = SGCT_KEY_F25,
Keypad0 = SGCT_KEY_KP_0,
Keypad1 = SGCT_KEY_KP_1,
Keypad2 = SGCT_KEY_KP_2,
Keypad3 = SGCT_KEY_KP_3,
Keypad4 = SGCT_KEY_KP_4,
Keypad5 = SGCT_KEY_KP_5,
Keypad6 = SGCT_KEY_KP_6,
Keypad7 = SGCT_KEY_KP_7,
Keypad8 = SGCT_KEY_KP_8,
Keypad9 = SGCT_KEY_KP_9,
KeypadDecimal = SGCT_KEY_KP_DECIMAL,
KeypadDivide = SGCT_KEY_KP_DIVIDE,
KeypadMultiply = SGCT_KEY_KP_MULTIPLY,
KeypadSubtract = SGCT_KEY_KP_SUBTRACT,
KeypadAdd = SGCT_KEY_KP_ADD,
KeypadEnter = SGCT_KEY_KP_ENTER,
LeftShift = SGCT_KEY_LEFT_SHIFT,
LeftControl = SGCT_KEY_LEFT_CONTROL,
LeftAlt = SGCT_KEY_LEFT_ALT,
LeftSuper = SGCT_KEY_LEFT_SUPER,
RightShift = SGCT_KEY_RIGHT_SHIFT,
RightControl = SGCT_KEY_RIGHT_CONTROL,
RightAlt = SGCT_KEY_RIGHT_ALT,
RightSuper = SGCT_KEY_RIGHT_SUPER,
Menu = SGCT_KEY_MENU,
Last = SGCT_KEY_LAST
};
} // namespace openspace
#endif // __KEYS_H__