2016-12-25 20:19:34 (edited by stefan_ilioaica 2016-12-25 20:31:21)

Hey everyone,
I was wondering how all you do  to make the bgt scripts work both with NVDA and Jaws screen readers?
Let's say that I have a script, and the messages for the script should be verbalised for both NVDA and Jaws.
Is there another way instead of writting for both of them: screen_reader_speak-interrupt(JAWS), or (NVDA)?
I know there should  be something that makes the  things a bit easier....
For example, if I want to do the following:
screen_reader_speak_interrupt(JAWS, "Hello);
If I want the same file to work with NVDA, I should write a similar line below, but instead of JAWS, to type NVDA...
Can anyone help with some advice? Thanks in advance.

2016-12-25 21:53:21 (edited by Draq 2016-12-25 21:56:49)

This is what I did when I was messing with BGT. I think I got the basic idea from the documentation. You can just put this in a function and call it where ever you need speech.

{
bool reader=false;
for (int x=0; x<5; x++)
{
if (screen_reader_is_running(x) == true)
{
reader =true;
screen_reader_speak(x, message);
break;
}
wait(5);
}
if (reader==false)
{
speech.speak(message);
}
}

Don't forget to install keyhooks if JAWS is active. Also be aware that this doesn't make the menu object use a specific reader.

2016-12-26 23:58:23

You could also check out my speech manager class. I wrote it to simplify speaking text with BGT.

http://www.blastbay.com/forum/viewtopic.php?id=1505