blob: 56599434b454bf44ea77f4a6e716cda1a71d72fc [file] [log] [blame]
// Copyright 2018 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.input;
type Command = strict union {
/// Commands for conveying input events to a `Session`.
/// Structs defined in input_events.fidl.
1: send_keyboard_input SendKeyboardInputCmd;
2: send_pointer_input SendPointerInputCmd;
/// Command to enable/disable delivery of hard keyboard events.
3: set_hard_keyboard_delivery SetHardKeyboardDeliveryCmd;
/// Obsolete. This command is a no-op.
4: set_parallel_dispatch SetParallelDispatchCmd;
};
type SendKeyboardInputCmd = struct {
compositor_id uint32;
keyboard_event KeyboardEvent; // Defined in input_events.fidl
};
type SendPointerInputCmd = struct {
compositor_id uint32;
pointer_event PointerEvent; // Defined in input_events.fidl
};
/// Typically, clients should receive text inputs from an IME.
///
/// For cases where no IME mediation is desired (such as a game application),
/// this command requests Scenic to deliver hard keyboard events to the client.
///
/// By default, Scenic will *not* deliver hard keyboard events to a client.
type SetHardKeyboardDeliveryCmd = struct {
delivery_request bool;
};
/// Obsolete. This command is a no-op.
type SetParallelDispatchCmd = struct {
parallel_dispatch bool;
};