So it looks like even that won't work.You can use the GetKeys procedure to obtain the current state of the keyboard.
PROCEDURE GetKeys (VAR theKeys: KeyMap);
theKeys Returns the current state of the keyboard, including the keypad, if any.
The GetKeys procedure returns this information using the KeyMap data
type.
TYPE KeyMap = PACKED ARRAY[0..127] OF Boolean;
Each key on the keyboard or keypad corresponds to an element in the
KeyMap array. The index for a particular key is the same as the key’s
virtual key code minus 1. For example, the key with virtual key code 38
(the “J” key on the Apple Keyboard II) can be accessed as KeyMap[37] in
the returned array. A KeyMap element is TRUE if the corresponding key is
down and FALSE if it isn’t. The maximum number of keys that can be
down simultaneously is two character keys plus any combination of the
five modifier keys.
Oh well, I suppose it's not possible then.