| Index: ash/sticky_keys/sticky_keys_controller.cc
|
| diff --git a/ash/sticky_keys/sticky_keys_controller.cc b/ash/sticky_keys/sticky_keys_controller.cc
|
| index 6237004f1f417f1a8793a8c0859bf0e486e69500..779b1404aa725c4bcca1f71188abebee2d3ff5e0 100644
|
| --- a/ash/sticky_keys/sticky_keys_controller.cc
|
| +++ b/ash/sticky_keys/sticky_keys_controller.cc
|
| @@ -66,6 +66,7 @@ void StickyKeysController::Enable(bool enabled) {
|
| altgr_sticky_key_.reset(new StickyKeysHandler(ui::EF_ALTGR_DOWN));
|
| ctrl_sticky_key_.reset(new StickyKeysHandler(ui::EF_CONTROL_DOWN));
|
| mod3_sticky_key_.reset(new StickyKeysHandler(ui::EF_MOD3_DOWN));
|
| + search_sticky_key_.reset(new StickyKeysHandler(ui::EF_COMMAND_DOWN));
|
|
|
| overlay_.reset(new StickyKeysOverlay());
|
| overlay_->SetModifierVisible(ui::EF_ALTGR_DOWN, altgr_enabled_);
|
| @@ -99,6 +100,8 @@ bool StickyKeysController::HandleKeyEvent(const ui::KeyEvent& event,
|
| ctrl_sticky_key_->HandleKeyEvent(
|
| event, key_code, mod_down_flags, released) ||
|
| mod3_sticky_key_->HandleKeyEvent(
|
| + event, key_code, mod_down_flags, released) ||
|
| + search_sticky_key_->HandleKeyEvent(
|
| event, key_code, mod_down_flags, released);
|
| }
|
|
|
| @@ -177,7 +180,8 @@ ui::EventRewriteStatus StickyKeysController::NextDispatchEvent(
|
| alt_sticky_key_->GetModifierUpEvent(new_event) +
|
| altgr_sticky_key_->GetModifierUpEvent(new_event) +
|
| ctrl_sticky_key_->GetModifierUpEvent(new_event) +
|
| - mod3_sticky_key_->GetModifierUpEvent(new_event);
|
| + mod3_sticky_key_->GetModifierUpEvent(new_event) +
|
| + search_sticky_key_->GetModifierUpEvent(new_event);
|
| if (!new_event)
|
| return ui::EVENT_REWRITE_CONTINUE;
|
| if (remaining)
|
| @@ -333,6 +337,8 @@ StickyKeysHandler::KeyEventType StickyKeysHandler::TranslateKeyEvent(
|
| is_target_key = (modifier_flag_ == ui::EF_ALTGR_DOWN);
|
| } else if (key_code == ui::VKEY_OEM_8) {
|
| is_target_key = (modifier_flag_ == ui::EF_MOD3_DOWN);
|
| + } else if (key_code == ui::VKEY_LWIN) {
|
| + is_target_key = (modifier_flag_ == ui::EF_COMMAND_DOWN);
|
| } else {
|
| return type == ui::ET_KEY_PRESSED ?
|
| NORMAL_KEY_DOWN : NORMAL_KEY_UP;
|
|
|