OpenBarnyard
 
Loading...
Searching...
No Matches
TInputDeviceKeyboard Class Referenceabstract

#include <TInputDeviceKeyboard.h>

Inheritance diagram for TInputDeviceKeyboard:
TInputDevice TObject TNodeList< T >::TNode TInputDXDeviceKeyboard

Classes

struct  VirtStickDoodad
 

Public Types

enum  : Doodad {
  DOODAD_START = 0x20000 , VIRTKEY = 0x20001 , VIRTKEY_SHIFT = 0x20002 , VIRTKEY_CONTROL = 0x20003 ,
  VIRTKEY_ALT = 0x20004 , KEY_ESCAPE = 0x20005 , KEY_1 = 0x20006 , KEY_2 = 0x20007 ,
  KEY_3 = 0x20008 , KEY_4 = 0x20009 , KEY_5 = 0x2000A , KEY_6 = 0x2000B ,
  KEY_7 = 0x2000C , KEY_8 = 0x2000D , KEY_9 = 0x2000E , KEY_0 = 0x2000F ,
  KEY_MINUS = 0x20010 , KEY_EQUALS = 0x20011 , KEY_BACK = 0x20012 , KEY_TAB = 0x20013 ,
  KEY_Q = 0x20014 , KEY_W = 0x20015 , KEY_E = 0x20016 , KEY_R = 0x20017 ,
  KEY_T = 0x20018 , KEY_Y = 0x20019 , KEY_U = 0x2001A , KEY_I = 0x2001B ,
  KEY_O = 0x2001C , KEY_P = 0x2001D , KEY_LBRACKET = 0x2001E , KEY_RBRACKET = 0x2001F ,
  KEY_RETURN = 0x20020 , KEY_LCONTROL = 0x20021 , KEY_A = 0x20022 , KEY_S = 0x20023 ,
  KEY_D = 0x20024 , KEY_F = 0x20025 , KEY_G = 0x20026 , KEY_H = 0x20027 ,
  KEY_J = 0x20028 , KEY_K = 0x20029 , KEY_L = 0x2002A , KEY_SEMICOLON = 0x2002B ,
  KEY_APOSTROPHE = 0x2002C , KEY_GRAVE = 0x2002D , KEY_LSHIFT = 0x2002E , KEY_BACKSLASH = 0x2002F ,
  KEY_Z = 0x20030 , KEY_X = 0x20031 , KEY_C = 0x20032 , KEY_V = 0x20033 ,
  KEY_B = 0x20034 , KEY_N = 0x20035 , KEY_M = 0x20036 , KEY_COMMA = 0x20037 ,
  KEY_PERIOD = 0x20038 , KEY_SLASH = 0x20039 , KEY_RSHIFT = 0x2003A , KEY_MULTIPLY = 0x2003B ,
  KEY_LMENU = 0x2003c , KEY_SPACE = 0x2003d , KEY_CAPITAL = 0x2003e , KEY_F1 = 0x2003f ,
  KEY_F2 = 0x20040 , KEY_F3 = 0x20041 , KEY_F4 = 0x20042 , KEY_F5 = 0x20043 ,
  KEY_F6 = 0x20044 , KEY_F7 = 0x20045 , KEY_F8 = 0x20046 , KEY_F9 = 0x20047 ,
  KEY_F10 = 0x20048 , KEY_NUMLOCK = 0x20049 , KEY_SCROLL = 0x2004a , KEY_NUMPAD7 = 0x2004b ,
  KEY_NUMPAD8 = 0x2004c , KEY_NUMPAD9 = 0x2004d , KEY_SUBTRACT = 0x2004e , KEY_NUMPAD4 = 0x2004f ,
  KEY_NUMPAD5 = 0x20050 , KEY_NUMPAD6 = 0x20051 , KEY_ADD = 0x20052 , KEY_NUMPAD1 = 0x20053 ,
  KEY_NUMPAD2 = 0x20054 , KEY_NUMPAD3 = 0x20055 , KEY_NUMPAD0 = 0x20056 , KEY_DECIMAL = 0x20057 ,
  KEY_F11 = 0x20058 , KEY_F12 = 0x20059 , KEY_F13 = 0x2005a , KEY_F14 = 0x2005b ,
  KEY_F15 = 0x2005c , KEY_KANA = 0x2005d , KEY_CONVERT = 0x2005e , KEY_NOCONVERT = 0x2005f ,
  KEY_YEN = 0x20060 , KEY_NUMPADEQUALS = 0x20061 , KEY_CIRCUMFLEX = 0x20062 , KEY_AT = 0x20063 ,
  KEY_COLON = 0x20064 , KEY_UNDERLINE = 0x20065 , KEY_KANJI = 0x20066 , KEY_STOP = 0x20067 ,
  KEY_AX = 0x20068 , KEY_UNLABELED = 0x20069 , KEY_NUMPADENTER = 0x2006a , KEY_RCONTROL = 0x2006b ,
  KEY_NUMPADCOMMA = 0x2006c , KEY_DIVIDE = 0x2006d , KEY_SYSRQ = 0x2006e , KEY_RMENU = 0x2006f ,
  KEY_HOME = 0x20070 , KEY_PAUSE = 0x20071 , KEY_UP = 0x20072 , KEY_PRIOR = 0x20073 ,
  KEY_LEFT = 0x20074 , KEY_RIGHT = 0x20075 , KEY_END = 0x20076 , KEY_DOWN = 0x20077 ,
  KEY_NEXT = 0x20078 , KEY_INSERT = 0x20079 , KEY_DELETE = 0x2007a , KEY_LWIN = 0x2007b ,
  KEY_RWIN = 0x2007c , KEY_APPS = 0x2007d , KEY_POWER = 0x2007e , KEY_SLEEP = 0x2007f ,
  DOODAD_END = 0x20080
}
 
- Public Types inherited from TInputDevice
using EventEmitter = TInputInterface::EventEmitter
 
using Doodad = TINT
 
- Public Types inherited from TObject
enum  { IsTObject = TTRUE }
 

Public Member Functions

 TDECLARE_CLASS (TInputDeviceKeyboard, TInputDevice)
 
 TInputDeviceKeyboard ()
 
 ~TInputDeviceKeyboard ()
 
virtual TBOOL GetDoodadProperties (Doodad a_iDoodad, DoodadProperties &doodadProps) const override
 
virtual TINT GetAxisCount () const override
 
virtual const TCHARGetButtonFromDoodad (Doodad a_iDoodad) const override
 
virtual TINT GetAxisInt (Doodad a_iDoodad, TINT axis) const override
 
virtual float GetAxisFloat (Doodad a_iDoodad, TINT axis) const override
 
virtual TBOOL IsShiftDown () const =0
 
virtual TBOOL IsControlDown () const =0
 
virtual TBOOL IsAltDown () const =0
 
virtual TBOOL WasDown (Doodad a_iDoodad) const =0
 
virtual TWCHARTranslateDoodadToCharacter (Doodad a_iDoodad) const =0
 
virtual TINT ProcessVirtualButtons (EventEmitter &a_rEmitter, TFLOAT flt)
 
void SetVirtStickDoodads (TINT a_iMapID, Doodad a_iDoodad1, Doodad a_iDoodad2, Doodad a_iDoodad3, Doodad a_iDoodad4)
 
void GetVirtStickDoodads (TINT a_iMapID, Doodad &a_rDoodad1, Doodad &a_rDoodad2, Doodad &a_rDoodad3, Doodad &a_rDoodad4)
 
- Public Member Functions inherited from TInputDevice
 TDECLARE_CLASS (TInputDevice, TObject)
 
 TInputDevice ()
 
 ~TInputDevice ()=default
 
virtual TBOOL Acquire ()=0
 
virtual TBOOL Unacquire ()=0
 
virtual void Release ()=0
 
virtual void Update (TFLOAT deltaTime)=0
 
virtual TBOOL Flush ()
 
virtual TINT ProcessEvents (EventEmitter &emitter, TFLOAT deltaTime)=0
 
virtual TINT GetButtonCount () const =0
 
virtual TBOOL StartRepeat (Doodad a_iDoodad, TFLOAT a_fFirstRepeatTime, TFLOAT a_fRepeatTime)
 
virtual void StopRepeat (Doodad a_iDoodad)
 
virtual void StopAllRepeats ()
 
virtual TBOOL IsForceFeedbackDevice ()
 
virtual TBOOL IsDown (Doodad a_iDoodad) const =0
 
virtual TINT GetAxisInt2 (Doodad a_iDoodad, TINT axis) const
 
virtual TFLOAT GetAxisFloat2 (Doodad a_iDoodad, TINT axis) const
 
virtual TBOOL IsEnabled () const =0
 
virtual void ThrowRepeatEvent (EventEmitter &emitter, RepeatInfo *repeatInfo, TFLOAT deltaTime)
 
TBOOL IsAcquired () const
 
void SetAcquired (TBOOL a_bAcquired)
 
TInputInterfaceGetInputInterface ()
 
void SetInputInterface (TInputInterface *a_pInterface)
 
- Public Member Functions inherited from TObject
virtual Toshi::TClass * GetClass ()
 
virtual void Delete ()
 
virtual ~TObject ()
 
TBOOL IsExactly (TClass *a_pClass)
 
TBOOL IsA (TClass *a_pClass)
 
- Public Member Functions inherited from TNodeList< T >::TNode
constexpr TNode ()
 
constexpr TNode (const TNode &a_rcNode)
 
 TNode (TNode &&a_rNode)
 
T * Next () const
 
T * Prev () const
 
void Remove ()
 
void SetList (TNodeList *list)
 
TNodeListGetList () const
 
TBOOL IsLinked () const
 

Static Public Attributes

static constexpr TUINT KEYBOARD_NUM_DOODADS = 128
 
static constexpr TUINT VIRTSTK_DIRECTIONAL_MAPS = 2
 
- Static Public Attributes inherited from TInputDevice
static constexpr TINT INPUT_DEVICE_MOUSE_BUTTONS = 3
 
static constexpr TINT INPUT_DEVICE_MOUSE_WHEEL = 4
 
- Static Public Attributes inherited from TObject
static constexpr Toshi::TClass * PARENTCLASS = TNULL
 
static constinit Toshi::TClass ms_oClass = Toshi::TClass( "TObject", TObject::CreateTObject, TObject::CreateTObjectInPlace, TObject::InitialiseClass, TObject::DeinitialiseClass, 0, 2, sizeof( TObject ), alignof( TObject ) )
 

Protected Member Functions

void UpdateVirtualButtons ()
 
- Protected Member Functions inherited from TInputDevice
TINT ProcessRepeats (EventEmitter &a_rEmitter, TFLOAT a_fDeltaTime)
 

Protected Attributes

TFLOAT m_aMags [4]
 
VirtStickDoodad m_aVirtStickDoodads [VIRTSTK_DIRECTIONAL_MAPS]
 
- Protected Attributes inherited from TInputDevice
TUINT m_uiDeviceIndex
 
TArray< RepeatInfom_Repeats
 
TArray< void * > m_Array2
 
TBOOL m_bUnknown
 
TBOOL m_bIsAcquired
 
TInputInterfacem_pInputInterface
 
- Protected Attributes inherited from TNodeList< T >::TNode
friend TNodeList
 
TNodeListm_pList
 
T * m_pNext
 
T * m_pPrev
 

Additional Inherited Members

- Static Public Member Functions inherited from TInputDevice
static TInputDevice ** GetRegisteredDevices ()
 
static TUINT GetNumRegisteredDevices ()
 
- Static Public Member Functions inherited from TObject
static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static TFORCEINLINE TClassGetClassStatic ()
 
- Static Protected Attributes inherited from TInputDevice
static constexpr TUINT MAX_DEVICE_COUNT = 14
 
static TInputDevices_aDevices [MAX_DEVICE_COUNT]
 
static TUINT s_uiDeviceCount
 

Detailed Description

Definition at line 17 of file TInputDeviceKeyboard.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : Doodad
Enumerator
DOODAD_START 
VIRTKEY 
VIRTKEY_SHIFT 
VIRTKEY_CONTROL 
VIRTKEY_ALT 
KEY_ESCAPE 
KEY_1 
KEY_2 
KEY_3 
KEY_4 
KEY_5 
KEY_6 
KEY_7 
KEY_8 
KEY_9 
KEY_0 
KEY_MINUS 
KEY_EQUALS 
KEY_BACK 
KEY_TAB 
KEY_Q 
KEY_W 
KEY_E 
KEY_R 
KEY_T 
KEY_Y 
KEY_U 
KEY_I 
KEY_O 
KEY_P 
KEY_LBRACKET 
KEY_RBRACKET 
KEY_RETURN 
KEY_LCONTROL 
KEY_A 
KEY_S 
KEY_D 
KEY_F 
KEY_G 
KEY_H 
KEY_J 
KEY_K 
KEY_L 
KEY_SEMICOLON 
KEY_APOSTROPHE 
KEY_GRAVE 
KEY_LSHIFT 
KEY_BACKSLASH 
KEY_Z 
KEY_X 
KEY_C 
KEY_V 
KEY_B 
KEY_N 
KEY_M 
KEY_COMMA 
KEY_PERIOD 
KEY_SLASH 
KEY_RSHIFT 
KEY_MULTIPLY 
KEY_LMENU 
KEY_SPACE 
KEY_CAPITAL 
KEY_F1 
KEY_F2 
KEY_F3 
KEY_F4 
KEY_F5 
KEY_F6 
KEY_F7 
KEY_F8 
KEY_F9 
KEY_F10 
KEY_NUMLOCK 
KEY_SCROLL 
KEY_NUMPAD7 
KEY_NUMPAD8 
KEY_NUMPAD9 
KEY_SUBTRACT 
KEY_NUMPAD4 
KEY_NUMPAD5 
KEY_NUMPAD6 
KEY_ADD 
KEY_NUMPAD1 
KEY_NUMPAD2 
KEY_NUMPAD3 
KEY_NUMPAD0 
KEY_DECIMAL 
KEY_F11 
KEY_F12 
KEY_F13 
KEY_F14 
KEY_F15 
KEY_KANA 
KEY_CONVERT 
KEY_NOCONVERT 
KEY_YEN 
KEY_NUMPADEQUALS 
KEY_CIRCUMFLEX 
KEY_AT 
KEY_COLON 
KEY_UNDERLINE 
KEY_KANJI 
KEY_STOP 
KEY_AX 
KEY_UNLABELED 
KEY_NUMPADENTER 
KEY_RCONTROL 
KEY_NUMPADCOMMA 
KEY_DIVIDE 
KEY_SYSRQ 
KEY_RMENU 
KEY_HOME 
KEY_PAUSE 
KEY_UP 
KEY_PRIOR 
KEY_LEFT 
KEY_RIGHT 
KEY_END 
KEY_DOWN 
KEY_NEXT 
KEY_INSERT 
KEY_DELETE 
KEY_LWIN 
KEY_RWIN 
KEY_APPS 
KEY_POWER 
KEY_SLEEP 
DOODAD_END 

Definition at line 24 of file TInputDeviceKeyboard.h.

25 {
26 DOODAD_START = 0x20000,
27 VIRTKEY = 0x20001,
28 VIRTKEY_SHIFT = 0x20002,
29 VIRTKEY_CONTROL = 0x20003,
30 VIRTKEY_ALT = 0x20004,
31 KEY_ESCAPE = 0x20005,
32 KEY_1 = 0x20006,
33 KEY_2 = 0x20007,
34 KEY_3 = 0x20008,
35 KEY_4 = 0x20009,
36 KEY_5 = 0x2000A,
37 KEY_6 = 0x2000B,
38 KEY_7 = 0x2000C,
39 KEY_8 = 0x2000D,
40 KEY_9 = 0x2000E,
41 KEY_0 = 0x2000F,
42 KEY_MINUS = 0x20010,
43 KEY_EQUALS = 0x20011,
44 KEY_BACK = 0x20012,
45 KEY_TAB = 0x20013,
46 KEY_Q = 0x20014,
47 KEY_W = 0x20015,
48 KEY_E = 0x20016,
49 KEY_R = 0x20017,
50 KEY_T = 0x20018,
51 KEY_Y = 0x20019,
52 KEY_U = 0x2001A,
53 KEY_I = 0x2001B,
54 KEY_O = 0x2001C,
55 KEY_P = 0x2001D,
56 KEY_LBRACKET = 0x2001E,
57 KEY_RBRACKET = 0x2001F,
58 KEY_RETURN = 0x20020,
59 KEY_LCONTROL = 0x20021,
60 KEY_A = 0x20022,
61 KEY_S = 0x20023,
62 KEY_D = 0x20024,
63 KEY_F = 0x20025,
64 KEY_G = 0x20026,
65 KEY_H = 0x20027,
66 KEY_J = 0x20028,
67 KEY_K = 0x20029,
68 KEY_L = 0x2002A,
69 KEY_SEMICOLON = 0x2002B,
70 KEY_APOSTROPHE = 0x2002C,
71 KEY_GRAVE = 0x2002D,
72 KEY_LSHIFT = 0x2002E,
73 KEY_BACKSLASH = 0x2002F,
74 KEY_Z = 0x20030,
75 KEY_X = 0x20031,
76 KEY_C = 0x20032,
77 KEY_V = 0x20033,
78 KEY_B = 0x20034,
79 KEY_N = 0x20035,
80 KEY_M = 0x20036,
81 KEY_COMMA = 0x20037,
82 KEY_PERIOD = 0x20038,
83 KEY_SLASH = 0x20039,
84 KEY_RSHIFT = 0x2003A,
85 KEY_MULTIPLY = 0x2003B,
86 KEY_LMENU = 0x2003c,
87 KEY_SPACE = 0x2003d,
88 KEY_CAPITAL = 0x2003e,
89 KEY_F1 = 0x2003f,
90 KEY_F2 = 0x20040,
91 KEY_F3 = 0x20041,
92 KEY_F4 = 0x20042,
93 KEY_F5 = 0x20043,
94 KEY_F6 = 0x20044,
95 KEY_F7 = 0x20045,
96 KEY_F8 = 0x20046,
97 KEY_F9 = 0x20047,
98 KEY_F10 = 0x20048,
99 KEY_NUMLOCK = 0x20049,
100 KEY_SCROLL = 0x2004a,
101 KEY_NUMPAD7 = 0x2004b,
102 KEY_NUMPAD8 = 0x2004c,
103 KEY_NUMPAD9 = 0x2004d,
104 KEY_SUBTRACT = 0x2004e,
105 KEY_NUMPAD4 = 0x2004f,
106 KEY_NUMPAD5 = 0x20050,
107 KEY_NUMPAD6 = 0x20051,
108 KEY_ADD = 0x20052,
109 KEY_NUMPAD1 = 0x20053,
110 KEY_NUMPAD2 = 0x20054,
111 KEY_NUMPAD3 = 0x20055,
112 KEY_NUMPAD0 = 0x20056,
113 KEY_DECIMAL = 0x20057,
114 KEY_F11 = 0x20058,
115 KEY_F12 = 0x20059,
116 KEY_F13 = 0x2005a,
117 KEY_F14 = 0x2005b,
118 KEY_F15 = 0x2005c,
119 KEY_KANA = 0x2005d,
120 KEY_CONVERT = 0x2005e,
121 KEY_NOCONVERT = 0x2005f,
122 KEY_YEN = 0x20060,
123 KEY_NUMPADEQUALS = 0x20061,
124 KEY_CIRCUMFLEX = 0x20062,
125 KEY_AT = 0x20063,
126 KEY_COLON = 0x20064,
127 KEY_UNDERLINE = 0x20065,
128 KEY_KANJI = 0x20066,
129 KEY_STOP = 0x20067,
130 KEY_AX = 0x20068,
131 KEY_UNLABELED = 0x20069,
132 KEY_NUMPADENTER = 0x2006a,
133 KEY_RCONTROL = 0x2006b,
134 KEY_NUMPADCOMMA = 0x2006c,
135 KEY_DIVIDE = 0x2006d,
136 KEY_SYSRQ = 0x2006e,
137 KEY_RMENU = 0x2006f,
138 KEY_HOME = 0x20070,
139 KEY_PAUSE = 0x20071,
140 KEY_UP = 0x20072,
141 KEY_PRIOR = 0x20073,
142 KEY_LEFT = 0x20074,
143 KEY_RIGHT = 0x20075,
144 KEY_END = 0x20076,
145 KEY_DOWN = 0x20077,
146 KEY_NEXT = 0x20078,
147 KEY_INSERT = 0x20079,
148 KEY_DELETE = 0x2007a,
149 KEY_LWIN = 0x2007b,
150 KEY_RWIN = 0x2007c,
151 KEY_APPS = 0x2007d,
152 KEY_POWER = 0x2007e,
153 KEY_SLEEP = 0x2007f,
154 DOODAD_END = 0x20080
155 };

Constructor & Destructor Documentation

◆ TInputDeviceKeyboard()

TInputDeviceKeyboard::TInputDeviceKeyboard ( )

Definition at line 15 of file TInputDeviceKeyboard.cpp.

16{
17}

◆ ~TInputDeviceKeyboard()

TInputDeviceKeyboard::~TInputDeviceKeyboard ( )

Definition at line 20 of file TInputDeviceKeyboard.cpp.

21{
22}

Member Function Documentation

◆ GetAxisCount()

virtual TINT TInputDeviceKeyboard::GetAxisCount ( ) const
inlineoverridevirtual

Implements TInputDevice.

Definition at line 167 of file TInputDeviceKeyboard.h.

167{ return 0; }

◆ GetAxisFloat()

virtual float TInputDeviceKeyboard::GetAxisFloat ( Doodad a_iDoodad,
TINT axis ) const
inlineoverridevirtual

Implements TInputDevice.

Definition at line 170 of file TInputDeviceKeyboard.h.

170{ return 0; }

◆ GetAxisInt()

virtual TINT TInputDeviceKeyboard::GetAxisInt ( Doodad a_iDoodad,
TINT axis ) const
inlineoverridevirtual

Implements TInputDevice.

Definition at line 169 of file TInputDeviceKeyboard.h.

169{ return 0; }

◆ GetButtonFromDoodad()

const TCHAR * TInputDeviceKeyboard::GetButtonFromDoodad ( Doodad a_iDoodad) const
overridevirtual

Implements TInputDevice.

Definition at line 82 of file TInputDeviceKeyboard.cpp.

83{
84#define CASE( KEY ) \
85 case KEY: return STRINGIFY( KEY )
86
87 switch ( a_iDoodad )
88 {
93 CASE( KEY_1 );
94 CASE( KEY_2 );
95 CASE( KEY_3 );
96 CASE( KEY_4 );
97 CASE( KEY_5 );
98 CASE( KEY_6 );
99 CASE( KEY_7 );
100 CASE( KEY_8 );
101 CASE( KEY_9 );
102 CASE( KEY_0 );
103 CASE( KEY_MINUS );
104 CASE( KEY_EQUALS );
105 CASE( KEY_BACK );
106 CASE( KEY_TAB );
107 CASE( KEY_Q );
108 CASE( KEY_W );
109 CASE( KEY_E );
110 CASE( KEY_R );
111 CASE( KEY_T );
112 CASE( KEY_Y );
113 CASE( KEY_U );
114 CASE( KEY_I );
115 CASE( KEY_O );
116 CASE( KEY_P );
119 CASE( KEY_RETURN );
121 CASE( KEY_A );
122 CASE( KEY_S );
123 CASE( KEY_D );
124 CASE( KEY_F );
125 CASE( KEY_G );
126 CASE( KEY_H );
127 CASE( KEY_J );
128 CASE( KEY_K );
129 CASE( KEY_L );
132 CASE( KEY_GRAVE );
133 CASE( KEY_LSHIFT );
135 CASE( KEY_Z );
136 CASE( KEY_X );
137 CASE( KEY_C );
138 CASE( KEY_V );
139 CASE( KEY_B );
140 CASE( KEY_N );
141 CASE( KEY_M );
142 CASE( KEY_COMMA );
143 CASE( KEY_PERIOD );
144 CASE( KEY_SLASH );
145 CASE( KEY_RSHIFT );
147 CASE( KEY_LMENU );
148 CASE( KEY_SPACE );
149 CASE( KEY_CAPITAL );
150 CASE( KEY_F1 );
151 CASE( KEY_F2 );
152 CASE( KEY_F3 );
153 CASE( KEY_F4 );
154 CASE( KEY_F5 );
155 CASE( KEY_F6 );
156 CASE( KEY_F7 );
157 CASE( KEY_F8 );
158 CASE( KEY_F9 );
159 CASE( KEY_F10 );
160 CASE( KEY_NUMLOCK );
161 CASE( KEY_SCROLL );
162 CASE( KEY_NUMPAD7 );
163 CASE( KEY_NUMPAD8 );
164 CASE( KEY_NUMPAD9 );
166 CASE( KEY_NUMPAD4 );
167 CASE( KEY_NUMPAD5 );
168 CASE( KEY_NUMPAD6 );
169 CASE( KEY_ADD );
170 CASE( KEY_NUMPAD1 );
171 CASE( KEY_NUMPAD2 );
172 CASE( KEY_NUMPAD3 );
173 CASE( KEY_NUMPAD0 );
174 CASE( KEY_DECIMAL );
175 CASE( KEY_F11 );
176 CASE( KEY_F12 );
177 CASE( KEY_F13 );
178 CASE( KEY_F14 );
179 CASE( KEY_F15 );
180 CASE( KEY_KANA );
181 CASE( KEY_CONVERT );
183 CASE( KEY_YEN );
186 CASE( KEY_AT );
187 CASE( KEY_COLON );
189 CASE( KEY_KANJI );
190 CASE( KEY_STOP );
191 CASE( KEY_AX );
196 CASE( KEY_DIVIDE );
197 CASE( KEY_SYSRQ );
198 CASE( KEY_RMENU );
199 CASE( KEY_HOME );
200 CASE( KEY_UP );
201 CASE( KEY_PRIOR );
202 CASE( KEY_LEFT );
203 CASE( KEY_RIGHT );
204 CASE( KEY_END );
205 CASE( KEY_DOWN );
206 CASE( KEY_NEXT );
207 CASE( KEY_INSERT );
208 CASE( KEY_DELETE );
209 CASE( KEY_LWIN );
210 CASE( KEY_APPS );
211 CASE( KEY_RWIN );
212 default: return "UNKNOWN";
213 }
214
215#undef CASE
216}
#define CASE(KEY)

◆ GetDoodadProperties()

TBOOL TInputDeviceKeyboard::GetDoodadProperties ( Doodad a_iDoodad,
DoodadProperties & doodadProps ) const
overridevirtual

Implements TInputDevice.

Definition at line 261 of file TInputDeviceKeyboard.cpp.

262{
263 if ( ( a_iDoodad >= DOODAD_START ) && ( a_iDoodad < DOODAD_END ) )
264 {
265 doodadProps.m_iUnk = 0;
266 doodadProps.m_bFlag = TFALSE;
267 return TTRUE;
268 }
269
270 return TFALSE;
271}
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25

◆ GetVirtStickDoodads()

void TInputDeviceKeyboard::GetVirtStickDoodads ( TINT a_iMapID,
Doodad & a_rDoodad1,
Doodad & a_rDoodad2,
Doodad & a_rDoodad3,
Doodad & a_rDoodad4 )

Definition at line 227 of file TInputDeviceKeyboard.cpp.

228{
229 TASSERT( a_iMapID >= 0 && a_iMapID < VIRTSTK_DIRECTIONAL_MAPS );
230 a_rDoodad1 = m_aVirtStickDoodads[ a_iMapID ].iDoodad1;
231 a_rDoodad2 = m_aVirtStickDoodads[ a_iMapID ].iDoodad2;
232 a_rDoodad3 = m_aVirtStickDoodads[ a_iMapID ].iDoodad3;
233 a_rDoodad4 = m_aVirtStickDoodads[ a_iMapID ].iDoodad4;
234}
#define TASSERT(X,...)
Definition Defines.h:138
static constexpr TUINT VIRTSTK_DIRECTIONAL_MAPS
VirtStickDoodad m_aVirtStickDoodads[VIRTSTK_DIRECTIONAL_MAPS]

◆ IsAltDown()

virtual TBOOL TInputDeviceKeyboard::IsAltDown ( ) const
pure virtual

Implemented in TInputDXDeviceKeyboard.

◆ IsControlDown()

virtual TBOOL TInputDeviceKeyboard::IsControlDown ( ) const
pure virtual

Implemented in TInputDXDeviceKeyboard.

◆ IsShiftDown()

virtual TBOOL TInputDeviceKeyboard::IsShiftDown ( ) const
pure virtual

Implemented in TInputDXDeviceKeyboard.

◆ ProcessVirtualButtons()

TINT TInputDeviceKeyboard::ProcessVirtualButtons ( EventEmitter & a_rEmitter,
TFLOAT flt )
virtual

Definition at line 46 of file TInputDeviceKeyboard.cpp.

47{
48 a_rEmitter.Throw( TInputInterface::InputEvent( this, 0x20001, TInputInterface::EVENT_TYPE_VIRTUAL, m_aMags[ 0 ], m_aMags[ 1 ] ) );
49 TINT iNumThrownEvents = 1;
50
51 for ( TUINT i = 0; i < TARRAYSIZE( s_aVirtualButtons ); i++ )
52 {
53 // Check if this virtual button was pressed
54 if ( !WasDown( s_aVirtualButtons[ i ].iAlias1 ) &&
55 !WasDown( s_aVirtualButtons[ i ].iAlias2 ) )
56 {
57 if ( IsDown( s_aVirtualButtons[ i ].iAlias1 ) ||
58 IsDown( s_aVirtualButtons[ i ].iAlias2 ) )
59 {
60 a_rEmitter.Throw( TInputInterface::InputEvent( this, s_aVirtualButtons[ i ].iThrowDoodad, TInputInterface::EVENT_TYPE_GONE_DOWN ) );
61 iNumThrownEvents++;
62 }
63 }
64
65 // Check if this virtual button was released
66 if ( WasDown( s_aVirtualButtons[ i ].iAlias1 ) &&
67 WasDown( s_aVirtualButtons[ i ].iAlias2 ) )
68 {
69 if ( !IsDown( s_aVirtualButtons[ i ].iAlias1 ) ||
70 !IsDown( s_aVirtualButtons[ i ].iAlias2 ) )
71 {
72 a_rEmitter.Throw( TInputInterface::InputEvent( this, s_aVirtualButtons[ i ].iThrowDoodad, TInputInterface::EVENT_TYPE_GONE_UP ) );
73 iNumThrownEvents++;
74 }
75 }
76 }
77
78 return iNumThrownEvents;
79}
#define TARRAYSIZE(ARRAY)
Definition Defines.h:70
unsigned int TUINT
Definition Typedefs.h:8
int TINT
Definition Typedefs.h:7
virtual TBOOL WasDown(Doodad a_iDoodad) const =0
virtual TBOOL IsDown(Doodad a_iDoodad) const =0

◆ SetVirtStickDoodads()

void TInputDeviceKeyboard::SetVirtStickDoodads ( TINT a_iMapID,
Doodad a_iDoodad1,
Doodad a_iDoodad2,
Doodad a_iDoodad3,
Doodad a_iDoodad4 )

Definition at line 218 of file TInputDeviceKeyboard.cpp.

219{
220 TASSERT( a_iMapID >= 0 && a_iMapID < VIRTSTK_DIRECTIONAL_MAPS );
221 m_aVirtStickDoodads[ a_iMapID ].iDoodad1 = a_iDoodad1;
222 m_aVirtStickDoodads[ a_iMapID ].iDoodad2 = a_iDoodad2;
223 m_aVirtStickDoodads[ a_iMapID ].iDoodad3 = a_iDoodad3;
224 m_aVirtStickDoodads[ a_iMapID ].iDoodad4 = a_iDoodad4;
225}

◆ TDECLARE_CLASS()

TInputDeviceKeyboard::TDECLARE_CLASS ( TInputDeviceKeyboard ,
TInputDevice  )

◆ TranslateDoodadToCharacter()

virtual TWCHAR * TInputDeviceKeyboard::TranslateDoodadToCharacter ( Doodad a_iDoodad) const
pure virtual

Implemented in TInputDXDeviceKeyboard.

◆ UpdateVirtualButtons()

void TInputDeviceKeyboard::UpdateVirtualButtons ( )
protected

Definition at line 237 of file TInputDeviceKeyboard.cpp.

238{
239 m_aMags[ 2 ] = m_aMags[ 0 ];
240 m_aMags[ 3 ] = m_aMags[ 1 ];
241 m_aMags[ 1 ] = 0;
242 m_aMags[ 0 ] = 0;
243
244 for ( TINT i = 0; i < VIRTSTK_DIRECTIONAL_MAPS; i++ )
245 {
246 if ( m_aVirtStickDoodads[ i ].iDoodad2 > 0 && IsDown( m_aVirtStickDoodads[ i ].iDoodad2 ) )
247 m_aMags[ 1 ] = -1.0f;
248
249 if ( m_aVirtStickDoodads[ i ].iDoodad1 > 0 && IsDown( m_aVirtStickDoodads[ i ].iDoodad1 ) )
250 m_aMags[ 1 ] = 1.0f;
251
252 if ( m_aVirtStickDoodads[ i ].iDoodad3 > 0 && IsDown( m_aVirtStickDoodads[ i ].iDoodad3 ) )
253 m_aMags[ 0 ] = -1.0f;
254
255 if ( m_aVirtStickDoodads[ i ].iDoodad4 > 0 && IsDown( m_aVirtStickDoodads[ i ].iDoodad4 ) )
256 m_aMags[ 0 ] = 1.0f;
257 }
258}

◆ WasDown()

virtual TBOOL TInputDeviceKeyboard::WasDown ( Doodad a_iDoodad) const
pure virtual

Implemented in TInputDXDeviceKeyboard.

Member Data Documentation

◆ KEYBOARD_NUM_DOODADS

TUINT TInputDeviceKeyboard::KEYBOARD_NUM_DOODADS = 128
inlinestaticconstexpr

Definition at line 158 of file TInputDeviceKeyboard.h.

◆ m_aMags

TFLOAT TInputDeviceKeyboard::m_aMags[4]
protected

Definition at line 194 of file TInputDeviceKeyboard.h.

◆ m_aVirtStickDoodads

VirtStickDoodad TInputDeviceKeyboard::m_aVirtStickDoodads[VIRTSTK_DIRECTIONAL_MAPS]
protected

Definition at line 195 of file TInputDeviceKeyboard.h.

◆ VIRTSTK_DIRECTIONAL_MAPS

TUINT TInputDeviceKeyboard::VIRTSTK_DIRECTIONAL_MAPS = 2
inlinestaticconstexpr

Definition at line 159 of file TInputDeviceKeyboard.h.


The documentation for this class was generated from the following files: