Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(948)

Unified Diff: ui/base/events/event.cc

Issue 17265006: wayland patch for inspection Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/base/cursor/cursor_wayland.cc ('k') | ui/base/ime/fake_input_method.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/events/event.cc
diff --git a/ui/base/events/event.cc b/ui/base/events/event.cc
index be76b7067e70d31d6357dcf8d433d9391a0ae923..a8d49a576b16fa995645cd15dd0eaa91c8e5887a 100644
--- a/ui/base/events/event.cc
+++ b/ui/base/events/event.cc
@@ -20,14 +20,23 @@
#include "ui/gfx/transform.h"
#include "ui/gfx/transform_util.h"
-#if defined(USE_X11)
+#if defined(USE_WAYLAND)
+#include "base/wayland/wayland_event.h"
+#include "ui/base/keycodes/keyboard_code_conversion_wayland.h"
+#elif defined(USE_X11)
#include "ui/base/keycodes/keyboard_code_conversion_x.h"
#endif
namespace {
base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) {
-#if defined(USE_X11)
+#if defined(USE_WAYLAND)
+ if (!event)
+ return NULL;
+ base::wayland::WaylandEvent* copy = new base::wayland::WaylandEvent;
+ *copy = *event;
+ return copy;
+#elif defined(USE_X11)
if (!event || event->type == GenericEvent)
return NULL;
XEvent* copy = new XEvent;
@@ -105,7 +114,9 @@ std::string EventTypeName(ui::EventType type) {
}
bool IsX11SendEventTrue(const base::NativeEvent& event) {
-#if defined(USE_X11)
+#if defined(USE_WAYLAND)
+ return false;
+#elif defined(USE_X11)
if (event && event->xany.send_event)
return true;
#endif
@@ -509,6 +520,14 @@ uint16 KeyEvent::GetCharacter() const {
#if defined(OS_WIN)
return (native_event().message == WM_CHAR) ? key_code_ :
GetCharacterFromKeyCode(key_code_, flags());
+#elif defined(USE_WAYLAND)
+ if (!native_event())
+ return ui::GetCharacterFromKeyCode(key_code_, flags());
+
+ uint16 ch = 0;
+ if (!IsControlDown())
+ ch = ui::GetCharacterFromWaylandEvent(native_event());
+ return ch ? ch : ui::GetCharacterFromKeyCode(key_code_, flags());
#elif defined(USE_X11)
if (!native_event())
return GetCharacterFromKeyCode(key_code_, flags());
@@ -534,6 +553,13 @@ uint16 KeyEvent::GetUnmodifiedCharacter() const {
// Looks like there is no way to get unmodified character on Windows.
return (native_event().message == WM_CHAR) ? key_code_ :
GetCharacterFromKeyCode(key_code_, flags() & EF_SHIFT_DOWN);
+#elif defined(USE_WAYLAND)
+ if (!native_event())
+ return ui::GetCharacterFromKeyCode(key_code_, flags() & ui::EF_SHIFT_DOWN);
+
+ uint16 ch = ui::GetCharacterFromWaylandEvent(native_event());
+ return ch ? ch :
+ ui::GetCharacterFromKeyCode(key_code_, flags() & ui::EF_SHIFT_DOWN);
#elif defined(USE_X11)
if (!native_event())
return GetCharacterFromKeyCode(key_code_, flags() & EF_SHIFT_DOWN);
« no previous file with comments | « ui/base/cursor/cursor_wayland.cc ('k') | ui/base/ime/fake_input_method.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698