blob: 39ba31c70afaabb791a676a86bfc2676655d3bb6 [file] [log] [blame]
// 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.input3;
using fuchsia.ui.focus;
/// 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.
HandleKey3Event(fuchsia.ui.input3.KeyEvent event) -> (bool was_handled);
// Notify Shortcut manager service when the focused chain changes.
HandleFocusChange(fuchsia.ui.focus.FocusChain focus_chain) -> ();
};