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

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

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

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

CustomActions (Пользовательские действия)

Автор:

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

CustomActions позволяет создавать последовательности команд NVDA и запускать их с помощью сочетаний клавиш.
Дополнение привязывает действия к конкретным приложениям и зонам для точного контекстного выполнения.
Вы можете комбинировать команды NVDA, системные клавиши и специальные действия в одной последовательности.
Доступны специальные действия: пауза, отключение голоса, перемещение объекта навигатора и воспроизведение аудиофайлов.
Поддерживается поиск объектов и текста с помощью объекта навигатора или курсора обзора.
События позволяют автоматически запускать действия при смене приложения, окна, фокуса или зоны.
Вы можете использовать события появления и исчезновения объектов для создания адаптивных сценариев.
Событие времени позволяет планировать выполнение действий по расписанию.
Встроенный синтезатор ADSR с тремя осцилляторами и LFO позволяет создавать собственные звуковые сигналы.
Вы можете заменить стандартный звуковой сигнал NVDA на собственный синтезированный звук для каждого приложения.
Действие «Копировать в буфер обмена» собирает информацию о системе, окнах и файлах.
Маркеры шага позволяют разделить одно пользовательское действие на последовательные фазы.
Двойное нажатие сочетания клавиш может копировать результат выполнения действия в буфер обмена.
Все настройки сохраняются в JSON-файлы и легко переносятся между компьютерами.
Редактор запоминает позицию курсора и состояние для каждого приложения и зоны.
Дополнение предоставляет гибкие инструменты для автоматизации повседневных задач в NVDA.
Все особенности дополнения описаны в подробном справочном руководстве.

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

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

Название Версия Совместимость с API NVDA Последняя протестированная версия NVDA Минимальная версия NVDA Дата загрузки в каталог Размер Лицензия
customActions 0.6.64 2026.1 2026.1.0 2026.1.0 07-09-2026 11:44:58 358 Кб. GPL v2
🔝 Назад к оглавлению

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

Подробнее

TEST151 делает редактор прогрессивным.
NVDA+F4 теперь создаёт только лёгкую навигационную оболочку: панели параметров, специфичные для действий, создаются только тогда, когда выбранное действие действительно достигается в Alt+L, и затем повторно используются в течение всего сеанса работы редактора.
При открытии сохранённого пользовательского действия панели Synth, аудио, речи, событий и других параметров больше не создаются заранее.
Диалог также использует данные пользовательских действий из памяти дополнения вместо повторного разбора customActions.json при каждом открытии.
Существующее владение звуковым сигналом из TEST150 и всё поведение действий остаются без изменений.

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

Скачать

CustomActions-V.0.6.64.nvda-addon

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

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

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

Разделы

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

Справка

Подробнее

Custom Actions (Пользовательские действия) 0.6.64

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

TEST151: прогрессивный редактор

NVDA+F4 теперь создаёт только оболочку редактора. Панели, специфичные для действий, включая Synth , не создаются при открытии сохранённого пользовательского действия: они создаются, когда Alt+L получает фокус на соответствующем действии, перед следующим Tab. После создания панель используется повторно, пока редактор остаётся открытым. Основные данные пользовательских действий также копируются из данных дополнения в памяти вместо повторного разбора JSON при каждом открытии.

Открытие

NVDA+F4 : открывает редактор пользовательских действий.

Основные области

Управление пользовательскими действиями

Сочетание клавиш

Действия NVDA

Ctrl+F выполняет поиск по действиям NVDA. Enter добавляет текущее действие в пользовательское действие.

Специальные действия

Список Alt+L

Сохранение

Ctrl+S сохраняет без закрытия. ОК сохраняет и закрывает.

Данные и резервное копирование

Пользовательские действия хранятся в %APPDATA%\nvda\Custom Actions\customActions.json. Скопируйте папку Custom Actions, чтобы создать резервную копию ваших конфигураций. Файлы кэша могут быть перестроены.

Языки

Интерфейс и документация: итальянский, английский, испанский и французский. Язык соответствует настроенному языку NVDA.

Зоны

Сочетания клавиш разрешаются с использованием приложения и технической зоны, определённой NVDA. Автоматические события зон не включены в эту версию.

Найти элемент в объекте навигатора

Специальные действия включают Найти элемент в объекте навигатора. Когда это действие выбрано в списке Alt+L, ниже списка появляется поле редактирования Слова для поиска.

Введите одно или несколько слов, например cpu fx. Поиск нечувствителен к регистру и принимает объекты, чьё доступное имя или описание содержит все слова. Вхождение выбирает, какой результат использовать: 1 — первый, 25 — двадцать пятый. Нет искусственного ограничения на вводимое число; запрошенное вхождение, конечно, должно существовать в дереве доступности.

Когда Циклический перебор результатов выключен, всегда используется сохранённое вхождение. Когда он включён, первый запуск начинается с сохранённого вхождения, а последующие запуски переходят к следующему результату; после последнего результата цикл возвращается к первому. Позиция цикла существует только во время работы и сбрасывается к сохранённому вхождению после перезагрузки или перезапуска NVDA.

Текущая зона имеет приоритет, когда её можно идентифицировать; при необходимости поиск продолжается в окне переднего плана того же приложения без двойного подсчёта объектов зоны. Он никогда не продолжается на рабочем столе или в окнах, принадлежащих другим приложениям. Когда совпадение найдено, объект навигатора перемещается к нему, объявляет его, и пользовательское действие продолжается.

Копирование двойным нажатием: осознанно и быстро

Когда включено копирование двойным нажатием, копирование происходит только в том случае, если второе нажатие происходит в течение настроенного таймаута многократных нажатий NVDA. Если этот таймаут превышен, следующее нажатие считается новым первым нажатием, и пользовательское действие снова выполняется и озвучивается нормально. Поэтому копирование никогда не заставляет вас копировать, когда вы просто хотите снова выполнить или услышать пользовательское действие.

Если второе нажатие достаточно быстрое, но речь ещё не достигла синтезатора, этот намеренный запрос на копирование остаётся активным для этого двойного нажатия и копирует, как только текст становится доступным, без ожидания окончания речи.

Два независимых поиска

Специальные действия теперь различают Поиск с объектом навигатора и Поиск с курсором обзора.

Оба используют слова для поиска, вхождение и циклический перебор результатов, и оба остаются в пределах текущей зоны, когда это возможно, затем в окне переднего плана того же приложения.

Поиск объекта навигатора сопоставляет имена/описания доступных объектов и перемещает объект навигатора. Поиск курсора обзора сопоставляет текст обзора, предоставляемый элементами управления, перемещает курсор обзора к найденному тексту и намеренно оставляет объект навигатора неизменным. Для этого действия используется режим обзора объектов.

Фильтр Ctrl+F и более быстрый поиск

Когда Ctrl+F возвращается к фильтру действий NVDA, который уже содержит текст, предыдущий фильтр выделяется полностью. Первый введённый символ заменяет его; Delete или Backspace очищает его одним нажатием.

Поиск объекта навигатора и курсора обзора теперь передают дерево доступности вместо предварительной загрузки элементов, избегают двойного обхода текущей зоны и повторно используют сохранённую сигнатуру технической зоны как быстрый путь.

Скорость вхождения

Поиск объекта навигатора использует инкрементальный кэш для каждого окна, зоны и запроса. Если поиск достигает вхождения 5, вхождения 1–5 и текущая позиция обхода остаются доступными для сеанса. Повторное обращение к вхождению 5 не обходит дерево снова; вхождение 6 возобновляется с того места, где остановился предыдущий просмотр. Если кэшированный объект больше не действителен, кэш этого запроса отбрасывается и перестраивается из живого интерфейса.

Производительность поиска

Поиск объекта навигатора кэширует вхождения инкрементально. Начиная с версии 0.4.7, когда окно предоставляет MSAA/IAccessible, первый просмотр также пытается использовать более лёгкий нативный путь: он читает доступное имя и описание напрямую и создаёт полный объект NVDA только для совпадающих кандидатов. Если приложению требуются имена, специально построенные NVDA, предыдущий совместимый путь остаётся автоматически доступным. Поиск курсора обзора теперь также сохраняет обнаруженные вхождения инкрементально.

Запоминание позиции в редакторе

Запоминание позиции необязательно и отключено по умолчанию. Включите Запоминать позицию в редакторе и сохраните с помощью Ctrl+S или ОК, чтобы включить его. С этого момента Custom Actions запоминает рабочее местоположение для каждого приложения и, когда доступно, для каждой технической зоны: выбранное пользовательское действие, позиция выбранных действий, позиция в дереве действий NVDA, фильтр Ctrl+F, область редактора в фокусе и позиции курсора в основных полях редактирования.

Если флажок снят и редактор сохранён, запоминание позиции отключается, а ранее сохранённые позиции удаляются. Отмена или закрытие без сохранения не меняет сохранённые настройки флажка. Настройки и позиции хранятся отдельно в editorState.json и не изменяют customActions.json.

Имена действий и совместимость

Списки действий Alt+A и Alt+L не отображают сочетание клавиш NVDA, назначенное команде: каждая строка показывает только имя действия.

Техническая классификация совместимости хранится внутри и не отображается в интерфейсе. Автоматические события не активны в этой версии.

Воспроизвести аудиофайл

Специальные действия включают Воспроизвести аудиофайл. Когда выбрано в Alt+L, ниже списка появляются поле редактирования Аудиофайл и кнопка Обзор....

Вы можете ввести путь или выбрать файл. Путь сохраняется с этим конкретным вхождением действия, поэтому одно пользовательское действие может воспроизводить несколько разных файлов.

Воспроизведение асинхронное: звук запускается, и пользовательское действие немедленно продолжается со следующим действием. Можно выбрать распространённые аудиоформаты и все файлы. Воспроизведение использует мультимедийную подсистему Windows, поэтому фактически воспроизводимые форматы зависят от кодеков и мультимедийных компонентов, доступных на компьютере. Если файл отсутствует или Windows не может его открыть, пользовательское действие останавливается с контролируемым сообщением.

Автоматическое ожидание обновления окна

Если пользовательское сочетание клавиш нажато, пока новое окно или фокус NVDA всё ещё обновляется, Custom Actions немедленно потребляет клавишу, но задерживает последовательность. Он неблокирующим образом проверяет события foreground и gainFocus, а также окна Windows и NVDA на переднем плане, затем запускается, как только они стабилизируются. Поиск объекта навигатора и курсора обзора также ожидает, если достигается сразу после изменения окна, вызванного самим Custom. Фиксированная задержка не добавляется, когда пользовательский интерфейс уже стабилен.

TEST77: если поиск ещё не может найти свой термин, пока новое открытое окно всё ещё предоставляет элементы управления, отрицательный результат не кэшируется. Custom Actions один раз объявляет, что окно обновляется, повторяет попытку на свежем дереве доступности и продолжает, как только элемент появляется. Отрицательный результат в уже стабильном окне остаётся нормальной ошибкой поиска.

Каталог Alt+A: команды, не жесты

Alt+A имеет четыре основные ветви: Специальные действия , События , Системные клавиши и Команды NVDA. Команды NVDA содержат собственные категории команд NVDA и, внутри каждой открытой категории, имена команд, доступных в текущем контексте.

Каталог использует реальный идентификатор скрипта NVDA, а не назначенные сочетания клавиш. Поэтому команда может быть перечислена, даже если у неё нет настроенного жеста. Сочетания клавиш не отображаются, а эмулируемые системные клавиши клавиатуры не рассматриваются как команды. Когда доступны в текущем контексте, команды из дополнений, AppModules, режима обзора, сфокусированного объекта и других компонентов, поддерживающих скрипты NVDA, также включены.

Системные клавиши

Ветвь Системные клавиши отделена от команд NVDA: она эмулирует реальное нажатие клавиатуры в текущем контексте.

Ветвь включает клавиши навигации и управления (Tab, Shift+Tab, Enter, Escape, Space, Backspace, Delete, Insert, стрелки, Home, End, Page Up/Down и Ctrl+Tab), навигацию Ctrl, выбор Shift и Ctrl+Shift, буквы A-Z, цифры 0-9, Ctrl+буквы, Alt+буквы, Ctrl+Shift+буквы и F1-F24.

Результат зависит от элемента управления в фокусе и приложения: Tab обычно перемещает фокус; стрелки могут перемещать системный курсор; буква может быть введена или запускать команду приложения/NVDA точно как реальное нажатие клавиши.

Сообщение

Специальное действие Сообщение показывает поле редактирования Сообщение в Alt+L. Введите текст, который должна произнести NVDA.

Порядок определяется его позицией в Alt+L: когда Сообщение находится перед другим действием, его текст отправляется в речь перед следующим действием; когда после, он произносится после. Оно не вводит текст в приложение и не меняет фокус.

Существующие действия Ввести текст , сохранённые с TEST79, интерпретируются как Сообщение для совместимости.

Удалить из следующего сообщения

Специальное действие Удалить из следующего сообщения показывает поле Последовательность для удаления в Alt+L. Последовательность удаляется один раз из следующего непустого сообщения, которое действительно достигает синтезатора.

Удаление следует порядку символов и работает по принципу «всё или ничего». Пример: сообщение casa, последовательность cs: NVDA произносит aa. С sc, casa остаётся неизменным, потому что полная последовательность не присутствует в этом порядке. Вставка полного сообщения может удалить его целиком. Речевые команды и фокус сохраняются.

Детерминированное удаление

Если введённая последовательность встречается как непрерывный текст в реальном сообщении, она удаляется точно и полностью, даже если NVDA внутренне разбивает его на несколько речевых фрагментов. Остальная часть сообщения не изменяется. Для совместимости последовательность без пробелов, такая как cs, всё ещё может вычитать упорядоченные символы внутри одного слова: casa становится aa. Это вычитание никогда не пересекает границы слов.

Непрерывное упорядоченное вычитание

Когда последовательность удаления содержит пробелы, каждый элемент сопоставляется как целый токен в том же порядке, при этом несвязанные токены между совпадениями сохраняются. Если какой-либо запрошенный элемент не может быть найден в требуемом порядке, сообщение остаётся неизменным.

Alt+A: загрузка на уровне ветвей

Alt+A содержит четыре основные ветви: Специальные действия , События , Системные клавиши и Команды NVDA.

Закрытые ветви не загружают свои строки действий. Когда все ветви закрыты, заголовок окна сообщает 0 действий. Открытие ветви загружает только эту ветвь; открытие более одной ветви приводит к тому, что заголовок показывает сумму действий в открытых ветвях. Закрытие ветви выгружает её строки действий из дерева.

Внутри Системных клавиш сначала загружаются только имена подгрупп; отдельные клавиши создаются только при открытии их подгруппы. Внутри Команд NVDA сначала отображаются категории, а строки команд категории материализуются только при открытии этой категории. Ctrl+F является намеренным исключением: как глобальный поиск, он загружает каталог, необходимый для поиска по всем источникам.

Специальные действия используют параметризованные строки, где это возможно, избегая дублирующихся записей с фиксированными значениями.

Однократные события внутри последовательности

Ветвь События содержит: смена приложения, смена окна, смена фокуса, вход в зону и выход из зоны.

Событие — это барьер, который может быть вставлен в любом месте Alt+L. Предыдущие строки выполняются; на строке События пользовательское действие приостанавливается без блокировки NVDA; когда условие наступает, выполнение возобновляется со следующей строки.

Пример: Alt+Tab → Событие: смена приложения → Воспроизвести аудиофайл → Сообщение. Переход, вызванный непосредственно перед достижением строки События, всё равно обнаруживается, поэтому фиксированная пауза не требуется.

События: появление текста и исчезновение текста

Событие: появление текста и Событие: исчезновение текста являются однократными барьерами. Alt+L предоставляет Текст для обнаружения и Произносить при срабатывании , включено по умолчанию.

Текст ищется в текущем дереве доступности переднего плана, используя имя объекта, значение, описание и базовый текст. Сопоставление непрерывное, нечувствительное к регистру и нормализованное по пробелам; это никогда не является сопоставлением по разрозненным словам или подпоследовательностям символов.

Когда включено «Произносить при срабатывании», NVDA произносит точно настроенный текст, а затем возобновляет пользовательское действие. События изменения доступности дополняются резервной проверкой через 250 мс, пока Событие активно.

Присутствие текста непосредственно перед предыдущим действием также захватывается, поэтому быстрые последовательности, такие как Enter → Событие: исчезновение текста → Сообщение, не теряют переход.

Событие: время по часам и отчёт Alt+W

Событие: время по часам использует локальные часы Windows. Alt+L предоставляет время в формате ЧЧ:ММ и через сколько дней. Автоматическое выполнение начинается со строки после события Clock. Alt+W сообщает о новых автоматических событиях времени с момента предыдущего отчёта. События, найденные с опозданием более чем на 90 секунд после простоя, отмечаются как пропущенные, а не выполняются с опозданием.

TEST88: надёжный движок событий пользовательского интерфейса

События приложения, окна, фокуса и зоны больше не полагаются исключительно на обратный вызов доступности. Пока одно из них активно, Custom Actions проверяет реальное состояние каждые 100 мс; такой опрос не выполняется, когда ни одно Событие не ожидает.

Смена окна сравнивает реальный HWND переднего плана Windows. Смена фокуса также сравнивает реальную идентичность объекта фокуса NVDA. Появление/исчезновение текста сохраняет свою свежую проверку через 250 мс, а также проверяет цепочку фокуса.

Планирование времени и отчёт Alt+W остаются без изменений.

TEST89: независимый монитор событий и предпросмотр аудио

События, не связанные с часами, теперь отслеживаются независимым монитором, запущенным вместе с GlobalPlugin. Активное Событие проверяется каждые 100 мс. Обратные вызовы NVDA остаются быстрым путём, но больше не обязательны. Событие Clock и Alt+W остаются без изменений.

Воспроизвести аудиофайл теперь предоставляет Воспроизвести и Остановить рядом с Обзором. Воспроизведение предварительно проигрывает текущий путь перед сохранением; Остановить влияет только на предпросмотр в редакторе.

TEST90: автоматические события в первой строке

Событие, сохранённое как первая строка , теперь является постоянным автоматическим триггером. Пользовательское действие не нужно нажимать.

Например, Событие: смена фокуса → Сообщение: фокус изменён автоматически запускается со второй строки при каждом реальном изменении фокуса в сохранённом приложении. События, размещённые позже, остаются однократными барьерами. Alt+W сообщает обо всех автоматических событиях.

TEST91: лёгкие текстовые события

Событие: появление текста и Событие: исчезновение текста больше не выполняют полное сканирование дерева доступности из монитора 100 мс или каждые 250 мс.

Нормальный путь основан на событиях. Полное сканирование используется только для подтверждения реального кандидата на исчезновение и как одно групповое сканирование восстановления каждые 5 секунд. Несколько автоматических текстовых событий используют этот обход совместно. Текстовые барьеры в середине последовательности также исключены из монитора 100 мс.

Планирование времени, Alt+W и предпросмотр аудио остаются без изменений.

TEST92: текстовые события приостановлены вне сохранённого приложения

События появления/исчезновения текста теперь строго принадлежат приложению, в котором было создано их пользовательское действие. Текущее приложение определяется по реальному объекту переднего плана NVDA, избегая устаревшего фокуса во время Alt+Tab.

Если существует текстовое событие REAPER, а другое приложение становится активным, это событие полностью приостанавливается: нет постановки в очередь событий, нет резервного сканирования и нет обхода дерева доступности. При возврате в REAPER выполняется одно несрабатывающее сканирование перебазирования, а затем мониторинг возобновляется.

Текстовые барьеры в середине последовательности используют то же правило. Часы, другие события, Alt+W и предпросмотр аудио остаются без изменений.

TEST96: события появления/исчезновения объекта

События появления/исчезновения текста были заменены на Событие: появление объекта и Событие: исчезновение объекта.

Переместите объект навигатора NVDA на целевой объект и нажмите NVDA+Shift+F4. Custom Actions копирует версионную сигнатуру CAOBJ1: в буфер обмена. Добавьте событие объекта, откройте Alt+L и вставьте эту сигнатуру в поле Объект:.

События объектов управляются уведомлениями NVDA о показе/скрытии/фокусе/изменении и не выполняют периодическое сканирование дерева доступности. События в первой строке остаются автоматическими триггерами; последующие события остаются однократными барьерами.

TEST97: исправление событий объекта и специальное действие Найти объект

Событие: появление объекта и Событие: исчезновение объекта больше не зависят от получения NVDA уведомлений о показе/скрытии на точно захваченном объекте. Обратные вызовы доступности остаются быстрым путём, в то время как проверка безопасности через 250 мс проверяет сигнатуру CAOBJ1 в текущем дереве доступности только тогда, когда события объекта настроены или активны.

Обнаружение объектов приостанавливается, когда другое приложение находится на переднем плане. Возврат в сохранённое приложение только перебазирует текущее состояние, поэтому Alt+Tab не может быть ошибочно принят за появление или исчезновение.

Найти объект теперь доступен в разделе Специальные действия. После добавления, Alt+L открывает поле Объект:. Вставьте ту же сигнатуру NVDA+Shift+F4. Когда последовательность достигает «Найти объект», Custom Actions находит объект, перемещает объект навигатора NVDA к нему без автоматического озвучивания, затем продолжает со следующей строки. Если объект не может быть найден, последовательность останавливается на этом шаге.

Примеры: Найти объект → Сообщение или Найти объект → Воспроизвести аудиофайл.

TEST98: сканирование событий объекта только во время ожидания

Автоматические Появление объекта и Исчезновение объекта больше не продолжают сканировать дерево доступности после того, как запрошенный переход произошёл.

Появление объекта использует резервную проверку через 250 мс только пока объект отсутствует. Как только сигнатура CAOBJ1 найдена, пользовательское действие запускается, и этот поиск деактивируется. Исчезновение объекта отражает это поведение: оно проверяет только пока объект присутствует и деактивируется, как только обнаружено исчезновение.

Если оба события используют один и тот же CAOBJ1, они разделяют состояние. Когда Появление объекта срабатывает, его поиск останавливается, и Исчезновение объекта становится активным; когда обнаружено исчезновение, этот поиск также останавливается. Если существует только Появление объекта, после появления не остаётся периодического сканирования; то же правило применяется в обратном порядке к Исчезновению объекта.

Шумные события reorder контейнера вызывают полный поиск только для перехода, который действительно активен. Пассивные события обновляются обратными вызовами show/hide/focus/change вместо непрерывного обхода дерева. Это особенно снижает нагрузку в больших динамических окнах REAPER, таких как Media Explorer.

Найти объект по сочетанию клавиш остаётся без изменений: он выполняет один поиск, когда пользовательское действие достигает этого шага, затем продолжает со следующими действиями.

TEST99: Отметить шаг

Отметить шаг доступен в разделе Специальные действия. Маркер делит одно пользовательское действие на фазы, управляемые одним и тем же сочетанием клавиш.

Когда выполнение достигает «Отметить шаг», этот запуск останавливается и полностью завершается. Никакой таймер, слушатель или приостановленное пользовательское действие не остаётся активным: сохраняется только номер следующей строки. Следующее нажатие того же сочетания клавиш возобновляет работу со строки сразу после маркера.

Вы можете вставить несколько маркеров. Например: фаза A → Отметить шаг → фаза B → Отметить шаг → фаза C. Последовательные нажатия выполняют A, затем B, затем C; после завершения C следующее нажатие снова начинается с A.

TEST100: Отметить шаг делает Alt+C недоступным

Действие теперь называется Отметить шаг. Его заголовок также гласит, что Двойное нажатие копирует результат в буфер обмена, Alt+C недоступно, когда пользовательское действие содержит маркер шага.

Как только добавлен хотя бы один «Отметить шаг», Двойное нажатие копирует результат в буфер обмена, Alt+C очищается и отключается. Alt+C не может включить его. Если все маркеры шага удалены, элемент управления снова становится доступным, но остаётся выключенным, пока пользователь явно не включит его.

Сохранение пользовательского действия с «Отметить шаг» всегда сохраняет копирование двойным нажатием как отключённое. Любой старый несовместимый сохранённый параметр также игнорируется во время выполнения.

TEST101: Отметить шаг возобновляется при смене зон

Продолжение Отметить шаг теперь разрешается перед обычным сопоставлением технической зоны. Если фаза достигла маркера шага, следующее нажатие того же сочетания клавиш в том же приложении возобновляет именно это пользовательское действие, даже если предыдущая фаза изменила элемент управления, фокус или зону.

Это исправляет циклическое переключение дерева/списка Media Explorer: одна фаза может переключить представление и остановиться на «Отметить шаг»; следующее нажатие продолжается после маркера вместо потери пользовательского действия из-за изменения текущей зоны. После завершения последней фазы сохранённый шаг очищается, и следующее нажатие снова начинается с начала.

TEST104: вставка действий по курсору

В списке выбранных действий (Alt+L) Ctrl+V больше не всегда добавляет скопированные действия в конец пользовательского действия. Скопированное действие или весь скопированный блок вставляется перед действием, находящимся под курсором. Текущее действие и всё, что ниже него, смещается вниз. Когда несколько действий вставляются вместе, их исходный порядок сохраняется. После вставки курсор помещается на первое вновь вставленное действие.

TEST103: Отметить шаг теперь действительно закрывает цикл

Продолжение Отметить шаг теперь сохраняется только тогда, когда пользовательское действие намеренно останавливается на маркере. Любое другое завершение выполнения очищает использованный шаг. После последней фазы следующее нажатие того же сочетания клавиш всегда перезапускается с действия 1, включая фазы, которые заканчиваются через турбо-отключённую цепочку или другой внутренний путь завершения.

TEST102: Отметить шаг теперь надёжно сохраняет фазу

Продолжение «Отметить шаг» теперь сохраняется непосредственно по приложению и сочетанию клавиш вместе с точным пользовательским действием и строкой для возобновления. Оно больше не зависит от временной идентичности объекта Python или внутреннего формата имени жеста. С несколькими записями «Отметить шаг» последовательность продвигается через фазу A, фазу B, фазу C и, после достижения конца, следующее нажатие возвращается к фазе A. Цикл может пересекать технические зоны в пределах одного приложения.

TEST105: Enter в Alt+A вставляет по позиции Alt+L

Текущая позиция в Выбранных действиях, Alt+L теперь также используется при добавлении нового действия из Alt+A. Выберите действие в дереве и нажмите Enter: новое действие вставляется перед действием, занимающим эту позицию. Предыдущее действие и всё, что ниже него, смещается вниз. Например, если курсор находится на позиции 3, новое действие становится действием 3, а старое действие 3 становится действием 4.

TEST106: копирование без ложного объявления «Ничего не выделено»

Когда Ctrl+C успешно копирует одно или несколько действий из Выбранных действий, Alt+L , Custom Actions подавляет возможное стандартное объявление элемента управления «Ничего не выделено» и произносит только правильный результат, например «2 действия скопировано». Если действительно нет действия для копирования, предупреждение о пустом выделении остаётся активным.

TEST107: специальное действие Копировать в буфер обмена

Действие Копировать в буфер обмена доступно в разделе Специальные действия. После добавления его в пользовательское действие, Tab из Alt+L достигает комбинированного списка Информация для копирования. Выбранный источник считывается только при выполнении этой строки и копируется непосредственно в буфер обмена.

Доступные источники включают выбранные пути в Проводнике, текущую папку Проводника, имя сфокусированного объекта, окно переднего плана и сведения о программе, версию NVDA, версию Windows, заголовки открытых окон и сведения об открытых окнах с программой, версией и путём. Несколько результатов записываются по одному на строку.

Это независимо от копирования результата двойным нажатием и не создаёт фонового мониторинга или сканирования.

TEST108: Копировать в буфер обмена показывает только источники, доступные в

приложении

Комбинированный список Информация для копирования теперь зависит от приложения, из которого был открыт Custom Actions. Источники, принадлежащие только одной программе, не отображаются в других.

Например, в REAPER записи выбранных путей Проводника и текущей папки больше не присутствуют. Когда Custom Actions открыт из Проводника , эти записи снова становятся доступными. Общая информация, такая как сфокусированный объект, окно переднего плана/программа, версии NVDA и Windows, а также информация об открытых окнах, остаётся доступной в обычном режиме.

Контекст захватывается до того, как диалог Custom Actions получает фокус. Старое пользовательское действие, содержащее источник, который недействителен для текущего приложения, перенастраивается на первый доступный источник.

TEST109: удаление избыточного источника заголовка окна переднего плана

Заголовок окна переднего плана был удалён из комбинированного списка Информация для копирования , потому что NVDA уже предоставляет его напрямую с помощью NVDA+T. Оставшиеся источники предназначены для предоставления информации, которая более полезна для автоматизации. Старые пользовательские действия, хранившие удалённый источник, автоматически перенастраиваются на доступный источник.

TEST110: интеллектуальные сообщения о копировании путей в Проводнике

Когда Копировать в буфер обмена копирует выбранные пути из Проводника, итоговое сообщение теперь описывает, что именно было скопировано. Оно различает один файл, несколько файлов, одну папку, несколько папок и смешанные выделения, используя естественные формулировки единственного/множественного числа.

Тип элемента считывается из тех же данных Shell Проводника, которые используются для получения путей, без повторного обращения к диску или сетевому пути.

TEST111/TEST127: громкость и скорость речи

Специальные действия сохраняют Громкость синтезатора речи и Скорость речи. Оба открывают числовое поле 0-100 в Alt+L и используют соответствующий параметр, поддерживаемый активным синтезатором NVDA.

После поля 0-100 доступен Ожидать завершения предыдущего сообщения , включено по умолчанию. Если предыдущая речь всё ещё выполняется, новая громкость или скорость применяются только после её завершения; отключение элемента управления применяет значение немедленно.

TEST127 полностью удаляет экспериментальное действие переключения драйвера Синтезатор речи. Тестирование с внешними синтезаторами показало, что замена драйвера может непоследовательно обрезать или переупорядочивать очереди речи, поэтому функция была исключена, чтобы не оставлять недетерминированное поведение.

TEST129: высота тона, интонация и вариант речи

Собственные специальные действия речи теперь также включают Высоту тона речи , Интонацию речи и Вариант речи. Высота и Интонация используют числовое поле 0-100; Вариант использует комбинированный список, заполненный непосредственно из вариантов, предоставляемых активным синтезатором NVDA.

Эти действия предлагаются только тогда, когда текущий драйвер заявляет о поддержке соответствующего параметра. Как и Громкость и Скорость, они могут использовать Ожидать завершения предыдущего сообщения , включено по умолчанию. TEST129 не содержит ни переключения синтезатора, ни экспериментального действия Pan.

TEST115: параметризованные Пауза и перемещение объекта навигатора

Фиксированные записи Паузы и повторяющиеся перемещения объекта навигатора на 5/10/15/... были упрощены до двух общих специальных действий.

Пауза открывает поле миллисекунд в Alt+L от 50 до 20000. Переместить объект навигатора открывает поле со знаком: например 28 перемещает вперёд на 28 объектов, а -5 перемещает назад на 5. Строка Alt+L включает текущее значение.

Старые пользовательские действия, содержащие предыдущие фиксированные записи, остаются совместимыми и преобразуются в новую параметризованную форму при открытии в редакторе.

TEST118/126/127: вставка ниже и расширенная Пауза

В Выбранных действиях, Alt+L Ctrl+V теперь вставляет скопированный блок ниже текущей строки. Строка под курсором остаётся на месте; если это последняя строка, вставка просто добавляет в конец.

Пауза теперь принимает любое целое число от 50 до 20000 миллисекунд. Переместить объект навигатора остаётся параметризованным с положительными значениями для перемещения вперёд и отрицательными для перемещения назад.

Уточнение путей Проводника: Пути выбранных элементов в Проводнике копирует пути выбранных файлов или папок. Путь открытой папки в Проводнике вместо этого копирует папку, просматриваемую в данный момент, независимо от выбранного элемента.

TEST132: предпросмотр тона ADSR, элементы управления синтезатором и Gate

Специальное действие Тон ADSR теперь ведёт себя больше как небольшой синтезатор. В Alt+L все числовые параметры являются редактируемыми комбинированными списками : используйте клавиши со стрелками для перемещения по полезным значениям или введите точное значение напрямую.

Нажмите Пробел , находясь в фокусе на любом параметре ADSR, чтобы немедленно предварительно прослушать тон, используя значения, отображаемые в редакторе. Предпросмотр не выполняет пользовательское действие.

Gate , от 10 до 20000 мс, заменяет старую длительность Sustain. Gate — это фактическая длина ноты: когда он закрывается, начинается Release. Если Gate закрывается во время Attack или Decay, Release начинается с уровня огибающей, достигнутого в этот момент. Старые строки TEST131 автоматически мигрируют на эквивалентную длину Gate.

Доступные параметры: Форма волны, Частота 20-20000 Гц, Громкость 0-100, Панорама -100/+100, Attack 0-5000 мс, Decay 0-5000 мс, Sustain 0-100, Gate 10-20000 мс и Release 0-10000 мс. Аудио остаётся независимым от речи NVDA и генерируется вне основного потока NVDA. LFO и другие модуляции оставлены для более поздней версии.

TEST133: LFO тона ADSR

Тон ADSR теперь включает один LFO на ноту. Новые параметры: Форма волны LFO (Синус, Треугольник, Пила, Квадрат, Sample and Hold), Частота от 0.01 до 50 Гц, Задержка от 0 до 20000 мс и Сглаживание от 0 до 100.

LFO имеет три независимые глубины: Глубина громкости 0-100, Глубина высоты тона 0-48 полутонов и Глубина панорамы 0-100. При всех глубинах равных нулю LFO не изменяет звук. Задержка оставляет ноту немодулированной до её истечения. Сглаживание применяется после формы волны: с Sample and Hold оно ведёт себя как sample-and-glide, в то время как переходы Square и Saw сглаживаются.

Пробел продолжает предварительный просмотр из каждого параметра, включая все элементы управления LFO. Модуляция высоты тона выражается в полутонах, панорама остаётся в пределах -100/+100, а тремоло громкости никогда не превышает настроенную базовую громкость.

TEST134: три осциллятора в одном тоне ADSR

Тон ADSR теперь содержит три полных независимых осциллятора. Каждый осциллятор имеет свою собственную форму волны, частоту, громкость, панораму, ADSR, Gate и полный раздел LFO, представленный в TEST133.

Внутри области параметров тона ADSR Ctrl+Tab перемещается от Осциллятора 1 к Осциллятору 2 и Осциллятору 3; Ctrl+Shift+Tab перемещается назад. Фокус остаётся на том же параметре, поэтому один и тот же элемент управления можно быстро сравнивать или программировать для всех трёх осцилляторов. NVDA объявляет номер текущего осциллятора.

Пробел всегда предварительно прослушивает все три осциллятора вместе. Их сигналы начинаются с одного и того же сэмпла и смешиваются в один стереобуфер с автоматическим запасом по уровню, что делает аккорды выровненными по сэмплам вместо того, чтобы полагаться на три отдельных действия тона, запланированных отдельно.

Старые действия тона ADSR TEST131-133 мигрируют без изменения звука: старый тон становится Осциллятором 1, а Осцилляторы 2 и 3 создаются с Громкостью 0 и готовы к программированию.

TEST135: Огибающая высоты тона и фильтр 24 дБ/окт

Трёхосцилляторный синтезатор ADSR дополнен независимой огибающей высоты тона для каждого осциллятора. Параметры: Глубина огибающей высоты от -48 до +48 полутонов и Затухание огибающей высоты от 0 до 5000 мс: высота тона начинается с запрошенного смещения и постепенно возвращается к базовой частоте.

Каждый LFO теперь также имеет Глубину фильтра от 0 до 100. После микшера трёх осцилляторов находится общий фильтр нижних частот 24 дБ/октаву с частотой среза от 20 до 20000 Гц. Фильтр имеет свою собственную огибающую с Глубиной от -96 до +96 полутонов, Attack, Decay, Sustain и Release. Затвор огибающей фильтра следует за самым длинным активным затвором осциллятора.

При частоте среза 20000 Гц, глубине огибающей фильтра равной нулю и всех значениях глубины фильтра LFO равных нулю, фильтр полностью обходится, сохраняя старые звуки. Пробел предварительно прослушивает полный синтезатор, включая огибающие высоты, LFO и фильтр.

TEST136: исправление переключения осцилляторов Ctrl+Tab

Ctrl+Tab и Ctrl+Shift+Tab теперь перехватываются на уровне диалога, пока фокус находится внутри параметров тона ADSR. Это предотвращает использование Ctrl+Tab wxPython как обычную навигацию по диалогу. Переключение Осциллятора 1/2/3 также работает из редактируемых комбинированных списков и сохраняет фокус на том же параметре.

TEST137: резонанс фильтра и полное объявление Ctrl+Tab

Общий фильтр нижних частот 24 дБ/октаву теперь имеет Резонанс от 0 до 100. При нуле путь фильтра остаётся совместимым с TEST136; его увеличение вводит обратную связь вокруг четырёх полюсов, чтобы подчеркнуть область среза.

При переключении осцилляторов с помощью Ctrl+Tab или Ctrl+Shift+Tab , NVDA теперь объявляет не только номер осциллятора, но также параметр, на котором остаётся фокус, и его значение. Пример: «Осциллятор 2, Частота Гц, 440». Фокус остаётся на том же параметре.

TEST138: более сильный резонанс и направление клавиш значений

Резонанс общего фильтра 24 дБ/окт теперь немного сильнее, особенно при низких и средних значениях среза. При 0 путь DSP остаётся идентичным TEST137.

Для числовых параметров тона ADSR направление клавиш теперь: Вверх увеличивает, Вниз уменьшает, Page Up увеличивает на десять позиций выбора, а Page Down уменьшает на десять. Home/End остаются без изменений, а комбинированные списки форм волн сохраняют своё предыдущее поведение.

TEST139: биполярные элементы управления глубиной и замена звукового сигнала

NVDA

Все элементы управления Глубиной LFO теперь биполярны: Громкость, Высота, Панорама и Фильтр принимают отрицательные и положительные значения. Знак меняет направление модуляции/фазу. Огибающая высоты и огибающая фильтра уже были биполярны и остаются без изменений.

Комбинированные списки Форма волны и Форма волны LFO теперь следуют той же навигации, что и другие параметры синтезатора: Вверх/Page Up перемещают вперёд, а Вниз/Page Down перемещают назад. Клавиши страниц перепрыгивают на десять позиций, поэтому короткие списки форм волн достигают первого или последнего значения напрямую.

Основной редактор теперь содержит кнопки Заменить звуковой сигнал NVDA... и Восстановить родной звуковой сигнал NVDA. Первая открывает выделенное окно только для синтезатора; Alt+A, Alt+L и Alt+P там неактивны. Ctrl+Tab/Ctrl+Shift+Tab всё ещё переключают осцилляторы, а Пробел всё ещё предварительно прослушивает патч.

Патч использует 440 Гц в качестве эталона. Во время реального использования движок получает запрошенную частоту и длительность от NVDA: Gate следует за длительностью звукового сигнала, и все три осциллятора транспонируются, сохраняя свои соотношения к 440 Гц. Исходный стереобаланс звукового сигнала также сохраняется. Таким образом, звуковые сигналы с переменной высотой для индикаторов прогресса сохраняют своё частотное отображение, используя запрограммированный тембр синтезатора.

В этом выделенном окне Enter подтверждает, сохраняет и активирует замену звукового сигнала; Escape отменяет и закрывает окно без изменения активного звукового сигнала.

TEST147: закрытие редактора звуковых сигналов NVDA

Выделенный редактор звуковых сигналов NVDA Synth сохраняет поведение TEST141 и Master Volume. Enter сохраняет заменённый звук и закрывает окно; Escape отменяет и закрывает. В обоих случаях фокус возвращается на кнопку «Заменить звуковой сигнал NVDA». Клавиши закрытия активируются только после того, как модальное окно действительно открыто, предотвращая повторную интерпретацию Enter, использованного на кнопке открытия, новым редактором.

TEST141: Synth и Master Volume

Действие, ранее называвшееся Тон ADSR , теперь называется Synth. Synth имеет новую общую Master Volume для всех трёх осцилляторов в диапазоне от 0 до 200. Значение 100 сохраняет уровень предыдущих версий; значения выше 100 увеличивают итоговый выходной уровень всего Synth.

Master Volume применяется после индивидуальных громкостей осцилляторов, после их микширования и после общего фильтра. Это первое поле Synth и не принадлежит ни одному осциллятору. Поэтому, пока фокус находится на Master Volume, Ctrl+Tab не переключает осциллятор. На всех остальных параметрах Synth Ctrl+Tab продолжает перемещаться между Осциллятором 1, 2 и 3, сохраняя тот же параметр.

TEST140: событие смены приложения, специфичное для приложения, и глобальный

запасной вариант

Когда Событие: смена приложения является первой строкой, пользовательское действие теперь по умолчанию специфично для приложения : оно срабатывает только при входе в приложение, где было создано, а не при выходе из него.

Ровно одно пользовательское действие смены приложения может включить флажок глобальный запасной вариант. Глобальный никогда не накладывается на конкретное событие: при входе в приложение, которому принадлежит одно или несколько специфичных для приложения событий смены, выполняются только эти конкретные события. Если в целевом приложении их нет, выполняется глобальный запасной вариант. Если глобального запасного варианта также нет, ни одно пользовательское действие смены приложения не выполняется.

Глобальный флажок остаётся доступным для фокуса клавиатуры, даже когда глобальный слот уже занят, и его доступное имя сообщает приложение и имя пользовательского действия , которым он принадлежит. Попытка включить его заставляет NVDA повторить владельца и оставляет флажок снятым. Чтобы освободить глобальный слот, откройте владеющее пользовательское действие, снимите флажок и сохраните.

Пользовательские действия, созданные до TEST140, считаются специфичными для приложения ; ни одно из них не повышается до глобального автоматически. Событие смены приложения, используемое позже внутри последовательности, остаётся нормальным однократным барьером и не использует этот параметр.

TEST148: звуковой сигнал NVDA напрямую связан с действием Synth

Отдельный редактор звуковых сигналов NVDA, представленный в TEST139–147, был удалён из интерфейса вместе с кнопками «Заменить звуковой сигнал NVDA» и «Восстановить родной звуковой сигнал NVDA» из главного окна.

Когда выбрано действие Synth , первые доступные для фокуса элементы управления перед Master Volume теперь: Использовать этот Synth для звукового сигнала NVDA и Восстановить родной звуковой сигнал NVDA. Второе окно не открывается: тембр звукового сигнала — это тот же Synth, сохранённый в пользовательском действии.

Связь для каждого приложения , а не глобальная. Firefox может использовать один Synth, REAPER — другой, а приложение без связи продолжает использовать родной звуковой сигнал NVDA. Только один Synth может быть связан в каждом приложении; выбор другого передаёт связь. Изменения вступают в силу при сохранении пользовательского действия.

Звуковой сигнал сохраняет запрошенную частоту, длительность и стереобаланс NVDA. Частоты трёх осцилляторов Synth транспонируются относительно эталона 440 Гц, как в предыдущих версиях.

Дублирование пользовательского действия или копирование/вставка действия Synth не копирует автоматически связь со звуковым сигналом, предотвращая случайное появление нескольких владельцев в одном приложении.

TEST149: один флажок звукового сигнала NVDA и компактный Alt+L

Внутри действия Synth теперь есть один флажок Использовать этот Synth для звукового сигнала NVDA перед Master Volume. Когда он отмечен, этот Synth предоставляет звуковые сигналы NVDA для текущего приложения. Когда не отмечен, приложение использует родной звуковой сигнал NVDA. Отметка другого Synth в том же приложении передаёт ему связь.

В списке выбранных действий Alt+L строка Synth теперь объявляет только имя действия, например 1. Synth , без отчёта об осцилляторе, Master Volume, фильтре или параметре звукового сигнала NVDA.

TEST150: подтверждение перед заменой звукового сигнала NVDA

Только один Synth может оставаться связанным со звуковым сигналом NVDA для каждого приложения. Когда Использовать этот Synth для звукового сигнала NVDA отмечен, а другой Synth уже активен в том же приложении, Custom Actions называет пользовательское действие, которому в данный момент принадлежит звуковой сигнал, и спрашивает, заменить ли этот звук на текущий Synth. Нет является значением по умолчанию и ничего не меняет; Да отключает связь старого Synth и передаёт владение текущему.

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

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

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