Mouse Enhancement (Улучшения для мыши)
Это набор улучшений для использования мыши в NVDA.
Некоторые функции в будущем могут быть выделены в самостоятельные дополнения.
Возможности
- Исправление отслеживания мыши в приложениях на Electron (только для NVDA 2024.4 или новее).
- Приложения на Electron, например VS Code.
- Экспериментальное исправление отслеживания мыши в приложениях на WinUI, Zoom, 飞书.
- Windows Terminal: если единицей текста является абзац, перемещение мыши в элементе управления Terminal ограничивает единицу текста строками.
- Исправление части панели управления NVIDIA, где содержимое элемента управления «статическое текстовое описание» было некорректным.
- Исправлена проблема, из-за которой некоторые кнопки в PDFgear не могли получить описательный текст.
- Озвучивание информации на вкладке расширения Tree Style Tab при перемещении мыши.
- Автоматическое обновление объекта мыши. Автоматическое обновление объекта мыши при прокрутке колеса мыши или в конце каждого основного цикла NVDA. (Эта функция может быть полезна при использовании колеса мыши.) Её можно включить/отключить в панели настроек компонента NVDA Vision.
История изменений
v0.9.3
- Совместимость с NVDA 2026.1.
- Временно: доступ к новому контекстному меню в Проводнике с помощью UIA.
- Обновление шаблона дополнения.
v0.9.2
- Добавлена поддержка отслеживания мыши для окон без рамки во фреймворке Tauri.
- Благодарим @ryusei-48 за предоставленную ссылку на патч.
- Отключено принудительное использование реализации UIA в модуле 飞书 и исправлена навигация по символам в поле редактирования. Добавлена поддержка отслеживания мыши с использованием перенаправляющих объектов.
- Обновлены правила имени класса окон Windows Terminal.
- Обновлён шаблон дополнения.
v0.9.1
- Использование потока MTA UIAHandler для запросов UIA.
v0.9.0
- Рефакторинг компонентов, связанных с UIA в Electron:
- Использован метод
IUIAutomation.ElementFromPointBuildCache для получения UIA-элементов по координатам с целью создания перенаправленных объектов мыши.
- Одновременно применено
IUIAutomationCondition для исключения UIA-элементов с пустым атрибутом Name, что решает определённые проблемы, возникавшие при навигации с помощью мыши в VS Code.
- Например, теперь можно читать текст на всплывающей панели.
- Добавлен параметр задержки события перемещения мыши при автоматическом обновлении объектов мыши только во время основных циклов, как экспериментальная реализация https://github.com/nvaccess/nvda/issues/19372.
- Озвучивание информации на вкладке расширения Tree Style Tab при перемещении мыши.
v0.8.4
- Рефакторинг логики определения «принудительного использования реализации UIA приложения» и исключение влияния боковых панелей-расширений Chrome на сам Chrome.
v0.8.3
- Отключено правило для класса окон
Intermediate D3D Window, так как Chrome также использует этот класс окон.
v0.8.2
- Обновлены правила для Electron для работы с UIA.
v0.8.1
- Обновлены правила для PDFgear.
- Обновлён шаблон дополнения.
v0.8.0
- Удалена нестабильная функция, связанная с установщиком Git for Windows.
- Обновлён шаблон дополнения.
- Добавлена украинская локализация и документация.
v0.7.2
- Исправлена некорректная версия совместимости API, скорректирована минимальная поддерживаемая версия NVDA до 2022.1.
v0.7.1
- Автоматическое обновление объекта мыши: улучшена стабильность при автоматическом обновлении объектов мыши во время прокрутки колеса мыши.
- Пересылка сообщений от мыши, полученных хуком мыши NVDA, в точку расширения
pre_handleWindowMessage. (Исключены параметры wParam и lParam, которые должны быть установлены в None.)
v0.7.0
- Автоматическое обновление объекта мыши: добавлен способ автоматического обновления объекта мыши при прокрутке колеса мыши.
- Переработан раздел конфигурации «Автоматическое обновление объекта мыши».
- Обновлена совместимость с NVDA до 2025.1 и скорректирована минимальная поддерживаемая версия NVDA до 2021.1.
- Добавлен перевод на китайский (zh_CN).
v0.6.0
- Добавлена возможность автоматического обновления объекта мыши в конце каждого основного цикла NVDA.
v0.5.1
- Electron: исправлено зависание при просмотре подсказок поиска в адресной строке Chrome.
- Очистка кода: применение предложений от @josephsl. (Комментарии в коде не идеальны.)
v0.5.0
- Экспериментально: исправление отслеживания мыши в Zoom, 飞书.
- Electron: ограничение объекта перенаправления интерфейсом IAccessible, чтобы исключить приложения, использующие UIA.
- Установщик Git for Windows: перехват исключений, которые можно безопасно игнорировать.
v0.4.0
- Экспериментально: исправление отслеживания мыши в приложениях WinUI путём обеспечения, чтобы
obj.appModule.isGoodUIAWindow всегда возвращал True при обнаружении объекта с определённым свойством windowClassName.
- Windows Terminal: если единицей текста является абзац, перемещение мыши в элементе управления Terminal ограничивает единицу текста строками.
- Electron: очищена некоторая лишняя логика проверок.
- Обновлён шаблон дополнения.
v0.3.0
- Изменено название дополнения на: Mouse Enhancement. (Не учитывает обновления дополнения.)
- Игнорирование ошибки при входе на экран безопасности из-за отсутствия у объекта атрибута windowClassName.
- Отслеживание мыши может озвучивать описание параметра в установщике Git for Windows. (Отдельные параметры не могут быть просмотрены по отдельности.)
- Обновлён шаблон дополнения.
v0.2.0
- Исправление части панели управления NVIDIA, где содержимое элемента управления «статическое текстовое описание» было некорректным.
- Исправлена проблема, из-за которой некоторые кнопки в PDFgear не могли получить описательный текст.
v0.1.0
- Исправление отслеживания мыши в приложениях на Electron.
Благодарности