INKEY() 
 Extrae un carácter de la memoria intermedia del teclado o un evento de ratón
------------------------------------------------------------------------------
 Sintaxis

     INKEY([<nSegundos>][,<nMáscaraEvento>]) --> CódigoInkey

 Argumentos

     <nSegundos> Especifica el número de segundos que INKEY() espera a
     que se pulse una tecla u ocurra un evento de ratón. Puede especificar
     valores en incrementos de hasta una décima de segundo. Si se especifica
     cero, el programa se detiene hasta que se pulse una tecla u ocurra un
     evento sin máscara. Si se omite <nSegundos>, INKEY() no espera a que se
     pulse una tecla u ocurra un evento de ratón.

     <nMáscaraEvento> determina qué eventos son significativos para la
     aplicación. Si <nMáscaraEvento> se omite, se utiliza el valor
     especificado en el mandato SET EVENTMASK. Si no se ha ejecutado ningún
     mandato SET EVENTMASK, el valor por defecto es 128 (sólo se consideran
     eventos de teclado).

     Este parámetro puede ser cualquier combinación de los valores
     siguientes. Los valores de las constantes que aparecen en la tabla
     están definidos en Inkey.ch.

     Constantes Inkey
     ------------------------------------------------------------------------
     Constante          Valor        Descripción
     ------------------------------------------------------------------------
     INKEY_MOVE        1             Eventos de ratón
     INKEY_LDOWN       2             Pulsar botón izquierdo del ratón
     INKEY_LUP         4             Soltar botón izquierdo del ratón
     INKEY_RDOWN       8             Pulsar botón derecho del ratón
     INKEY_RUP         16            Soltar botón derecho del ratón
     INKEY_KEYBOARD    128           Eventos de teclado
     INKEY_ALL         159           Todos los eventos de teclado y ratón
     ------------------------------------------------------------------------

 Devuelve

     INKEY() devuelve un valor entero comprendido entre -39 y 386 para los
     eventos de teclado, y entre 1001 y 1007 para los eventos de ratón. Este
     valor identifica la tecla leída de la memoria intermedia del teclado o
     el último evento de ratón ocurrido. Si la memoria intermedia está vacía
     y no hay eventos de ratón pendientes, INKEY() devuelve 0. INKEY()
     devuelve valores para todas las combinaciones de caracteres ASCII,
     teclas de función, Alt+función, Ctrl+función, Alt+letra y Ctrl+letra.

 Descripción

     INKEY() es una función que extrae la tecla siguiente contenida en la
     memoria intermedia del teclado o el siguiente evento de ratón, y
     devuelve un valor que representa al evento. Este valor se guarda
     también internamente y puede recuperarse por medio de LASTKEY(). Si se
     especifica el argumento <nSegundos> y no hay teclas en la memoria
     intermedia, la ejecución del programa se detiene hasta que aparezca una
     tecla en la memoria intermedia del teclado, suceda un evento de ratón o
     hayan transcurrido <nSegundos>. El tiempo que espera la función INKEY()
     se basa en el reloj del sistema operativo y no en la velocidad del
     microprocesador. Si <nSegundos> es cero, la ejecución del programa se
     detiene hasta que se pulse una tecla o suceda un evento de ratón.
     Recuerde que INKEY() no es un estado de espera, por lo que las teclas
     establecidas mediante SET KEY no están activas.

     INKEY() es similar a la función NEXTKEY(). A diferencia de INKEY(),
     NEXTKEY() lee sin extraer la tecla o el evento de ratón. Esto es útil
     para comprobar una tecla o un evento de ratón sin procesarlos.

     INKEY() es la primitiva principal del sistema CA-Clipper para capturar
     teclas y eventos de ratón. Se utiliza para examinar el teclado o el
     ratón y para hacer una pausa en la ejecución del programa. Como
     ejemplo, puede utilizar INKEY() para terminar mandatos con un ámbito de
     registro como LIST, LABEL FORM y REPORT FORM incluyéndola en  una
     condición WHILE.

 Ejemplos

      El ejemplo siguiente establece que INKEY() termine si se pulsa
        el botón izquierdo o el derecho del ratón. Si en 10 segundos no
        ocurre ninguno de estos eventos, INKEY() termina.

        ? INKEY (10, INKEY_LDOWN + INKEY_RDOWN )