MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / GetKeyInfo

Method GetKeyInfo

cpp/iedriver/InputManager.cpp:1008–1311  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1006}
1007
1008KeyInfo InputManager::GetKeyInfo(HWND window_handle, wchar_t character) {
1009 KeyInfo key_info;
1010 key_info.is_ignored_key = false;
1011 key_info.is_extended_key = false;
1012 key_info.is_webdriver_key = true;
1013 key_info.is_force_scan_code = false;
1014 key_info.key_code = 0;
1015 key_info.scan_code = 0;
1016 key_info.character = character;
1017 DWORD process_id = 0;
1018 DWORD thread_id = ::GetWindowThreadProcessId(window_handle, &process_id);
1019 HKL layout = ::GetKeyboardLayout(thread_id);
1020 if (character == WD_KEY_CANCEL) { // ^break
1021 key_info.key_code = VK_CANCEL;
1022 key_info.scan_code = VK_CANCEL;
1023 key_info.is_extended_key = true;
1024 }
1025 else if (character == WD_KEY_HELP) { // help
1026 key_info.key_code = VK_HELP;
1027 key_info.scan_code = VK_HELP;
1028 }
1029 else if (character == WD_KEY_BACKSPACE) { // back space
1030 key_info.key_code = VK_BACK;
1031 key_info.scan_code = VK_BACK;
1032 }
1033 else if (character == WD_KEY_TAB) { // tab
1034 key_info.key_code = VK_TAB;
1035 key_info.scan_code = VK_TAB;
1036 }
1037 else if (character == WD_KEY_CLEAR) { // clear
1038 key_info.key_code = VK_CLEAR;
1039 key_info.scan_code = VK_CLEAR;
1040 }
1041 else if (character == WD_KEY_RETURN) { // return
1042 key_info.key_code = VK_RETURN;
1043 key_info.scan_code = VK_RETURN;
1044 }
1045 else if (character == WD_KEY_ENTER) { // enter
1046 key_info.key_code = VK_RETURN;
1047 key_info.scan_code = VK_RETURN;
1048 key_info.is_extended_key = true;
1049 }
1050 else if (character == WD_KEY_PAUSE) { // pause
1051 key_info.key_code = VK_PAUSE;
1052 key_info.scan_code = VK_PAUSE;
1053 key_info.is_extended_key = true;
1054 }
1055 else if (character == WD_KEY_ESCAPE) { // escape
1056 key_info.key_code = VK_ESCAPE;
1057 key_info.scan_code = VK_ESCAPE;
1058 }
1059 else if (character == WD_KEY_SPACE) { // space
1060 key_info.key_code = VK_SPACE;
1061 key_info.scan_code = VK_SPACE;
1062 }
1063 else if (character == WD_KEY_PAGEUP) { // page up
1064 key_info.key_code = VK_PRIOR;
1065 key_info.scan_code = VK_PRIOR;

Callers 1

AddKeyboardInputMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected