Index: views/controls/menu/menu_controller.cc |
diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc |
index 625199df803a42b7d8734823d014e382ffca0a3a..b162c724dcfc8c9e25b88d8ce9cf231ce01598a7 100644 |
--- a/views/controls/menu/menu_controller.cc |
+++ b/views/controls/menu/menu_controller.cc |
@@ -18,6 +18,9 @@ |
#include "views/view_constants.h" |
#include "views/widget/root_view.h" |
#include "views/widget/widget.h" |
+#if defined(OS_LINUX) |
+#include "base/keyboard_code_conversion_gtk.h" |
+#endif |
using base::Time; |
using base::TimeDelta; |
@@ -695,7 +698,9 @@ bool MenuController::Dispatch(GdkEvent* event) { |
switch (event->type) { |
case GDK_KEY_PRESS: { |
- if (!OnKeyDown(event->key.keyval)) |
+ base::KeyboardCode win_keycode = |
+ base::WindowsKeyCodeForGdkKeyCode(event->key.keyval); |
+ if (!OnKeyDown(win_keycode)) |
return false; |
guint32 keycode = gdk_keyval_to_unicode(event->key.keyval); |
if (keycode) |