scim 1.4.18
|
The class to store a keyboard event. More...
#include <scim_event.h>
Public Member Functions | |
KeyEvent (uint32 c=0, uint16 m=0, uint16 l=0) | |
Default constructor. | |
KeyEvent (const String &str) | |
Constructor, construct a key event from a string. | |
bool | empty () const |
Check if this KeyEvent is empty. | |
char | get_ascii_code () const |
Get the ascii code of this key event. | |
ucs4_t | get_unicode_code () const |
Get the Unicode code of this key event. | |
String | get_key_string () const |
Get the string of this key event. | |
KeyEvent | map_to_layout (KeyboardLayout new_layout) const |
Map this KeyEvent to another Keyboard Layout. | |
bool | is_shift_down () const |
Check if the Shift key is pressed down. | |
bool | is_caps_lock_down () const |
Check if the CapsLock key is pressed down. | |
bool | is_control_down () const |
Check if the Ctrl key is pressed down. | |
bool | is_alt_down () const |
Check if the Alt key is pressed down. | |
bool | is_meta_down () const |
Check if the Meta key is pressed down. | |
bool | is_super_down () const |
Check if the Super key is pressed down. | |
bool | is_hyper_down () const |
Check if the Hyper key is pressed down. | |
bool | is_num_lock_down () const |
Check if the num lock key is pressed down. | |
bool | is_key_press () const |
Check if it's a key press event. | |
bool | is_key_release () const |
Check if it's a key release event. | |
bool | operator== (const KeyEvent &key) const |
Compare two key events. | |
bool | operator!= (const KeyEvent &key) const |
Compare two key events. | |
bool | operator< (const KeyEvent &key) const |
Compare two key events. | |
bool | is_lock_down () const |
Check if the lock key is pressed down. | |
bool | is_mod1_down () const |
Check if the mod1 key is pressed down. | |
bool | is_mod2_down () const |
Check if the mod2 key is pressed down. | |
bool | is_mod3_down () const |
Check if the mod3 key is pressed down. | |
bool | is_mod4_down () const |
Check if the mod4 key is pressed down. | |
bool | is_mod5_down () const |
Check if the mod5 key is pressed down. | |
bool | is_scroll_lock_down () const |
Check if the scroll lock key is pressed down. | |
Public Attributes | |
uint32 | code |
uint16 | mask |
uint16 | layout |
The class to store a keyboard event.
A keyboard event contains a key code and a set of key masks. The key masks indicate which modifier keys are pressed down and if it's a key release event.
It also contains the Keyboard Layout information. IMEngines can map a KeyEvent to another layout by calling method map_to_layout().
Default constructor.
c | - the key code. |
m | - the key masks. |
l | - the keyboard layout |
Constructor, construct a key event from a string.
str | the key string, eg. "Control+space" |
References scim::scim_string_to_key().
|
inline |
char scim::KeyEvent::get_ascii_code | ( | ) | const |
Get the ascii code of this key event.
Not all key events have ascii codes.
ucs4_t scim::KeyEvent::get_unicode_code | ( | ) | const |
Get the Unicode code of this key event.
Not all key events have unicode codes.
String scim::KeyEvent::get_key_string | ( | ) | const |
Get the string of this key event.
Not all key events can be converted to string.
KeyEvent scim::KeyEvent::map_to_layout | ( | KeyboardLayout | new_layout | ) | const |
Map this KeyEvent to another Keyboard Layout.
This function only covers the key range of default US PC keyboard. All additional keys in other layouts will never be mapped.
If the current layout is Unknown or the new_layout is invalid or it's an Unicode embedded KeyEvent, then it'll not be mapped and the identical KeyEvent will be returned.
If you want to check if the mapping is successful, just compare the layout of returned KeyEvent and new_layout to see if they are equal.
new_layout | The Keyboard Layout to be mapped to. |
|
inline |
Check if the Shift key is pressed down.
References mask, and scim::SCIM_KEY_ShiftMask.
|
inline |
Check if the CapsLock key is pressed down.
References mask, and scim::SCIM_KEY_CapsLockMask.
|
inline |
Check if the Ctrl key is pressed down.
References mask, and scim::SCIM_KEY_ControlMask.
|
inline |
Check if the Alt key is pressed down.
References mask, and scim::SCIM_KEY_AltMask.
|
inline |
Check if the Meta key is pressed down.
References mask, and scim::SCIM_KEY_MetaMask.
|
inline |
Check if the Super key is pressed down.
References mask, and scim::SCIM_KEY_SuperMask.
|
inline |
Check if the Hyper key is pressed down.
References mask, and scim::SCIM_KEY_HyperMask.
|
inline |
Check if the num lock key is pressed down.
References mask, and scim::SCIM_KEY_NumLockMask.
|
inline |
Check if it's a key press event.
References mask, and scim::SCIM_KEY_ReleaseMask.
|
inline |
Check if it's a key release event.
References mask, and scim::SCIM_KEY_ReleaseMask.
|
inline |
Check if the lock key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_LockMask.
|
inline |
Check if the mod1 key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_Mod1Mask.
|
inline |
Check if the mod2 key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_Mod2Mask.
|
inline |
Check if the mod3 key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_Mod3Mask.
|
inline |
Check if the mod4 key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_Mod4Mask.
|
inline |
Check if the mod5 key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_Mod5Mask.
|
inline |
Check if the scroll lock key is pressed down.
For backward API compatibility, do not use it in new code.
References mask, and scim::SCIM_KEY_ScrollLockMask.
uint32 scim::KeyEvent::code |
key code
Referenced by empty(), operator!=(), operator<(), and operator==().
uint16 scim::KeyEvent::mask |
modifier keys' mask
Referenced by empty(), is_alt_down(), is_caps_lock_down(), is_control_down(), is_hyper_down(), is_key_press(), is_key_release(), is_lock_down(), is_meta_down(), is_mod1_down(), is_mod2_down(), is_mod3_down(), is_mod4_down(), is_mod5_down(), is_num_lock_down(), is_scroll_lock_down(), is_shift_down(), is_super_down(), operator!=(), operator<(), and operator==().
uint16 scim::KeyEvent::layout |
keyboard layout identifier