home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v2.zip / DDKX86 / DBCSDD / INC_DBCS / VKBD.INC < prev    next >
Text File  |  1995-04-14  |  6KB  |  174 lines

  1. ;*DDK*************************************************************************/
  2. ;
  3. ; COPYRIGHT (C) Microsoft Corporation, 1989
  4. ; COPYRIGHT    Copyright (C) 1995 IBM Corporation
  5. ;
  6. ;    The following IBM OS/2 WARP source code is provided to you solely for
  7. ;    the purpose of assisting you in your development of OS/2 WARP device
  8. ;    drivers. You may use this code in accordance with the IBM License
  9. ;    Agreement provided in the IBM Device Driver Source Kit for OS/2. This
  10. ;    Copyright statement may not be removed.;
  11. ;*****************************************************************************/
  12. ;***    VKBD.INC
  13. ;
  14. ;
  15. ;    MVDM Virtual Keyboard Exported Definitions
  16. ;
  17. ;    For include file hierarchy, see MVDM.INC
  18. ;
  19. ;
  20. ;    MODIFICATION HISTORY
  21. ;    10/11/88    Created.
  22. ;
  23.  
  24.  
  25. ifndef INCL_NONE           ;include everything by default
  26. INCL_VKBD    EQU 1
  27. endif
  28.  
  29. ifdef  INCL_VKBD
  30. INCL_VKBDSYSREQ        EQU 1
  31. INCL_VKBDINTERFACES    EQU 1
  32. endif
  33.  
  34.  
  35.  
  36. ifdef  INCL_VKBDSYSREQ
  37.  
  38. ;***    VKBD constants
  39. ;
  40.  
  41. VKBD_NAME    EQU    "VKBD$"
  42.  
  43.  
  44. ;***    VKBD constants for PMVDMP                       ;ss0007
  45. ;                                       ;ss0007
  46. ifdef  INCL_NLSSHLD                              ;ss0007
  47.                                        ;ss0007
  48. NIP_PMINPUTMETHOD    EQU    00000h    ;Current Input method is of PM     ;ss0008
  49. NIP_FSINPUTMETHOD    EQU    00001h    ;Current Input method is of FS     ;ss0008
  50. NIP_PS55    EQU    00000h    ;PS/55 BIOS : bit 2-1 : 0 0     ;ss0008
  51. NIP_PS2        EQU    00002h    ;PS/2  BIOS :        0 1     ;ss0008
  52.                     ;PS/55 GALE :(reserved) 1 0         ;ss0008
  53.                     ;Reserved    :        1 1         ;ss0008
  54. endif  ;INCL_NLSSHLD                             //ss0007
  55.  
  56. ; VKBD functions for use by PMVDMP
  57. ;
  58. VKBDSYSREQ_SETACCESS    EQU    1   ;Obtain exclusive access for VDM
  59. VKBDSYSREQ_SETFOCUS    EQU    2   ;Notify VDM is gaining/losing focus
  60. VKBDSYSREQ_POSTSCAN    EQU    3   ;Send scan code (typed)
  61. VKBDSYSREQ_POSTCHAR    EQU    4   ;Send character code (pasted)
  62. VKBDSYSREQ_MONREGIST    EQU    5   ;Register Monitor into VKBD              ;ss0001
  63. VKBDSYSREQ_MONDEREGIST    EQU    6   ;Deregister Monitor from VKBD          ;ss0001
  64. VKBDSYSREQ_MONREAD    EQU    7   ;Read key-stroke                  ;ss0001
  65. VKBDSYSREQ_MONWRITE    EQU    8   ;Write key-stroke                  ;ss0001
  66. VKBDSYSREQ_SETSHIFT    EQU    9   ;Set Keyboard shift status              ;ss0001
  67. VKBDSYSREQ_GETSHIFT    EQU    10   ;Get Keyboard shift status               ;ss0001
  68. VKBDSYSREQ_REGWVDM    EQU    11   ;Register PMFEP into VKBD               ;ss0006
  69. VKBDSYSREQ_DEREGWVDM    EQU    12   ;Deregister PMFEP from VKBD           ;ss0006
  70. VKBDSYSREQ_READWVDM    EQU    13   ;Read key-stroke                   ;ss0006
  71. VKBDSYSREQ_WRITEWVDM    EQU    14   ;Write key-stroke                   ;ss0006
  72. VKBDSYSREQ_MAX    EQU    14                         ;ss0006
  73.  
  74.  
  75. ;***    VKBD data types
  76. ;
  77.  
  78. DefStruc ,keypkt_s            ;kp (for VKBDSYSREQ_POSTSCAN/CHAR)
  79.     UCHAR    kp_Scan           ;scan code
  80.     UCHAR    kp_Char           ;translated char
  81.     USHORT    kp_fsState       ;shift states
  82.     USHORT    kp_fsDDFlags       ;translated flags
  83.     USHORT    kp_fsKey       ;key flags
  84. EndStruc KEYPKT
  85. DefType PKEYPKT,dd
  86. DefType PPKEYPKT,dd
  87.  
  88. DefStruc ,shiftpkt_s            ;sp (for VKBDSYSREQ_SETFOCUS)
  89.     USHORT    fSetFocus       ;TRUE to set focus, FALSE to clear focus
  90.     USHORT    fsShift           ;PM shift states during set focus
  91.                     ;  undefined during clear focus
  92. EndStruc SHIFTPKT
  93. DefType PSHIFTPKT,dd
  94. DefType PPSHIFTPKT,dd
  95.  
  96. VKBDEVENT_CREATE    EQU    0                       ;ss0001
  97. VKBDEVENT_TERM    EQU    1                       ;ss0001
  98.  
  99. VKBDEVENT_KEY    EQU    2                       ;ss0001
  100. VKBDEVENT_SHIFT        EQU    3                       ;ss0001
  101. VKBDEVENT_DOS_SHIFT    EQU    4                       ;ss0002
  102.  
  103. VKBDEVENT_CHG_ENV    EQU    5                       ;ss0012
  104.  
  105. VKBD_KKC_DOS    EQU    00000h                       ;ss0012
  106. VKBD_KKC_SHARED        EQU    00001h                       ;ss0012
  107.  
  108. VKBD_VDMIMFEP_MODE    EQU    00000h                       ;ss0012
  109. VKBD_VDMPMFEP_MODE    EQU    00002h                       ;ss0012
  110.  
  111. VKBD_REG_VDMIMFEP    EQU    00001h                       ;ss0006
  112. VKBD_REG_VDMPMFEP    EQU    00002h                       ;ss0006
  113.  
  114. VKBD_US_BIOS_MODE    EQU    08000h                       ;ss0020
  115. VKBD_JP_BIOS_DOSV    EQU    00002h      ;1 means Environment is DOSV        ;ss0020
  116.  
  117. VKBD_ENV_TO_FULLSCREEN    EQU    0                       ;ss0012
  118. VKBD_ENV_TO_WINDOWED    EQU    1                       ;ss0012
  119.  
  120. DefStruc ,vkevent_s            ;ve (for DBCS SystemReq)       ;ss0001
  121.     USHORT    ve_event_id                          ;ss0001
  122.     SGID    ve_sgid                              ;ss0001
  123.     UCHAR    ve_monitor_flag                          ;ss0001
  124.     UCHAR    ve_r_scancode                          ;ss0001
  125.     UCHAR    ve_charcode                          ;ss0001
  126.     UCHAR    ve_scancode                          ;ss0001
  127.     UCHAR    ve_nlsstate                          ;ss0001
  128.     UCHAR    ve_nlsshift                          ;ss0001
  129.     USHORT    ve_shift                          ;ss0001
  130.     ULONG    ve_timestamp                          ;ss0001
  131.     USHORT    ve_DDFlags                          ;ss0001
  132. EndStruc VKEVENT                                 ;ss0001
  133.  
  134. DefType PVKEVENT,dd            ;ss0001
  135.  
  136. ;ss0010       Property Entry Name
  137. ;ss0031 DBCS_INPUT_METHOD_LIST    EQU    "FS Input Method in Windowed DOS\0PM Input Method in Windowed DOS\0Using DOS KKC Device Driver\0"
  138. DBCS_INPUT_METHOD_LIST    EQU    "OS2_FS_FEP\0PM_FEP\0DOS_FEP\0"            ;ss0031
  139.  
  140. ;ss0014 Following definitions are moved to PROPNAME.INC                 //ss0014
  141. ;SINGLE_INPUT_METHOD    EQU    "FS Input Method in Windowed DOS"          //ss0010
  142. ;DUAL_INPUT_METHODS    EQU    "PM Input Method in Windowed DOS"          //ss0010
  143. ;DOS_KKC_MODE    EQU    "Using DOS KKC Device Driver"              //ss0010
  144. ;ss0010
  145.  
  146. endif ;INCL_VKBDSYSREQ
  147.  
  148.  
  149.  
  150. ;***    VKBD function prototypes
  151. ;
  152.  
  153. ifdef INCL_VKBDINTERFACES
  154.  
  155. DefType PFNSCRNP,dd
  156.  
  157. VDHENTRY VDHRegisterScreenProc        <PFNSCRNP>
  158. VDHENTRY VDHQueryKeyShift        <HVDM>
  159.  
  160. ;VPL Idle detection services
  161. VDHENTRY VDHWakeIdle        <HVDM>
  162. VDHENTRY VDHReportPeek        <ULONG>
  163. VDHENTRY VDHNotIdle        <VOID>
  164. VDHENTRY VDHGetBusyFlagPtr        <void>
  165.  
  166. ;requests for SVC access to VPL polling services
  167. VPL_NAME    EQU    "VPL_IDLE"
  168. VDHVPL_BUSY_ADDR    EQU    0      ;provide V86 busy byte address
  169. VDHVPL_WAIT    EQU    1      ;make VDM sleep
  170. VDHVPL_NOIDLE    EQU    2      ;Turn idle detection off
  171. VDHVPL_WAKE    EQU    3      ;Report busy activity
  172.  
  173. endif
  174.