blob: 41372e9129d5505704340c261786a18d0bfc128d [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(struct {
event fuchsia.ui.input3.KeyEvent;
}) -> (struct {
was_handled bool;
});
// Notify Shortcut manager service when the focused chain changes.
HandleFocusChange(resource struct {
focus_chain fuchsia.ui.focus.FocusChain;
}) -> ();
};