| Index: ash/sticky_keys/sticky_keys_controller.h
|
| diff --git a/ash/sticky_keys/sticky_keys_controller.h b/ash/sticky_keys/sticky_keys_controller.h
|
| index 327d7ec2f210f733f229ccb201026a9c0cb1c644..cdfc2de7ac374702695dce1c57b9c3763c654d35 100644
|
| --- a/ash/sticky_keys/sticky_keys_controller.h
|
| +++ b/ash/sticky_keys/sticky_keys_controller.h
|
| @@ -59,10 +59,10 @@ class StickyKeysHandler;
|
| // modifiers. Each handling or state is performed independently.
|
| //
|
| // StickyKeysController is disabled by default.
|
| -class ASH_EXPORT StickyKeysController {
|
| +class ASH_EXPORT StickyKeysController : public ui::EventRewriter {
|
| public:
|
| StickyKeysController();
|
| - virtual ~StickyKeysController();
|
| + ~StickyKeysController() override;
|
|
|
| // Activate sticky keys to intercept and modify incoming events.
|
| void Enable(bool enabled);
|
| @@ -73,61 +73,29 @@ class ASH_EXPORT StickyKeysController {
|
| // passed.
|
| StickyKeysOverlay* GetOverlayForTest();
|
|
|
| - // Handles keyboard event. Returns an |EventRewriteStatus|, and may
|
| - // modify |flags|:
|
| - // - Returns ui::EVENT_REWRITE_DISCARD, and leaves |flags| untouched,
|
| - // if the event is consumed (i.e. a sticky modifier press or release);
|
| - // - Returns ui::EVENT_REWRITE_REWRITTEN if the event needs to be modified
|
| - // according to the returned |flags| (i.e. a sticky-modified key);
|
| - // - Returns ui::EVENT_REWRITE_DISPATCH_ANOTHER if the event needs to be
|
| - // modified according to the returned |flags|, and there are delayed
|
| - // modifier-up events now to be retrieved using |NextDispatchEvent()|
|
| - // (i.e. a sticky-modified key that ends a sticky state);
|
| - // - Otherwise returns ui::EVENT_REWRITE_CONTINUE and leaves |flags|
|
| - // unchanged.
|
| - ui::EventRewriteStatus RewriteKeyEvent(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code,
|
| - int* flags);
|
| -
|
| - // Handles mouse event.
|
| - ui::EventRewriteStatus RewriteMouseEvent(const ui::MouseEvent& event,
|
| - int* flags);
|
| -
|
| - // Handles scroll event.
|
| - ui::EventRewriteStatus RewriteScrollEvent(const ui::ScrollEvent& event,
|
| - int* flags);
|
| -
|
| - // Obtains a pending modifier-up event. If the immediately previous
|
| - // call to |Rewrite...Event()| or |NextDispatchEvent()| returned
|
| - // ui::EVENT_REWRITE_DISPATCH_ANOTHER, this sets |new_event| and returns:
|
| - // - ui::EVENT_REWRITE_DISPATCH_ANOTHER if there is at least one more
|
| - // pending modifier-up event;
|
| - // - ui::EVENT_REWRITE_REWRITE if this is the last or only modifier-up event;
|
| - // Otherwise, there is no pending modifier-up event, and this function
|
| - // returns ui::EVENT_REWRITE_CONTINUE and sets |new_event| to NULL.
|
| + // ui::EventRewriter:
|
| + ui::EventRewriteStatus RewriteEvent(
|
| + const ui::Event& event,
|
| + std::unique_ptr<ui::Event>* rewritten_event) override;
|
| ui::EventRewriteStatus NextDispatchEvent(
|
| - std::unique_ptr<ui::Event>* new_event);
|
| + const ui::Event& last_event,
|
| + std::unique_ptr<ui::Event>* new_event) override;
|
|
|
| private:
|
| - // Handles keyboard event. Returns true if Sticky key consumes keyboard event.
|
| - // Adds to |mod_down_flags| any flag to be added to the key event.
|
| - // Sets |released| if any modifier is to be released after the key event.
|
| - bool HandleKeyEvent(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code,
|
| - int* mod_down_flags,
|
| - bool* released);
|
| + // Rewrite keyboard event.
|
| + ui::EventRewriteStatus RewriteKeyEvent(
|
| + const ui::KeyEvent& event,
|
| + std::unique_ptr<ui::Event>* rewritten_event);
|
|
|
| - // Handles mouse event. Returns true if Sticky key consumes keyboard event.
|
| - // Sets |released| if any modifier is to be released after the key event.
|
| - bool HandleMouseEvent(const ui::MouseEvent& event,
|
| - int* mod_down_flags,
|
| - bool* released);
|
| + // Rewrite mouse event.
|
| + ui::EventRewriteStatus RewriteMouseEvent(
|
| + const ui::MouseEvent& event,
|
| + std::unique_ptr<ui::Event>* rewritten_event);
|
|
|
| - // Handles scroll event. Returns true if Sticky key consumes keyboard event.
|
| - // Sets |released| if any modifier is to be released after the key event.
|
| - bool HandleScrollEvent(const ui::ScrollEvent& event,
|
| - int* mod_down_flags,
|
| - bool* released);
|
| + // Rewrite scroll event.
|
| + ui::EventRewriteStatus RewriteScrollEvent(
|
| + const ui::ScrollEvent& event,
|
| + std::unique_ptr<ui::Event>* rewritten_event);
|
|
|
| // Updates the overlay UI with the current state of the sticky keys.
|
| void UpdateOverlay();
|
| @@ -192,7 +160,6 @@ class ASH_EXPORT StickyKeysHandler {
|
| // Sets its own modifier flag in |mod_down_flags| if it is active and needs
|
| // to be added to the event, and sets |released| if releasing it.
|
| bool HandleKeyEvent(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code,
|
| int* mod_down_flags,
|
| bool* released);
|
|
|
| @@ -234,20 +201,17 @@ class ASH_EXPORT StickyKeysHandler {
|
|
|
| // Handles key event in DISABLED state. Returns true if sticky keys
|
| // consumes the keyboard event.
|
| - bool HandleDisabledState(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code);
|
| + bool HandleDisabledState(const ui::KeyEvent& event);
|
|
|
| // Handles key event in ENABLED state. Returns true if sticky keys
|
| // consumes the keyboard event.
|
| bool HandleEnabledState(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code,
|
| int* mod_down_flags,
|
| bool* released);
|
|
|
| // Handles key event in LOCKED state. Returns true if sticky keys
|
| // consumes the keyboard event.
|
| bool HandleLockedState(const ui::KeyEvent& event,
|
| - ui::KeyboardCode key_code,
|
| int* mod_down_flags,
|
| bool* released);
|
|
|
|
|