Orxonox  0.0.5 Codename: Arcturus
Win32JoyStick.h
Go to the documentation of this file.
1 /*
2 The zlib/libpng License
3 
4 Copyright (c) 2005-2007 Phillip Castaneda (pjcast -- www.wreckedgames.com)
5 
6 This software is provided 'as-is', without any express or implied warranty. In no event will
7 the authors be held liable for any damages arising from the use of this software.
8 
9 Permission is granted to anyone to use this software for any purpose, including commercial
10 applications, and to alter it and redistribute it freely, subject to the following
11 restrictions:
12 
13  1. The origin of this software must not be misrepresented; you must not claim that
14  you wrote the original software. If you use this software in a product,
15  an acknowledgment in the product documentation would be appreciated but is
16  not required.
17 
18  2. Altered source versions must be plainly marked as such, and must not be
19  misrepresented as being the original software.
20 
21  3. This notice may not be removed or altered from any source distribution.
22 */
23 #ifndef _WIN32_JOYSTICK_H_EADER_
24 #define _WIN32_JOYSTICK_H_EADER_
25 
26 #include "OISJoyStick.h"
27 #include "win32/Win32Prereqs.h"
28 
29 namespace OIS
30 {
31  class Win32JoyStick : public JoyStick
32  {
33  public:
34  Win32JoyStick( InputManager* creator, IDirectInput8* pDI, bool buffered, DWORD coopSettings, const JoyStickInfo &info );
35  virtual ~Win32JoyStick();
36 
38  virtual void setBuffered(bool buffered);
39 
41  virtual void capture();
42 
44  void captureXInput();
45 
48 
50  virtual void _initialize();
51 
58  static void CheckXInputDevices(JoyStickInfoList &joys);
59 
60  protected:
62  void _enumerate();
64  static BOOL CALLBACK DIEnumDeviceObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef);
66  static BOOL CALLBACK DIEnumEffectsCallback(LPCDIEFFECTINFO pdei, LPVOID pvRef);
67 
68  bool _doButtonClick( int button, DIDEVICEOBJECTDATA& di );
69  bool _changePOV( int pov, DIDEVICEOBJECTDATA& di );
70 
71  IDirectInput8* mDirectInput;
72  IDirectInputDevice8* mJoyStick;
73  DIDEVCAPS mDIJoyCaps;
74  DWORD coopSetting;
75 
77 
80 
83  };
84 }
85 
86 #endif //_WIN32_JOYSTICK_H_EADER_
Win32JoyStick(InputManager *creator, IDirectInput8 *pDI, bool buffered, DWORD coopSettings, const JoyStickInfo &info)
Definition: Win32JoyStick.cpp:77
virtual void _initialize()
Definition: Win32JoyStick.cpp:104
std::vector< JoyStickInfo > JoyStickInfoList
Definition: LinuxPrereqs.h:79
Definition: Win32ForceFeedback.h:32
An Object&#39;s interface is a way to gain write access to devices which support it.
Definition: OISInterface.h:34
DIDEVCAPS mDIJoyCaps
Definition: Win32JoyStick.h:73
IType
Type of Interface.
Definition: OISInterface.h:40
IDirectInputDevice8 * mJoyStick
Definition: Win32JoyStick.h:72
static void CheckXInputDevices(JoyStickInfoList &joys)
Definition: Win32JoyStick.cpp:576
bool _doButtonClick(int button, DIDEVICEOBJECTDATA &di)
Definition: Win32JoyStick.cpp:512
JoyStickInfo mJoyInfo
Definition: Win32JoyStick.h:76
Win32ForceFeedback * mFfDevice
A force feedback device.
Definition: Win32JoyStick.h:79
bool _changePOV(int pov, DIDEVICEOBJECTDATA &di)
Definition: Win32JoyStick.cpp:531
int _AxisNumber
Mapping.
Definition: Win32JoyStick.h:82
virtual Interface * queryInterface(Interface::IType type)
Definition: Win32JoyStick.cpp:567
virtual bool buffered() const
Definition: OISObject.h:44
virtual ~Win32JoyStick()
Definition: Win32JoyStick.cpp:88
Joystick base class.
Definition: OISJoyStick.h:159
DWORD coopSetting
Definition: Win32JoyStick.h:74
Definition: Win32JoyStick.h:31
Definition: LinuxPrereqs.h:53
static BOOL CALLBACK DIEnumDeviceObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef)
Enumerate axis callback.
Definition: Win32JoyStick.cpp:183
Base Manager class.
Definition: OISInputManager.h:38
virtual void capture()
Definition: Win32JoyStick.cpp:261
Definition: EventHelpers.h:31
void _enumerate()
Enumerates all things.
Definition: Win32JoyStick.cpp:150
static BOOL CALLBACK DIEnumEffectsCallback(LPCDIEFFECTINFO pdei, LPVOID pvRef)
Enumerate Force Feedback callback.
Definition: Win32JoyStick.cpp:247
virtual void setBuffered(bool buffered)
Definition: Win32JoyStick.cpp:561
void captureXInput()
hanlde xinput
Definition: Win32JoyStick.cpp:400
IDirectInput8 * mDirectInput
Definition: Win32JoyStick.h:71
Type type() const
Definition: OISObject.h:38