CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/UWP/NKCodeFromWindowsSystem.cpp
Views: 1401
#include "pch.h"1#include "NKCodeFromWindowsSystem.h"23using namespace Windows::System;45std::map<Windows::System::VirtualKey, InputKeyCode> virtualKeyCodeToNKCode{6{ VirtualKey::A, NKCODE_A },7{ VirtualKey::B, NKCODE_B },8{ VirtualKey::C, NKCODE_C },9{ VirtualKey::D, NKCODE_D },10{ VirtualKey::E, NKCODE_E },11{ VirtualKey::F, NKCODE_F },12{ VirtualKey::G, NKCODE_G },13{ VirtualKey::H, NKCODE_H },14{ VirtualKey::I, NKCODE_I },15{ VirtualKey::J, NKCODE_J },16{ VirtualKey::K, NKCODE_K },17{ VirtualKey::L, NKCODE_L },18{ VirtualKey::M, NKCODE_M },19{ VirtualKey::N, NKCODE_N },20{ VirtualKey::O, NKCODE_O },21{ VirtualKey::P, NKCODE_P },22{ VirtualKey::Q, NKCODE_Q },23{ VirtualKey::R, NKCODE_R },24{ VirtualKey::S, NKCODE_S },25{ VirtualKey::T, NKCODE_T },26{ VirtualKey::U, NKCODE_U },27{ VirtualKey::V, NKCODE_V },28{ VirtualKey::W, NKCODE_W },29{ VirtualKey::X, NKCODE_X },30{ VirtualKey::Y, NKCODE_Y },31{ VirtualKey::Z, NKCODE_Z },32{ VirtualKey::Number0, NKCODE_0 },33{ VirtualKey::Number1, NKCODE_1 },34{ VirtualKey::Number2, NKCODE_2 },35{ VirtualKey::Number3, NKCODE_3 },36{ VirtualKey::Number4, NKCODE_4 },37{ VirtualKey::Number5, NKCODE_5 },38{ VirtualKey::Number6, NKCODE_6 },39{ VirtualKey::Number7, NKCODE_7 },40{ VirtualKey::Number8, NKCODE_8 },41{ VirtualKey::Number9, NKCODE_9 },42{ VirtualKey::Decimal, NKCODE_PERIOD },43// { VirtualKey::Comma, NKCODE_COMMA },44{ VirtualKey::NumberPad0, NKCODE_NUMPAD_0 },45{ VirtualKey::NumberPad1, NKCODE_NUMPAD_1 },46{ VirtualKey::NumberPad2, NKCODE_NUMPAD_2 },47{ VirtualKey::NumberPad3, NKCODE_NUMPAD_3 },48{ VirtualKey::NumberPad4, NKCODE_NUMPAD_4 },49{ VirtualKey::NumberPad5, NKCODE_NUMPAD_5 },50{ VirtualKey::NumberPad6, NKCODE_NUMPAD_6 },51{ VirtualKey::NumberPad7, NKCODE_NUMPAD_7 },52{ VirtualKey::NumberPad8, NKCODE_NUMPAD_8 },53{ VirtualKey::NumberPad9, NKCODE_NUMPAD_9 },54{ VirtualKey::Decimal, NKCODE_NUMPAD_DOT },55{ VirtualKey::Divide, NKCODE_NUMPAD_DIVIDE },56{ VirtualKey::Multiply, NKCODE_NUMPAD_MULTIPLY },57{ VirtualKey::Subtract, NKCODE_NUMPAD_SUBTRACT },58{ VirtualKey::Add, NKCODE_NUMPAD_ADD },59{ VirtualKey::Separator, NKCODE_NUMPAD_COMMA },60{ VirtualKey::LeftControl, NKCODE_CTRL_LEFT },61{ VirtualKey::RightControl, NKCODE_CTRL_RIGHT },62{ VirtualKey::LeftShift, NKCODE_SHIFT_LEFT },63{ VirtualKey::RightShift, NKCODE_SHIFT_RIGHT },64//{ VK_LMENU, NKCODE_ALT_LEFT },65//{ VK_RMENU, NKCODE_ALT_RIGHT },66{ VirtualKey::GoBack, NKCODE_BACK },67{ VirtualKey::Space, NKCODE_SPACE },68{ VirtualKey::Escape, NKCODE_ESCAPE },69{ VirtualKey::Up, NKCODE_DPAD_UP },70{ VirtualKey::Insert, NKCODE_INSERT },71{ VirtualKey::Home, NKCODE_MOVE_HOME },72{ VirtualKey::PageUp, NKCODE_PAGE_UP },73{ VirtualKey::PageDown, NKCODE_PAGE_DOWN },74{ VirtualKey::Delete, NKCODE_FORWARD_DEL },75{ VirtualKey::Back, NKCODE_DEL },76{ VirtualKey::End, NKCODE_MOVE_END },77{ VirtualKey::Tab, NKCODE_TAB },78{ VirtualKey::Down, NKCODE_DPAD_DOWN },79{ VirtualKey::Left, NKCODE_DPAD_LEFT },80{ VirtualKey::Right, NKCODE_DPAD_RIGHT },81{ VirtualKey::CapitalLock, NKCODE_CAPS_LOCK },82{ VirtualKey::Clear, NKCODE_CLEAR },83// { VirtualKey::, NKCODE_SYSRQ },84{ VirtualKey::Scroll, NKCODE_SCROLL_LOCK },85// { , NKCODE_SEMICOLON },86// { VK_OEM_2, NKCODE_SLASH },87// { VK_OEM_3, NKCODE_GRAVE },88// { VK_OEM_4, NKCODE_LEFT_BRACKET },89// { VK_OEM_5, NKCODE_BACKSLASH },90// { VK_OEM_6, NKCODE_RIGHT_BRACKET },91// { VK_OEM_7, NKCODE_APOSTROPHE },92{ VirtualKey::Enter, NKCODE_ENTER },93// { VK_APPS, NKCODE_MENU }, // Context menu key, let's call this "menu".94{ VirtualKey::Pause, NKCODE_BREAK },95{ VirtualKey::F1, NKCODE_F1 },96{ VirtualKey::F2, NKCODE_F2 },97{ VirtualKey::F3, NKCODE_F3 },98{ VirtualKey::F4, NKCODE_F4 },99{ VirtualKey::F5, NKCODE_F5 },100{ VirtualKey::F6, NKCODE_F6 },101{ VirtualKey::F7, NKCODE_F7 },102{ VirtualKey::F8, NKCODE_F8 },103{ VirtualKey::F9, NKCODE_F9 },104{ VirtualKey::F10, NKCODE_F10 },105{ VirtualKey::F11, NKCODE_F11 },106{ VirtualKey::F12, NKCODE_F12 },107//{ VK_OEM_102, NKCODE_EXT_PIPE },108//{ VK_LBUTTON, NKCODE_EXT_MOUSEBUTTON_1 },109//{ VK_RBUTTON, NKCODE_EXT_MOUSEBUTTON_2 },;110};111112113