Урок KVM 03 — Расширенные функции
Аудитория: от среднего до экспертного уровня — функции для опытных пользователей и настройка
1. Система настроек
Видео
- Разрешение и частота кадров — Предпочитаемые параметры захвата
- Media backend — FFmpeg, GStreamer (Linux) или Qt Multimedia (Windows)
- Аппаратное ускорение — VAAPI (Intel/AMD), V4L2-M2M (Raspberry Pi)
- Соотношение сторон и масштабирование — Пользовательское соотношение, Stretch/Fit/Fill
Аудио
- Включено — Переключение захвата аудио с целевого устройства
- Устройство ввода/вывода — Выбор источника и устройства воспроизведения
Управление целевым устройством
- Режим мыши — Absolute, Relative (HID), Relative (Events)
- Ограничение событий мыши — 30–1000 событий/секунду
- Раскладка клавиатуры — Целевая ОС и региональные раскладки
- Интервал повторения клавиш — Скорость повтора при удержании клавиши
- Автоскрытие курсора — Скрытие курсора хоста над областью видео
Журналирование
- Уровень журнала — Debug, Info, Warning, Error
- Запись в файл —
~/Documents/openterface.log(macOS) или настроенный путь (Qt) - Serial-журналирование — Отдельный журнал serial-связи
2. Управление EDID
Что такое EDID?
EDID (Extended Display Identification Data) — данные, которые KVM-устройство отправляет целевому компьютеру для описания возможностей дисплея: поддерживаемые разрешения, частоты обновления, информация о производителе. KVM действует как «виртуальный монитор», поэтому EDID определяет, какие разрешения будет выводить целевое устройство.
Редактирование имени дисплея EDID
Вы можете изменить имя дисплея, которое KVM-устройство сообщает целевому компьютеру. Это имя отображается в настройках дисплея целевой ОС.
Примечание: В настоящее время поддерживается только редактирование имени дисплея. Редактирование разрешения и пользовательские записи разрешений пока недоступны.
Доступ: Settings > EDID Display Name Editor (macOS) или Device > Update Display Settings (Qt)
Сценарии использования
- Идентификация дисплея в настройках целевой ОС
- Пользовательское именование в конфигурациях с несколькими мониторами для различения KVM-дисплея
3. Система макросов (macOS)
Макросы — сохранённые последовательности действий клавиатуры, запускаемые из панели макросов на панели инструментов.
Формат последовательности клавиш
Теги модификаторов: <CTRL>, <SHIFT>, <ALT>, <CMD> (соответствует Cmd/Win/Super в зависимости от целевой ОС)
Специальные клавиши: <ESC>, <BACK>, <ENTER>, <TAB>, <SPACE>, <LEFT>, <RIGHT>, <UP>, <DOWN>, <HOME>, <END>, <DEL>, <PGUP>, <PGDN>, <F1>–<F12>
Задержки: <DELAY05s>, <DELAY1S>, <DELAY2S>, <DELAY5S>, <DELAY10S>
Примеры
Генерация с помощью ИИ
Кнопка Magic в редакторе макросов генерирует макросы из естественного языка. Опишите, что нужно сделать, и ИИ создаст последовательность клавиш.
Проверка
Отмечайте макросы как verified после тестирования. Только проверенные макросы доступны ИИ-агенту для автономного выполнения.
4. Script Tool (Qt)
Язык сценариев, вдохновлённый AutoHotKey, для автоматизации действий клавиатуры и мыши на целевом устройстве.
Открытие
Меню: Device > Script Tool
Команды
| Command | Description | Example |
|---|---|---|
Sleep |
Пауза выполнения | Sleep 1000 |
Send |
Отправка нажатий клавиш | Send Hello World |
Click |
Клик мыши | Click 100 200 |
SetCapsLockState |
Переключение CapsLock | SetCapsLockState On |
FullScreenCapture |
Снимок экрана | FullScreenCapture "/tmp/shot.png" |
Префиксы модификаторов
^ = Ctrl, + = Shift, ! = Alt, # = Win
5. Обновления прошивки
Когда обновлять
- Новые аппаратные функции
- Исправления ошибок
- Улучшения совместимости
Процесс обновления
- Откройте Firmware Update Tool (Settings > Firmware Update Tool на macOS, Device > Update Firmware на Qt)
- Инструмент проверяет последнюю версию в сети
- Ход выполнения отслеживается во время операции записи
- Не отключайте устройство во время обновления
Восстановление
- Оставьте устройство подключённым к питанию
- Закройте и снова откройте Firmware Update Tool, повторите попытку
- Используйте Serial Reset Tool, если устройство не отвечает
6. Serial Reset Tool
Доступ: Settings > Serial Reset Tool (macOS) или Device > Factory Reset HID Chip (Qt)
Используйте, когда:
- Устройство находится в неизвестном состоянии после неудачного обновления прошивки
- HID-чип не отвечает
- Подготовка устройства к перепродаже
7. Диагностика (Qt)
Меню: Device > Device Diagnostics
Последовательно выполняет аппаратные тесты:
- Тест serial-соединения
- Статус USB целевого устройства
- Тест сброса к заводским настройкам
- Тест высокой/низкой скорости baudrate
- Стресс-тест (быстрые команды, измерение процента успеха)
- Тест plug & play (обнаружение отключения/повторного подключения USB)
После выполнения экспортируйте результаты через Support Email Dialog.
8. Система AI Chat (macOS)
Встроенный ИИ-ассистент, который может анализировать экран целевого устройства, предлагать действия и выполнять операции клавиатуры/мыши.
Режимы чата
| Mode | Description |
|---|---|
| Interactive | Задавайте вопросы, получайте рекомендации |
| Agentic | ИИ автономно планирует и выполняет многошаговые задачи |
| Guide | По одной инструкции за раз, шаг за шагом |
| Planner | Сложные запросы разбиваются на структурированные планы |
Настройка
Settings > AI Chat: API endpoint, key (хранится в Keychain), model, target system (macOS/Windows/Linux/etc.)
9. Удалённое управление (VNC/RDP — macOS)
Переключение между режимами Hardware KVM, VNC и RDP через Control > Connection Protocol.
| Scenario | Mode |
|---|---|
| Целевое устройство в BIOS/UEFI, без сети, при загрузке, зависло | Hardware KVM |
| Работа с рабочим столом с высокой пропускной способностью, Windows-сервер | VNC или RDP |
10. TCP-сервер (Qt)
Встроенный TCP-сервер для удалённого управления на порту 12345.
Команды
CHECK_STATUS, GET_LAST_IMAGE, GET_TARGET_SCREEN, SCRIPT_COMMAND
Пример на Python
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("localhost", 12345))
sock.send(b"CHECK_STATUS\n")
print(sock.recv(4096).decode())
sock.close()
> **Безопасность:** Без аутентификации, шифрования и ограничения частоты запросов. Включайте только в доверенных сетях.
---
## Функции, специфичные для iPadOS
### Управление Bluetooth-соединением
Приложение iPadOS подключается к dongle KVM-Go через **Bluetooth Low Energy (BLE)** для HID-ввода с клавиатуры/мыши:
- **Auto-connect:** Включено по умолчанию. При запуске приложение сканирует 5 секунд и автоматически подключается к устройству `kvm*` с самым сильным сигналом.
- **Переподключение:** При разрыве соединения приложение пытается переподключиться до 3 раз с задержкой 2 секунды.
- **Мониторинг сигнала:** RSSI обновляется каждые 2 секунды. Кнопка BLE показывает уровень сигнала (например, `-45 dBm`) с цветовым индикатором: зелёный (-50 до 0 dBm), оранжевый (-70 до -50 dBm), красный (ниже -70 dBm).
- **Сканирование устройств:** В списке отображаются только устройства, имя которых начинается с `kvm` (без учёта регистра).
- **Ручное управление:** Откройте экран BLE для сканирования, подключения, отключения или отключения auto-connect.
### Информационная панель
Нажмите кнопку **Info**, чтобы отобразить панель статуса ввода в реальном времени в правом верхнем углу:
┌─ Статус ввода ─────────┐ │ Mouse │ │ Mode: Absolute │ │ Position: 512.0, 384.0 │ │ Drag Mode: Active │ │ Scrolling: Inactive │ │ Keyboard │ │ Mode: Normal │ │ Caps Lock: OFF │ │ Modifiers: Ctrl, Shift │ └────────────────────────┘
Панель прозрачна для касаний — не блокирует взаимодействие с видеопредпросмотром.
### Коррекция ориентации экрана
Нажмите кнопку **Rotate**, чтобы переключать режимы коррекции ориентации: Normal, 90° CW, 180°, 90° CCW. Корректирует видеопредпросмотр, когда dongle KVM-Go установлен в нестандартной ориентации. Поворот применяется как к живому предпросмотру, так и к сохранённым снимкам.
### Таймер простоя отключён
Приложение держит экран iPad **активным** во время использования, отключая таймер простоя и предотвращая автоблокировку iPad при мониторинге целевого ПК.
### Система журналирования
Приложение включает встроенный `Logger` с фильтрацией по категориям:
| Category | Covers |
|---|---|
| `bluetooth` | BLE-сканирование, соединение, передача данных |
| `mouse` | Ввод мыши, распознавание жестов, смена режимов |
| `keyboard` | События клавиш, состояние модификаторов, составные клавиши |
| `camera` | Запись видео, снимки экрана, фотосъёмка |
| `ui` | Обработка касаний, распознавание жестов, слой предпросмотра |
| `general` | Жизненный цикл приложения, общая информация |
Журналирование можно настроить в исходном коде приложения для уменьшения вывода в консоль.
---
## Следующие шаги
- **[Устранение неполадок →](04-troubleshooting.md)** — Распространённые проблемы и решения
---
## Функции, специфичные для Android
### Панель настроек
Панель настроек приложения Android (кнопка меню ☰) содержит все параметры конфигурации:
| Setting | Description |
|---|---|
| **Device** | Показывает подключённые USB-устройства и статус. Нажмите для выбора или повторного сканирования. |
| **Disconnect Device** | Безопасно освобождает все USB-соединения. Используйте перед отключением. |
| **Baudrate** | Скорость serial-связи: **115200** (по умолчанию) или **9600** (медленнее, при проблемах). |
| **Controls** | Ползунки яркости, контраста и оттенка камеры. |
| **Video Format** | Выбор разрешения и частоты кадров. |
| **Rotate/Flip** | Поворот 90° CW/CCW, отражение по горизонтали/вертикали. |
| **Screen Capture / Record Video** | Снимок экрана и запись видео. |
| **Relative / Absolute / Drag** | Переключение режима управления мышью. |
| **About Device** | Показывает версию Android и информацию о версии приложения. |
### Сохранение настроек
Приложение Android запоминает ваши настройки между сеансами:
| Setting | Persisted? |
|---|---|
| Режим управления мышью | Да |
| Формат видео (разрешение, FPS) | Да |
| Параметры камеры (яркость, контраст, оттенок) | Да |
| Раскладка клавиатуры (US, JP, DE) | Да |
| Baudrate | Да |
| История подключений устройств | Да |
При повторном открытии приложения восстанавливаются последние настройки. Для полного сброса: Настройки Android → Приложения → Openterface → Память → **Очистить данные**.
### Безопасное отключение
Перед отключением KVM-устройства на Android:
1. Откройте панель настроек
2. Нажмите **Disconnect Device** (отображается красным)
3. Дождитесь, пока приложение освободит USB-соединение
4. Отключите кабели
Это предотвращает повреждение данных и обеспечивает корректное освобождение клавиатуры/мыши целевым компьютером.
### Советы по производительности Android
- **Снизьте разрешение** — 640×480 значительно легче, чем 1920×1080
- **Уменьшите частоту кадров** — 30fps использует меньше пропускной способности, чем 60fps
- **Закройте другие приложения** — освободите память телефона
- **Используйте качественный USB OTG-адаптер** — дешёвые адаптеры могут ограничивать соединение
- Команда разработчиков работает над снижением задержки в конвейере камеры