Index: mojo/views/input_method_mojo_linux.h |
diff --git a/mojo/views/input_method_mojo_linux.h b/mojo/views/input_method_mojo_linux.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0072a297cbec944aeb98f15efdfab72722136175 |
--- /dev/null |
+++ b/mojo/views/input_method_mojo_linux.h |
@@ -0,0 +1,38 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ |
+#define MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ |
+ |
+#include "ui/base/ime/input_method_auralinux.h" |
+#include "ui/base/ime/input_method_delegate.h" |
+ |
+namespace mojo { |
+ |
+// An input method for linux that does absolutely no translation. |
+// |
+// The current InputMethodMinimal makes assumptions that a system will only |
+// input/output keydown/keyup events; it assumes that things don't work like |
+// Windows does. When it gets a keydown event, it then tries to insert a |
+// character at the same time. |
+// |
+// However, we're standardizing on Windows' WM_CHAR style events. This tries to |
+// follow InputMethodWin::DispatchKeyEvent() instead, because PlatformViewX11 |
+// now synthesizes a character events so that we have one behaviour across our |
+// platforms. |
+class InputMethodMojoLinux : public ui::InputMethodAuraLinux { |
+ public: |
+ explicit InputMethodMojoLinux(ui::internal::InputMethodDelegate* delegate); |
+ virtual ~InputMethodMojoLinux(); |
+ |
+ // Overriden from ui::InputMethodAuraLinux: |
+ virtual bool DispatchKeyEvent(const ui::KeyEvent& event) OVERRIDE; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(InputMethodMojoLinux); |
+}; |
+ |
+} // namespace mojo |
+ |
+#endif // MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ |