1 // InputTask.h: interface for the CInputTask class.
\r
3 //////////////////////////////////////////////////////////////////////
\r
5 #if !defined(AFX_KEYBOARDTASK_H__4953EF06_7C18_4433_B590_47E045E43576__INCLUDED_)
\r
6 #define AFX_KEYBOARDTASK_H__4953EF06_7C18_4433_B590_47E045E43576__INCLUDED_
\r
10 #endif // _MSC_VER > 1000
\r
13 #include "Amaltheia/Input.h"
\r
15 #define DIRECTINPUT_VERSION 0x0800
\r
19 class CInputTask : public ITask
\r
22 CInputTask(CKernel* kernel);
\r
23 virtual ~CInputTask();
\r
28 /* XXX: Yuck, static crapjes */
\r
29 static BYTE *keys, *oldKeys;
\r
30 //static CMMPointer<CMMDynamicBlob<unsigned char> > oldKeys;
\r
31 static int keyCount;
\r
34 static unsigned int buttons;
\r
35 static unsigned int oldButtons;
\r
37 static bool inline curKey(int index) { return (keys[index]) != 0; }
\r
38 static bool inline oldKey(int index) { return (oldKeys[index]) != 0; }
\r
40 //some helper functions to make certain things easier
\r
41 //static bool inline keyDown(int index) { return ( curKey(index))&&(!oldKey(index)); }
\r
42 static bool inline keyDown(int index) { return ( curKey(index)); }
\r
43 static bool inline keyStillDown(int index) { return ( curKey(index))&&( oldKey(index)); }
\r
44 static bool inline keyUp(int index) { return (!curKey(index))&&( oldKey(index)); }
\r
45 static bool inline keyStillUp(int index) { return (!curKey(index))&&(!oldKey(index)); }
\r
47 //static bool inline curMouse(int button) { return (buttons&SDL_BUTTON(button))!=0; }
\r
48 //static bool inline oldMouse(int button) { return (oldButtons&SDL_BUTTON(button))!=0; }
\r
50 //static bool inline mouseDown(int button) { return ( curMouse(button))&&(!oldMouse(button)); }
\r
51 //static bool inline mouseStillDown(int button) { return ( curMouse(button))&&( oldMouse(button)); }
\r
52 //static bool inline mouseUp(int button) { return (!curMouse(button))&&( oldMouse(button)); }
\r
53 //static bool inline mouseStillUp(int button) { return (!curMouse(button))&&(!oldMouse(button)); }
\r
58 LPDIRECTINPUT8 din; // the pointer to our DirectInput interface
\r
59 LPDIRECTINPUTDEVICE8 dinkeyboard; // the pointer to the keyboard device
\r
63 #endif // !defined(AFX_KEYBOARDTASK_H__4953EF06_7C18_4433_B590_47E045E43576__INCLUDED_)
\r