blob: d831bcf4965c82f7e3937fc9c3ad7457dc68cec3 [file] [log] [blame]
// Copyright 2017 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;
using fuchsia.ui.input2;
using fuchsia.ui.input3;
using fuchsia.ui.views;
/// The service provided by an IME
[Discoverable]
protocol ImeService {
GetInputMethodEditor(KeyboardType keyboard_type,
InputMethodAction action,
TextInputState initial_state,
InputMethodEditorClient client,
request<InputMethodEditor> editor);
ShowKeyboard();
HideKeyboard();
// DEPRECATED: Will be replaced with DispatchKey3
InjectInput(InputEvent event);
// DEPRECATED: Will be replaced with DispatchKey3
DispatchKey(fuchsia.ui.input2.KeyEvent event) -> (bool handled);
// Notify IME Service of a keyboard event. Will be migrated into
// fuchsia.ui.input after fuchsia.ui.input cleanup.
[Transitional]
DispatchKey3(fuchsia.ui.input3.KeyEvent event) -> (bool handled);
// Notify IME Service when the currently focused view changes.
ViewFocusChanged(fuchsia.ui.views.ViewRef view_ref) -> ();
};
/// Onscreen keyboard containers connect to this to know when a keyboard
/// should be shown or hidden.
[Discoverable]
protocol ImeVisibilityService {
-> OnKeyboardVisibilityChanged(bool visible);
};