input_method_mojo_linux.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ 6#define MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ 7 8#include "ui/base/ime/input_method_auralinux.h" 9#include "ui/base/ime/input_method_delegate.h" 10 11namespace mojo { 12 13// An input method for linux that does absolutely no translation. 14// 15// The current InputMethodMinimal makes assumptions that a system will only 16// input/output keydown/keyup events; it assumes that things don't work like 17// Windows does. When it gets a keydown event, it then tries to insert a 18// character at the same time. 19// 20// However, we're standardizing on Windows' WM_CHAR style events. This tries to 21// follow InputMethodWin::DispatchKeyEvent() instead, because PlatformViewX11 22// now synthesizes a character events so that we have one behaviour across our 23// platforms. 24class InputMethodMojoLinux : public ui::InputMethodAuraLinux { 25 public: 26 explicit InputMethodMojoLinux(ui::internal::InputMethodDelegate* delegate); 27 virtual ~InputMethodMojoLinux(); 28 29 // Overriden from ui::InputMethodAuraLinux: 30 virtual bool DispatchKeyEvent(const ui::KeyEvent& event) OVERRIDE; 31 32 private: 33 DISALLOW_COPY_AND_ASSIGN(InputMethodMojoLinux); 34}; 35 36} // namespace mojo 37 38#endif // MOJO_VIEWS_INPUT_METHOD_MOJO_LINUX_H_ 39