home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2BAS.ZIP / WININPUT.BI < prev    next >
Encoding:
Text File  |  1989-07-25  |  5.5 KB  |  187 lines

  1. '**************************************************************
  2. '*
  3. '* Include File: WinInput
  4. '*
  5. '* Requires:     none
  6. '*
  7. '* Description:  Keyboard and mouse input stuff
  8. '*
  9. '*************************************************************
  10.  
  11. '** Keyboard and mouse input COMMON subsection 
  12. DECLARE FUNCTION WinSetFocus%(BYVAL hwndDesktop AS LONG,_
  13.                               BYVAL hwndSetFocus AS LONG)
  14.  
  15. DECLARE FUNCTION WinFocusChange%(BYVAL hwndDesktop AS LONG,_
  16.                                  BYVAL hwndSetFocus AS LONG,_
  17.                                  BYVAL fsFocusChange AS INTEGER)
  18.  
  19. CONST FCNOSETFOCUS              = &H0001
  20. CONST FCNOLOSEFOCUS             = &H0002
  21. CONST FCNOSETACTIVE             = &H0004
  22. CONST FCNOLOSEACTIVE            = &H0008
  23. CONST FCNOSETSELECTION          = &H0010
  24. CONST FCNOLOSESELECTION         = &H0020
  25.  
  26. CONST QFCNEXTINCHAIN             = &H0001
  27. CONST QFCACTIVE                  = &H0002
  28. CONST QFCFRAME                   = &H0003
  29. CONST QFCSELECTACTIVE            = &H0004
  30.  
  31. DECLARE FUNCTION WinSetCapture%(BYVAL hwndDesktop AS LONG,_
  32.                                 BYVAL hwnd AS LONG)
  33.  
  34. DECLARE FUNCTION WinQueryCapture&(BYVAL hwndDesktop AS LONG,_
  35.                                   BYVAL fLock AS INTEGER)
  36.  
  37. ' Mouse input messages 
  38.  
  39. CONST WMMOUSEFIRST       = &H0070
  40. CONST WMMOUSELAST        = &H0079
  41. CONST WMBUTTONCLICKFIRST = &H0071
  42. CONST WMBUTTONCLICKLAST  = &H0079
  43.  
  44. CONST WMMOUSEMOVE        = &H0070
  45.  
  46. CONST WMBUTTON1DOWN      = &H0071
  47.  
  48. CONST WMBUTTON1UP        = &H0072
  49. CONST WMBUTTON1DBLCLK    = &H0073
  50. CONST WMBUTTON2DOWN      = &H0074
  51. CONST WMBUTTON2UP        = &H0075
  52. CONST WMBUTTON2DBLCLK    = &H0076
  53. CONST WMBUTTON3DOWN      = &H0077
  54. CONST WMBUTTON3UP        = &H0078
  55. CONST WMBUTTON3DBLCLK    = &H0079
  56.  
  57. DECLARE FUNCTION WinQueryFocus&(BYVAL hwndDesktop AS LONG,_
  58.                                 BYVAL fLock AS INTEGER)
  59.  
  60. ' Key/Character input msg     
  61.  
  62. CONST WMCHAR             = &H007a
  63. CONST WMVIOCHAR          = &H007b
  64.  
  65. ' WMCHAR fs field bits 
  66.  
  67. CONST KCCHAR             = &H0001
  68. CONST KCVIRTUALKEY       = &H0002
  69. CONST KCSCANCODE         = &H0004
  70.  
  71. CONST KCSHIFT            = &H0008
  72. CONST KCCTRL             = &H0010
  73. CONST KCALT              = &H0020
  74. CONST KCKEYUP            = &H0040
  75. CONST KCPREVDOWN         = &H0080
  76. CONST KCLONEKEY          = &H0100
  77. CONST KCDEADKEY          = &H0200
  78. CONST KCCOMPOSITE        = &H0400
  79. CONST KCINVALIDCOMP      = &H0800
  80. CONST KCTOGGLE           = &H1000
  81. CONST KCINVALIDCHAR      = &H2000
  82. CONST KCDBCSRSRVD1        = &H4000
  83. CONST KCDBCSRSRVD2        = &H8000
  84.  
  85. '
  86. ' * The following structure and macro are used to access the
  87. ' * WMMOUSEMOVE, and WMBUTTON* message parameters
  88. TYPE MOUSEMSG 
  89.     codeHitTest AS INTEGER     ' mp2 
  90.     unused AS INTEGER
  91.     x AS INTEGER               ' mp1 
  92.     y AS INTEGER
  93. END TYPE
  94.  
  95. '
  96. ' * The following structure and macro are used to access the
  97. ' * WMCHAR message parameters.
  98. TYPE CHARMSG 
  99.     chr AS INTEGER             ' mp2 
  100.     vkey AS INTEGER
  101.     fs AS INTEGER              ' mp1 
  102.     cRepeat AS STRING *1
  103.     scancode AS STRING *1
  104. END TYPE
  105.  
  106. '** Virtual key values 
  107.  
  108. CONST VKBUTTON1      = &H01
  109. CONST VKBUTTON2      = &H02
  110. CONST VKBUTTON3      = &H03
  111. CONST VKBREAK        = &H04
  112. CONST VKBACKSPACE    = &H05
  113. CONST VKTAB          = &H06
  114. CONST VKBACKTAB      = &H07
  115. CONST VKNEWLINE      = &H08
  116. CONST VKSHIFT        = &H09
  117. CONST VKCTRL         = &H0A
  118. CONST VKALT          = &H0B
  119. CONST VKALTGRAF      = &H0C
  120. CONST VKPAUSE        = &H0D
  121. CONST VKCAPSLOCK     = &H0E
  122. CONST VKESC          = &H0F
  123. CONST VKSPACE        = &H10
  124. CONST VKPAGEUP       = &H11
  125. CONST VKPAGEDOWN     = &H12
  126. CONST VKEND          = &H13
  127. CONST VKHOME         = &H14
  128. CONST VKLEFT         = &H15
  129. CONST VKUP           = &H16
  130. CONST VKRIGHT        = &H17
  131. CONST VKDOWN         = &H18
  132. CONST VKPRINTSCRN    = &H19
  133. CONST VKINSERT       = &H1A
  134. CONST VKDELETE       = &H1B
  135. CONST VKSCRLLOCK     = &H1C
  136. CONST VKNUMLOCK      = &H1D
  137. CONST VKENTER        = &H1E
  138. CONST VKSYSRQ        = &H1F
  139. CONST VKF1           = &H20
  140. CONST VKF2           = &H21
  141. CONST VKF3           = &H22
  142. CONST VKF4           = &H23
  143. CONST VKF5           = &H24
  144. CONST VKF6           = &H25
  145. CONST VKF7           = &H26
  146. CONST VKF8           = &H27
  147. CONST VKF9           = &H28
  148. CONST VKF10          = &H29
  149. CONST VKF11          = &H2A
  150. CONST VKF12          = &H2B
  151. CONST VKF13          = &H2C
  152. CONST VKF14          = &H2D
  153. CONST VKF15          = &H2E
  154. CONST VKF16          = &H2F
  155. CONST VKF17          = &H30
  156. CONST VKF18          = &H31
  157. CONST VKF19          = &H32
  158. CONST VKF20          = &H33
  159. CONST VKF21          = &H34
  160. CONST VKF22          = &H35
  161. CONST VKF23          = &H36
  162. CONST VKF24          = &H37
  163.  
  164. DECLARE FUNCTION WinGetKeyState%(BYVAL hwndDesktop AS LONG,_
  165.                                  BYVAL vkey AS INTEGER)
  166.  
  167. DECLARE FUNCTION WinGetPhysKeyState%(BYVAL hwndDesktop AS LONG,_
  168.                                      BYVAL sc AS INTEGER)
  169.  
  170. DECLARE FUNCTION WinEnablePhysInput%(BYVAL hwndDesktop AS LONG,_
  171.                                      BYVAL fEnable AS INTEGER)
  172.  
  173. DECLARE FUNCTION WinIsPhysInputEnabled%(BYVAL hwndDesktop AS LONG)
  174.  
  175. DECLARE FUNCTION WinSetKeyboardStateTable%(BYVAL hwndDesktop AS LONG,_
  176.                                            BYVAL pKeyStateTable AS LONG,_
  177.                                            BYVAL fSet AS INTEGER)
  178.  
  179. ' Journal Notification messages  
  180. CONST WMJOURNALNOTIFY    = &H007c
  181.  
  182. '** Define the valid commands (lParm1) for journal notify message 
  183. CONST JRNQUEUESTATUS     = &H00000001
  184. CONST JRNPHYSKEYSTATE    = &H00000002
  185.