home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!sdd.hp.com!usc!news.service.uci.edu!network.ucsd.edu!mvb.saic.com!vmsnet-sources
- Newsgroups: vmsnet.sources
- From: vicente@cenaath.cena.dgac.fr (Martin VICENTE)
- Subject: VMS/RTL/KBD, part 03/03
- Date: Tue, 05 Jan 1993 00:07:29 GMT
- Message-ID: <9912969@MVB.SAIC.COM>
- Lines: 267
- Approved: Mark.Berryman@Mvb.Saic.Com
-
- Submitted-by: vicente@cenaath.cena.dgac.fr (Martin VICENTE)
- Posting-number: Volume 4, Issue 37
- Archive-name: keyboard_rtl/part03
-
- -+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
- X(**`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20PASCAL$KBD_ROUTINES`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`20`20**)
- X(**`09`09`09`09`09`09`09`09`09`20`20`20`20**)
- X(********`20Copyright`20(C)`201992`20Centre`20d'Etudes`20de`20la`20Navigation
- V`20Aerienne`20*******)
- X(*****************************************************************************
- V)
- X
- X
- X
- X
- X(*
- X`20*`20Titre:`09`20`20`20PASCAL$KBD_ROUTINES
- X`20*
- X`20*`20Sujet:`09`20`20`20Declarations`20des`20routines`20KBD$xxx`20("Keyboard
- V`20Routines").
- X`20*
- X`20*`20Version:`09`20`20`201.0
- X`20*
- X`20*`20Description:`09`20`20`20`20`20`20`20Ce`20module`20contient`20la`20decla
- Vration`20de`20la`20fonction
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20KBD$READ_KEYSTROKE`20pe
- Vrmettant`20d'attendre`20une`20action`20au
- X`20*`09`09`20`20`20clavier`20et`20renvoyant`20la`20sequence`20ANSI`20correspon
- Vdant`20a`20la
- X`20*`09`09`20`20`20touche`20actionnee.
- X`20*
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Pour`20util
- Viser`20KBD$READ_KEYSTROKE,`20il`20necessaire
- X`20*`09`09`20`20`20d'appeler`20au`20prealable`20la`20fonction`20KBD$OPEN_KEYBO
- VARD`20et`20de
- X`20*`09`09`20`20`20terminer`20par`20KBD$CLOSE_KEYBOARD.
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20La`20routine`20KBD$OPEN
- V_KEYBOARD`20permet,`20entre`20autres,`20de`20ne
- X`20*`09`09`20`20`20creer`20le`20tampon`20clavier`20que`20si`20l'on`20desire
- V`20reellement
- X`20*`09`09`20`20`20utiliser`20KBD$READ_KEYSTROKE.
- X`20*
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Lorsque`20l
- Ve`20tampon`20est`20plein,`20l'utilisateur`20est`20prevenu
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20par`20un`20beep`20sonor
- Ve.
- X`20*
- X`20*`09`09`20`20`20`20`20`20`20La`20fonction`20KBD$FLUSH_KEYBOARD`20permet`20d
- Ve`20vider`20le
- X`20*`09`09`20`20`20tampon`20clavier.
- X`20*
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Afin`20de`20po
- Vuvoir`20recuperer`20les`20codes`20emis`20par`20CTRL/C,
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20CTRL/O,`20CTRL/Q,`20CTR
- VL/S,`20CTRL/T,`20CTRL/X,`20CTRL/Y`20et`20F6,`20il`20est
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20necessaire`20d'entrer
- V`20la`20commande`20DCL`20"SET`20TERMINAL/PASTHRU
- X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20/NOTTSYNC".
- X`20*
- X`20*`20Langage:`09`20`20`20PASCAL`20NON`20STANDARD
- X`20*
- X`20*`20Fichier:`09`20`20`20PASCAL$KBD_ROUTINES_V_1_0.PAS
- X`20*
- X`20*`20Module:`09`20`20`20PASCAL$KBD_ROUTINES
- X`20*
- X`20*`20Environnement:`20`20Machine`20cible:`20`20`20`20`20`20`20`20`20`20VAX
- X`20*`09`09`20`20`20Systeme`20d'exploitation:`20VAX/VMS`20Version`205.4-3
- X`20*`09`09`20`20`20Compilateur:`20`20`20`20`20`20`20`20`20`20`20`20VAX`20Pasca
- Vl`20Version`204.3
- X`20*
- X`20*`20Auteur:`09`20`20`20Martin`20VICENTE`20(DGAC/CENA/SID)
- X`20*
- X`20*`09`09`20`20`20E-mail:`20vicente@cenaath.cena.dgac.fr
- X`20*
- X`20*`09`09`20`20`20Mail:`20`20`20C.E.N.A.
- X`20*`09`09`09`20`20`20Div.`20Support`20Informatique`20`26`20Developpement
- X`20*`09`09`09`20`20`20Orly`20Sud`20205
- X`20*`09`09`09`20`20`2094`20542`20ORLY`20AEROGARE`20CEDEX,`20FRANCE
- X`20*
- X`20*
- X`20*`20Creation:`09`20`20`2019/05/92
- X`20*
- X`20*`20Modification:`20`20`2026/05/92
- X`20*
- X`20*)
- X
- X
- X
- X
- XMODULE`20`20pascal$kbd_routines;
- X
- X
- X
- X
- X(*===========================================================================*
- V)
- X`09`5BHIDDEN`5D`20TYPE
- X(*===========================================================================*
- V)
- X
- X
- X`20`20`20`20$UWORD`20=`20`5BWORD`5D`200..65535;
- X
- X
- X(*===========================================================================*
- V)
- X`09TYPE
- X(*===========================================================================*
- V)
- X
- X
- X`20`20`20`20KBD$T_ESCAPE_OVERFLOW_BUFFER`20=`20PACKED`20ARRAY`20`5B1..4`5D`20O
- VF`20CHAR;
- X
- X`20`20`20`20KBD$T_ANSI_SEQUENCE`20=`20PACKED`20RECORD
- X`09`09`20`20`20`20`20`20`20`20`20`20`20`20`20ascii`20`20`20`20`20`20`20`20`20:
- V`20CHAR;
- X`09`09`09`20`20`20`20`20escOverBuffer`20:`20KBD$T_ESCAPE_OVERFLOW_BUFFER
- X`09`09`20`20`20`20`20`20`20`20`20`20END;
- X
- X
- X(*===========================================================================*
- V)
- X(*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20C
- VONDITION`20VALUE`20RETURNED`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`20*)
- X(*===========================================================================*
- V)
- X
- X
- XVAR`20`20KBD$_NORMAL,
- X`20`20`20`20`20KBD$_ALREADYOPEN,
- X`20`20`20`20`20KBD$_OPENERROR,
- X`20`20`20`20`20KBD$_ALREADYCLOSE,
- X`20`20`20`20`20KBD$_CLOSEERROR,
- X`20`20`20`20`20KBD$_NOTOPEN,
- X`20`20`20`20`20KBD$_READERROR,
- X`20`20`20`20`20KBD$_KEYPRESERROR,
- X`20`20`20`20`20KBD$_FLUSHERROR
- X
- X`20`20`20`20`20:`20`5BEXTERNAL,VALUE`5D`20UNSIGNED;
- X
- X
- X
- X
- X(*****************************************************************************
- V)
- X(*****************************************************************************
- V)
- X(**`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20KBD
- V$`20FUNCTION`20DECLARATION`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20**)
- X(*****************************************************************************
- V)
- X(*****************************************************************************
- V)
- X
- X
- X
- X
- X(*
- X`20*`20KBD$CLOSE_KEYBOARD
- X`20*
- X`20*`20`20`20Libere`20la`20memoire`20des`20structures`20de`20donnees`20associe
- Ves`20a`20ce`20module.
- X`20*)
- X
- XFUNCTION`20`20kbd$close_keyboard`20:`20UNSIGNED;
- X
- XEXTERNAL;
- X
- X
- X(*
- X`20*`20KBD$CVT_ANSI_SMG
- X`20*
- X`20*`20`20`20Convertit`20la`20sequence`20ANSI`20d'une`20touche`20en`20un`20cod
- Ve`20SMG.
- X`20*
- X`20*`20`20`20Liste`20des`20codes`20pouvant`20etre`20renvoyes`20(ils`20sont`20d
- Vefinis`20dans
- X`20*`20`20`20SYS$LIBRARY:PASCAL$SMG_ROUTINES):
- X`20*
- X`20*`09ascii`20(0`20-`20255)`09`09SMG$K_TRM_UP`09`09SMG$K_TRM_DOWN
- X`20*`09SMG$K_TRM_RIGHT`09`09SMG$K_TRM_LEFT`09`09SMG$K_TRM_ENTER
- X`20*`09SMG$K_TRM_PF1`09`09SMG$K_TRM_PF2`09`09SMG$K_TRM_PF3
- X`20*`09SMG$K_TRM_PF4`09`09SMG$K_TRM_COMMA`09`09SMG$K_TRM_MINUS
- X`20*`09SMG$K_TRM_PERIOD`09SMG$K_TRM_KP0`09`09SMG$K_TRM_KP1
- X`20*`09SMG$K_TRM_KP2`09`09SMG$K_TRM_KP3`09`09SMG$K_TRM_KP4
- X`20*`09SMG$K_TRM_KP5`09`09SMG$K_TRM_KP6`09`09SMG$K_TRM_KP7
- X`20*`09SMG$K_TRM_KP8`09`09SMG$K_TRM_KP9`09`09SMG$K_TRM_FIND
- X`20*`09SMG$K_TRM_INSERT_HERE`09SMG$K_TRM_REMOVE`09SMG$K_TRM_SELECT
- X`20*`09SMG$K_TRM_PREV_SCREEN`09SMG$K_TRM_NEXT_SCREEN`09SMG$K_TRM_F6
- X`20*`09SMG$K_TRM_F7`09`09SMG$K_TRM_F8`09`09SMG$K_TRM_F9
- X`20*`09SMG$K_TRM_F10`09`09SMG$K_TRM_F11`09`09SMG$K_TRM_F12
- X`20*`09SMG$K_TRM_F13`09`09SMG$K_TRM_F14`09`09SMG$K_TRM_HELP
- X`20*`09SMG$K_TRM_DO`09`09SMG$K_TRM_F17`09`09SMG$K_TRM_F18
- X`20*`09SMG$K_TRM_F19`09`09SMG$K_TRM_F20`09`09SMG$K_TRM_UP
- X`20*`09SMG$K_TRM_DOWN`09`09SMG$K_TRM_RIGHT`09`09SMG$K_TRM_LEFT
- X`20*`09SMG$K_TRM_UNKNOWN
- X`20*)
- X
- XFUNCTION`20`20kbd$cvt_ansi_smg`20(sequence`20:`20kbd$t_ansi_sequence)`20:`20$U
- VWORD;
- X
- XEXTERNAL;
- X
- X
- X(*
- X`20*`20KBD$FLUSH_KEYBOARD
- X`20*
- X`20*`20`20`20Vide`20le`20tampon`20clavier.
- X`20*)
- X
- XFUNCTION`20`20kbd$flush_keyboard`20:`20UNSIGNED;
- X
- XEXTERNAL;
- X
- X
- X(*
- X`20*`20KBD$KEY_PRESSED
- X`20*
- X`20*`20`20`20Indique`20si`20au`20moins`20une`20touche`20est`20presente`20dans
- V`20le`20tampon.
- X`20*)
- X
- XFUNCTION`20`20kbd$key_pressed`20(VAR`20yes`20:`20BOOLEAN)`20:`20UNSIGNED;
- X
- XEXTERNAL;
- X
- X
- X(*
- X`20*`20KBD$OPEN_KEYBOARD
- X`20*
- X`20*`20`20`20Creation`20et`20initialisation`20des`20structures`20de`20donnees
- V`20associees`20au`20module.
- X`20*)
- X
- XFUNCTION`20`20kbd$open_keyboard`20:`20UNSIGNED;
- X
- XEXTERNAL;
- X
- X
- X(*
- X`20*`20KBD$READ_KEYSTROKE
- X`20*
- X`20*`20`20`20Extrait`20la`20touche`20suivante`20du`20tampon;`20si`20ce`20derni
- Ver`20est`20vide,`20se`20met`20en
- X`20*`20`20`20attente`20d'une`20action`20au`20clavier.
- X`20*)
- X
- XFUNCTION`20`20kbd$read_keystroke`20(VAR`20key`20:`20kbd$t_ansi_sequence)`20:
- V`20UNSIGNED;
- X
- XEXTERNAL;
- X
- X
- X
- X
- X(*****************************************************************************
- V)
- X
- XEND`20(*`20PASCAL$KBD_ROUTINES`20*).
- $ call unpack PASCAL$KBD_ROUTINES.PAS;1 1532366519 ""
- $ v=f$verify(v)
- $ exit
-