CrystalSpace

Public API Reference

csKeyboardDriver Class Reference

Generic Keyboard Driver. More...

#include <csutil/csinput.h>

Inheritance diagram for csKeyboardDriver:

List of all members.

Public Member Functions

 csKeyboardDriver (iObjectRegistry *)
 Initialize keyboard interface.
virtual void DoKey (utf32_char codeRaw, utf32_char codeCooked, bool iDown, bool autoRepeat=false, csKeyCharType charType=csKeyCharTypeNormal)
 Call this routine to add a key down/up event to queue.
virtual bool GetKeyState (utf32_char codeRaw) const
 Query the state of a key.
virtual uint32 GetModifierState (utf32_char codeRaw) const
 Query the state of a modifier key.
CS_EVENTHANDLER_NIL_GENERIC_CONSTRAINTS
virtual
CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS
void 
Reset ()
 Call to release all key down flags.
virtual void RestoreKeys ()
 Call to get the key down flags in sync with the actual pressed keys.
virtual csEventError SynthesizeCooked (iEvent *)
 Fills in the 'cooked' key code of an event with only a 'raw' key code.
virtual ~csKeyboardDriver ()
 Destructor.

Protected Member Functions

virtual void LostFocus ()
 Application lost focus.
virtual void SetKeyState (utf32_char codeRaw, bool iDown, bool autoRepeat)
 Set key state.
virtual void SynthesizeCooked (utf32_char codeRaw, const csKeyModifiers &modifiers, utf32_char &codeCooked)
 Generates a 'cooked' key code for a 'raw' key code from some simple rules.

Protected Attributes

csHash< bool, utf32_charkeyStates
 Key state array.

Detailed Description

Generic Keyboard Driver.

Keyboard driver should generate events and put them into an event queue. Also it tracks the current state of all keys.

Definition at line 99 of file csinput.h.


Constructor & Destructor Documentation

csKeyboardDriver::csKeyboardDriver ( iObjectRegistry  ) 

Initialize keyboard interface.

virtual csKeyboardDriver::~csKeyboardDriver (  )  [virtual]

Destructor.


Member Function Documentation

virtual void csKeyboardDriver::DoKey ( utf32_char  codeRaw,
utf32_char  codeCooked,
bool  iDown,
bool  autoRepeat = false,
csKeyCharType  charType = csKeyCharTypeNormal 
) [virtual]

Call this routine to add a key down/up event to queue.

Parameters:
codeRaw 'Raw' code of the pressed key.
codeCooked 'Cooked' code of the pressed key.
iDown Whether the key is up or down.
autoRepeat Auto-repeat flag for the key event. Typically only used by the platform-specific keyboard agents.
charType When the cooked code is a character, it determines whether it is a normal, dead or composed character.
virtual bool csKeyboardDriver::GetKeyState ( utf32_char  codeRaw  )  const [virtual]

Query the state of a key.

All key codes are supported. Returns true if the key is pressed, false if not.

virtual uint32 csKeyboardDriver::GetModifierState ( utf32_char  codeRaw  )  const [virtual]

Query the state of a modifier key.

Returns a bit field, where the nth bit is set if the nth modifier of a type is pressed. If a specific modifier is requested, e.g. CSKEY_SHIFT_LEFT, only the according bit is set. Otherwise, for a generic modifier (e.g. CSKEY_SHIFT), all distinct modifier keys of that type are represented.

Example: Test if any Alt key is pressed:

   bool pressed = (KeyboardDriver->GetModifierState(CSKEY_ALT) != 0);

Example: Test if the right Ctrl key is pressed:

   bool pressed = (KeyboardDriver->GetModifierState(CSKEY_CTRL_RIGHT) != 0);
Parameters:
codeRaw Raw code of the modifier key.
Returns:
Bit mask with the pressed modifiers.
virtual void csKeyboardDriver::LostFocus (  )  [inline, protected, virtual]

Application lost focus.

Definition at line 128 of file csinput.h.

CS_EVENTHANDLER_NIL_GENERIC_CONSTRAINTS virtual CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS void csKeyboardDriver::Reset (  )  [virtual]

Call to release all key down flags.

virtual void csKeyboardDriver::RestoreKeys (  )  [virtual]

Call to get the key down flags in sync with the actual pressed keys.

virtual void csKeyboardDriver::SetKeyState ( utf32_char  codeRaw,
bool  iDown,
bool  autoRepeat 
) [protected, virtual]

Set key state.

For example SetKey (CSKEY_UP, true). Called automatically by do_press and do_release.

virtual void csKeyboardDriver::SynthesizeCooked ( utf32_char  codeRaw,
const csKeyModifiers modifiers,
utf32_char codeCooked 
) [protected, virtual]

Generates a 'cooked' key code for a 'raw' key code from some simple rules.

virtual csEventError csKeyboardDriver::SynthesizeCooked ( iEvent  )  [virtual]

Fills in the 'cooked' key code of an event with only a 'raw' key code.


Member Data Documentation

Key state array.

Definition at line 104 of file csinput.h.


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

Generated for Crystal Space 1.4.1 by doxygen 1.7.1