blob: 85196d718b7721dc4caaa529710f521af631e62e [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;
/// 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);
};
/// Onscreen keyboard containers connect to this to know when a keyboard
/// should be shown or hidden.
[Discoverable]
protocol ImeVisibilityService {
-> OnKeyboardVisibilityChanged(bool visible);
};