Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
SystemToGuiKeyCode.windows.cpp
1
2#include "stdafx.h"
3#include "SystemToGuiKeyCode.hpp"
4#include <alicorn/platform/windows.hpp>
5#include <windef.h>
6#include <winuser.h>
7
8namespace covellite
9{
10
11namespace gui
12{
13
14KeyCode_t SystemToGuiKeyCode(int32_t _AsciiKeyCode)
15{
16 static const ::std::map<int32_t, KeyCode_t> Keys =
17 {
18 { VK_BACK, CovelliteGui::Input::KI_BACK }, // Backspace
19 { VK_END, CovelliteGui::Input::KI_END }, // End
20 { VK_HOME, CovelliteGui::Input::KI_HOME }, // Home
21 { VK_LEFT, CovelliteGui::Input::KI_LEFT }, // Left
22 { VK_UP, CovelliteGui::Input::KI_UP }, // Up
23 { VK_RIGHT, CovelliteGui::Input::KI_RIGHT }, // Right
24 { VK_DOWN, CovelliteGui::Input::KI_DOWN }, // Down
25 { VK_DELETE, CovelliteGui::Input::KI_DELETE }, // Del
26 };
27
28 // 01 Ноябрь 2017 10:59 (unicornum.verum@gmail.com)
29 TODO("Преобразование остальных виртуальных кодов.");
30
31 const auto itKey = Keys.find(_AsciiKeyCode);
32 if (itKey == Keys.end()) return KeyCode_t::KI_UNKNOWN;
33
34 return itKey->second;
35}
36
37} // namespace gui
38
39} // namespace covellite