]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge git://repo.or.cz/factor/jcg
authorJoe Groff <arcata@gmail.com>
Mon, 21 Jul 2008 03:19:59 +0000 (20:19 -0700)
committerJoe Groff <arcata@gmail.com>
Mon, 21 Jul 2008 03:19:59 +0000 (20:19 -0700)
Conflicts:

extra/windows/dinput/dinput.factor

1  2 
extra/windows/dinput/constants/constants.factor
extra/windows/dinput/dinput.factor

index b1a26689eff14982420b5b057bed99739a2725e9,33113c71ee94ab2c41d11e36705d50cb1d45bc62..9c8c32f5dd42711e6c0d6d61e56c67b80264d653
@@@ -389,176 -391,17 +391,190 @@@ FUNCTION: HRESULT DirectInput8Create ( 
  : 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
 +
 +SYMBOL: +dinput+
 +
 +: create-dinput ( -- )
 +    f GetModuleHandle DIRECTINPUT_VERSION IDirectInput8W-iid
 +    f <void*> [ f DirectInput8Create ole32-error ] keep *void*
 +    +dinput+ set ;
 +
 +: delete-dinput ( -- )
 +    +dinput+ [ com-release f ] change ;
 +
+ : 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
+ : GET_DIDEVICE_TYPE ( dwType -- type ) HEX: FF bitand ; inline