🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Martin VICENTE Tue, 05 Jan 1993 00:07
VMS/RTL/KBD, part 03/03
#158
Author: Martin VICENTE
Date: Tue, 05 Jan 1993 00:07
267 lines
8936 bytes
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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads