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 999f5bb55a6176e9a2ec5086fa8ec799079d7ed0..74af30822d2a310956a49919a4026994a4e75e26 100644 |
--- a/chrome/browser/chromeos/system_key_event_listener.cc |
+++ b/chrome/browser/chromeos/system_key_event_listener.cc |
@@ -84,18 +84,21 @@ GdkFilterReturn SystemKeyEventListener::GdkEventFilter(GdkXEvent* gxevent, |
if (xevent->type == KeyPress) { |
int32 keycode = xevent->xkey.keycode; |
if (keycode) { |
- if ((keycode == listener->key_f8_) || |
- (keycode == listener->key_volume_mute_)) { |
- listener->OnVolumeMute(); |
- return GDK_FILTER_REMOVE; |
- } else if ((keycode == listener->key_f9_) || |
- keycode == listener->key_volume_down_) { |
- listener->OnVolumeDown(); |
- return GDK_FILTER_REMOVE; |
- } else if ((keycode == listener->key_f10_) || |
- (keycode == listener->key_volume_up_)) { |
- listener->OnVolumeUp(); |
- return GDK_FILTER_REMOVE; |
+ // Only doing non-Alt/Shift/Ctrl modified keys |
+ if (!(xevent->xkey.state & (Mod1Mask | ShiftMask | ControlMask))) { |
+ if ((keycode == listener->key_f8_) || |
+ (keycode == listener->key_volume_mute_)) { |
+ listener->OnVolumeMute(); |
+ return GDK_FILTER_REMOVE; |
+ } else if ((keycode == listener->key_f9_) || |
+ keycode == listener->key_volume_down_) { |
+ listener->OnVolumeDown(); |
+ return GDK_FILTER_REMOVE; |
+ } else if ((keycode == listener->key_f10_) || |
+ (keycode == listener->key_volume_up_)) { |
+ listener->OnVolumeUp(); |
+ return GDK_FILTER_REMOVE; |
+ } |
} |
} |
} |