#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 |
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 |
scim::KeyEvent::KeyEvent | ( | const String & | str | ) | [inline] |
Constructor, construct a key event from a string.
str | the key string, eg. "Control+space" |
bool scim::KeyEvent::empty | ( | ) | const [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. |
bool scim::KeyEvent::is_shift_down | ( | ) | const [inline] |
Check if the Shift key is pressed down.
bool scim::KeyEvent::is_caps_lock_down | ( | ) | const [inline] |
Check if the CapsLock key is pressed down.
bool scim::KeyEvent::is_control_down | ( | ) | const [inline] |
Check if the Ctrl key is pressed down.
bool scim::KeyEvent::is_alt_down | ( | ) | const [inline] |
Check if the Alt key is pressed down.
bool scim::KeyEvent::is_meta_down | ( | ) | const [inline] |
Check if the Meta key is pressed down.
bool scim::KeyEvent::is_super_down | ( | ) | const [inline] |
Check if the Super key is pressed down.
bool scim::KeyEvent::is_hyper_down | ( | ) | const [inline] |
Check if the Hyper key is pressed down.
bool scim::KeyEvent::is_num_lock_down | ( | ) | const [inline] |
Check if the num lock key is pressed down.
bool scim::KeyEvent::is_key_press | ( | ) | const [inline] |
Check if it's a key press event.
bool scim::KeyEvent::is_key_release | ( | ) | const [inline] |
Check if it's a key release event.
bool scim::KeyEvent::operator== | ( | const KeyEvent & | key | ) | const [inline] |
Compare two key events.
bool scim::KeyEvent::operator!= | ( | const KeyEvent & | key | ) | const [inline] |
Compare two key events.
bool scim::KeyEvent::operator< | ( | const KeyEvent & | key | ) | const [inline] |
Compare two key events.
This operator is mainly for sorting.
bool scim::KeyEvent::is_lock_down | ( | ) | const [inline] |
Check if the lock key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_mod1_down | ( | ) | const [inline] |
Check if the mod1 key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_mod2_down | ( | ) | const [inline] |
Check if the mod2 key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_mod3_down | ( | ) | const [inline] |
Check if the mod3 key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_mod4_down | ( | ) | const [inline] |
Check if the mod4 key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_mod5_down | ( | ) | const [inline] |
Check if the mod5 key is pressed down.
For backward API compatibility, do not use it in new code.
bool scim::KeyEvent::is_scroll_lock_down | ( | ) | const [inline] |
Check if the scroll lock key is pressed down.
For backward API compatibility, do not use it in new code.
key code
modifier keys' mask
keyboard layout identifier