No because the we file uses the window to load set files.  For example let's
take gold wave.  When you are in the main window it uses one set file but
when you switch to the control window another file is used etc.  if that
doesn't work a hyper active window could be created to check to see what
window is active and load a set file based on the information provided.  Hth


Jim Grimsby Junior.
Please feel free to contact me at anytime using one of the below methods.
Skype: Jim.Grimsby 909-498-4711.
E-mail: jgrim...@roadrunner.com
Windows live messenger: jim.grim...@att.net


-----Original Message-----
From: Chip Orange [mailto:lists3...@comcast.net] 
Sent: Tuesday, September 29, 2009 5:38 AM
To: gw-scripting@gwmicro.com
Subject: RE: Automatically by-passing WE hotkeys

Brian,

I don't see how the .set file suggestion could easily be made to work, since
you only want these keys to be intercepted, or to work normally, based on
where the user is, in the application, at the moment.  maybe it's easier
than it sounds to me, but that sounds like you'd be loading and unloading
set files on the fly to do this?

anyway, an alternative is to use event handlers for the key's up and down
events, and connect them or not based on where the user is.  I do this in
one of my scripts, and in the event handler, you can decide if the key
should be passed to the app, bypassing window eyes altogether (which is what
I needed to do).  anyway, here's an example of what I mean for setting up
the handler for a key, which I'm sure you could specify as a numeric keypad
key:



' trap up/down arrow keys with ...
set DownArrow = keyboard.key("down arrow")
if downArrow is nothing then
speak "failed to get down arrow"
else
' now can trap the key down and up events for the arrows to prevent window
eyes from speaking anything; otherwise, WE will repeat the line of code.
'
' down arrow
downArrowEvent1 = ConnectEvent ( downArrow, "onKeyDown",
"downArrowOnKeyDown")
downArrowEvent2 = connectEvent ( downArrow, "onKeyUp", "downArrowOnKeyUp")
end if ' downArrow is nothing
'


hth,

Chip

 

-----Original Message-----
From: Bryan Smart [mailto:bryansm...@bryansmart.com] 
Sent: Monday, September 28, 2009 12:01 PM
To: gw-scripting@gwmicro.com
Subject: Automatically by-passing WE hotkeys

I'm scripting for an application that requires the use of the keypad in its
main window. The app expects to receive keys such as home, end, page up,
page down, and the arrows when the keypad keys are pressed.

I can voice everything in the main window, so not being able to use the WE
cursor there isn't a big loss. However, I'd like the WE cursor to be
available in this app's dialogs and other parts of the user interface.

What is the best way for me to temporarily suspend just the keypad hotkeys?

I can use a ConnectEvent call to watch for an Activate event in the overlap
area to detect when the foreground window has changed, and I can evaluate if
I'm now in the main window or not. However, the only way to fix the keypad
keys seems to be to unregister all of those WE hotkeys when the main app
window gains focus, and then to reregister them when the main window loses
focus. This can't be the best way, though, as, when I reregister the
hotkeys, I can only register them back to what I think they should be, and,
I believe, the user can redefine these. I'll have, therefore, potentially
messed up the user's default assignments.

Any suggestions are welcome.

Bryan

Reply via email to