| Index: chrome/browser/ui/ash/event_rewriter.h
|
| diff --git a/chrome/browser/ui/ash/event_rewriter.h b/chrome/browser/ui/ash/event_rewriter.h
|
| index f08507582a83135d4e6027e22b6762f449777bf4..0747bdce2719b491954efef67fe0acfec57155e7 100644
|
| --- a/chrome/browser/ui/ash/event_rewriter.h
|
| +++ b/chrome/browser/ui/ash/event_rewriter.h
|
| @@ -31,6 +31,7 @@ class RootWindow;
|
| namespace chromeos {
|
|
|
| class KeyboardDrivenEventRewriter;
|
| +class AccessibilityEventRewriter;
|
|
|
| namespace input_method {
|
| class XKeyboard;
|
| @@ -158,7 +159,7 @@ class EventRewriter : public ash::EventRewriterDelegate,
|
| const PrefService* GetPrefService() const;
|
|
|
| // Rewrites the |event| by applying all RewriteXXX functions as needed.
|
| - void Rewrite(ui::KeyEvent* event);
|
| + ash::EventRewriterDelegate::Action Rewrite(ui::KeyEvent* event);
|
|
|
| // Rewrites a modifier key press/release following the current user
|
| // preferences.
|
| @@ -197,12 +198,12 @@ class EventRewriter : public ash::EventRewriterDelegate,
|
| // Rewrites the located |event|.
|
| void RewriteLocatedEvent(ui::LocatedEvent* event);
|
|
|
| - // Overwrites |event| with the keycodes and flags.
|
| - void OverwriteEvent(ui::KeyEvent* event,
|
| - unsigned int new_native_keycode,
|
| - unsigned int new_native_state,
|
| - ui::KeyboardCode new_keycode,
|
| - int new_flags);
|
| + // Rewrites the event for accessibility.
|
| + // * Press and Hold [Shift+{Up/Down/Left/Right} -> Shift+NUMPAD{6789}
|
| + // * Release[Shift+{Up/Down/Left/Right}] -> Shift+{Up/Down/Left/Right}
|
| + bool RewriteAccessibilityKeys(
|
| + ui::KeyEvent* event,
|
| + ash::EventRewriterDelegate::Action* action);
|
|
|
| // Checks the type of the |device_name|, and inserts a new entry to
|
| // |device_id_to_type_|.
|
| @@ -218,10 +219,20 @@ class EventRewriter : public ash::EventRewriterDelegate,
|
| int* remapped_flags,
|
| unsigned int* remapped_native_modifiers) const;
|
|
|
| + // Overwrites |event| with the keycodes and flags.
|
| + static void OverwriteEvent(ui::KeyEvent* event,
|
| + unsigned int new_native_keycode,
|
| + unsigned int new_native_state,
|
| + ui::KeyboardCode new_keycode,
|
| + int new_flags);
|
| +
|
| std::map<int, DeviceType> device_id_to_type_;
|
| int last_device_id_;
|
|
|
| #if defined(OS_CHROMEOS)
|
| + class AccessibilityEventRewriter;
|
| + friend class AccessibilityEventRewriter;
|
| +
|
| // A mapping from X11 KeySym keys to KeyCode values.
|
| base::hash_map<unsigned long, unsigned long> keysym_to_keycode_map_;
|
|
|
| @@ -232,6 +243,9 @@ class EventRewriter : public ash::EventRewriterDelegate,
|
|
|
| scoped_ptr<chromeos::KeyboardDrivenEventRewriter>
|
| keyboard_driven_event_rewriter_;
|
| +
|
| + scoped_ptr<AccessibilityEventRewriter>
|
| + accessibility_event_rewriter_;
|
| #endif
|
|
|
| const PrefService* pref_service_for_testing_;
|
|
|