| // 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); |
| }; |