-- Em3270UserInputDefs: 3270 Emulation User Input Handler -- Revised for Star 3.0adrTI by Lui: 30-Jun-83 14:07:39 -- Owner: Kernaghan -- Overview: -- This module will handle all user inputs to the emulator coming from the Star world, that is, from the Notifier. These inputs come from either keystrokes or mouse actions. -- It is responsible for determining what action has taken place (keystrokes or mouse) and then executing the function of that action, for example, processing AID keys, reseting the cursor at the mouse position, inputing characters fron the virtual keyboards, inhibiting the keyboard,etc. DIRECTORY Em3270PrivDefs, NtDefs USING [Fun, Funrepeat, Special3270Key], SchemaDefs USING [Lschema, Pvprocessbut], StandardDefs USING [Ch, Cv, String]; Em3270UserInputDefs: DEFINITIONS = BEGIN OPEN Em3270PrivDefs, StandardDefs; --=================== -- Public Types --=================== KeyProc: TYPE = PROCEDURE [ lschema: SchemaDefs.Lschema, key: NtDefs.Special3270Key _ special3270Alpha]; KeyProcessor: TYPE = ARRAY NtDefs.Special3270Key OF KeyProc; AIDType: TYPE = {ReadModify, ShortRead, TstReqRead}; AIDVal: TYPE = { clear, cursorSel, enter, noAID, PA1, PA2, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, sysReq, testReq}; --=================== -- Constants --=================== AIDCodes: ARRAY AIDVal OF CHARACTER = [ -- see Attention ID Configurations figure, IBM COM. Des. clear: 155C, -- 6D Hex cursorSel: 176C, -- 7E Hex enter: 175C, -- 7D Hex noAID: 140C, -- 60 Hex PA1: 154C, -- 6C Hex PA2: 156C, -- 6E Hex PF1: 361C, -- F1 Hex PF2: 362C, -- F2 Hex PF3: 363C, -- F3 Hex PF4: 364C, -- F4 Hex PF5: 365C, -- F5 Hex PF6: 366C, -- F6 Hex PF7: 367C, -- F7 Hex PF8: 370C, -- F8 Hex PF9: 371C, -- F9 Hex PF10: 172C, -- 7A Hex PF11: 173C, -- 7B Hex PF12: 174C, -- 7C Hex sysReq: 360C, -- F0 Hex testReq: 360C]; -- F0 Hex --=================== -- Public Procedures --=================== DoProcessBut: SchemaDefs.Pvprocessbut; --Handle legal button selections Reset: KeyProc; -- Clear the status area of all symbols, rebuilds the online ones, and sets Emulator global status to system available. ProcessInputChar: PROCEDURE [lschema: SchemaDefs.Lschema, string: String]; -- Process a normal alphanumeric character from the main keyboard array Process3270Keyes: PROCEDURE [ lschema: SchemaDefs.Lschema, key: NtDefs.Special3270Key]; -- Process a 3270-unique character fron the virtual keyboard ProcessFuntion: PROCEDURE [lschema: SchemaDefs.Lschema, fun: NtDefs.Fun]; -- Process Star function keyes ProcessFunRepeat: PROCEDURE [ lschema: SchemaDefs.Lschema, cvFunrepeat: Cv, funrepeat: NtDefs.Funrepeat]; -- Process Function keyes which can repeat Create: PROCEDURE [lschema: SchemaDefs.Lschema]; -- About to start a new 3270 session. Do whatever initialization necessary. Destroy: PROCEDURE [lschema: SchemaDefs.Lschema]; -- The current is about to end. Cleanup yourself. ResetAIDStatus: PROCEDURE [lschema: SchemaDefs.Lschema]; -- Reset the AID because a WCC byte whose reset bit was on was recieved. DoReadMod: PROCEDURE [ lschema: SchemaDefs.Lschema, buffer: LptBufferData, lptPutBuf: LptBufOfChar, aidCode: Ch, accessMode: AccessMode _ keyMode]; --=================== -- Modules --=================== Em3270UserInputPack: PRIVATE PROGRAM; END. -- of Em3270UserInputDefs LOG March 7, 1982 - Kernaghan - Created Em3270UserInput 30-Jun-83 14:07:44 - Lui -- support for Read Modified.