Files
reactos/reactos/lib/dinput/dinput_private.h
Gé van Geldorp 2ffd7b7d5a Sync to Wine-20050930:
Jakob Eriksson <jakov@vmlinux.org>
- Get rid of HeapAlloc casts.
Robert Reif <reif@earthlink.net>
- Added keyboard data format.
- Fix joystick crash when a button guid is specified in the data
  format.
  Add some parameter checking.
- Pass around real version and do correct thing based on it.
  Change cooperative level to pass on windows.
- Fix SetProperty error returned.
  Add EnumDevice joystick version check.
  Test multiple versions.
- Added dinput tests.
- Effect objects are not supported yet so don't crash when trying to
  enumerate them.
Raphael Junqueira <fenix@club-internet.fr>
- use WINE_DINPUT_KEYBOARD_MAX_KEYS instead hard-coded 256 value
- better use of critical section
- some cleanup to better understand code paths
- logic correction on SetWindowsHookExA/UnhookWindowsHookEx on
  keyboard.
Alexandre Julliard <julliard@winehq.org>
- Build a static list of devices instead of relying on ELF
  constructors.
Gerald Pfeifer <gerald@pfeifer.com>
- Fix compilation of the case without proper Linux joystick support.
James Dean Anderson <petr@pantek.org>
- Report an error if trying to get data from an unacquired mouse.
Lionel Ulmer <lionel.ulmer@free.fr>
- more pretty print for the types flag
- more Windows-aligned check for object instances
- Windows reports 0x80 on pressed buttons not 0xFF
- trace the events reported to the application
- do not flush the buffer when the application only wants to peek the
  number of elements in the queue
- trace the GetDeviceState values before they are reset
Alexandre Julliard <julliard@winehq.org>
- Added rules for building import libraries in the individual dll
  makefiles, and added support for building a .def.a static import
  library too.
- Added rules to build import libraries in the individual dll makefiles.
  Generate import libraries with the right name right away instead of
  using an intermediate .spec.def file.
- Moved config parameters to HKCU\Software\Wine\DirectInput.
- Added magic comments to all Wine-specific registry accesses to make
  them easier to grep.
- Sort entry points alphabetically.
- Removed some unused or redundant configure checks.
  A few cleanups in configure.ac.
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
- Fixed some traces to use the right printf format and avoid typecasts.
- Use a more portable scheme for storing the name of a critical
  section.
- Use the COM macros instead of accessing lpVtbl directly.
- We are no longer generating .dbg.c files.
Marcus Meissner <marcus@jet.franken.de>
- The last argument to MultiByteToWideChar is wide character count and
  not the buffer size in bytes. Fixed all places where it was wrong.
- Fixed 3 memset()s which used the wrong size (too large).
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make more of the OLE interface vtables const.
Daniel Remenak <dtremenak@gmail.com>
- Added a linux input system force feedback effect implementation.
- Allow the creation of an FF effect while the joystick is not
  acquired.
- Failing to download an effect after setting parameters is not a
  fatal error.
- Allow enumeration of objects when the device is not yet acquired.
- Flag FF-capable axes during enumeration.
- Protect FF_STATUS usage to avoid compile errors on machines with old
  linux/input.h.
- Implement EnumEffects, CreateEffect, EnumCreatedEffects,
  SendForceFeedbackCommand, and GetForceFeedbackStatus for linux input
  joysticks.
- Correct dinput handling of sliders and non-zero-based axes through the
  linux input system.
- Correctly enumerate evdev joysticks when enumeration is restricted
  with DIEDFL_FORCEFEEDBACK.
- Detect force-feedback-capable linux event device joysticks and return
  DIDC_FORCEFEEDBACK when queried for capabilities.
Mike McCormack <mike@codeweavers.com>
- Interlocked LONG* gcc warning fixes.
- gcc 4.0 warning fixes.
- gcc 4.0 warning fixes for Interlocked* functions.
- Fix warnings for no force feedback case.
Stefan Huehner <stefan@huehner.org>
- Fix some more -Wmissing-declarations warnings.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Use proper ifdefs around unistd.h.

svn path=/trunk/; revision=18361
2005-10-08 20:11:27 +00:00

58 lines
2.0 KiB
C

/*
* Copyright 2000 Lionel Ulmer
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
#define __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "dinput.h"
/* Implementation specification */
typedef struct IDirectInputImpl IDirectInputImpl;
struct IDirectInputImpl
{
const void *lpVtbl;
LONG ref;
/* Used to have an unique sequence number for all the events */
DWORD evsequence;
DWORD dwVersion;
};
/* Function called by all devices that Wine supports */
struct dinput_device {
const char *name;
BOOL (*enum_deviceA)(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEA lpddi, DWORD version, int id);
BOOL (*enum_deviceW)(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEW lpddi, DWORD version, int id);
HRESULT (*create_deviceA)(IDirectInputImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEA* pdev);
HRESULT (*create_deviceW)(IDirectInputImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEW* pdev);
};
extern const struct dinput_device mouse_device;
extern const struct dinput_device keyboard_device;
extern const struct dinput_device joystick_linux_device;
extern const struct dinput_device joystick_linuxinput_device;
extern HINSTANCE DINPUT_instance;
#endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */