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

Reply via email to