GET_KBRD()... behavior depends on OS properties? [message #39277] |
Sun, 09 May 2004 22:53  |
timrobishaw
Messages: 16 Registered: June 2003
|
Junior Member |
|
|
Hi there,
I've got a question I've been wanting an answer to for a long time.
Somebody named Phil asked this about 5 years ago here, but the thread
devolved into complaining about IDLDE rather than answering the poor
guy's question... so this post has nothing to do with IDLDE.
I use the CURSOR command a lot when investigating data... usually
spectra and images. Once in a while I try to get clever like so: if I
press a specific key (the output is returned via GET_KBRD(0)) then a
related task is run. But I'd really like GET_KBRD() to work while
the cursor is sitting in the spectrum or the image window... this way,
my routines can use the (x,y) position that the cursor is sitting at.
My big problem is that GET_KBRD() won't work until I get that cursor
back into the IDL xterm (thus changing the cursor position).
I'm running IDL on Solaris. Checking the desktop properties, I find
there's an option to control window focus (I think that's the official
name for this click-on-the-window-to-activate-it business):
Set Active Window: {Click Mouse | Move Pointer}
When I select the Click Mouse option, now I can get GET_KBRD() to work
when my cursor is parked anywhere in the desktop (including the
IDL-generated plot windows) since the focus is still on the IDL xterm.
Is there any way to force this behavior from inside IDL? I'm guesing
probably not, but I'm hoping someone knows more about this than I do.
-Tim.
|
|
|