[jawsscripts] Re: Bottom Edge Question

Bottom Edge QuestionHi Mike,

The functions you mentioned, are fired by Jaws itself, if a cursor actually 
strikes the bottom edge of a window, that is, the actual boundary of the window.

If the invisibleCursor is actually hitting the bottom edge of your mainframe 
window, then the below may help. If however, it has just run onto blank space 
below the last item in the list, then see further down.

Try including a copy of BottomEdgeEvent in your script set something like this:

Void Function BottomEdgeEvent (handle WinHandle)

IF IsInvisibleCursor () && (GetFocus () == WinHandle) THEN
; say or do what you want
ELSE; not caused by your script
BottomEdgeEvent  (WinHandle) ; calls the one in the default file for normal 
behaviour
ENDIF
EndFunction

1. The IF statement may need more refinement, if it treats strikes on the 
bottom edge that are from situations other than those caused by your script, as 
if they were caused by your script.
2. no changes are required to your script.


If caused by running out of items in the column, rather than hitting the bottom 
edge, then see additions to your script in your post below.

  ----- Original Message ----- 
  From: Trent, Mike 


  I have a very simple script to read the word directly under the PC cursor and 
then move to that word. This is for Rumba. I m using it to read columns of text 
on the mainframe. It works fine except when I get to the bottom of the page, 
then it just says blank. What I'd like to do is know how to recognize the 
bottom edge and do or say something other than 'blank'. 

  The script is as I said very simple. 

  ; see below the script for comments

  Script SayWordOnNextLine () 
  SaveCursor () 
  InvisibleCursor () 
  RouteInvisibleToPc () 
  NextLine () 

  IF (GetCursorRow () < 999) THEN 
  SayWord () 

  ELSE ; further down the page

  ; say or do what you want

  ENDIF

  RoutePcToInvisible () 
  EndScript 

  ; replace the 999, with the cursor's row position of the first row below the 
last item in the list.

  this can be obtained by placing the cursor on the first blank line/item 
position, and pressing Alt+delete on the numpad. the second number is the row.



  A comment:

  On the mainframe I use, the PCCursor can be moved vertically just by using 
the arrow keys, so there is no need for using the invisible cursor. see the 
below script to read down a list of items.



  It presumes that the PCCursor is already active, and is not intended to 
notify of reaching the bottom.



  Script ColumnDown ()

  ; Allows reading down a column of items

  NextLine ()

  SayWord ()

  EndScript



  Regards,

  Paul from Aust


Other related posts: