[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: WILDCARD by CLD



** Reply to message from "Patricia M. Godfrey"  on Sat, 29
Apr 2006 14:53:55 -0400


> My system is very well-behaved in this respect: if numlock is on, the
> LED is lit; if it isn't, it isn't, so I cannot test here.

The only thing that matters is what XyWrite "thinks" your scan code to be.
That's easy enough to determine. Go to frame WILDCARD, and make this change:
from
 ...>{greater_than}1>...
to
 ...>>{greater_than}1>...
Then LOADHELP. Run the revised routine, and it will report the value
of VA$SC on the PRompt line (then Quit).

Here's the logic of my conclusions. There are four premises:

1) By definition, VA$KC and VA$SC return identical values when the state of the
keyboard is UNSHIFTED.
2) The UNSHIFTED Scan Code of the Escape key on all keyboards is 1.
3) The lowest value that either VA$KC or VA$SC can report is 1.
4) Only a value of 1 (or less -- but see #3 above) will stop this routine (the
code is quite clear on this point).

Now: If the frame didn't work (i.e. wouldn't Stop) with VA$SC but it does Stop
with VA$KC, then VA$SC and VA$KC are not identical (see #1). And if it does
Stop with VA$KC, then the raw Key Code (VA$KC) of your Escape key equals 1
(i.e. you have a standard keyboard -- see #2). Because VA$SC cannot be lower
than 1 (see #3), it follows that the Scan Code (VA$SC) of your Escape key (when
the WILDCARD frame is running) must be higher than 1. Therefore, some shifting
state must be ON.

There is another way to find out what the state of your keyboard is (the
contextual method above is preferred, though). Command SCAN, then hit
the Escape key. Scan Code will be reported.

-----------------------------
Robert Holmgren
holmgren@xxxxxxxx
-----------------------------