On Nov 16, 2005, at 1:39 AM, J. Landman Gay wrote:
Well, if you open the message watcher and then press and release a
key you'll see something like this:
rawKeyDown
keyDown
rawKeyUp
keyUp
Each of those is a different system message and each carries as a
parameter the key you have pressed and/or released. If you hold
down the Command key while doing the same thing, you only get these
messages:
rawKeyDown
rawKeyUp
keyUp
There is no "keydown" message sent when the Command key is down.
You can take advantage of that to trap only plain keypresses.
Let's say you've pressed Cmd-U. The reason the key is included in
your script local when using a "keyUp" handler is because Rev is
sending both rawKeyUp-U and keyUp-U. The menus act on the
rawKeyDown/Up messages, but that's only half the set; your script
is trapping the keyUp and storing the "U".
It is natural to think of a keypress as a single "up" or "down"
event, but it's really two sets.
No no, thank you, but I understand that (though I didn't know about
the command key exception, which is a very handy fact). My question
isn't about the keypresses or the messages, but about the variable.
Scripture saith: "The difference between a script local variable and
a global variable is that a script local variable can only be used in
the handlers of one script . . ." I've always extrapolated that to
mean that the value of a s.l.v. can be changed only by a handler
within the script that declares the variable. But in this case it's
being changed by something from outside the handler, isn't it?
A keyUp message whose parameter is cmd-U is generated when I choose a
menu item whose purpose is to open a substack. So it's generated
before I have even opened the substack containing the card containing
the field whose script contains the keyUp handler. That handler then
calls a handler in the main stack, which reads and writes a variable
there in the main stack script. So why does that cmd-U (or the 'u'
part of it) end up in that variable?
Charles Hartman
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution