Chromium Code Reviews| Index: chrome/browser/chromeos/system_key_event_listener.cc |
| diff --git a/chrome/browser/chromeos/system_key_event_listener.cc b/chrome/browser/chromeos/system_key_event_listener.cc |
| index af70d12feec2d1b68f689214d1c5750b825d70ad..9a672474580eaf24788ec8833f477d461ee63eee 100644 |
| --- a/chrome/browser/chromeos/system_key_event_listener.cc |
| +++ b/chrome/browser/chromeos/system_key_event_listener.cc |
| @@ -41,6 +41,7 @@ SystemKeyEventListener::SystemKeyEventListener() |
| key_f8_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F8); |
| key_f9_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F9); |
| key_f10_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F10); |
| + key_esc_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Escape); |
|
glotov
2011/07/05 11:10:27
I still cant understand: what is the connection be
SeRya
2011/07/05 12:09:51
This handler replaces ESC accelerator. Reason for
glotov
2011/07/05 13:23:47
So, the accelerator is needed for the Light bubble
SeRya
2011/07/05 13:40:53
Both SettingLevelBubble's (VolumeBubble and Bright
|
| if (key_volume_mute_) |
| GrabKey(key_volume_mute_, 0); |
| @@ -51,6 +52,7 @@ SystemKeyEventListener::SystemKeyEventListener() |
| GrabKey(key_f8_, 0); |
| GrabKey(key_f9_, 0); |
| GrabKey(key_f10_, 0); |
| + GrabKey(key_esc_, 0); |
| #if defined(TOUCH_UI) |
| MessageLoopForUI::current()->AddObserver(this); |
| @@ -191,6 +193,9 @@ bool SystemKeyEventListener::ProcessedXEvent(XEvent* xevent) { |
| UserMetrics::RecordAction(UserMetricsAction("Accel_VolumeUp_F10")); |
| OnVolumeUp(); |
| return true; |
| + } else if (keycode == key_esc_ && IsBubbleShown()) { |
| + HideBubble(); |
| + return true; |
| } |
| } |
| } |
| @@ -198,4 +203,16 @@ bool SystemKeyEventListener::ProcessedXEvent(XEvent* xevent) { |
| return false; |
| } |
| +// static |
| +bool SystemKeyEventListener::IsBubbleShown() { |
| + return BrightnessBubble::GetInstance()->IsShown() || |
| + VolumeBubble::GetInstance()->IsShown(); |
| +} |
| + |
| +// static |
| +void SystemKeyEventListener::HideBubble() { |
| + BrightnessBubble::GetInstance()->HideBubble(); |
| + VolumeBubble::GetInstance()->HideBubble(); |
| +} |
| + |
| } // namespace chromeos |