120 lines
No EOL
5.6 KiB
C++
120 lines
No EOL
5.6 KiB
C++
module;
|
|
#include "../PlatformDetection.h"
|
|
|
|
#include <array>
|
|
#include <utility>
|
|
|
|
export module VUI:Keys;
|
|
|
|
import :InputCodes;
|
|
|
|
namespace VUI {
|
|
export constexpr int Keys = VUI_OS_VALUE(136, 0x15C + 1, 128);
|
|
|
|
export constexpr std::array<KeyCodes, Keys> InitKeys() {
|
|
auto keys = std::array<KeyCodes, Keys>{};
|
|
keys[VUI_OS_VALUE(49, 0x029, 50)] = KeyCodes::BACKTICK;
|
|
keys[VUI_OS_VALUE(19, 0x00B, 29)] = KeyCodes::N0;
|
|
keys[VUI_OS_VALUE(10, 0x002, 18)] = KeyCodes::N1;
|
|
keys[VUI_OS_VALUE(11, 0x003, 19)] = KeyCodes::N2;
|
|
keys[VUI_OS_VALUE(12, 0x004, 20)] = KeyCodes::N3;
|
|
keys[VUI_OS_VALUE(13, 0x005, 21)] = KeyCodes::N4;
|
|
keys[VUI_OS_VALUE(14, 0x006, 23)] = KeyCodes::N5;
|
|
keys[VUI_OS_VALUE(15, 0x007, 22)] = KeyCodes::N6;
|
|
keys[VUI_OS_VALUE(16, 0x008, 26)] = KeyCodes::N7;
|
|
keys[VUI_OS_VALUE(17, 0x009, 28)] = KeyCodes::N8;
|
|
keys[VUI_OS_VALUE(18, 0x00A, 25)] = KeyCodes::N9;
|
|
keys[VUI_OS_VALUE(65, 0x039, 49)] = KeyCodes::SPACE;
|
|
keys[VUI_OS_VALUE(38, 0x01E, 0)] = KeyCodes::A;
|
|
keys[VUI_OS_VALUE(56, 0x030, 11)] = KeyCodes::B;
|
|
keys[VUI_OS_VALUE(54, 0x02E, 8)] = KeyCodes::C;
|
|
keys[VUI_OS_VALUE(40, 0x020, 2)] = KeyCodes::D;
|
|
keys[VUI_OS_VALUE(26, 0x012, 14)] = KeyCodes::E;
|
|
keys[VUI_OS_VALUE(41, 0x021, 3)] = KeyCodes::F;
|
|
keys[VUI_OS_VALUE(42, 0x022, 5)] = KeyCodes::G;
|
|
keys[VUI_OS_VALUE(43, 0x023, 4)] = KeyCodes::H;
|
|
keys[VUI_OS_VALUE(31, 0x017, 34)] = KeyCodes::I;
|
|
keys[VUI_OS_VALUE(44, 0x024, 38)] = KeyCodes::J;
|
|
keys[VUI_OS_VALUE(45, 0x025, 40)] = KeyCodes::K;
|
|
keys[VUI_OS_VALUE(46, 0x026, 37)] = KeyCodes::L;
|
|
keys[VUI_OS_VALUE(58, 0x032, 46)] = KeyCodes::M;
|
|
keys[VUI_OS_VALUE(57, 0x031, 45)] = KeyCodes::N;
|
|
keys[VUI_OS_VALUE(32, 0x018, 31)] = KeyCodes::O;
|
|
keys[VUI_OS_VALUE(33, 0x019, 35)] = KeyCodes::P;
|
|
keys[VUI_OS_VALUE(24, 0x010, 12)] = KeyCodes::Q;
|
|
keys[VUI_OS_VALUE(27, 0x013, 15)] = KeyCodes::R;
|
|
keys[VUI_OS_VALUE(39, 0x01F, 1)] = KeyCodes::S;
|
|
keys[VUI_OS_VALUE(28, 0x014, 17)] = KeyCodes::T;
|
|
keys[VUI_OS_VALUE(30, 0x016, 32)] = KeyCodes::U;
|
|
keys[VUI_OS_VALUE(55, 0x02F, 9)] = KeyCodes::V;
|
|
keys[VUI_OS_VALUE(25, 0x011, 13)] = KeyCodes::W;
|
|
keys[VUI_OS_VALUE(53, 0x02D, 7)] = KeyCodes::X;
|
|
keys[VUI_OS_VALUE(29, 0x015, 16)] = KeyCodes::Y;
|
|
keys[VUI_OS_VALUE(52, 0x02C, 6)] = KeyCodes::Z;
|
|
keys[VUI_OS_VALUE(60, 0x034, 47)] = KeyCodes::PERIOD;
|
|
keys[VUI_OS_VALUE(59, 0x033, 43)] = KeyCodes::COMMA;
|
|
keys[VUI_OS_VALUE(61, 0x035, 44)] = KeyCodes::SLASH;
|
|
keys[VUI_OS_VALUE(34, 0x01A, 33)] = KeyCodes::BRACKET;
|
|
keys[VUI_OS_VALUE(35, 0x01B, 30)] = KeyCodes::CLOSEBRACKET;
|
|
keys[VUI_OS_VALUE(47, 0x027, 41)] = KeyCodes::SEMICOLON;
|
|
keys[VUI_OS_VALUE(48, 0x028, 39)] = KeyCodes::APOSTROPHE;
|
|
keys[VUI_OS_VALUE(51, 0x02B, 42)] = KeyCodes::BACKSLASH;
|
|
keys[VUI_OS_VALUE(36, 0x01C, 36)] = KeyCodes::RETURN;
|
|
keys[VUI_OS_VALUE(119, 0x153, 118)] = KeyCodes::DELETE_KEY;
|
|
keys[VUI_OS_VALUE(77, 0x145, 72)] = KeyCodes::NUMLOCK;
|
|
keys[VUI_OS_VALUE(106, 0x135, 82)] = KeyCodes::KP_SLASH;
|
|
keys[VUI_OS_VALUE(63, 0x037, 76)] = KeyCodes::MULTIPLY;
|
|
keys[VUI_OS_VALUE(82, 0x04A, 67)] = KeyCodes::KP_MINUS;
|
|
keys[VUI_OS_VALUE(87, 0x04F, 84)] = KeyCodes::KP_1;
|
|
keys[VUI_OS_VALUE(88, 0x050, 85)] = KeyCodes::KP_2;
|
|
keys[VUI_OS_VALUE(89, 0x051, 86)] = KeyCodes::KP_3;
|
|
keys[VUI_OS_VALUE(83, 0x04B, 87)] = KeyCodes::KP_4;
|
|
keys[VUI_OS_VALUE(84, 0x04C, 88)] = KeyCodes::KP_5;
|
|
keys[VUI_OS_VALUE(85, 0x04D, 89)] = KeyCodes::KP_6;
|
|
keys[VUI_OS_VALUE(79, 0x047, 90)] = KeyCodes::KP_7;
|
|
keys[VUI_OS_VALUE(80, 0x048, 92)] = KeyCodes::KP_8;
|
|
keys[VUI_OS_VALUE(81, 0x049, 93)] = KeyCodes::KP_9;
|
|
keys[VUI_OS_VALUE(90, 0x052, 83)] = KeyCodes::KP_0;
|
|
keys[VUI_OS_VALUE(91, 0x053, 65)] = KeyCodes::KP_PERIOD;
|
|
keys[VUI_OS_VALUE(104, 0x11C, 77)] = KeyCodes::KP_RETURN;
|
|
keys[VUI_OS_VALUE(20, 0x00C, 27)] = KeyCodes::MINUS;
|
|
keys[VUI_OS_VALUE(21, 0x00D, 24)] = KeyCodes::EQUALS;
|
|
keys[VUI_OS_VALUE(22, 0x00E, 51)] = KeyCodes::BACKSPACE;
|
|
keys[VUI_OS_VALUE(23, 0x00F, 48)] = KeyCodes::TAB;
|
|
keys[VUI_OS_VALUE(66, 0x03A, 57)] = KeyCodes::CAPSLOCK;
|
|
keys[VUI_OS_VALUE(50, 0x02A, 56)] = KeyCodes::SHIFT_L;
|
|
keys[VUI_OS_VALUE(37, 0x01D, 59)] = KeyCodes::CONTROL_L;
|
|
keys[VUI_OS_VALUE(64, 0x038, 58)] = KeyCodes::ALT_L;
|
|
keys[VUI_OS_VALUE(133, 0x15B, 55)] = KeyCodes::SUPER_L;
|
|
#if !defined(VUI_APPLE)
|
|
keys[VUI_OS_VALUE(105, 0x11D, 59)] = KeyCodes::CONTROL_R;
|
|
keys[VUI_OS_VALUE(135, 0x15C, 55)] = KeyCodes::SUPER_R;
|
|
keys[VUI_OS_VALUE(62, 0x036, 56)] = KeyCodes::SHIFT_R;
|
|
keys[VUI_OS_VALUE(108, 0x138, 58)] = KeyCodes::ALT_R;
|
|
#endif
|
|
keys[VUI_OS_VALUE(67, 0x03B, 127)] = KeyCodes::F1;
|
|
keys[VUI_OS_VALUE(68, 0x03C, 121)] = KeyCodes::F2;
|
|
keys[VUI_OS_VALUE(69, 0x03D, 100)] = KeyCodes::F3;
|
|
keys[VUI_OS_VALUE(70, 0x03E, 119)] = KeyCodes::F4;
|
|
keys[VUI_OS_VALUE(71, 0x03F, 97)] = KeyCodes::F5;
|
|
keys[VUI_OS_VALUE(72, 0x040, 98)] = KeyCodes::F6;
|
|
keys[VUI_OS_VALUE(73, 0x041, 99)] = KeyCodes::F7;
|
|
keys[VUI_OS_VALUE(74, 0x042, 101)] = KeyCodes::F8;
|
|
keys[VUI_OS_VALUE(75, 0x043, 102)] = KeyCodes::F9;
|
|
keys[VUI_OS_VALUE(76, 0x044, 110)] = KeyCodes::F10;
|
|
keys[VUI_OS_VALUE(95, 0x057, 104)] = KeyCodes::F11;
|
|
keys[VUI_OS_VALUE(96, 0x058, 112)] = KeyCodes::F12;
|
|
keys[VUI_OS_VALUE(111, 0x148, 126)] = KeyCodes::UP;
|
|
keys[VUI_OS_VALUE(116, 0x150, 125)] = KeyCodes::DOWN;
|
|
keys[VUI_OS_VALUE(113, 0x14B, 123)] = KeyCodes::LEFT;
|
|
keys[VUI_OS_VALUE(114, 0x14D, 124)] = KeyCodes::RIGHT;
|
|
keys[VUI_OS_VALUE(118, 0x152, 115)] = KeyCodes::INSERT;
|
|
keys[VUI_OS_VALUE(115, 0x14F, 120)] = KeyCodes::END;
|
|
keys[VUI_OS_VALUE(112, 0x149, 117)] = KeyCodes::PAGEUP;
|
|
keys[VUI_OS_VALUE(117, 0x151, 122)] = KeyCodes::PAGEDOWN;
|
|
keys[VUI_OS_VALUE(9, 0x001, 53)] = KeyCodes::ESCAPE;
|
|
keys[VUI_OS_VALUE(110, 0x147, 116)] = KeyCodes::HOME;
|
|
|
|
return keys;
|
|
}
|
|
} // namespace VUI
|