EekKey

EekKey — Base class of a key

Synopsis

                    EekKeyClass;
                    EekKeyPrivate;
                    EekKey;
void                eek_key_set_keycode                 (EekKey *key,
                                                         guint keycode);
guint               eek_key_get_keycode                 (EekKey *key);
void                eek_key_set_symbol_matrix           (EekKey *key,
                                                         EekSymbolMatrix *matrix);
EekSymbolMatrix *   eek_key_get_symbol_matrix           (EekKey *key);
EekSymbol *         eek_key_get_symbol                  (EekKey *key);
EekSymbol *         eek_key_get_symbol_with_fallback    (EekKey *key,
                                                         gint fallback_group,
                                                         gint fallback_level);
EekSymbol *         eek_key_get_symbol_at_index         (EekKey *key,
                                                         gint group,
                                                         gint level,
                                                         gint fallback_group,
                                                         gint fallback_level);
void                eek_key_set_index                   (EekKey *key,
                                                         gint column,
                                                         gint row);
void                eek_key_get_index                   (EekKey *key,
                                                         gint *column,
                                                         gint *row);
void                eek_key_set_oref                    (EekKey *key,
                                                         gulong oref);
gulong              eek_key_get_oref                    (EekKey *key);
gboolean            eek_key_is_pressed                  (EekKey *key);

Object Hierarchy

  GObject
   +----EekElement
         +----EekKey

Implemented Interfaces

EekKey implements EekSerializable.

Properties

  "column"                   gint                  : Read / Write
  "keycode"                  guint                 : Read / Write
  "oref"                     gulong                : Read / Write
  "row"                      gint                  : Read / Write
  "symbol-matrix"            EekSymbolMatrix*      : Read / Write

Signals

  "pressed"                                        : Run First
  "released"                                       : Run Last

Description

The EekKeyClass class represents a key.

Details

EekKeyClass

typedef struct {
    void             (* set_keycode)       (EekKey          *self,
                                            guint            keycode);
    guint            (* get_keycode)       (EekKey          *self);
    void             (* set_symbol_matrix) (EekKey          *self,
                                            EekSymbolMatrix *matrix);
    EekSymbolMatrix *(* get_symbol_matrix) (EekKey          *self);

    void             (* set_index)         (EekKey          *self,
                                            gint             column,
                                            gint             row);
    void             (* get_index)         (EekKey          *self,
                                            gint            *column,
                                            gint            *row);

    void             (* set_oref)          (EekKey          *self,
                                            gulong           oref);
    gulong           (* get_oref)          (EekKey          *self);

    gboolean         (* is_pressed)        (EekKey          *self);

    /* signals */
    void             (* pressed)           (EekKey          *key);
    void             (* released)          (EekKey          *key);
} EekKeyClass;

set_keycode ()

virtual function for setting keycode of the key

get_keycode ()

virtual function for getting keycode of the key

set_symbol_matrix ()

virtual function for setting symbol matrix of the key

get_symbol_matrix ()

virtual function for getting symbol matrix of the key

set_index ()

virtual function for setting position of the key in the section

get_index ()

virtual function for getting position of the key in the section

set_oref ()

virtual function for setting outline id of the key

get_oref ()

virtual function for getting outline id of the key

is_pressed ()

virtual function for getting whether the key is pressed

pressed ()

class handler for "pressed" signal

released ()

class handler for "released" signal

EekKeyPrivate

typedef struct _EekKeyPrivate EekKeyPrivate;

EekKey

typedef struct _EekKey EekKey;

eek_key_set_keycode ()

void                eek_key_set_keycode                 (EekKey *key,
                                                         guint keycode);

Set the keycode of key to keycode. Since typically the keycode value is used to find a key in a keyboard by calling eek_keyboard_find_key_by_keycode, it is not necessarily the same as the X keycode but it should be unique in the keyboard key belongs to.

key :

an EekKey

keycode :

keycode

eek_key_get_keycode ()

guint               eek_key_get_keycode                 (EekKey *key);

Get keycode of key.

key :

an EekKey

Returns :

keycode or EEK_INVALID_KEYCODE on failure

eek_key_set_symbol_matrix ()

void                eek_key_set_symbol_matrix           (EekKey *key,
                                                         EekSymbolMatrix *matrix);

Set the symbol matrix of key to matrix.

key :

an EekKey

matrix :

an EekSymbolMatrix

eek_key_get_symbol_matrix ()

EekSymbolMatrix *   eek_key_get_symbol_matrix           (EekKey *key);

Get the symbol matrix of key.

key :

an EekKey

Returns :

EekSymbolMatrix or NULL

eek_key_get_symbol ()

EekSymbol *         eek_key_get_symbol                  (EekKey *key);

Get the current symbol of key.

key :

an EekKey

returns :

the current EekSymbol or NULL on failure. [transfer none]

eek_key_get_symbol_with_fallback ()

EekSymbol *         eek_key_get_symbol_with_fallback    (EekKey *key,
                                                         gint fallback_group,
                                                         gint fallback_level);

Get the current symbol of key.

key :

an EekKey

fallback_group :

fallback group index

fallback_level :

fallback level index

returns :

the current EekSymbol or NULL on failure. [transfer none]

eek_key_get_symbol_at_index ()

EekSymbol *         eek_key_get_symbol_at_index         (EekKey *key,
                                                         gint group,
                                                         gint level,
                                                         gint fallback_group,
                                                         gint fallback_level);

Get the symbol at (group, level) in the symbol matrix of key.

key :

an EekKey

group :

group index of the symbol matrix

level :

level index of the symbol matrix

fallback_group :

fallback group index

fallback_level :

fallback level index

returns :

an EekSymbol at (group, level), or NULL. [transfer none]

eek_key_set_index ()

void                eek_key_set_index                   (EekKey *key,
                                                         gint column,
                                                         gint row);

Set the location of key in EekSection with column and row.

key :

an EekKey

column :

column index of key in EekSection

row :

row index of key in EekSection

eek_key_get_index ()

void                eek_key_get_index                   (EekKey *key,
                                                         gint *column,
                                                         gint *row);

Get the location of key in EekSection.

key :

an EekKey

column :

pointer where the column index of key in EekSection will be stored

row :

pointer where the row index of key in EekSection will be stored

eek_key_set_oref ()

void                eek_key_set_oref                    (EekKey *key,
                                                         gulong oref);

Set the outline id of key to oref.

key :

an EekKey

oref :

outline id of key

eek_key_get_oref ()

gulong              eek_key_get_oref                    (EekKey *key);

Get the outline id of key.

key :

an EekKey

Returns :

a non-zero unsigned integer on success, 0 if the id is not set

eek_key_is_pressed ()

gboolean            eek_key_is_pressed                  (EekKey *key);

Return TRUE if key is marked as pressed.

key :

an EekKey

Property Details

The "column" property

  "column"                   gint                  : Read / Write

The column index of EekKey in the parent EekSection.

Allowed values: >= G_MAXULONG

Default value: -1


The "keycode" property

  "keycode"                  guint                 : Read / Write

The keycode of EekKey.

Default value: 0


The "oref" property

  "oref"                     gulong                : Read / Write

The outline id of EekKey.


The "row" property

  "row"                      gint                  : Read / Write

The row index of EekKey in the parent EekSection.

Allowed values: >= G_MAXULONG

Default value: -1


The "symbol-matrix" property

  "symbol-matrix"            EekSymbolMatrix*      : Read / Write

The symbol matrix of EekKey.

Signal Details

The "pressed" signal

void                user_function                      (EekKey  *key,
                                                        gpointer user_data)      : Run First

The ::pressed signal is emitted each time key is shifted to the pressed state. The class handler runs before signal handlers to allow signal handlers to read the status of key with eek_key_is_pressed().

key :

an EekKey

user_data :

user data set when the signal handler was connected.

The "released" signal

void                user_function                      (EekKey  *key,
                                                        gpointer user_data)      : Run Last

The ::released signal is emitted each time key is shifted to the released state.

key :

an EekKey

user_data :

user data set when the signal handler was connected.