blob: 69256a78f26064c23bb487d0edda86953b7bd74d [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_KEY_MAP_H_
#define FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_KEY_MAP_H_
#include "flutter/shell/platform/windows/keyboard_key_embedder_handler.h"
#include <map>
// DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT
// This file is generated by
// flutter/flutter@dev/tools/gen_keycodes/bin/gen_keycodes.dart and should not
// be edited directly.
//
// Edit the template dev/tools/gen_keycodes/data/windows_flutter_key_map_cc.tmpl
// instead. See dev/tools/gen_keycodes/README.md for more information.
namespace flutter {
std::map<uint64_t, uint64_t> KeyboardKeyEmbedderHandler::windowsToPhysicalMap_ =
{
{0x0000e05f, 0x00010082}, // sleep
{0x0000e063, 0x00010083}, // wakeUp
{0x000000ff, 0x00070001}, // usbErrorRollOver
{0x000000fc, 0x00070002}, // usbPostFail
{0x0000001e, 0x00070004}, // keyA
{0x00000030, 0x00070005}, // keyB
{0x0000002e, 0x00070006}, // keyC
{0x00000020, 0x00070007}, // keyD
{0x00000012, 0x00070008}, // keyE
{0x00000021, 0x00070009}, // keyF
{0x00000022, 0x0007000a}, // keyG
{0x00000023, 0x0007000b}, // keyH
{0x00000017, 0x0007000c}, // keyI
{0x00000024, 0x0007000d}, // keyJ
{0x00000025, 0x0007000e}, // keyK
{0x00000026, 0x0007000f}, // keyL
{0x00000032, 0x00070010}, // keyM
{0x00000031, 0x00070011}, // keyN
{0x00000018, 0x00070012}, // keyO
{0x00000019, 0x00070013}, // keyP
{0x00000010, 0x00070014}, // keyQ
{0x00000013, 0x00070015}, // keyR
{0x0000001f, 0x00070016}, // keyS
{0x00000014, 0x00070017}, // keyT
{0x00000016, 0x00070018}, // keyU
{0x0000002f, 0x00070019}, // keyV
{0x00000011, 0x0007001a}, // keyW
{0x0000002d, 0x0007001b}, // keyX
{0x00000015, 0x0007001c}, // keyY
{0x0000002c, 0x0007001d}, // keyZ
{0x00000002, 0x0007001e}, // digit1
{0x00000003, 0x0007001f}, // digit2
{0x00000004, 0x00070020}, // digit3
{0x00000005, 0x00070021}, // digit4
{0x00000006, 0x00070022}, // digit5
{0x00000007, 0x00070023}, // digit6
{0x00000008, 0x00070024}, // digit7
{0x00000009, 0x00070025}, // digit8
{0x0000000a, 0x00070026}, // digit9
{0x0000000b, 0x00070027}, // digit0
{0x0000001c, 0x00070028}, // enter
{0x00000001, 0x00070029}, // escape
{0x0000000e, 0x0007002a}, // backspace
{0x0000000f, 0x0007002b}, // tab
{0x00000039, 0x0007002c}, // space
{0x0000000c, 0x0007002d}, // minus
{0x0000000d, 0x0007002e}, // equal
{0x0000001a, 0x0007002f}, // bracketLeft
{0x0000001b, 0x00070030}, // bracketRight
{0x0000002b, 0x00070031}, // backslash
{0x00000027, 0x00070033}, // semicolon
{0x00000028, 0x00070034}, // quote
{0x00000029, 0x00070035}, // backquote
{0x00000033, 0x00070036}, // comma
{0x00000034, 0x00070037}, // period
{0x00000035, 0x00070038}, // slash
{0x0000003a, 0x00070039}, // capsLock
{0x0000003b, 0x0007003a}, // f1
{0x0000003c, 0x0007003b}, // f2
{0x0000003d, 0x0007003c}, // f3
{0x0000003e, 0x0007003d}, // f4
{0x0000003f, 0x0007003e}, // f5
{0x00000040, 0x0007003f}, // f6
{0x00000041, 0x00070040}, // f7
{0x00000042, 0x00070041}, // f8
{0x00000043, 0x00070042}, // f9
{0x00000044, 0x00070043}, // f10
{0x00000057, 0x00070044}, // f11
{0x00000058, 0x00070045}, // f12
{0x0000e037, 0x00070046}, // printScreen
{0x00000046, 0x00070047}, // scrollLock
{0x00000045, 0x00070048}, // pause
{0x0000e052, 0x00070049}, // insert
{0x0000e047, 0x0007004a}, // home
{0x0000e049, 0x0007004b}, // pageUp
{0x0000e053, 0x0007004c}, // delete
{0x0000e04f, 0x0007004d}, // end
{0x0000e051, 0x0007004e}, // pageDown
{0x0000e04d, 0x0007004f}, // arrowRight
{0x0000e04b, 0x00070050}, // arrowLeft
{0x0000e050, 0x00070051}, // arrowDown
{0x0000e048, 0x00070052}, // arrowUp
{0x0000e045, 0x00070053}, // numLock
{0x0000e035, 0x00070054}, // numpadDivide
{0x00000037, 0x00070055}, // numpadMultiply
{0x0000004a, 0x00070056}, // numpadSubtract
{0x0000004e, 0x00070057}, // numpadAdd
{0x0000e01c, 0x00070058}, // numpadEnter
{0x0000004f, 0x00070059}, // numpad1
{0x00000050, 0x0007005a}, // numpad2
{0x00000051, 0x0007005b}, // numpad3
{0x0000004b, 0x0007005c}, // numpad4
{0x0000004c, 0x0007005d}, // numpad5
{0x0000004d, 0x0007005e}, // numpad6
{0x00000047, 0x0007005f}, // numpad7
{0x00000048, 0x00070060}, // numpad8
{0x00000049, 0x00070061}, // numpad9
{0x00000052, 0x00070062}, // numpad0
{0x00000053, 0x00070063}, // numpadDecimal
{0x00000056, 0x00070064}, // intlBackslash
{0x0000e05d, 0x00070065}, // contextMenu
{0x0000e05e, 0x00070066}, // power
{0x00000059, 0x00070067}, // numpadEqual
{0x00000064, 0x00070068}, // f13
{0x00000065, 0x00070069}, // f14
{0x00000066, 0x0007006a}, // f15
{0x00000067, 0x0007006b}, // f16
{0x00000068, 0x0007006c}, // f17
{0x00000069, 0x0007006d}, // f18
{0x0000006a, 0x0007006e}, // f19
{0x0000006b, 0x0007006f}, // f20
{0x0000006c, 0x00070070}, // f21
{0x0000006d, 0x00070071}, // f22
{0x0000006e, 0x00070072}, // f23
{0x00000076, 0x00070073}, // f24
{0x0000e03b, 0x00070075}, // help
{0x0000e008, 0x0007007a}, // undo
{0x0000e017, 0x0007007b}, // cut
{0x0000e018, 0x0007007c}, // copy
{0x0000e00a, 0x0007007d}, // paste
{0x0000e020, 0x0007007f}, // audioVolumeMute
{0x0000e030, 0x00070080}, // audioVolumeUp
{0x0000e02e, 0x00070081}, // audioVolumeDown
{0x0000007e, 0x00070085}, // numpadComma
{0x00000073, 0x00070087}, // intlRo
{0x00000070, 0x00070088}, // kanaMode
{0x0000007d, 0x00070089}, // intlYen
{0x00000079, 0x0007008a}, // convert
{0x0000007b, 0x0007008b}, // nonConvert
{0x00000072, 0x00070090}, // lang1
{0x00000071, 0x00070091}, // lang2
{0x00000078, 0x00070092}, // lang3
{0x00000077, 0x00070093}, // lang4
{0x0000001d, 0x000700e0}, // controlLeft
{0x0000002a, 0x000700e1}, // shiftLeft
{0x00000038, 0x000700e2}, // altLeft
{0x0000e05b, 0x000700e3}, // metaLeft
{0x0000e01d, 0x000700e4}, // controlRight
{0x00000036, 0x000700e5}, // shiftRight
{0x0000e038, 0x000700e6}, // altRight
{0x0000e05c, 0x000700e7}, // metaRight
{0x0000e019, 0x000c00b5}, // mediaTrackNext
{0x0000e010, 0x000c00b6}, // mediaTrackPrevious
{0x0000e024, 0x000c00b7}, // mediaStop
{0x0000e02c, 0x000c00b8}, // eject
{0x0000e022, 0x000c00cd}, // mediaPlayPause
{0x0000e06d, 0x000c0183}, // mediaSelect
{0x0000e06c, 0x000c018a}, // launchMail
{0x0000e021, 0x000c0192}, // launchApp2
{0x0000e06b, 0x000c0194}, // launchApp1
{0x0000e065, 0x000c0221}, // browserSearch
{0x0000e032, 0x000c0223}, // browserHome
{0x0000e06a, 0x000c0224}, // browserBack
{0x0000e069, 0x000c0225}, // browserForward
{0x0000e068, 0x000c0226}, // browserStop
{0x0000e067, 0x000c0227}, // browserRefresh
{0x0000e066, 0x000c022a}, // browserFavorites
};
std::map<uint64_t, uint64_t> KeyboardKeyEmbedderHandler::windowsToLogicalMap_ =
{
{0x00000008, 0x00000000008}, // BACK
{0x00000009, 0x00000000009}, // TAB
{0x0000000d, 0x0000000000d}, // RETURN
{0x0000001b, 0x0000000001b}, // ESCAPE
{0x00000020, 0x00000000020}, // SPACE
{0x000000de, 0x00000000022}, // OEM_7
{0x000000bc, 0x0000000002c}, // OEM_COMMA
{0x000000bd, 0x0000000002d}, // OEM_MINUS
{0x000000be, 0x0000000002e}, // OEM_PERIOD
{0x000000bf, 0x0000000002f}, // OEM_2
{0x000000ba, 0x0000000003b}, // OEM_1
{0x000000bb, 0x0000000003d}, // OEM_PLUS
{0x000000db, 0x0000000005b}, // OEM_4
{0x000000dc, 0x0000000005c}, // OEM_5
{0x000000dd, 0x0000000005d}, // OEM_6
{0x000000c0, 0x00000000060}, // OEM_3
{0x0000002e, 0x0000000007f}, // DELETE
{0x00000014, 0x00000000104}, // CAPITAL
{0x00000090, 0x0000000010a}, // NUMLOCK
{0x00000091, 0x0000000010c}, // SCROLL
{0x00000028, 0x00000000301}, // DOWN
{0x00000025, 0x00000000302}, // LEFT
{0x00000027, 0x00000000303}, // RIGHT
{0x00000026, 0x00000000304}, // UP
{0x00000023, 0x00000000305}, // END
{0x00000024, 0x00000000306}, // HOME
{0x00000022, 0x00000000307}, // NEXT
{0x00000021, 0x00000000308}, // PRIOR
{0x0000000c, 0x00000000401}, // CLEAR
{0x0000002d, 0x00000000407}, // INSERT
{0x0000001e, 0x00000000501}, // ACCEPT
{0x000000f6, 0x00000000503}, // ATTN
{0x00000003, 0x00000000504}, // CANCEL
{0x0000005d, 0x00000000505}, // APPS
{0x0000002b, 0x00000000506}, // EXECUTE
{0x0000002f, 0x00000000508}, // HELP
{0x00000013, 0x00000000509}, // PAUSE
{0x000000fa, 0x0000000050a}, // PLAY
{0x00000029, 0x0000000050c}, // SELECT
{0x0000001c, 0x00000000705}, // CONVERT
{0x0000001f, 0x0000000070b}, // MODECHANGE
{0x00000070, 0x00000000801}, // F1
{0x00000071, 0x00000000802}, // F2
{0x00000072, 0x00000000803}, // F3
{0x00000073, 0x00000000804}, // F4
{0x00000074, 0x00000000805}, // F5
{0x00000075, 0x00000000806}, // F6
{0x00000076, 0x00000000807}, // F7
{0x00000077, 0x00000000808}, // F8
{0x00000078, 0x00000000809}, // F9
{0x00000079, 0x0000000080a}, // F10
{0x0000007a, 0x0000000080b}, // F11
{0x0000007b, 0x0000000080c}, // F12
{0x0000007c, 0x0000000080d}, // F13
{0x0000007d, 0x0000000080e}, // F14
{0x0000007e, 0x0000000080f}, // F15
{0x0000007f, 0x00000000810}, // F16
{0x00000080, 0x00000000811}, // F17
{0x00000081, 0x00000000812}, // F18
{0x00000082, 0x00000000813}, // F19
{0x00000083, 0x00000000814}, // F20
{0x00000084, 0x00000000815}, // F21
{0x00000085, 0x00000000816}, // F22
{0x00000086, 0x00000000817}, // F23
{0x00000087, 0x00000000818}, // F24
{0x000000b3, 0x00000000a05}, // MEDIA_PLAY_PAUSE
{0x000000b2, 0x00000000a07}, // MEDIA_STOP
{0x0000002a, 0x00000000a0c}, // PRINT
{0x000000ae, 0x00000000a0f}, // VOLUME_DOWN
{0x000000af, 0x00000000a10}, // VOLUME_UP
{0x000000ad, 0x00000000a11}, // VOLUME_MUTE
{0x000000b4, 0x00000000b03}, // LAUNCH_MAIL
{0x000000a6, 0x00000000c01}, // BROWSER_BACK
{0x000000ab, 0x00000000c02}, // BROWSER_FAVORITES
{0x000000a7, 0x00000000c03}, // BROWSER_FORWARD
{0x000000ac, 0x00000000c04}, // BROWSER_HOME
{0x000000a8, 0x00000000c05}, // BROWSER_REFRESH
{0x000000aa, 0x00000000c06}, // BROWSER_SEARCH
{0x000000a9, 0x00000000c07}, // BROWSER_STOP
{0x000000c3, 0x0000005ff08}, // GAMEPAD_A
{0x000000c4, 0x0000005ff09}, // GAMEPAD_B
{0x000000c5, 0x0000005ff0a}, // GAMEPAD_X
{0x000000c6, 0x0000005ff0b}, // GAMEPAD_Y
{0x000000c7, 0x0000005ff0c}, // GAMEPAD_RIGHT_SHOULDER
{0x000000c8, 0x0000005ff0d}, // GAMEPAD_LEFT_SHOULDER
{0x000000c9, 0x0000005ff0e}, // GAMEPAD_LEFT_TRIGGER
{0x000000ca, 0x0000005ff0f}, // GAMEPAD_RIGHT_TRIGGER
{0x000000cb, 0x0000005ff10}, // GAMEPAD_DPAD_UP
{0x0000005f, 0x00100010082}, // SLEEP
{0x00000015, 0x00100070090}, // KANA
{0x00000015, 0x00100070090}, // HANGEUL
{0x00000015, 0x00100070090}, // HANGUL
{0x0000006a, 0x0020000002a}, // MULTIPLY
{0x0000006b, 0x0020000002b}, // ADD
{0x0000006d, 0x0020000002d}, // SUBTRACT
{0x0000006e, 0x0020000002e}, // DECIMAL
{0x0000006f, 0x0020000002f}, // DIVIDE
{0x00000060, 0x00200000030}, // NUMPAD0
{0x00000061, 0x00200000031}, // NUMPAD1
{0x00000062, 0x00200000032}, // NUMPAD2
{0x00000063, 0x00200000033}, // NUMPAD3
{0x00000064, 0x00200000034}, // NUMPAD4
{0x00000065, 0x00200000035}, // NUMPAD5
{0x00000066, 0x00200000036}, // NUMPAD6
{0x00000067, 0x00200000037}, // NUMPAD7
{0x00000068, 0x00200000038}, // NUMPAD8
{0x00000069, 0x00200000039}, // NUMPAD9
{0x00000092, 0x0020000003d}, // OEM_NEC_EQUAL
{0x000000a4, 0x00300000102}, // LMENU
{0x00000011, 0x00300000105}, // CONTROL
{0x000000a2, 0x00300000105}, // LCONTROL
{0x0000005b, 0x00300000109}, // LWIN
{0x00000010, 0x0030000010d}, // SHIFT
{0x000000a0, 0x0030000010d}, // LSHIFT
{0x000000a5, 0x00400000102}, // RMENU
{0x000000a3, 0x00400000105}, // RCONTROL
{0x0000005c, 0x00400000109}, // RWIN
{0x000000a1, 0x0040000010d}, // RSHIFT
};
std::map<uint64_t, uint64_t> KeyboardKeyEmbedderHandler::scanCodeToLogicalMap_ =
{
{0x0000e01d, 0x0400000105}, // ControlRight
{0x0000e038, 0x0400000102}, // AltRight
{0x0000004f, 0x0200000031}, // Numpad1
{0x00000050, 0x0200000032}, // Numpad2
{0x00000051, 0x0200000033}, // Numpad3
{0x0000004b, 0x0200000034}, // Numpad4
{0x0000004c, 0x0200000035}, // Numpad5
{0x0000004d, 0x0200000036}, // Numpad6
{0x00000047, 0x0200000037}, // Numpad7
{0x00000048, 0x0200000038}, // Numpad8
{0x00000049, 0x0200000039}, // Numpad9
{0x00000052, 0x0200000030}, // Numpad0
{0x0000004e, 0x020000002b}, // NumpadAdd
{0x00000053, 0x020000002e}, // NumpadDecimal
{0x0000e035, 0x020000002f}, // NumpadDivide
{0x00000059, 0x020000003d}, // NumpadEqual
{0x00000037, 0x020000002a}, // NumpadMultiply
{0x0000004a, 0x020000002d}, // NumpadSubtract
};
} // namespace flutter
#endif