Index: ui/base/ime/chromeos/ime_keymap.cc |
diff --git a/ui/base/ime/chromeos/ime_keymap.cc b/ui/base/ime/chromeos/ime_keymap.cc |
index c6686094a44d8bc901c279a875fe70c9fba0b571..ec3513ab18ab4b8b8a5cdb408f6071b2f560f01e 100644 |
--- a/ui/base/ime/chromeos/ime_keymap.cc |
+++ b/ui/base/ime/chromeos/ime_keymap.cc |
@@ -134,6 +134,10 @@ const struct KeyCodeTable { |
{VKEY_VOLUME_MUTE, "VolumeMute"}, |
{VKEY_VOLUME_DOWN, "VolumeDown"}, |
{VKEY_VOLUME_UP, "VolumeUp"}, |
+ {VKEY_BRIGHTNESS_DOWN, "BrightnessDown"}, |
+ {VKEY_BRIGHTNESS_UP, "BrightnessUp"}, |
+ {VKEY_MEDIA_LAUNCH_APP1, "ChromeOSSwitchWindow"}, |
+ {VKEY_MEDIA_LAUNCH_APP2, "ChromeOSFullscreen"}, |
{VKEY_MEDIA_NEXT_TRACK, "MediaTrackNext"}, |
{VKEY_MEDIA_PREV_TRACK, "MediaTrackPrevious"}, |
{VKEY_MEDIA_STOP, "MediaStop"}, |
@@ -154,18 +158,27 @@ const struct KeyCodeTable { |
class KeyCodeMap { |
public: |
KeyCodeMap() { |
- for (size_t i = 0; i < arraysize(kKeyCodeTable); ++i) |
- map_[kKeyCodeTable[i].dom_code] = kKeyCodeTable[i].keyboard_code; |
+ for (size_t i = 0; i < arraysize(kKeyCodeTable); ++i) { |
+ map_dom_key_[kKeyCodeTable[i].dom_code] = kKeyCodeTable[i].keyboard_code; |
+ map_key_dom_[kKeyCodeTable[i].keyboard_code] = kKeyCodeTable[i].dom_code; |
+ } |
} |
KeyboardCode GetKeyboardCode(const std::string& dom_code) const { |
std::map<std::string, KeyboardCode>::const_iterator it = |
- map_.find(dom_code); |
- return (it == map_.end()) ? VKEY_UNKNOWN : it->second; |
+ map_dom_key_.find(dom_code); |
+ return (it == map_dom_key_.end()) ? VKEY_UNKNOWN : it->second; |
+ } |
+ |
+ std::string GetDomKeycode(KeyboardCode key_code) const { |
+ std::map<KeyboardCode, std::string>::const_iterator it = |
+ map_key_dom_.find(key_code); |
+ return (it == map_key_dom_.end()) ? "" : it->second; |
} |
private: |
- std::map<std::string, KeyboardCode> map_; |
+ std::map<std::string, KeyboardCode> map_dom_key_; |
+ std::map<KeyboardCode, std::string> map_key_dom_; |
}; |
base::LazyInstance<KeyCodeMap>::Leaky g_keycode_map = |
@@ -177,4 +190,8 @@ KeyboardCode DomKeycodeToKeyboardCode(const std::string& code) { |
return g_keycode_map.Get().GetKeyboardCode(code); |
} |
+std::string KeyboardCodeToDomKeycode(KeyboardCode code) { |
+ return g_keycode_map.Get().GetDomKeycode(code); |
+} |
+ |
} // namespace ui |