| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.ui.shortcut; |
| |
| using fuchsia.ui.input; |
| |
| /// Shortcuts manager handles keyboard events, detects shortcut activations, |
| /// notifies clients. |
| /// |
| /// Typically this interface is used by RootPresenter to notify the manager |
| /// about events generated by other participants of the user interaction flow. |
| [Discoverable] |
| protocol Manager { |
| |
| /// Detect shortcuts and notify clients of activations. |
| /// Returns true if shortcut was matched and client handled it, false otherwise. |
| HandleKeyEvent(fuchsia.ui.input.KeyEvent event) -> (bool was_handled); |
| |
| // TODO: implement when the design is approved. |
| // HandleFocusChange(FocusChain focus) -> (); |
| }; |