Отправляет email-рассылки с помощью сервиса Sendsay

[TC] скрипт для быстрого переключения речевых профилей по горячим клавишам

Добрый день уважаемые участники рассылки.
Существует ли для джоза скрипт, позволяющий быстро по горячим клавишам переключиться на нужный речевой профиль так как это делается в NVDA чрез дополнения switch synth или nvda global command extantion plagin.
Вызывать список речевых профилей по Jaws+control+s и искать там нужный профиль не всегда удобно.
С уважением, Павел Каплан.

Ответить   Sun, 18 Jul 2021 15:58:11 +0200 (#3673785)

 

Ответы:

Привет, Павел!
предлагаю вариант, который у меня работает даже на jaws 21.

жмём инсерт плюс 0, затем жмём контрол плюс шифт плюс d. оказываемся в
основном файле собственных настроек. уходим в конец файла. после последнего
какого-то без разницы скрипта делаем пустую строчку и вставляем к примеру
так:

Script SetMyMouseRus ()
SetActiveVoiceProfileByIndex(6, FALSE)
Say("Привет", OT_NO_DISABLE)
EndScript

Script SetMyMouseUkr ()
SetActiveVoiceProfileByIndex(7, FALSE)
Say("Привет", OT_NO_DISABLE)
EndScript

Script SetMilena ()
SetActiveVoiceProfileByIndex(8, FALSE)
Say("Привет", OT_NO_DISABLE)
EndScript

Script SetYury ()
SetActiveVoiceProfileByIndex(9, FALSE)
Say("Привет", OT_NO_DISABLE)
EndScript

в моём примере это 4 скрипта на 4 голосовых профиля включая два первых на
русского и Украинского мышака. в первой строчке каждого скрипта идёт слово
Script потом пробел и слово Set и без пропуска название моего профиля так
как я его обозвал. во фторой строчке
SetActiveVoiceProfileByIndex(8, FALSE)
то что в скобках 8, FALSE цифру восем помеменяй на ту под которой в твоём
списке скриптов идёт указаный в первой строчке скрипт но минус один.
в третьей строчке:
Say("Привет", OT_NO_DISABLE)
слово в кавычках "привет" замени на то, что ты хочешь слышать при
переключении скрипта.
с настройками скрипта всё. теперь чтобы привязать к клавишам нужно стать в
середину где-то этого скрипта., без разницы на какую строчку, нажать контрол
плюс D и там идя табуляцией поставить флажок на запуск по горячим клавишам а
потом ещё табуляцией до редактора и нажать желаемые клавиши. у меня это
windows плюс альт плюс какая-то буква. мне удобно со второго ряда J, K, L и
так далее.
с уважением Бурлака Вадим
г. Одесса.

Ответить   Sun, 18 Jul 2021 19:06:59 +0300 (#3673792)

 

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

Ответить   Sun, 18 Jul 2021 19:11:55 +0300 (#3673793)

 

Здравствуйте, Ланжероныч.

Описанный вами вариант ломает обновляемость пакета общих скриптов при обновлении JAWS. Так делать не надо даже для русских версий JAWS, потому что они уже обновляются автоматически.
Перенесите скрипты в myExtensions.jss.
Успехов. Никита.

Ответить   Sun, 18 Jul 2021 19:53:23 +0300 (#3673798)

 

Здравствуйте, Ланжероныч.

Вы писали 18 июля 2021 г., 19:06:59:

Всё сделал по Вашей инструкции, с поправками от Никиты, да спасибо вроде работает, только вот есть проблемка:
Скрипт переключает в текущем окне, но стоит перейти в другое окно, как профиль переключается на по умолчанию, как с этим быть?

Ответить   Mon, 19 Jul 2021 10:54:38 +0300 (#3673819)

 

Добрый день уважаемые участники рассылки.
Владислав, лучше возьмите за основу скрипт, который предложил сам Никита.
Цитата:

Не знаю, какая у вас локализация, поэтому напишу для английской:
1. Откройте Script Manager, например, командой JAWSKey+0.
2. В меню File активируйте пункт Open User File.
3. В стандартном диалоговом окне открытия файла выберете и откройте файл myExtensions.jss в директории, предложенной по умолчанию. Если такого файла там не окажется, что наиболее вероятно, то закройте окно выбора файла и в меню File активируйте пункт Open Shared File, ну и выберете myExtensions.jss уже там.
4. В открытом myExtensions.jss перейдите в конец файла и вставьте следующий скрипт (4 строки):

Script SetVoiceProfile (string sName)
SetActiveVoiceProfileByName (sName, 1)
Say(GetActiveProfileName (), 0)
EndScript

5. Скомпилируйте файл: либо в меню File активируйте пункт Save, либо просто нажмите CTRL+S. JAWS должен сказать: "Compile Complete".
6. Откройте директорию пользовательских настроек JAWS по пути %appdata%\Freedom Scientific\JAWS\2021\Settings\enu (Вместо 2021 может быть любая другая версия, а вместо enu - любая другая локализация.) 7. Найдите и откройте в текстовом редакторе файл DEFAULT.JKM. Внутри он выглядит как обычный ini-файл с секциями и парами ключ=значение.
Если такого файла ещё нет, то его нужно создать и вписать туда любую из строк:
[Common Keys]
это команды для любых раскладок.
[Laptop Keys]
Это команды для раскладки Laptop.
[Desktop Keys]
Это команды для раскладки Desktop.
Если же файл уже есть, то просто найдите там строку заголовка интересующей секции.
Есть и другие раскладки, но, скорей всего, вам подойдёт просто [Common Keys].
8. В секцию выбранной раскладки вставьте строки привязки команды к скрипту, например, вот так:
Alt+Shift+1=SetVoiceProfile ("RealSpeak Solo Direct") 2=SetVoiceProfile
Alt+Shift+("SAPI 5X") 3=SetVoiceProfile ("Vocalizer Expressive")
До знака равно команда, а после знака равно в кавычках название голосового профиля в том виде, как он выглядит в диалоге JAWSKey+CTRL+S.
Потом просто закройте файл с сохранением внесённых изменений.
Конец цитаты.

Я так сделал, только переключение сделал между голосами vocalizer..
У меня все переключается в любом окне.
С уважением, Павел Каплан.

Ответить   Mon, 19 Jul 2021 10:21:43 +0200 (#3673820)

 

Привет, ребята!

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

Ответить   Mon, 19 Jul 2021 18:00:02 +0300 (#3673838)

 

Здравствуйте, Ланжероныч.

Там фокус во втором параметре функций SetActiveVoiceProfileByIndex() и SetActiveVoiceProfileByName().
Именно он отвечает за сохранение изменения профиля: False - сбросить к состоянию по умолчанию при смене конфигурации, True - сделать состоянием по умолчанию.
У вас там False, а у меня True. В этом и причина разного поведения наших реализаций.
Внутри нескольких окон Word не сбрасывается, потому что это не считается сменой активной конфигурации, так как это всё как бы Word.
Успехов. Никита.

Ответить   Mon, 19 Jul 2021 18:58:55 +0300 (#3673841)

 

Здравствуйте, pavel***@g*****.com.

Это скрипт в пару строк:
Не знаю, какая у вас локализация, поэтому напишу для английской:
1. Откройте Script Manager, например, командой JAWSKey+0.
2. В меню File активируйте пункт Open User File.
3. В стандартном диалоговом окне открытия файла выберете и откройте файл myExtensions.jss в директории, предложенной по умолчанию. Если такого файла там не окажется, что наиболее вероятно, то закройте окно выбора файла и в меню File активируйте пункт Open Shared File, ну и выберете myExtensions.jss уже там.
4. В открытом myExtensions.jss перейдите в конец файла и вставьте следующий скрипт (4 строки):

Script SetVoiceProfile (string sName)
SetActiveVoiceProfileByName (sName, 1)
Say(GetActiveProfileName (), 0)
EndScript

5. Скомпилируйте файл: либо в меню File активируйте пункт Save, либо просто нажмите CTRL+S. JAWS должен сказать: "Compile Complete".
6. Откройте директорию пользовательских настроек JAWS по пути
%appdata%\Freedom Scientific\JAWS\2021\Settings\enu
(Вместо 2021 может быть любая другая версия, а вместо enu - любая другая локализация.)
7. Найдите и откройте в текстовом редакторе файл DEFAULT.JKM. Внутри он выглядит как обычный ini-файл с секциями и парами ключ=значение.
Если такого файла ещё нет, то его нужно создать и вписать туда любую из строк:
[Common Keys]
это команды для любых раскладок.
[Laptop Keys]
Это команды для раскладки Laptop.
[Desktop Keys]
Это команды для раскладки Desktop.
Если же файл уже есть, то просто найдите там строку заголовка интересующей секции.
Есть и другие раскладки, но, скорей всего, вам подойдёт просто [Common Keys].
8. В секцию выбранной раскладки вставьте строки привязки команды к скрипту, например, вот так:
Alt+Shift+1=SetVoiceProfile ("RealSpeak Solo Direct")
Alt+Shift+2=SetVoiceProfile ("SAPI 5X")
Alt+Shift+3=SetVoiceProfile ("Vocalizer Expressive")
До знака равно команда, а после знака равно в кавычках название голосового профиля в том виде, как он выглядит в диалоге JAWSKey+CTRL+S.
Потом просто закройте файл с сохранением внесённых изменений.

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

Ответить   Sun, 18 Jul 2021 19:52:56 +0300 (#3673797)

 

Hello Nikita,

Sunday, July 18, 2021, 6:52:56 PM, you wrote:

При попытке компиляции выскакивает следующее?

Compile Error
Error: A macro name must be followed by ()
OK

Версия JAWS 2022.
Не силен в скриптах JAWS. Что тут можно исправить?
Заранее очень признателен.

Ответить   Anthony Sun, 3 Apr 2022 19:40:37 +0200 (#3686058)

 

Hello Anthony,

Sunday, April 3, 2022, 7:40:37 PM, you wrote:

Пардон, кажется разобрался.

Ответить   Anthony Sun, 3 Apr 2022 19:52:27 +0200 (#3686059)