OpenBarnyard
 
Loading...
Searching...
No Matches
TInputDeviceKeyboard_Win.h
Go to the documentation of this file.
1#pragma once
3#include "Toshi/T2Array.h"
4
5#include "Includes.h"
6
8
10{
11public:
13
14public:
15 struct KeyInfo
16 {
19 };
20
21public:
23
24 virtual TBOOL Acquire() override;
25 virtual TBOOL Unacquire() override;
26 virtual void Release() override;
27 virtual void Update( float deltaTime ) override;
28 virtual TBOOL Flush() override;
29 virtual TINT ProcessEvents( TEmitter<TInputInterface, TInputInterface::InputEvent>& emitter, float deltaTime ) override;
30 virtual TINT GetButtonCount() const override;
31 virtual TBOOL IsDown( TINT doodad ) const override;
32 virtual TBOOL IsEnabled() const override;
33 virtual TBOOL IsShiftDown() const override;
34 virtual TBOOL IsControlDown() const override;
35 virtual TBOOL IsAltDown() const override;
36 virtual TBOOL WasDown( TINT doodad ) const override;
37 virtual TWCHAR* TranslateDoodadToCharacter( TINT doodad ) const override;
38 virtual TBOOL Initialise();
39 virtual TBOOL Deinitialise();
40 virtual void RefreshDirect();
41
42protected:
43 TBOOL HandleKeyChange( TEmitter<TInputInterface, TInputInterface::InputEvent>& a_Emitter, TINT a_iKeyIndex, uint8_t a_ui8KeyState );
44 static TINT TranslateDXToDoodad( TINT doodad );
45 static TINT TranslateDoodadToDX( TINT dxkey );
46
47public:
48 const TBOOL BindToDIDevice( HWND a_hMainWindow, LPCDIDEVICEINSTANCEA a_poDeviceInstance, IDirectInputDevice8A* a_poDXInputDevice );
49 static BOOL CALLBACK EnumObjectCallback( LPCDIDEVICEOBJECTINSTANCEA a_poObjectInstance, LPVOID a_pvRef );
50
51private:
52 TINT m_iSomeNum;
53 TUINT8* m_pKeyStates1;
54 TUINT8* m_pKeyStates2;
55 TUINT8 m_aBuffer[ 512 ];
57 TBOOL m_bIsUpdating;
58 DIDEVICEINSTANCEA m_oDeviceInstance;
59 DIDEVCAPS m_DIDevCaps;
60 IDirectInputDevice8A* m_poDXInputDevice;
61 TBOOL m_bFlag;
62};
63
Keyboard input device for the Toshi engine.
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
wchar_t TWCHAR
Definition Typedefs.h:21
uint8_t TUINT8
Definition Typedefs.h:17
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
TBOOL HandleKeyChange(TEmitter< TInputInterface, TInputInterface::InputEvent > &a_Emitter, TINT a_iKeyIndex, uint8_t a_ui8KeyState)
static TINT TranslateDoodadToDX(TINT dxkey)
virtual TBOOL IsAltDown() const override
virtual void Update(float deltaTime) override
virtual TBOOL IsEnabled() const override
virtual TBOOL IsShiftDown() const override
static BOOL CALLBACK EnumObjectCallback(LPCDIDEVICEOBJECTINSTANCEA a_poObjectInstance, LPVOID a_pvRef)
static TINT TranslateDXToDoodad(TINT doodad)
TDECLARE_CLASS(TInputDXDeviceKeyboard, TInputDeviceKeyboard)
virtual TWCHAR * TranslateDoodadToCharacter(TINT doodad) const override
virtual TBOOL Acquire() override
virtual TBOOL WasDown(TINT doodad) const override
virtual TBOOL IsControlDown() const override
virtual TBOOL Unacquire() override
virtual void Release() override
virtual TINT GetButtonCount() const override
const TBOOL BindToDIDevice(HWND a_hMainWindow, LPCDIDEVICEINSTANCEA a_poDeviceInstance, IDirectInputDevice8A *a_poDXInputDevice)
virtual TINT ProcessEvents(TEmitter< TInputInterface, TInputInterface::InputEvent > &emitter, float deltaTime) override
virtual TBOOL IsDown(TINT doodad) const override
virtual TBOOL Flush() override