![]() |
Public API Reference |
![]() |
Generic Keyboard Driver. More...
#include <csutil/csinput.h>
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. | |
const csKeyModifiers & | GetModifiersState () const |
Get the current state of all modifiers. | |
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_char > | keyStates |
Key state array. |
Generic Keyboard Driver.
Keyboard driver should generate events and put them into an event queue. Also it tracks the current state of all keys.
Initialize keyboard interface.
virtual csKeyboardDriver::~csKeyboardDriver | ( | ) | [virtual] |
Destructor.
virtual csPtr<iKeyComposer> csKeyboardDriver::CreateKeyComposer | ( | ) | [virtual] |
Return an instance of the keyboard 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.
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.
const csKeyModifiers& csKeyboardDriver::GetModifiersState | ( | ) | const [inline, virtual] |
Get the current state of all modifiers.
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);
Example: Test if the right Ctrl key is pressed:
bool pressed = (KeyboardDriver->GetModifierState(CSKEY_CTRL_RIGHT) != 0);
codeRaw | Raw code of the modifier key. |
Implements iKeyboardDriver.
virtual void csKeyboardDriver::LostFocus | ( | ) | [inline, protected, virtual] |
CS_EVENTHANDLER_NIL_GENERIC_CONSTRAINTS virtual CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS void csKeyboardDriver::Reset | ( | ) | [virtual] |
Call to release all key down flags.
Implements iKeyboardDriver.
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.
Implements iKeyboardDriver.
csHash<bool, utf32_char> csKeyboardDriver::keyStates [protected] |