home *** CD-ROM | disk | FTP | other *** search
- {
- ════════════════════════════════════════════════════════════════════════════
-
- Visionix Input Unit (VIN)
- Copyright 1991,92,93 Visionix
- ALL RIGHTS RESERVED
-
- ────────────────────────────────────────────────────────────────────────────
-
- Revision history in reverse chronological order:
-
- Initials Date Comment
- ──────── ──────── ────────────────────────────────────────────────────────
-
- lpg 03/15/93 Added Source Documentation
-
- mep 02/11/93 Cleaned up code for beta release
-
- jrt 02/08/93 Sync with beta 0.12 release
-
- jrt 12/07/92 Sync with beta 0.11 release
-
- jrt 11/21/92 Sync with beta 0.08
-
- jrt 09/01/92 First logged revision.
-
- ════════════════════════════════════════════════════════════════════════════
- }
-
- {$V-}
-
- Unit VIn;
-
-
- Uses
-
- VTypes,
- VMulti;
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Const
-
- Key_Tab = 9;
- Key_ESC = 27;
- Key_CR = 13;
-
- Key_ShiftTab = 15;
- Key_PgDn = 81;
- Key_PgUp = 73;
- Key_Home = 71;
- Key_End = 79;
- Key_Down = 80;
- Key_Up = 72;
- Key_Right = 77;
- Key_Left = 75;
-
- Key_Ins = 82;
- Key_Del = 83;
-
- Key_F1 = 59;
- Key_F2 = 60;
- Key_F3 = 61;
- Key_F4 = 62;
- Key_F5 = 63;
- Key_F6 = 64;
- Key_F7 = 65;
- Key_F8 = 66;
- Key_F9 = 67;
- Key_F10 = 68;
-
- IDF_DriverNew = 1;
- IDF_DriverOff = 2;
- IDF_DriverOn = 3;
- IDF_DriverDispose = 4;
- IDF_Look = 5;
- IDF_Read = 6;
- IDF_Write = 7;
- IDF_State = 8;
- IDF_Flush = 9;
- IDF_Pressed = 10;
-
- IDS_Changed = 1;
- IDS_Install = 2;
- IDS_Sequence = 4;
-
- KDP_New = 1;
- KDP_Do = 2;
- KDP_Dispose = 3;
-
- Type
-
- PInDriverPacket=^TInDriverPacket;
-
- TInDriverProc = Procedure( IDPacket : PInDriverPacket );
-
- TProcName = String[20];
-
- PProcName = ^TProcName;
-
- {----}
-
- TInDriverPacket = Record
-
- Func : WORD;
- ID : Pointer;
- InDriverProc : TInDriverProc;
- SysKeyBuff : Pointer;
- Name : PProcName;
- DriverInfo : Pointer;
- Key : CHAR;
- State : BYTE;
- KeysToWrite : PString;
- Pressed : BOOLEAN;
-
- Status : WORD;
-
- End;
-
- PInDriverProc = ^TInDriverProc;
-
- {----}
-
- PInDriverList = ^TInDriverList;
-
- TInDriverList = Record
-
- Proc : TInDriverProc;
- ID : Pointer;
- Next : PInDriverList;
-
- End;
-
- {----}
-
-
- TKeyProc = Procedure( Status : BYTE;
- Key1, Key2 : CHAR );
-
- PKeyProcList = ^TKeyProcList;
-
- TKeyProcList = RECORD
-
- Key1 : CHAR;
- Key2 : CHAR;
- Proc : TKeyProc;
- Name : TProcName;
- ProcInfo : Pointer;
- Off : WORD;
- Next : PKeyProcList;
-
- END;
-
- {----}
-
- TInDriverIData = Record
-
- KeyBuff : PString;
- Off : WORD;
- Name : TProcName;
-
- END;
-
- PInDriverIData = ^TInDriverIData;
-
- {----}
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Procedure VInDriverNew( Proc : TInDriverProc;
- Name : TProcName;
- DriverInfo : Pointer;
- Var Err : WORD );
-
- Procedure VInDriverOff( Name : TProcName );
-
- Procedure VInDriverOn( Name : TProcName );
-
- Procedure VInDriverDispose( Name : TProcName );
-
- Function VInLook : CHAR;
-
- Function VInRead : CHAR;
-
- Function VInState : BYTE;
-
- Procedure VInWrite( Keys : String );
-
- Function VInPressed : BOOLEAN;
-
- Procedure VInFlush;
-
- Procedure VKeyProcNew( Key1 : CHAR;
- Key2 : CHAR;
- Proc : TKeyProc;
- Name : TProcName;
- ProcInfo : Pointer;
- Var Err : WORD );
-
- Procedure VKeyProcOff( Name : TProcName );
-
- Procedure VKeyProcOn( Name : TProcName );
-
- Procedure VKeyProcDispose( Name : TProcName );
-
- {Procedure DefaultInDriverProc( IDP : PInDriverPacket );}
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure CallInDrivers( IDP : PInDriverPacket );
-
- [PARAMETERS]
-
- IDP Pointer to In-Data Driver Packet
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInDriverNew( Proc : TInDriverProc;
- Name : TProcName;
- DriverInfo : Pointer;
- Var Err : WORD );
-
- [PARAMETERS]
-
- Proc ?
- Name ?
- DriverInfo ?
- Err VAR Returned ?
-
- [RETURNS]
-
- Function : None
- (VAR : [Err] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInDriverOff( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInDriverOn( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInDriverDispose( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VInLook : CHAR;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function CallKeyProcList( Key1 : CHAR;
- Key2 : CHAR ) : BOOLEAN;
-
- [PARAMETERS]
-
- Key1 ?
- Key2 ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VInRead : CHAR;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VInState : BYTE;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInWrite( Keys : String );
-
- [PARAMETERS]
-
- Keys ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VInPressed : BOOLEAN;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VInFlush;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VKeyProcNew( Key1 : CHAR;
- Key2 : CHAR;
- Proc : TKeyProc;
- Name : TProcName;
- ProcInfo : Pointer;
- Var Err : WORD );
-
- [PARAMETERS]
-
- Key1 ?
- Key2 ?
- Proc ?
- Name ?
- ProcInfo ?
- Err VAR Returned ?
-
- [RETURNS]
-
- Function : None
- (VAR : [Err] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VKeyProcOff( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VKeyProcOn( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure VKeyProcDispose( Name : TProcName );
-
- [PARAMETERS]
-
- Name ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-