EekKeyboard

EekKeyboard — Base class of a keyboard

Synopsis

                    EekKeyboardClass;
                    EekKeyboardPrivate;
                    EekKeyboard;
void                eek_keyboard_set_keysym_index       (EekKeyboard *keyboard,
                                                         gint group,
                                                         gint level);
void                eek_keyboard_get_keysym_index       (EekKeyboard *keyboard,
                                                         gint *group,
                                                         gint *level);
EekSection *        eek_keyboard_create_section         (EekKeyboard *keyboard);
void                eek_keyboard_set_layout             (EekKeyboard *keyboard,
                                                         EekLayout *layout);
void                eek_keyboard_realize                (EekKeyboard *keyboard);
EekKey *            eek_keyboard_find_key_by_keycode    (EekKeyboard *keyboard,
                                                         guint keycode);

Description

The EekKeyboardClass class represents a keyboard, which consists of one or more sections of the EekSectionClass class.

Details

EekKeyboardClass

typedef struct {
    void        (* set_keysym_index)    (EekKeyboard *self,
                                         gint         group,
                                         gint         level);
    void        (* get_keysym_index)    (EekKeyboard *self,
                                         gint        *group,
                                         gint        *level);

    EekSection *(* create_section)      (EekKeyboard *self);

    void        (* set_layout)          (EekKeyboard *self,
                                         EekLayout   *layout);
    EekKey     *(* find_key_by_keycode) (EekKeyboard *self,
                                         guint        keycode);
    void        (* realize)             (EekKeyboard *self);
} EekKeyboardClass;

set_keysym_index ()

virtual function for setting group and level of the entire keyboard

get_keysym_index ()

virtual function for getting group and level of the entire keyboard

create_section ()

virtual function for creating a section

set_layout ()

virtual function for setting layout engine

find_key_by_keycode ()

virtual function for finding a key in the keyboard by keycode

realize ()

virtual function for applying a layout to the keyboard

EekKeyboardPrivate

typedef struct _EekKeyboardPrivate EekKeyboardPrivate;

EekKeyboard

typedef struct {
} EekKeyboard;

eek_keyboard_set_keysym_index ()

void                eek_keyboard_set_keysym_index       (EekKeyboard *keyboard,
                                                         gint group,
                                                         gint level);

Select a cell of the symbol matrix of each key on keyboard.

keyboard :

an EekKeyboard

group :

row index of the symbol matrix of keys on keyboard

level :

column index of the symbol matrix of keys on keyboard

eek_keyboard_get_keysym_index ()

void                eek_keyboard_get_keysym_index       (EekKeyboard *keyboard,
                                                         gint *group,
                                                         gint *level);

Get the current cell position of the symbol matrix of each key on keyboard.

keyboard :

an EekKeyboard

group :

a pointer where row index of the symbol matrix of keys on keyboard will be stored

level :

a pointer where column index of the symbol matrix of keys on keyboard will be stored

eek_keyboard_create_section ()

EekSection *        eek_keyboard_create_section         (EekKeyboard *keyboard);

Create an EekSection instance and append it to keyboard. This function is rarely called by application but called by EekLayout implementation.

keyboard :

an EekKeyboard

eek_keyboard_set_layout ()

void                eek_keyboard_set_layout             (EekKeyboard *keyboard,
                                                         EekLayout *layout);

Set the layout of keyboard to layout. This actually turns keyboard to be ready to be drawn on the screen.

keyboard :

an EekKeyboard

layout :

an EekLayout

eek_keyboard_realize ()

void                eek_keyboard_realize                (EekKeyboard *keyboard);

eek_keyboard_find_key_by_keycode ()

EekKey *            eek_keyboard_find_key_by_keycode    (EekKeyboard *keyboard,
                                                         guint keycode);

Find an EekKey whose keycode is keycode.

keyboard :

an EekKeyboard

keycode :

a keycode

Returns :

an EekKey or NULL (if not found)

See Also

EekSection