1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_KEYBOARD_DRIVEN_EVENT_REWRITER_H_
6 #define CHROME_BROWSER_CHROMEOS_KEYBOARD_DRIVEN_EVENT_REWRITER_H_
8 #include "base/basictypes.h"
16 // KeyboardDrivenEventRewriter removes the modifier flags from
17 // Shift+<Arrow keys|Enter|F6> key events. This mapping only happens
18 // on login screen and only when the keyboard driven oobe is enabled.
19 class KeyboardDrivenEventRewriter {
21 KeyboardDrivenEventRewriter();
22 ~KeyboardDrivenEventRewriter();
24 // Calls RewriteEvent to modify |event| if it is on login screen and the
25 // keyboard driven flag is enabled. Returns true if the event is changed
26 // and no further changes should happen.
27 bool RewriteIfKeyboardDrivenOnLoginScreen(ui::KeyEvent* event);
29 // Calls RewriteEvent for testing.
30 bool RewriteForTesting(ui::KeyEvent* event);
33 bool RewriteEvent(ui::KeyEvent* event);
35 DISALLOW_COPY_AND_ASSIGN(KeyboardDrivenEventRewriter);
38 } // namespace chromeos
40 #endif // CHROME_BROWSER_CHROMEOS_KEYBOARD_DRIVEN_EVENT_REWRITER_H_