Maliit lib-rs
Описание
Эта библиотека это что-то типа maliit-glib но написана на Rust и имеет меньше возможностей.
[!WARNING] Возможны баги и краши, т.к. интерфейс фреймворка maliit описан очень плохо, из-за чего разработка велась наощупь.
[!NOTE] Разработка велась под ОС Аврора, работоспособность в десктопных окружениях linux не гарантируется.
Возможности
- Вызов экранной клавиатуры
- Сокрытие экранной клавиатуры
- Получение событий нажатия на клавиши экранной клавиатуры
- Сброс состояния ввода
- Установка языка клавиатуры
- Отправка текста для подсказок с клавиатуры
Использование
use ;
API
Все публичные методы InputMethod возвращают Result<..., MaliitError>.
Основные методы
| Метод | Описание |
|---|---|
InputMethod::new() |
Подключение к Maliit серверу по D-Bus |
show() |
Показать экранную клавиатуру |
hide() |
Скрыть экранную клавиатуру |
reset() |
Сбросить состояние ввода |
set_language(lang) |
Установить язык клавиатуры |
rotate(orientation) |
Повернуть клавиатуру (Orientation::Portrait / Landscape / PortraitFlipped / LandscapeFlipped) |
update_widget_information(info, focus_changed) |
Обновить состояние текстового виджета на сервере Maliit |
show_with_info(info) |
Показать клавиатуру, предварительно отправив состояние виджета |
Обработка событий
События обрабатываются в фоновом потоке. Каждый зарегистрированный обработчик вызывается для каждого события.
// Добавить обработчик (первый вызов запускает фоновый поток)
im.add_event_handler?;
// Можно добавить несколько обработчиков
im.add_event_handler?;
// Остановить все обработчики и завершить поток
im.clear_event_handlers;
Ошибки
Все ошибки представлены типом MaliitError: