home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cdisk.zip
/
VDD
/
VKBD.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-08
|
2KB
|
83 lines
/*** VKBD.H
*
* For include file hierarchy, see MVDM.H
*
*/
#ifndef INCL_NONE /* include everything by default */
#define INCL_VKBD
#endif
#ifdef INCL_VKBD
#define INCL_VKBDSYSREQ
#define INCL_VKBDINTERFACES
#endif
#ifdef INCL_VKBDSYSREQ
/*** VKBD constants
*/
#define VKBD_NAME "VKBD$"
/* VKBD functions for use by PMVDMP
*/
#define VKBDSYSREQ_SETACCESS 1 /* Obtain exclusive access for VDM */
#define VKBDSYSREQ_SETFOCUS 2 /* Notify VDM is gaining/losing focus */
#define VKBDSYSREQ_POSTSCAN 3 /* Send scan code (typed) */
#define VKBDSYSREQ_POSTCHAR 4 /* Send character code (pasted) */
#define VKBDSYSREQ_MAX 4
/*** VKBD data types
*/
typedef struct keypkt_s { /* kp (for VKBDSYSREQ_POSTSCAN/CHAR) */
UCHAR kp_Scan; /* scan code */
UCHAR kp_Char; /* translated char */
USHORT kp_fsState; /* shift states */
USHORT kp_fsDDFlags; /* translated flags */
USHORT kp_fsKey; /* key flags */
} KEYPKT;
typedef KEYPKT *PKEYPKT;
typedef PKEYPKT *PPKEYPKT;
typedef struct shiftpkt_s { /* sp (for VKBDSYSREQ_SETFOCUS) */
USHORT fSetFocus; /* TRUE to set focus, FALSE to clear focus */
USHORT fsShift; /* PM shift states during set focus */
/* undefined during clear focus */
} SHIFTPKT;
typedef SHIFTPKT *PSHIFTPKT;
typedef PSHIFTPKT *PPSHIFTPKT;
#endif /* INCL_VKBDSYSREQ */
/*** VKBD function prototypes
*/
#ifdef INCL_VKBDINTERFACES
typedef (*PASCAL PFNSCRNP)(VOID);
VOID VDHENTRY VDHRegisterScreenProc(PFNSCRNP);
USHORT VDHENTRY VDHQueryKeyShift(HVDM);
/* VPL Idle detection services */
VOID VDHENTRY VDHWakeIdle(HVDM);
VOID VDHENTRY VDHReportPeek(ULONG);
VOID VDHENTRY VDHNotIdle(VOID);
/* requests for SVC access to VPL polling services */
#define VPL_NAME "VPL_IDLE"
#define VDHVPL_BUSY_ADDR 0 /* provide V86 busy byte address */
#define VDHVPL_WAIT 1 /* make VDM sleep */
#define VDHVPL_NOIDLE 2 /* Turn idle detection off */
#define VDHVPL_WAKE 3 /* Report busy activity */
#endif