csKeyboardDriver Class Reference
Generic Keyboard Driver. More...
#include <csutil/csinput.h>
Inheritance diagram for csKeyboardDriver:
Public Member Functions | |
virtual csPtr< iKeyComposer > | CreateKeyComposer () |
Return an instance of the keyboard composer. | |
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. | |
virtual CS_EVENTHANDLER_NIL_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 | GainFocus () |
virtual bool | HandleEvent (iEvent &e) |
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 | |
csEventID | KeyboardDown |
csEventID | KeyboardUp |
bool | keyDebug |
bool | keyDebugChecked |
csHash< bool, utf32_char > | keyStates |
Key state array. | |
csKeyModifiers | modifiersState |
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 csPtr<iKeyComposer> csKeyboardDriver::CreateKeyComposer | ( | ) | [virtual] |
Return an instance of the keyboard composer.
- Remarks:
- All composers are independent. Specifically, passing a dead key to one composer won't affect the result after the next keyboard event of any other composer.
Implements iKeyboardDriver.
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.
Implements iKeyboardDriver.
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.
Implements iKeyboardDriver.
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);
bool pressed = (KeyboardDriver->GetModifierState(CSKEY_CTRL_RIGHT) != 0);
- Parameters:
-
codeRaw Raw code of the modifier key.
- Returns:
- Bit mask with the pressed modifiers.
Implements iKeyboardDriver.
virtual void csKeyboardDriver::LostFocus | ( | ) | [inline, protected, virtual] |
virtual CS_EVENTHANDLER_NIL_CONSTRAINTS void csKeyboardDriver::Reset | ( | ) | [virtual] |
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 csEventError csKeyboardDriver::SynthesizeCooked | ( | iEvent * | ) | [virtual] |
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.
Member Data Documentation
csHash<bool, utf32_char> csKeyboardDriver::keyStates [protected] |
The documentation for this class was generated from the following file:
- csutil/csinput.h
Generated for Crystal Space by doxygen 1.4.7