home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ddkx86v1.zip
/
DDKX86
/
H
/
VKBD.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-04-14
|
3KB
|
104 lines
/*DDK*************************************************************************/
/* */
/* COPYRIGHT (C) Microsoft Corporation, 1989 */
/* COPYRIGHT Copyright (C) 1995 IBM Corporation */
/* */
/* The following IBM OS/2 WARP source code is provided to you solely for */
/* the purpose of assisting you in your development of OS/2 WARP device */
/* drivers. You may use this code in accordance with the IBM License */
/* Agreement provided in the IBM Device Driver Source Kit for OS/2. This */
/* Copyright statement may not be removed. */
/* */
/*****************************************************************************/
/*static char *SCCSID = "@(#)vkbd.h 6.6 92/02/14";*/
/*** VKBD.H
*
* SCCSID = @(#)vkbd.h 6.6 92/02/14
*
* MVDM Virtual Keyboard Exported Definitions
*
* For include file hierarchy, see MVDM.H
*
*
* MODIFICATION HISTORY
* 10/11/88 Created.
*/
#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);
BOOL * VDHENTRY VDHGetBusyFlagPtr(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