KEYSEND()
 Simulates CA-Clipper keyboard buffer input
------------------------------------------------------------------------------
 Syntax

     KEYSEND(<cKeyValue>,[<lAdditiveMode>]) --> lPassed

 Arguments

     <cKeyValue>  Designates one or more sequences that are placed in the
     keyboard buffer.

     <lAdditiveMode>  Designates an optional parameter.  If this
     parameter is .T., then the key codes passed are added to the contents of
     the keyboard buffer.  If the parmeter is .F. or if no parameter is
     passed, the contents of the keyboard buffer are overwritten.

 Returns

     When the string has been placed successfully in the CA-Clipper keyboard
     buffer, the function returns a value of .T..  If an error occurs, the
     return value is .F..

 Description

     KEYSEND() works similarly to the CA-Clipper KEYBOARD command.  However,
     it allows you to use other codes for the characters that are stuffed.
     Symbolic constants for these key codes can be found in the CTSCAN.CH
     include file and in Appendix A.  By using this unique coding for
     characters in the keyboard buffer, KEYSEND() allows you to place keys in
     the buffer that CA-Clipper's KEYBOARD command does not permit, such as
     codes smaller than 0 or greater than 255 (e.g.  all function keys and
     most Alt combinations).  This unique coding is also helpful for two keys
     that have the same INKEY() value and cannot be differentiated with the
     KEYBOARD command.

     If you want to place normal characters like letters and numbers in the
     keyboard buffer, it is better to use the CA-Clipper KEYBOARD command.
     Using CA-Clipper Tools functions for normal characters provides no real
     advantage.  If, on the other hand, you want to simulate other keyboard
     input, like function or control keys, then KEYSEND() is best to use
     because function and control keys can be clearly differentiated.

     As with the CA-Clipper KEYBOARD command, the entire contents of the
     keyboard buffer are cleared as soon as KEYSEND() passes a new character.
     If <lAdditiveMode> is .T., the function adds the key codes to the
     current buffer contents.

 Notes

       Key codes in CA-Clipper Tools have been extended, but the old
        codes are still valid (see include file CTSCAN.CH).

       The maximum length of the string to be saved is now calculated
        as follows:

           maximum allocatable memory / 2

 Example

     Simulate the function key Alt-F10:

     KEYSEND(KS_ALT_F10)

 To download this example - click here.

See Also: KEYREAD() DSETTYPE()