Перейти к основному содержимому Главная страница каталога дополнений для NVDA от русскоязычного сообщества NVDA.RU.

Официальный русскоязычный каталог дополнений NVDA

Крупнейший каталог дополнений для программы экранного доступа NVDA, доступный в Интернете

Каталог дополнений от «🇷🇺 Русскоязычного сообщества NVDA.RU.»

NVDAControlEx (Расширенный интерфейс для управления NVDA из внешних приложений)

Автор:

Краткое описание

Дополнение NVDA Control Ex предоставляет интерфейс именованного канала (\.\pipe\NVDAControlPipe) для внешних приложений, позволяющий отправлять команды в NVDA.
Эти команды могут управлять речевым выводом, брайлевским дисплеем и другими функциями NVDA.
Основные возможности:
Обмен данными через именованный канал:
Дополнение создаёт именованный канал (\.\pipe\NVDAControlPipe) для получения команд от внешних приложений.
Команды отправляются в виде строк и обрабатываются плагином.
Многие другие функции и примеры описаны в справочном руководстве.

⬇ Перейти к подробной справке 🔝 Назад к оглавлению

Основная информация

Название Версия Совместимость с API NVDA Последняя протестированная версия NVDA Минимальная версия NVDA Дата загрузки в каталог Размер Лицензия
NVDAControlEx 0.1 2025.1 2025.1 2024.1 27-06-2025 16:45:36 13 Кб. GPL v2
🔝 Назад к оглавлению

Журнал изменений

Подробнее

Не найдено

🔝 Назад к оглавлению

Скачать

NVDAControlEx-V.0.1.nvda-addon

⬇ Перейти к истории версий 🔝 Назад к оглавлению

Информация о локализации на русский язык

🔝 Назад к оглавлению

Разделы

🔝 Назад к оглавлению

Справка

Подробнее

Документация дополнения NVDA Control Ex

Обзор

Дополнение NVDA Control Ex предоставляет интерфейс именованного канала (\\.\pipe\NVDAControlPipe) для внешних приложений, позволяющий отправлять команды в NVDA. Эти команды могут управлять речевым выводом, брайлевским дисплеем и другими функциями NVDA.

Основные возможности

  1. Обмен данными через именованный канал:

    • Дополнение создаёт именованный канал (\\.\pipe\NVDAControlPipe) для получения команд от внешних приложений.
    • Команды отправляются в виде строк и обрабатываются плагином.
  2. Поддерживаемые команды:

    • Дополнение поддерживает следующие команды:
      • speak: Озвучивает предоставленный текст.
      • speakSpelling: Произносит текст по буквам.
      • speakSsml: Озвучивает контент в формате SSML (Speech Synthesis Markup Language).
      • pauseSpeech: Приостанавливает или возобновляет речевой вывод.
      • cancelSpeech: Отменяет текущий речевой вывод.
      • braille: Отображает предоставленный текст на брайлевском дисплее.
      • active: Отвечает "NVDA" для подтверждения активности дополнения.
  3. Многопоточная архитектура:

    • Дополнение использует отдельный поток для прослушивания входящих подключений и обработки команд, что обеспечивает отзывчивость NVDA.

Как использовать

1. Установка дополнения

2. Активация дополнения

3. Отправка команд через именованный канал

4. Поддерживаемые команды и аргументы

Команда Аргументы Описание
speak text, reason (unused), symbolLevel Озвучивает предоставленный текст.
speakSpelling text, locale, useCharacterDescriptions Произносит текст по буквам.
speakSsml ssml, markCallback (unused), symbolLevel Озвучивает контент в формате SSML.
pauseSpeech switch Приостанавливает или возобновляет речевой вывод.
cancelSpeech None Отменяет текущий речевой вывод.
braille text Отображает предоставленный текст на брайлевском дисплее.
active None Отвечает "NVDA" для подтверждения активности дополнения.

Пример использования

Отправка команды из внешнего приложения

Для отправки команды в NVDA можно использовать любой язык программирования, поддерживающий именованные каналы Windows. Ниже приведён пример на языке C: Я использую интерфейс из этого репозитория Эти файлы можно найти в директории Dep: nvda_control.h и nvda_control.c.

#include <nvda_control.h>

int main() {
    // Шаг 1: Подключение к именованному каналу NVDA
    if (nvda_connect() != 0) {
        fprintf(stderr, "Failed to connect to NVDA.\n");
        return -1;
    }

    // Шаг 2: Отправка команды для озвучивания текста
    const char* textToSpeak = "Hello, this is a test of the NVDA control interface.";
    int symbolLevel = NVDA_SYMBOL_LEVEL_ALL; // Использовать всю пунктуацию

    if (nvda_speak(textToSpeak, symbolLevel) != 0) {
        fprintf(stderr, "Failed to send speak command to NVDA.\n");
        nvda_disconnect();
        return -1;
    }

    // Опционально: Приостановка речевого вывода для демонстрации
    if (nvda_pause_speech(1) != 0) {
        fprintf(stderr, "Failed to pause speech.\n");
    }

    // Ожидание несколько секунд (для демонстрации)
    Sleep(3000); // Ожидание 3 секунды

    // Возобновление речевого вывода
    if (nvda_pause_speech(0) != 0) {
        fprintf(stderr, "Failed to unpause speech.\n");
    }

    // Шаг 3: Отключение от NVDA
nvda_disconnect();

return 0;

}


## Устранение неполадок

1. **Дополнение не отвечает**:
   - Убедитесь, что дополнение `NVDAControlEx` установлено и включено в NVDA.
   - Перезапустите NVDA после установки дополнения.

2. **Проблемы с подключением к именованному каналу**:
   - Убедитесь, что внешнее приложение имеет корректные права доступа к именованному каналу.
   - Проверьте наличие ошибок в журнале NVDA (доступ через "Просмотр лога" в NVDA).

3. **Ошибки выполнения команд**:
   - Убедитесь, что команда и аргументы корректно отформатированы.
   - Проверьте журнал NVDA на наличие сообщений об ошибках, связанных с выполнением команд.
🔝 Назад к оглавлению

История версий

История версий
Версия файлаТестируемая версия NVDAМинимальная версия NVDAРазмер файла (КБ)Ссылка на загрузку
0.12025.12024.113NVDAControlEx-V.0.1.nvda-addon
🔝 Назад к оглавлению