| 1 | /* | 
|---|
| 2 | * Copyright 2000 Lionel Ulmer | 
|---|
| 3 | * | 
|---|
| 4 | * This library is free software; you can redistribute it and/or | 
|---|
| 5 | * modify it under the terms of the GNU Lesser General Public | 
|---|
| 6 | * License as published by the Free Software Foundation; either | 
|---|
| 7 | * version 2.1 of the License, or (at your option) any later version. | 
|---|
| 8 | * | 
|---|
| 9 | * This library is distributed in the hope that it will be useful, | 
|---|
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|---|
| 12 | * Lesser General Public License for more details. | 
|---|
| 13 | * | 
|---|
| 14 | * You should have received a copy of the GNU Lesser General Public | 
|---|
| 15 | * License along with this library; if not, write to the Free Software | 
|---|
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
|---|
| 17 | */ | 
|---|
| 18 |  | 
|---|
| 19 | #ifndef __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H | 
|---|
| 20 | #define __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H | 
|---|
| 21 |  | 
|---|
| 22 | #include "winbase.h" | 
|---|
| 23 | #include "dinput.h" | 
|---|
| 24 |  | 
|---|
| 25 | /* Implementation specification */ | 
|---|
| 26 | typedef struct IDirectInputAImpl IDirectInputAImpl; | 
|---|
| 27 | struct IDirectInputAImpl | 
|---|
| 28 | { | 
|---|
| 29 | LPVOID lpVtbl; | 
|---|
| 30 | DWORD  ref; | 
|---|
| 31 |  | 
|---|
| 32 | /* Used to have an unique sequence number for all the events */ | 
|---|
| 33 | DWORD evsequence; | 
|---|
| 34 | }; | 
|---|
| 35 |  | 
|---|
| 36 | /* Function called by all devices that Wine supports */ | 
|---|
| 37 | typedef struct dinput_device { | 
|---|
| 38 | INT pref; | 
|---|
| 39 | BOOL (*enum_device)(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEA lpddi); | 
|---|
| 40 | HRESULT (*create_device)(IDirectInputAImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEA* pdev); | 
|---|
| 41 | } dinput_device; | 
|---|
| 42 |  | 
|---|
| 43 | extern void dinput_register_device(dinput_device *device) ; | 
|---|
| 44 |  | 
|---|
| 45 | HHOOK keyboard_hook; | 
|---|
| 46 |  | 
|---|
| 47 | LRESULT CALLBACK KeyboardCallback( int code, WPARAM wparam, LPARAM lparam ); | 
|---|
| 48 |  | 
|---|
| 49 | #endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */ | 
|---|