home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / inc / vkbd.inc < prev    next >
Text File  |  1999-04-30  |  4KB  |  160 lines

  1. ;***    VKBD.INC
  2. ;
  3. ;
  4. ;    MVDM Virtual Keyboard Exported Definitions
  5. ;    Copyright (c) 1988,1989 Microsoft Corporation
  6. ;
  7. ;    For include file hierarchy, see MVDM.INC
  8. ;
  9. ;
  10. ;    MODIFICATION HISTORY
  11. ;    10/11/88    Created.
  12. ;    07/08/96  EA    Merge DBCS VKBD support.            ;@IBMJ
  13. ;    08/07/96  NSu    remove PM_FEP  rename OS2_FS_FEP to OS2_FEP  defect355j
  14. ;
  15.  
  16.  
  17. ifndef INCL_NONE           ;include everything by default
  18. INCL_VKBD    EQU 1
  19. endif
  20.  
  21. ifdef  INCL_VKBD
  22. INCL_VKBDSYSREQ        EQU 1
  23. INCL_VKBDINTERFACES    EQU 1
  24. endif
  25.  
  26.  
  27.  
  28. ifdef  INCL_VKBDSYSREQ
  29.  
  30. ;***    VKBD constants
  31. ;
  32.  
  33. VKBD_NAME    EQU    "VKBD$"
  34.  
  35. ; VKBD functions for use by PMVDMP
  36. ;
  37. ifdef  INCL_NLSSHLD                              ;@IBMJ
  38.                                        ;@IBMJ
  39. NIP_PMINPUTMETHOD    EQU    00000h    ;Current Input method is of PM     ;@IBMJ
  40. NIP_FSINPUTMETHOD    EQU    00001h    ;Current Input method is of FS     ;@IBMJ
  41. NIP_PS55    EQU    00000h    ;PS/55 BIOS : bit 2-1 : 0 0     ;@IBMJ
  42. NIP_PS2        EQU    00002h    ;PS/2  BIOS :        0 1     ;@IBMJ
  43.                     ;PS/55 GALE :(reserved) 1 0         ;@IBMJ
  44.                     ;Reserved    :        1 1         ;@IBMJ
  45. endif  ;INCL_NLSSHLD                             //@IBMJ
  46.  
  47. VKBDSYSREQ_SETACCESS    EQU    1   ;Obtain exclusive access for VDM
  48. VKBDSYSREQ_SETFOCUS    EQU    2   ;Notify VDM is gaining/losing focus
  49. VKBDSYSREQ_POSTSCAN    EQU    3   ;Send scan code (typed)
  50. VKBDSYSREQ_POSTCHAR    EQU    4   ;Send character code (pasted)
  51. ;@IBMJ VKBDSYSREQ_MAX    EQU    4
  52. VKBDSYSREQ_MONREGIST    EQU    5   ;Register Monitor into VKBD          ;@IBMJ
  53. VKBDSYSREQ_MONDEREGIST    EQU    6   ;Deregister Monitor from VKBD     ;@IBMJ
  54. VKBDSYSREQ_MONREAD    EQU    7   ;Read key-stroke              ;@IBMJ
  55. VKBDSYSREQ_MONWRITE    EQU    8   ;Write key-stroke              ;@IBMJ
  56. VKBDSYSREQ_SETSHIFT    EQU    9   ;Set Keyboard shift status          ;@IBMJ
  57. VKBDSYSREQ_GETSHIFT    EQU    10   ;Get Keyboard shift status           ;@IBMJ
  58. VKBDSYSREQ_REGWVDM    EQU    11   ;Register PMFEP into VKBD           ;@IBMJ
  59. VKBDSYSREQ_DEREGWVDM    EQU    12   ;Deregister PMFEP from VKBD       ;@IBMJ
  60. VKBDSYSREQ_READWVDM    EQU    13   ;Read key-stroke               ;@IBMJ
  61. VKBDSYSREQ_WRITEWVDM    EQU    14   ;Write key-stroke               ;@IBMJ
  62. VKBDSYSREQ_MAX    EQU    14                     ;@IBMJ
  63.  
  64.  
  65. ;***    VKBD data types
  66. ;
  67.  
  68. DefStruc ,keypkt_s            ;kp (for VKBDSYSREQ_POSTSCAN/CHAR)
  69.     UCHAR    kp_Scan           ;scan code
  70.     UCHAR    kp_Char           ;translated char
  71.     USHORT    kp_fsState       ;shift states
  72.     USHORT    kp_fsDDFlags       ;translated flags
  73.     USHORT    kp_fsKey       ;key flags
  74. EndStruc KEYPKT
  75. DefType PKEYPKT,dd
  76. DefType PPKEYPKT,dd
  77.  
  78. DefStruc ,shiftpkt_s            ;sp (for VKBDSYSREQ_SETFOCUS)
  79.     USHORT    fSetFocus       ;TRUE to set focus, FALSE to clear focus
  80.     USHORT    fsShift           ;PM shift states during set focus
  81.                     ;  undefined during clear focus
  82. EndStruc SHIFTPKT
  83. DefType PSHIFTPKT,dd
  84. DefType PPSHIFTPKT,dd
  85.  
  86. ;@IBMJ Start
  87. VKBDEVENT_CREATE    EQU    0
  88. VKBDEVENT_TERM    EQU    1
  89.  
  90. VKBDEVENT_KEY    EQU    2
  91. VKBDEVENT_SHIFT        EQU    3
  92. VKBDEVENT_DOS_SHIFT    EQU    4
  93.  
  94. VKBDEVENT_CHG_ENV    EQU    5
  95.  
  96. VKBD_KKC_DOS    EQU    00000h
  97. VKBD_KKC_SHARED        EQU    00001h
  98.  
  99. VKBD_VDMIMFEP_MODE    EQU    00000h
  100. VKBD_VDMPMFEP_MODE    EQU    00002h
  101.  
  102. VKBD_REG_VDMIMFEP    EQU    00001h
  103. VKBD_REG_VDMPMFEP    EQU    00002h
  104.  
  105. VKBD_US_BIOS_MODE    EQU    08000h
  106. VKBD_JP_BIOS_DOSV    EQU    00002h      ;1 means Environment is DOSV
  107.  
  108. VKBD_ENV_TO_FULLSCREEN    EQU    0
  109. VKBD_ENV_TO_WINDOWED    EQU    1
  110.  
  111. DefStruc ,vkevent_s            ;ve (for DBCS SystemReq)
  112.     USHORT    ve_event_id
  113.     SGID    ve_sgid
  114.     UCHAR    ve_monitor_flag
  115.     UCHAR    ve_r_scancode
  116.     UCHAR    ve_charcode
  117.     UCHAR    ve_scancode
  118.     UCHAR    ve_nlsstate
  119.     UCHAR    ve_nlsshift
  120.     USHORT    ve_shift
  121.     ULONG    ve_timestamp
  122.     USHORT    ve_DDFlags
  123. EndStruc VKEVENT
  124.  
  125. DefType PVKEVENT,dd
  126.  
  127. DBCS_INPUT_METHOD_LIST_J    EQU    "OS2_FS_FEP\0DOS_FEP\0"        ;@ibmj 355j 551j 2938j-
  128. DBCS_INPUT_METHOD_LIST_K    EQU    "DOS_FEP\0"   ;@IBM K-BS1116A 2938j-
  129.  
  130. ;@IBMJ End
  131.  
  132. endif ;INCL_VKBDSYSREQ
  133.  
  134.  
  135.  
  136. ;***    VKBD function prototypes
  137. ;
  138.  
  139. ifdef INCL_VKBDINTERFACES
  140.  
  141. DefType PFNSCRNP,dd
  142.  
  143. VDHENTRY VDHRegisterScreenProc        <PFNSCRNP>
  144. VDHENTRY VDHQueryKeyShift        <HVDM>
  145.  
  146. ;VPL Idle detection services
  147. VDHENTRY VDHWakeIdle        <HVDM>
  148. VDHENTRY VDHReportPeek        <ULONG>
  149. VDHENTRY VDHNotIdle        <VOID>
  150. VDHENTRY VDHGetBusyFlagPtr        <void>
  151.  
  152. ;requests for SVC access to VPL polling services
  153. VPL_NAME    EQU    "VPL_IDLE"
  154. VDHVPL_BUSY_ADDR    EQU    0      ;provide V86 busy byte address
  155. VDHVPL_WAIT    EQU    1      ;make VDM sleep
  156. VDHVPL_NOIDLE    EQU    2      ;Turn idle detection off
  157. VDHVPL_WAKE    EQU    3      ;Report busy activity
  158.  
  159. endif
  160.