Index: ui/aura/test/event_generator.cc |
diff --git a/ui/aura/test/event_generator.cc b/ui/aura/test/event_generator.cc |
index b5f140c9501ef3a4810c3543d499f89ba6098ef1..e914a77a72547b08132422f8066c827bd1cecd6c 100644 |
--- a/ui/aura/test/event_generator.cc |
+++ b/ui/aura/test/event_generator.cc |
@@ -17,6 +17,8 @@ |
#if defined(USE_X11) |
#include <X11/Xlib.h> |
#include "ui/base/x/x11_util.h" |
+#include "ui/events/event_utils.h" |
+#include "ui/events/test/events_test_utils_x11.h" |
#endif |
#if defined(OS_WIN) |
@@ -496,6 +498,12 @@ void EventGenerator::DispatchKeyEvent(bool is_press, |
MSG native_event = |
{ NULL, (is_press ? key_press : WM_KEYUP), key_code, 0 }; |
TestKeyEvent keyev(native_event, flags, key_press == WM_CHAR); |
+#elif defined(USE_X11) |
+ ui::ScopedXI2Event xevent; |
+ xevent.InitKeyEvent(is_press ? ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED, |
+ key_code, |
+ flags); |
+ ui::KeyEvent keyev(xevent, false); |
#else |
ui::EventType type = is_press ? ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED; |
ui::KeyEvent keyev(type, key_code, flags, false); |