![]() |
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] |