The LARC Game Engine
A Simple Game Engine from the Laboratory for Recreational Computing
Public Member Functions | List of all members
CKeyboard Class Reference

The keyboard handler. More...

#include <Keyboard.h>

Inheritance diagram for CKeyboard:
CWindowDesc

Public Member Functions

 CKeyboard ()
 Constructor. More...
 
void GetState ()
 Poll the keyboard state. More...
 
const bool Down (const WPARAM) const
 Check for key down. More...
 
bool TriggerDown (const WPARAM)
 Check for key changing from up to down. More...
 
bool TriggerUp (const WPARAM)
 Check for key changing from down to up. More...
 
bool TriggerDown ()
 Check for any key changing from up to down. More...
 
bool TriggerUp ()
 Check for any key changing from down to up. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from CWindowDesc
static HWND m_Hwnd = 0
 Window handle.
 
static HINSTANCE m_hInst = 0
 Instance handle.
 
static bool m_bExitSizeMove
 User just finished moving/resizing window.
 

Detailed Description

This is a polled keyboard handler. Its GetState() function must be called once per frame. The keyboard state from the previous frame is retained so that queries can determine whether a key changed state.

Constructor & Destructor Documentation

◆ CKeyboard()

CKeyboard::CKeyboard ( )

The constructor initializes all key states to zero.

Member Function Documentation

◆ Down()

const bool CKeyboard::Down ( const WPARAM  k) const

Check whether a key is currently down. This function assumes that GetState() has been called recently to get the current keyboard state.

Parameters
kVirtual key code of key to check.
Returns
True if key k is down.

◆ GetState()

void CKeyboard::GetState ( )

Use the Windows API GetKeyboardState function to get the state of all 256 keys on the keyboard. The results are stored as an array of bytes in m_pState, while the previous state is also stored in m_pOldState.

◆ TriggerDown() [1/2]

bool CKeyboard::TriggerDown ( const WPARAM  k)

Check whether a key went down. This function assumes that GetState() has been called recently to get the current keyboard state.

Parameters
kVirtual key code of key to check.
Returns
True if key k went down.

◆ TriggerDown() [2/2]

bool CKeyboard::TriggerDown ( )

Check whether any key went down, not including the ESC key or the function keys F1 through F12. This includes the mouse buttons. This function assumes that GetState() has been called recently to get the current keyboard state.

Returns
True if a key went down.

◆ TriggerUp() [1/2]

bool CKeyboard::TriggerUp ( const WPARAM  k)

Check whether a key went up. This function assumes that GetState() has been called recently to get the current keyboard state.

Parameters
kVirtual key code of key to check.
Returns
True if key k went up.

◆ TriggerUp() [2/2]

bool CKeyboard::TriggerUp ( )

Check whether any key went up, not including the ESC key or the function keys F1 through F12. This includes the mouse buttons. This function assumes that GetState() has been called recently to get the current keyboard state.

Returns
True if a key went up.