| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * KBD.DEF - Modula-2 OS/2 API Keyboard functions *
- * *
- * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# call(o_a_size => off,
- o_a_copy=>off,
- result_optional=>on,
- reg_saved => (bx, cx, dx, si, di, es, ds, st1, st2),
- reg_param => (),
- seg_name => none,
- same_ds => off,
- near_call => off,
- ds_eq_ss => off) *)
- (*# module(implementation=>off, init_code => off) *)
- (*# name(prefix => os2_lib) *)
- (*# data(near_ptr => off) *)
- DEFINITION MODULE Kbd;
- CONST
- IO_WAIT = 0; IO_NOWAIT = 1;
- TYPE
- HKBD = CARDINAL;
- KEYINFO = RECORD
- char : CHAR;
- scan : SHORTCARD;
- status : SHORTCARD;
- nlsShift : SHORTCARD;
- state : BITSET;
- time : LONGCARD;
- END;
- STRINGINBUF = RECORD
- b : CARDINAL;
- chIn : CARDINAL;
- END;
- KBDINFO = RECORD
- b : CARDINAL;
- mask : BITSET;
- turnAround : CARDINAL;
- interim : BITSET;
- state : BITSET;
- END;
- HWID = RECORD
- cb : CARDINAL; (* length in byte of the structure *)
- idKbd : CARDINAL; (* attached keyboard's hardware id *)
- Rsvd1 : CARDINAL; (* reserved (set to 0) *)
- Rsvd2 : CARDINAL; (* reserved (set to 0) *)
- END;
- KEYTRANS = RECORD
- key : KEYINFO;
- dd : BITSET;
- xlate : BITSET;
- shift : CARDINAL;
- zero : CARDINAL;
- END;
- PROCEDURE CharIn(VAR buffer:KEYINFO; iowait:CARDINAL; handle:HKBD) : CARDINAL;
- PROCEDURE Peek(VAR buffer:KEYINFO; handle:HKBD) : CARDINAL;
- PROCEDURE StringIn(VAR buffer:ARRAY OF CHAR; VAR bufflng:STRINGINBUF; iowait:CARDINAL; handle:HKBD) : CARDINAL;
- PROCEDURE FlushBuffer(handle:HKBD) : CARDINAL;
- PROCEDURE SetStatus(VAR structure:KBDINFO; handle:HKBD) : CARDINAL;
- PROCEDURE GetStatus(VAR structure:KBDINFO; handle:HKBD) : CARDINAL;
- PROCEDURE SetCp(rsrvd:CARDINAL; cpage:CARDINAL; handle:HKBD) : CARDINAL;
- PROCEDURE GetCp(rsrvd:LONGCARD; VAR cpage:CARDINAL; handle:HKBD) : CARDINAL;
- PROCEDURE Open(VAR handle:HKBD) : CARDINAL;
- PROCEDURE Close(handle:HKBD) : CARDINAL;
- PROCEDURE GetFocus(iowait:CARDINAL; handle:HKBD) : CARDINAL;
- PROCEDURE FreeFocus(handle:HKBD) : CARDINAL;
- PROCEDURE Synch(iowait:CARDINAL) : CARDINAL;
- PROCEDURE SetFgnd() : CARDINAL;
- PROCEDURE KbdGetHWID(VAR id:HWID; h:HKBD): CARDINAL;
- PROCEDURE Xlate(VAR xrec:KEYTRANS; handle:HKBD) : CARDINAL;
- PROCEDURE SetCustXt(VAR cpage:CARDINAL; handle:HKBD) : CARDINAL;
- TYPE KBDFUNC = (CHARIN,PEEK,FLUSHBUFFER,GETSTATUS,SETSTATUS,STRINGIN,
- OPEN,CLOSE,GETFOCUS,FREEFOCUS,GETCP,SETCP,XLATE,SETCUSTXT,
- _14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,
- _28,_29,_30,_31);
- KBDFUNCSET = SET OF KBDFUNC ;
- PROCEDURE Register(name,entry:ARRAY OF CHAR; mask:KBDFUNCSET) : CARDINAL;
- PROCEDURE DeRegister() : CARDINAL;
- END Kbd.
|