1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_TEST_CHROMEDRIVER_KEYCODE_TEXT_CONVERSION_H_ 6 #define CHROME_TEST_CHROMEDRIVER_KEYCODE_TEXT_CONVERSION_H_ 7 8 #include <string> 9 10 #include "base/strings/string16.h" 11 #include "ui/base/keycodes/keyboard_codes.h" 12 13 // These functions only support conversion of characters in the BMP 14 // (Basic Multilingual Plane). 15 16 // Coverts a key code and modifiers to the UTF8 text that would be produced 17 // with the current keyboard layout, or "" if no character would be produced. 18 // Returns "" if the produced text contains characters outside the BMP. If an 19 // error occurs |error_msg| will be set to the error message and will return 20 // false. 21 bool ConvertKeyCodeToText(ui::KeyboardCode key_code, 22 int modifiers, 23 std::string* text, 24 std::string* error_msg); 25 26 // Converts a character to the key code and modifiers that would produce 27 // the character using the current keyboard layout. Returns true on success. 28 // If an error occurs |error_msg| will be set to the error message, otherwise 29 // it will be set to the empty string. 30 bool ConvertCharToKeyCode(char16 key, 31 ui::KeyboardCode* key_code, 32 int *necessary_modifiers, 33 std::string* error_msg); 34 35 #endif // CHROME_TEST_CHROMEDRIVER_KEYCODE_TEXT_CONVERSION_H_ 36