]> gitweb.factorcode.org Git - factor.git/commitdiff
fix dinput compile errors
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 16 Dec 2008 04:08:03 +0000 (22:08 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Tue, 16 Dec 2008 04:08:03 +0000 (22:08 -0600)
basis/windows/dinput/dinput.factor [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 0c75f43..76cba4f
@@ -1,5 +1,6 @@
 USING: windows.kernel32 windows.ole32 windows.com windows.com.syntax
-alien alien.c-types alien.syntax kernel system namespaces math ;
+alien alien.c-types alien.syntax kernel system namespaces math constants
+alias ;
 IN: windows.dinput
 
 <<
@@ -384,314 +385,314 @@ COM-INTERFACE: IDirectInput8W IUnknown {BF798031-483A-4DA2-AA99-5D64ED369700}
 
 FUNCTION: HRESULT DirectInput8Create ( HINSTANCE hinst, DWORD dwVersion, REFIID riidtlf, LPVOID* ppvOut, LPUNKNOWN punkOuter ) ;
 
-: DIRECTINPUT_VERSION HEX: 0800 ; inline
-
-: DI8DEVCLASS_ALL             0 ; inline
-: DI8DEVCLASS_DEVICE          1 ; inline
-: DI8DEVCLASS_POINTER         2 ; inline
-: DI8DEVCLASS_KEYBOARD        3 ; inline
-: DI8DEVCLASS_GAMECTRL        4 ; inline
-
-: DIEDFL_ALLDEVICES       HEX: 00000000 ; inline
-: DIEDFL_ATTACHEDONLY     HEX: 00000001 ; inline
-: DIEDFL_FORCEFEEDBACK    HEX: 00000100 ; inline
-: DIEDFL_INCLUDEALIASES   HEX: 00010000 ; inline
-: DIEDFL_INCLUDEPHANTOMS  HEX: 00020000 ; inline
-: DIEDFL_INCLUDEHIDDEN    HEX: 00040000 ; inline
-
-: DIENUM_STOP             0 ; inline
-: DIENUM_CONTINUE         1 ; inline
-
-: DIDF_ABSAXIS            1 ;
-: DIDF_RELAXIS            2 ;
-
-: DIDFT_ALL           HEX: 00000000 ; inline
-
-: DIDFT_RELAXIS       HEX: 00000001 ; inline
-: DIDFT_ABSAXIS       HEX: 00000002 ; inline
-: DIDFT_AXIS          HEX: 00000003 ; inline
-
-: DIDFT_PSHBUTTON     HEX: 00000004 ; inline
-: DIDFT_TGLBUTTON     HEX: 00000008 ; inline
-: DIDFT_BUTTON        HEX: 0000000C ; inline
-
-: DIDFT_POV           HEX: 00000010 ; inline
-: DIDFT_COLLECTION    HEX: 00000040 ; inline
-: DIDFT_NODATA        HEX: 00000080 ; inline
-
-: DIDFT_ANYINSTANCE   HEX: 00FFFF00 ; inline
-: DIDFT_INSTANCEMASK  DIDFT_ANYINSTANCE ; inline
+CONSTANT: DIRECTINPUT_VERSION HEX: 0800
+                               
+CONSTANT: DI8DEVCLASS_ALL             0
+CONSTANT: DI8DEVCLASS_DEVICE          1
+CONSTANT: DI8DEVCLASS_POINTER         2
+CONSTANT: DI8DEVCLASS_KEYBOARD        3
+CONSTANT: DI8DEVCLASS_GAMECTRL        4
+
+CONSTANT: DIEDFL_ALLDEVICES       HEX: 00000000
+CONSTANT: DIEDFL_ATTACHEDONLY     HEX: 00000001
+CONSTANT: DIEDFL_FORCEFEEDBACK    HEX: 00000100
+CONSTANT: DIEDFL_INCLUDEALIASES   HEX: 00010000
+CONSTANT: DIEDFL_INCLUDEPHANTOMS  HEX: 00020000
+CONSTANT: DIEDFL_INCLUDEHIDDEN    HEX: 00040000
+                                               
+CONSTANT: DIENUM_STOP             0
+CONSTANT: DIENUM_CONTINUE         1
+
+CONSTANT: DIDF_ABSAXIS            1
+CONSTANT: DIDF_RELAXIS            2
+
+CONSTANT: DIDFT_ALL           HEX: 00000000
+         
+CONSTANT: DIDFT_RELAXIS       HEX: 00000001
+CONSTANT: DIDFT_ABSAXIS       HEX: 00000002
+CONSTANT: DIDFT_AXIS          HEX: 00000003
+         
+CONSTANT: DIDFT_PSHBUTTON     HEX: 00000004
+CONSTANT: DIDFT_TGLBUTTON     HEX: 00000008
+CONSTANT: DIDFT_BUTTON        HEX: 0000000C
+         
+CONSTANT: DIDFT_POV           HEX: 00000010
+CONSTANT: DIDFT_COLLECTION    HEX: 00000040
+CONSTANT: DIDFT_NODATA        HEX: 00000080
+         
+CONSTANT: DIDFT_ANYINSTANCE   HEX: 00FFFF00
+ALIAS: DIDFT_INSTANCEMASK  DIDFT_ANYINSTANCE
 : DIDFT_MAKEINSTANCE ( n -- instance ) 8 shift                   ; inline
 : DIDFT_GETTYPE      ( n -- type     ) HEX: FF bitand            ; inline
 : DIDFT_GETINSTANCE  ( n -- instance ) -8 shift HEX: FFFF bitand ; inline
-: DIDFT_FFACTUATOR        HEX: 01000000 ; inline
-: DIDFT_FFEFFECTTRIGGER   HEX: 02000000 ; inline
-: DIDFT_OUTPUT            HEX: 10000000 ; inline
-: DIDFT_VENDORDEFINED     HEX: 04000000 ; inline
-: DIDFT_ALIAS             HEX: 08000000 ; inline
-: DIDFT_OPTIONAL          HEX: 80000000 ; inline
+CONSTANT: DIDFT_FFACTUATOR        HEX: 01000000
+CONSTANT: DIDFT_FFEFFECTTRIGGER   HEX: 02000000
+CONSTANT: DIDFT_OUTPUT            HEX: 10000000
+CONSTANT: DIDFT_VENDORDEFINED     HEX: 04000000
+CONSTANT: DIDFT_ALIAS             HEX: 08000000
+CONSTANT: DIDFT_OPTIONAL          HEX: 80000000
 
 : DIDFT_ENUMCOLLECTION ( n -- instance ) 8 shift HEX: FFFF bitand ; inline
-: DIDFT_NOCOLLECTION      HEX: 00FFFF00 ; inline
-
-: DIDOI_FFACTUATOR        HEX: 00000001 ; inline
-: DIDOI_FFEFFECTTRIGGER   HEX: 00000002 ; inline
-: DIDOI_POLLED            HEX: 00008000 ; inline
-: DIDOI_ASPECTPOSITION    HEX: 00000100 ; inline
-: DIDOI_ASPECTVELOCITY    HEX: 00000200 ; inline
-: DIDOI_ASPECTACCEL       HEX: 00000300 ; inline
-: DIDOI_ASPECTFORCE       HEX: 00000400 ; inline
-: DIDOI_ASPECTMASK        HEX: 00000F00 ; inline
-: DIDOI_GUIDISUSAGE       HEX: 00010000 ; inline
-
-: DISCL_EXCLUSIVE     HEX: 00000001 ; inline
-: DISCL_NONEXCLUSIVE  HEX: 00000002 ; inline
-: DISCL_FOREGROUND    HEX: 00000004 ; inline
-: DISCL_BACKGROUND    HEX: 00000008 ; inline
-: DISCL_NOWINKEY      HEX: 00000010 ; inline
-
-: DIK_ESCAPE          HEX: 01 ; inline
-: DIK_1               HEX: 02 ; inline
-: DIK_2               HEX: 03 ; inline
-: DIK_3               HEX: 04 ; inline
-: DIK_4               HEX: 05 ; inline
-: DIK_5               HEX: 06 ; inline
-: DIK_6               HEX: 07 ; inline
-: DIK_7               HEX: 08 ; inline
-: DIK_8               HEX: 09 ; inline
-: DIK_9               HEX: 0A ; inline
-: DIK_0               HEX: 0B ; inline
-: DIK_MINUS           HEX: 0C ; inline
-: DIK_EQUALS          HEX: 0D ; inline
-: DIK_BACK            HEX: 0E ; inline
-: DIK_TAB             HEX: 0F ; inline
-: DIK_Q               HEX: 10 ; inline
-: DIK_W               HEX: 11 ; inline
-: DIK_E               HEX: 12 ; inline
-: DIK_R               HEX: 13 ; inline
-: DIK_T               HEX: 14 ; inline
-: DIK_Y               HEX: 15 ; inline
-: DIK_U               HEX: 16 ; inline
-: DIK_I               HEX: 17 ; inline
-: DIK_O               HEX: 18 ; inline
-: DIK_P               HEX: 19 ; inline
-: DIK_LBRACKET        HEX: 1A ; inline
-: DIK_RBRACKET        HEX: 1B ; inline
-: DIK_RETURN          HEX: 1C ; inline
-: DIK_LCONTROL        HEX: 1D ; inline
-: DIK_A               HEX: 1E ; inline
-: DIK_S               HEX: 1F ; inline
-: DIK_D               HEX: 20 ; inline
-: DIK_F               HEX: 21 ; inline
-: DIK_G               HEX: 22 ; inline
-: DIK_H               HEX: 23 ; inline
-: DIK_J               HEX: 24 ; inline
-: DIK_K               HEX: 25 ; inline
-: DIK_L               HEX: 26 ; inline
-: DIK_SEMICOLON       HEX: 27 ; inline
-: DIK_APOSTROPHE      HEX: 28 ; inline
-: DIK_GRAVE           HEX: 29 ; inline
-: DIK_LSHIFT          HEX: 2A ; inline
-: DIK_BACKSLASH       HEX: 2B ; inline
-: DIK_Z               HEX: 2C ; inline
-: DIK_X               HEX: 2D ; inline
-: DIK_C               HEX: 2E ; inline
-: DIK_V               HEX: 2F ; inline
-: DIK_B               HEX: 30 ; inline
-: DIK_N               HEX: 31 ; inline
-: DIK_M               HEX: 32 ; inline
-: DIK_COMMA           HEX: 33 ; inline
-: DIK_PERIOD          HEX: 34 ; inline
-: DIK_SLASH           HEX: 35 ; inline
-: DIK_RSHIFT          HEX: 36 ; inline
-: DIK_MULTIPLY        HEX: 37 ; inline
-: DIK_LMENU           HEX: 38 ; inline
-: DIK_SPACE           HEX: 39 ; inline
-: DIK_CAPITAL         HEX: 3A ; inline
-: DIK_F1              HEX: 3B ; inline
-: DIK_F2              HEX: 3C ; inline
-: DIK_F3              HEX: 3D ; inline
-: DIK_F4              HEX: 3E ; inline
-: DIK_F5              HEX: 3F ; inline
-: DIK_F6              HEX: 40 ; inline
-: DIK_F7              HEX: 41 ; inline
-: DIK_F8              HEX: 42 ; inline
-: DIK_F9              HEX: 43 ; inline
-: DIK_F10             HEX: 44 ; inline
-: DIK_NUMLOCK         HEX: 45 ; inline
-: DIK_SCROLL          HEX: 46 ; inline
-: DIK_NUMPAD7         HEX: 47 ; inline
-: DIK_NUMPAD8         HEX: 48 ; inline
-: DIK_NUMPAD9         HEX: 49 ; inline
-: DIK_SUBTRACT        HEX: 4A ; inline
-: DIK_NUMPAD4         HEX: 4B ; inline
-: DIK_NUMPAD5         HEX: 4C ; inline
-: DIK_NUMPAD6         HEX: 4D ; inline
-: DIK_ADD             HEX: 4E ; inline
-: DIK_NUMPAD1         HEX: 4F ; inline
-: DIK_NUMPAD2         HEX: 50 ; inline
-: DIK_NUMPAD3         HEX: 51 ; inline
-: DIK_NUMPAD0         HEX: 52 ; inline
-: DIK_DECIMAL         HEX: 53 ; inline
-: DIK_OEM_102         HEX: 56 ; inline
-: DIK_F11             HEX: 57 ; inline
-: DIK_F12             HEX: 58 ; inline
-: DIK_F13             HEX: 64 ; inline
-: DIK_F14             HEX: 65 ; inline
-: DIK_F15             HEX: 66 ; inline
-: DIK_KANA            HEX: 70 ; inline
-: DIK_ABNT_C1         HEX: 73 ; inline
-: DIK_CONVERT         HEX: 79 ; inline
-: DIK_NOCONVERT       HEX: 7B ; inline
-: DIK_YEN             HEX: 7D ; inline
-: DIK_ABNT_C2         HEX: 7E ; inline
-: DIK_NUMPADEQUALS    HEX: 8D ; inline
-: DIK_PREVTRACK       HEX: 90 ; inline
-: DIK_AT              HEX: 91 ; inline
-: DIK_COLON           HEX: 92 ; inline
-: DIK_UNDERLINE       HEX: 93 ; inline
-: DIK_KANJI           HEX: 94 ; inline
-: DIK_STOP            HEX: 95 ; inline
-: DIK_AX              HEX: 96 ; inline
-: DIK_UNLABELED       HEX: 97 ; inline
-: DIK_NEXTTRACK       HEX: 99 ; inline
-: DIK_NUMPADENTER     HEX: 9C ; inline
-: DIK_RCONTROL        HEX: 9D ; inline
-: DIK_MUTE            HEX: A0 ; inline
-: DIK_CALCULATOR      HEX: A1 ; inline
-: DIK_PLAYPAUSE       HEX: A2 ; inline
-: DIK_MEDIASTOP       HEX: A4 ; inline
-: DIK_VOLUMEDOWN      HEX: AE ; inline
-: DIK_VOLUMEUP        HEX: B0 ; inline
-: DIK_WEBHOME         HEX: B2 ; inline
-: DIK_NUMPADCOMMA     HEX: B3 ; inline
-: DIK_DIVIDE          HEX: B5 ; inline
-: DIK_SYSRQ           HEX: B7 ; inline
-: DIK_RMENU           HEX: B8 ; inline
-: DIK_PAUSE           HEX: C5 ; inline
-: DIK_HOME            HEX: C7 ; inline
-: DIK_UP              HEX: C8 ; inline
-: DIK_PRIOR           HEX: C9 ; inline
-: DIK_LEFT            HEX: CB ; inline
-: DIK_RIGHT           HEX: CD ; inline
-: DIK_END             HEX: CF ; inline
-: DIK_DOWN            HEX: D0 ; inline
-: DIK_NEXT            HEX: D1 ; inline
-: DIK_INSERT          HEX: D2 ; inline
-: DIK_DELETE          HEX: D3 ; inline
-: DIK_LWIN            HEX: DB ; inline
-: DIK_RWIN            HEX: DC ; inline
-: DIK_APPS            HEX: DD ; inline
-: DIK_POWER           HEX: DE ; inline
-: DIK_SLEEP           HEX: DF ; inline
-: DIK_WAKE            HEX: E3 ; inline
-: DIK_WEBSEARCH       HEX: E5 ; inline
-: DIK_WEBFAVORITES    HEX: E6 ; inline
-: DIK_WEBREFRESH      HEX: E7 ; inline
-: DIK_WEBSTOP         HEX: E8 ; inline
-: DIK_WEBFORWARD      HEX: E9 ; inline
-: DIK_WEBBACK         HEX: EA ; inline
-: DIK_MYCOMPUTER      HEX: EB ; inline
-: DIK_MAIL            HEX: EC ; inline
-: DIK_MEDIASELECT     HEX: ED ; inline
-
-: DIK_BACKSPACE       DIK_BACK ; inline
-: DIK_NUMPADSTAR      DIK_MULTIPLY ; inline
-: DIK_LALT            DIK_LMENU ; inline
-: DIK_CAPSLOCK        DIK_CAPITAL ; inline
-: DIK_NUMPADMINUS     DIK_SUBTRACT ; inline
-: DIK_NUMPADPLUS      DIK_ADD ; inline
-: DIK_NUMPADPERIOD    DIK_DECIMAL ; inline
-: DIK_NUMPADSLASH     DIK_DIVIDE ; inline
-: DIK_RALT            DIK_RMENU ; inline
-: DIK_UPARROW         DIK_UP ; inline
-: DIK_PGUP            DIK_PRIOR ; inline
-: DIK_LEFTARROW       DIK_LEFT ; inline
-: DIK_RIGHTARROW      DIK_RIGHT ; inline
-: DIK_DOWNARROW       DIK_DOWN ; inline
-: DIK_PGDN            DIK_NEXT ; inline
-
-: DIK_CIRCUMFLEX      DIK_PREVTRACK ; inline
-
-: DI8DEVTYPE_DEVICE           HEX: 11 ; inline
-: DI8DEVTYPE_MOUSE            HEX: 12 ; inline
-: DI8DEVTYPE_KEYBOARD         HEX: 13 ; inline
-: DI8DEVTYPE_JOYSTICK         HEX: 14 ; inline
-: DI8DEVTYPE_GAMEPAD          HEX: 15 ; inline
-: DI8DEVTYPE_DRIVING          HEX: 16 ; inline
-: DI8DEVTYPE_FLIGHT           HEX: 17 ; inline
-: DI8DEVTYPE_1STPERSON        HEX: 18 ; inline
-: DI8DEVTYPE_DEVICECTRL       HEX: 19 ; inline
-: DI8DEVTYPE_SCREENPOINTER    HEX: 1A ; inline
-: DI8DEVTYPE_REMOTE           HEX: 1B ; inline
-: DI8DEVTYPE_SUPPLEMENTAL     HEX: 1C ; inline
+CONSTANT: DIDFT_NOCOLLECTION      HEX: 00FFFF00
+
+CONSTANT: DIDOI_FFACTUATOR        HEX: 00000001
+CONSTANT: DIDOI_FFEFFECTTRIGGER   HEX: 00000002
+CONSTANT: DIDOI_POLLED            HEX: 00008000
+CONSTANT: DIDOI_ASPECTPOSITION    HEX: 00000100
+CONSTANT: DIDOI_ASPECTVELOCITY    HEX: 00000200
+CONSTANT: DIDOI_ASPECTACCEL       HEX: 00000300
+CONSTANT: DIDOI_ASPECTFORCE       HEX: 00000400
+CONSTANT: DIDOI_ASPECTMASK        HEX: 00000F00
+CONSTANT: DIDOI_GUIDISUSAGE       HEX: 00010000
+
+CONSTANT: DISCL_EXCLUSIVE     HEX: 00000001
+CONSTANT: DISCL_NONEXCLUSIVE  HEX: 00000002
+CONSTANT: DISCL_FOREGROUND    HEX: 00000004
+CONSTANT: DISCL_BACKGROUND    HEX: 00000008
+CONSTANT: DISCL_NOWINKEY      HEX: 00000010
+
+CONSTANT: DIK_ESCAPE          HEX: 01
+CONSTANT: DIK_1               HEX: 02
+CONSTANT: DIK_2               HEX: 03
+CONSTANT: DIK_3               HEX: 04
+CONSTANT: DIK_4               HEX: 05
+CONSTANT: DIK_5               HEX: 06
+CONSTANT: DIK_6               HEX: 07
+CONSTANT: DIK_7               HEX: 08
+CONSTANT: DIK_8               HEX: 09
+CONSTANT: DIK_9               HEX: 0A
+CONSTANT: DIK_0               HEX: 0B
+CONSTANT: DIK_MINUS           HEX: 0C
+CONSTANT: DIK_EQUALS          HEX: 0D
+CONSTANT: DIK_BACK            HEX: 0E
+CONSTANT: DIK_TAB             HEX: 0F
+CONSTANT: DIK_Q               HEX: 10
+CONSTANT: DIK_W               HEX: 11
+CONSTANT: DIK_E               HEX: 12
+CONSTANT: DIK_R               HEX: 13
+CONSTANT: DIK_T               HEX: 14
+CONSTANT: DIK_Y               HEX: 15
+CONSTANT: DIK_U               HEX: 16
+CONSTANT: DIK_I               HEX: 17
+CONSTANT: DIK_O               HEX: 18
+CONSTANT: DIK_P               HEX: 19
+CONSTANT: DIK_LBRACKET        HEX: 1A
+CONSTANT: DIK_RBRACKET        HEX: 1B
+CONSTANT: DIK_RETURN          HEX: 1C
+CONSTANT: DIK_LCONTROL        HEX: 1D
+CONSTANT: DIK_A               HEX: 1E
+CONSTANT: DIK_S               HEX: 1F
+CONSTANT: DIK_D               HEX: 20
+CONSTANT: DIK_F               HEX: 21
+CONSTANT: DIK_G               HEX: 22
+CONSTANT: DIK_H               HEX: 23
+CONSTANT: DIK_J               HEX: 24
+CONSTANT: DIK_K               HEX: 25
+CONSTANT: DIK_L               HEX: 26
+CONSTANT: DIK_SEMICOLON       HEX: 27
+CONSTANT: DIK_APOSTROPHE      HEX: 28
+CONSTANT: DIK_GRAVE           HEX: 29
+CONSTANT: DIK_LSHIFT          HEX: 2A
+CONSTANT: DIK_BACKSLASH       HEX: 2B
+CONSTANT: DIK_Z               HEX: 2C
+CONSTANT: DIK_X               HEX: 2D
+CONSTANT: DIK_C               HEX: 2E
+CONSTANT: DIK_V               HEX: 2F
+CONSTANT: DIK_B               HEX: 30
+CONSTANT: DIK_N               HEX: 31
+CONSTANT: DIK_M               HEX: 32
+CONSTANT: DIK_COMMA           HEX: 33
+CONSTANT: DIK_PERIOD          HEX: 34
+CONSTANT: DIK_SLASH           HEX: 35
+CONSTANT: DIK_RSHIFT          HEX: 36
+CONSTANT: DIK_MULTIPLY        HEX: 37
+CONSTANT: DIK_LMENU           HEX: 38
+CONSTANT: DIK_SPACE           HEX: 39
+CONSTANT: DIK_CAPITAL         HEX: 3A
+CONSTANT: DIK_F1              HEX: 3B
+CONSTANT: DIK_F2              HEX: 3C
+CONSTANT: DIK_F3              HEX: 3D
+CONSTANT: DIK_F4              HEX: 3E
+CONSTANT: DIK_F5              HEX: 3F
+CONSTANT: DIK_F6              HEX: 40
+CONSTANT: DIK_F7              HEX: 41
+CONSTANT: DIK_F8              HEX: 42
+CONSTANT: DIK_F9              HEX: 43
+CONSTANT: DIK_F10             HEX: 44
+CONSTANT: DIK_NUMLOCK         HEX: 45
+CONSTANT: DIK_SCROLL          HEX: 46
+CONSTANT: DIK_NUMPAD7         HEX: 47
+CONSTANT: DIK_NUMPAD8         HEX: 48
+CONSTANT: DIK_NUMPAD9         HEX: 49
+CONSTANT: DIK_SUBTRACT        HEX: 4A
+CONSTANT: DIK_NUMPAD4         HEX: 4B
+CONSTANT: DIK_NUMPAD5         HEX: 4C
+CONSTANT: DIK_NUMPAD6         HEX: 4D
+CONSTANT: DIK_ADD             HEX: 4E
+CONSTANT: DIK_NUMPAD1         HEX: 4F
+CONSTANT: DIK_NUMPAD2         HEX: 50
+CONSTANT: DIK_NUMPAD3         HEX: 51
+CONSTANT: DIK_NUMPAD0         HEX: 52
+CONSTANT: DIK_DECIMAL         HEX: 53
+CONSTANT: DIK_OEM_102         HEX: 56
+CONSTANT: DIK_F11             HEX: 57
+CONSTANT: DIK_F12             HEX: 58
+CONSTANT: DIK_F13             HEX: 64
+CONSTANT: DIK_F14             HEX: 65
+CONSTANT: DIK_F15             HEX: 66
+CONSTANT: DIK_KANA            HEX: 70
+CONSTANT: DIK_ABNT_C1         HEX: 73
+CONSTANT: DIK_CONVERT         HEX: 79
+CONSTANT: DIK_NOCONVERT       HEX: 7B
+CONSTANT: DIK_YEN             HEX: 7D
+CONSTANT: DIK_ABNT_C2         HEX: 7E
+CONSTANT: DIK_NUMPADEQUALS    HEX: 8D
+CONSTANT: DIK_PREVTRACK       HEX: 90
+CONSTANT: DIK_AT              HEX: 91
+CONSTANT: DIK_COLON           HEX: 92
+CONSTANT: DIK_UNDERLINE       HEX: 93
+CONSTANT: DIK_KANJI           HEX: 94
+CONSTANT: DIK_STOP            HEX: 95
+CONSTANT: DIK_AX              HEX: 96
+CONSTANT: DIK_UNLABELED       HEX: 97
+CONSTANT: DIK_NEXTTRACK       HEX: 99
+CONSTANT: DIK_NUMPADENTER     HEX: 9C
+CONSTANT: DIK_RCONTROL        HEX: 9D
+CONSTANT: DIK_MUTE            HEX: A0
+CONSTANT: DIK_CALCULATOR      HEX: A1
+CONSTANT: DIK_PLAYPAUSE       HEX: A2
+CONSTANT: DIK_MEDIASTOP       HEX: A4
+CONSTANT: DIK_VOLUMEDOWN      HEX: AE
+CONSTANT: DIK_VOLUMEUP        HEX: B0
+CONSTANT: DIK_WEBHOME         HEX: B2
+CONSTANT: DIK_NUMPADCOMMA     HEX: B3
+CONSTANT: DIK_DIVIDE          HEX: B5
+CONSTANT: DIK_SYSRQ           HEX: B7
+CONSTANT: DIK_RMENU           HEX: B8
+CONSTANT: DIK_PAUSE           HEX: C5
+CONSTANT: DIK_HOME            HEX: C7
+CONSTANT: DIK_UP              HEX: C8
+CONSTANT: DIK_PRIOR           HEX: C9
+CONSTANT: DIK_LEFT            HEX: CB
+CONSTANT: DIK_RIGHT           HEX: CD
+CONSTANT: DIK_END             HEX: CF
+CONSTANT: DIK_DOWN            HEX: D0
+CONSTANT: DIK_NEXT            HEX: D1
+CONSTANT: DIK_INSERT          HEX: D2
+CONSTANT: DIK_DELETE          HEX: D3
+CONSTANT: DIK_LWIN            HEX: DB
+CONSTANT: DIK_RWIN            HEX: DC
+CONSTANT: DIK_APPS            HEX: DD
+CONSTANT: DIK_POWER           HEX: DE
+CONSTANT: DIK_SLEEP           HEX: DF
+CONSTANT: DIK_WAKE            HEX: E3
+CONSTANT: DIK_WEBSEARCH       HEX: E5
+CONSTANT: DIK_WEBFAVORITES    HEX: E6
+CONSTANT: DIK_WEBREFRESH      HEX: E7
+CONSTANT: DIK_WEBSTOP         HEX: E8
+CONSTANT: DIK_WEBFORWARD      HEX: E9
+CONSTANT: DIK_WEBBACK         HEX: EA
+CONSTANT: DIK_MYCOMPUTER      HEX: EB
+CONSTANT: DIK_MAIL            HEX: EC
+CONSTANT: DIK_MEDIASELECT     HEX: ED
+
+ALIAS: DIK_BACKSPACE       DIK_BACK
+ALIAS: DIK_NUMPADSTAR      DIK_MULTIPLY
+ALIAS: DIK_LALT            DIK_LMENU
+ALIAS: DIK_CAPSLOCK        DIK_CAPITAL
+ALIAS: DIK_NUMPADMINUS     DIK_SUBTRACT
+ALIAS: DIK_NUMPADPLUS      DIK_ADD
+ALIAS: DIK_NUMPADPERIOD    DIK_DECIMAL
+ALIAS: DIK_NUMPADSLASH     DIK_DIVIDE
+ALIAS: DIK_RALT            DIK_RMENU
+ALIAS: DIK_UPARROW         DIK_UP
+ALIAS: DIK_PGUP            DIK_PRIOR
+ALIAS: DIK_LEFTARROW       DIK_LEFT
+ALIAS: DIK_RIGHTARROW      DIK_RIGHT
+ALIAS: DIK_DOWNARROW       DIK_DOWN
+ALIAS: DIK_PGDN            DIK_NEXT
+
+ALIAS: DIK_CIRCUMFLEX      DIK_PREVTRACK
+
+CONSTANT: DI8DEVTYPE_DEVICE           HEX: 11
+CONSTANT: DI8DEVTYPE_MOUSE            HEX: 12
+CONSTANT: DI8DEVTYPE_KEYBOARD         HEX: 13
+CONSTANT: DI8DEVTYPE_JOYSTICK         HEX: 14
+CONSTANT: DI8DEVTYPE_GAMEPAD          HEX: 15
+CONSTANT: DI8DEVTYPE_DRIVING          HEX: 16
+CONSTANT: DI8DEVTYPE_FLIGHT           HEX: 17
+CONSTANT: DI8DEVTYPE_1STPERSON        HEX: 18
+CONSTANT: DI8DEVTYPE_DEVICECTRL       HEX: 19
+CONSTANT: DI8DEVTYPE_SCREENPOINTER    HEX: 1A
+CONSTANT: DI8DEVTYPE_REMOTE           HEX: 1B
+CONSTANT: DI8DEVTYPE_SUPPLEMENTAL     HEX: 1C
 
 : GET_DIDEVICE_TYPE ( dwType -- type ) HEX: FF bitand ; inline
 
-: DIPROPRANGE_NOMIN       HEX: 80000000 ; inline
-: DIPROPRANGE_NOMAX       HEX: 7FFFFFFF ; inline
-: MAXCPOINTSNUM           8 ; inline
-
-: DIPH_DEVICE             0 ; inline
-: DIPH_BYOFFSET           1 ; inline
-: DIPH_BYID               2 ; inline
-: DIPH_BYUSAGE            3 ; inline
+CONSTANT: DIPROPRANGE_NOMIN       HEX: 80000000
+CONSTANT: DIPROPRANGE_NOMAX       HEX: 7FFFFFFF
+CONSTANT: MAXCPOINTSNUM           8
 
+CONSTANT: DIPH_DEVICE             0
+CONSTANT: DIPH_BYOFFSET           1
+CONSTANT: DIPH_BYID               2
+CONSTANT: DIPH_BYUSAGE            3
+                                   
 : DIMAKEUSAGEDWORD ( UsagePage Usage -- DWORD ) 16 shift bitor ; inline
 
-: DIPROP_BUFFERSIZE           1 <alien> ; inline
-: DIPROP_AXISMODE             2 <alien> ; inline
-
-: DIPROPAXISMODE_ABS      0 ; inline
-: DIPROPAXISMODE_REL      1 ; inline
-
-: DIPROP_GRANULARITY          3 <alien> ; inline
-: DIPROP_RANGE                4 <alien> ; inline
-: DIPROP_DEADZONE             5 <alien> ; inline
-: DIPROP_SATURATION           6 <alien> ; inline
-: DIPROP_FFGAIN               7 <alien> ; inline
-: DIPROP_FFLOAD               8 <alien> ; inline
-: DIPROP_AUTOCENTER           9 <alien> ; inline
-
-: DIPROPAUTOCENTER_OFF    0 ; inline
-: DIPROPAUTOCENTER_ON     1 ; inline
-
-: DIPROP_CALIBRATIONMODE     10 <alien> ; inline
-
-: DIPROPCALIBRATIONMODE_COOKED    0 ; inline
-: DIPROPCALIBRATIONMODE_RAW       1 ; inline
-
-: DIPROP_CALIBRATION         11 <alien> ; inline
-: DIPROP_GUIDANDPATH         12 <alien> ; inline
-: DIPROP_INSTANCENAME        13 <alien> ; inline
-: DIPROP_PRODUCTNAME         14 <alien> ; inline
-: DIPROP_JOYSTICKID          15 <alien> ; inline
-: DIPROP_GETPORTDISPLAYNAME  16 <alien> ; inline
-: DIPROP_PHYSICALRANGE       18 <alien> ; inline
-: DIPROP_LOGICALRANGE        19 <alien> ; inline
-: DIPROP_KEYNAME             20 <alien> ; inline
-: DIPROP_CPOINTS             21 <alien> ; inline
-: DIPROP_APPDATA             22 <alien> ; inline
-: DIPROP_SCANCODE            23 <alien> ; inline
-: DIPROP_VIDPID              24 <alien> ; inline
-: DIPROP_USERNAME            25 <alien> ; inline
-: DIPROP_TYPENAME            26 <alien> ; inline
-
-: GUID_XAxis          GUID: {A36D02E0-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_YAxis          GUID: {A36D02E1-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_ZAxis          GUID: {A36D02E2-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_RxAxis         GUID: {A36D02F4-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_RyAxis         GUID: {A36D02F5-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_RzAxis         GUID: {A36D02E3-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_Slider         GUID: {A36D02E4-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_Button         GUID: {A36D02F0-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_Key            GUID: {55728220-D33C-11CF-BFC7-444553540000} ; inline
-: GUID_POV            GUID: {A36D02F2-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_Unknown        GUID: {A36D02F3-C9F3-11CF-BFC7-444553540000} ; inline
-: GUID_SysMouse       GUID: {6F1D2B60-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_SysKeyboard    GUID: {6F1D2B61-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_Joystick       GUID: {6F1D2B70-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_SysMouseEm     GUID: {6F1D2B80-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_SysMouseEm2    GUID: {6F1D2B81-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_SysKeyboardEm  GUID: {6F1D2B82-D5A0-11CF-BFC7-444553540000} ; inline
-: GUID_SysKeyboardEm2 GUID: {6F1D2B83-D5A0-11CF-BFC7-444553540000} ; inline
+: DIPROP_BUFFERSIZE ( -- alien ) 1 <alien> ; inline
+: DIPROP_AXISMODE   ( -- alien ) 2 <alien> ; inline
+
+CONSTANT: DIPROPAXISMODE_ABS      0
+CONSTANT: DIPROPAXISMODE_REL      1
+                                   
+: DIPROP_GRANULARITY ( -- alien ) 3 <alien> ; inline
+: DIPROP_RANGE       ( -- alien ) 4 <alien> ; inline
+: DIPROP_DEADZONE    ( -- alien ) 5 <alien> ; inline
+: DIPROP_SATURATION  ( -- alien ) 6 <alien> ; inline
+: DIPROP_FFGAIN      ( -- alien ) 7 <alien> ; inline
+: DIPROP_FFLOAD      ( -- alien ) 8 <alien> ; inline
+: DIPROP_AUTOCENTER  ( -- alien ) 9 <alien> ; inline
+
+CONSTANT: DIPROPAUTOCENTER_OFF    0
+CONSTANT: DIPROPAUTOCENTER_ON     1
+
+: DIPROP_CALIBRATIONMODE ( -- alien ) 10 <alien> ; inline
+
+CONSTANT: DIPROPCALIBRATIONMODE_COOKED    0
+CONSTANT: DIPROPCALIBRATIONMODE_RAW       1
+
+: DIPROP_CALIBRATION ( -- alien )        11 <alien> ; inline
+: DIPROP_GUIDANDPATH ( -- alien )        12 <alien> ; inline
+: DIPROP_INSTANCENAME ( -- alien )       13 <alien> ; inline
+: DIPROP_PRODUCTNAME ( -- alien )        14 <alien> ; inline
+: DIPROP_JOYSTICKID ( -- alien )         15 <alien> ; inline
+: DIPROP_GETPORTDISPLAYNAME ( -- alien ) 16 <alien> ; inline
+: DIPROP_PHYSICALRANGE ( -- alien )      18 <alien> ; inline
+: DIPROP_LOGICALRANGE ( -- alien )       19 <alien> ; inline
+: DIPROP_KEYNAME ( -- alien )            20 <alien> ; inline
+: DIPROP_CPOINTS ( -- alien )            21 <alien> ; inline
+: DIPROP_APPDATA ( -- alien )            22 <alien> ; inline
+: DIPROP_SCANCODE ( -- alien )           23 <alien> ; inline
+: DIPROP_VIDPID ( -- alien )             24 <alien> ; inline
+: DIPROP_USERNAME ( -- alien )           25 <alien> ; inline
+: DIPROP_TYPENAME ( -- alien )           26 <alien> ; inline
+
+CONSTANT: GUID_XAxis          GUID: {A36D02E0-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_YAxis          GUID: {A36D02E1-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_ZAxis          GUID: {A36D02E2-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_RxAxis         GUID: {A36D02F4-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_RyAxis         GUID: {A36D02F5-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_RzAxis         GUID: {A36D02E3-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_Slider         GUID: {A36D02E4-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_Button         GUID: {A36D02F0-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_Key            GUID: {55728220-D33C-11CF-BFC7-444553540000}
+CONSTANT: GUID_POV            GUID: {A36D02F2-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_Unknown        GUID: {A36D02F3-C9F3-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysMouse       GUID: {6F1D2B60-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysKeyboard    GUID: {6F1D2B61-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_Joystick       GUID: {6F1D2B70-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysMouseEm     GUID: {6F1D2B80-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysMouseEm2    GUID: {6F1D2B81-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysKeyboardEm  GUID: {6F1D2B82-D5A0-11CF-BFC7-444553540000}
+CONSTANT: GUID_SysKeyboardEm2 GUID: {6F1D2B83-D5A0-11CF-BFC7-444553540000}