[jawsscripts] Re: Jaws speaking information too quick?

  • From: Doug Lee <doug.lee@xxxxxxxxxxxxxxx>
  • To: "jawsscripts@xxxxxxxxxxxxx" <jawsscripts@xxxxxxxxxxxxx>
  • Date: Wed, 27 Feb 2019 20:43:18 +0000

One bit of evidence that pause and delay are not identical: Pause cannot be 
shortened by pressing a key, but delay can.

Outside of that, I still don't know the precise difference between the two. I 
have long suspected, though, that pause calls a different Windows function than 
delay does.

On Wed, Feb 27, 2019 at 02:37:28PM -0600, Snowman wrote:
CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you recognize the sender and know the content 
is safe.


Right,  but that specifically says that pause(), and delay(1) are
equivalent.
I assume that means they are exactly the same.
So, who knows how this really got implemented.  I have never seen an app
hold onto the CPU longer than the 100 milliseconds afforded by the pause
statement.  but, if you have ever had jaws appear to lockup and stop
spteaking,  and who hasn't, you have probably experienced a handoff to
another application,  who didn't gracefully give up the cpu, but held it
indefinitely.
I had wondered whether using the windows ability to set processor offinity,
so as to make jaws run in a dedicated processor would obviate situations
like that.  But,I have not yet established that as actually working the way
I would expect.



+--------------------------------------------------------------------------+
Listen to The Snowman on MushroomFM.com, Saturday evenings, 8PM Eastern
time.
60's and 70's tunes, and gently conservative talk.

----- Original Message -----
From: "Steve Spamer" <stevespamer68@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Wednesday, February 27, 2019 1:55 PM
Subject: [jawsscripts] Re: Jaws speaking information too quick?


Well Jim, I'm just taking the approach that pause waits until the program is
ready to go again, rather than just delaying for a specified amount of time,
which would wait, but then continue regardless of whether or not the program
is ready.  Jaws function description says:
Stops the processing of a script so that other applications can complete
tasks. When a pause function is placed in a script, JAWS yields to the time
needs of other applications. Once other applications have been given the
opportunity to use processing time, then JAWS resumes the script. The pause
function is equivalent to using the Delay function with a value of 1. Do not
place a pause command in a While loop

So, it's like this function interacts with the application somehow.

Best steve.

-----Original Message-----
From: Snowman
Sent: Wednesday, February 27, 2019 6:28 PM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Re: Jaws speaking information too quick?

I remember this message.  But, I glossed over the intriguing possibility of
processing events during the delay.  that is a rather remarkable feature.

What I have never been able to determine for sure, is whether pause(), is
equivalent to delay(1).  The time interval is the same.  But, I'm not sure
about how that affects other threads,  or processes.
If Delay is just a big long while loop, then
it would seem to have little benefit since, without yielding the CPU, the
delay won't do anything useful, since the only reason to delay is to give
something else time to do something.  And, you have to yield the CPU in
order for anything to happen.



+--------------------------------------------------------------------------+
Listen to The Snowman on MushroomFM.com, Saturday evenings, 8PM Eastern
time.
60's and 70's tunes, and gently conservative talk.

----- Original Message -----
From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Wednesday, February 27, 2019 7:28 AM
Subject: [jawsscripts] Re: Jaws speaking information too quick?


From a message I posted here in December, 2015:

Here's my understanding. I'll tell you which parts of this are directly
backed up by my personal experience.

Pause is said to yield the CPU to other tasks, which is more than just
stopping the current task for a moment.
What I know for sure is that Pause inserts a delay whose length can not be
less than 0.1 seconds no matter
what I do.

Delay allows you to specify a length of time, but my experience says that
any Delay call can be reduced to
nothing if you press a key on the keyboard before the Delay that is not
processed until after it. In strict
terms, this should mean that if IsKeyWaiting() is True, delay(anything) is a
no-op.

Delay also lets you decide whether to process events during the delay.

Finally, the JAWS docs say to avoid putting Pause in a loop to avoid
crashes. I don't find that using Pause in
a loop is a problem, but of course one must make sure the loop terminates at
a reasonable time.

On Wed, Feb 27, 2019 at 10:50:53AM -0000, Steve Spamer wrote:
CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know the
content is safe.


Jim, thanks for the suggestions. I did get it working as I want with a very
simple thing.  Pause and delay work differently, but I was always under the
impression that  both ways made things slow down slightly.  I was over
thinking it and was a little stuck, so I just put in a pause, and bingo all
was well.  It doesn't seem to slow things down like the delay did.

Now I think the pause is a system/program thing, where as a delay is
stopping jaws from speaking for a specified amount of time.  So, maybe the
pause just waits until the program has processed and then away we go again,
I'm not sure, but it's working.

Anyway, the schedule function is something I have used in the scripts and it
works well, so I should have thought of that, but I haven't done much with
new text event.  I'll certainly make a note of that for the future, but
thanks again for your help. Best steve.

-----Original Message-----
From: Snowman
Sent: Wednesday, February 27, 2019 3:17 AM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Re: Jaws speaking information too quick?

Steve,  if you don't speak this information from your script,  and the
information changes,  is jaws currently able to detect that?  I'm thinking
of a NewTextEvent firing on that control.  If you can find some event that
fires, you can hook into that.  If not,  you can do the delay thing,  or,
you can schedule a function to do it.  I like the latter, because it allows
the script to finish more quickly, freeing up the keyboard.



+--------------------------------------------------------------------------+
Listen to The Snowman on MushroomFM.com, Saturday evenings, 8PM Eastern
time.
60's and 70's tunes, and gently conservative talk.

----- Original Message -----
From: "Steve Spamer" <stevespamer68@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Wednesday, February 20, 2019 10:42 AM
Subject: [jawsscripts] Jaws speaking information too quick?


Hi folks. I have a situation where Jaws speaks information too quick.  Of
course speed is always an objective, but in this case I want to maximize
speed, while getting accurate information.
Scenario is, a key is pressed and the scripts speaks the window text of a
given window handle.  Trouble is the information in this window is spoken
prior to it changing.  I know I can put in a delay, but I'd like not to do
that and try and maximize the speed, rather than putting in a standard
delay, which will affect it.

So, is there any other approach that can speak this change, while keeping
the maximum amount of speed?  The control in question reports the position,
and currently the bar you're on is spoken instead of the bar you've just
moved to.

Thanks for any help. Best steve.

Follow me on Twitter: @stevesax123
Visit the samplitude Access website. Jaws scripts for pro recording with
Samplitude in Windows: www.samplitudeaccess.org.uk

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

--
Doug Lee, Lead Accessibility Architect
Level Access - over 1,000 organizations trust us to help them achieve and
maintain digital accessibility compliance!
mailto:Doug.Lee@xxxxxxxxxxxxxxx  http://www.LevelAccess.com
"While they were saying among themselves it cannot be done, it was
done." --Helen Keller
**********
Join us at CSUN March 13-15!
Booth 1013, Level Access Showcase Suite (Platinum Ballroom 8)
__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts

-- 
Doug Lee, Lead Accessibility Architect
Level Access - over 1,000 organizations trust us to help them achieve and 
maintain digital accessibility compliance!
mailto:Doug.Lee@xxxxxxxxxxxxxxx  http://www.LevelAccess.com
"While they were saying among themselves it cannot be done, it was done." 
--Helen Keller
**********
Join us at CSUN March 13-15!
Booth 1013, Level Access Showcase Suite (Platinum Ballroom 8)
__________�

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: