gok-scanner

gok-scanner

Synopsis

enum                CallIds;
enum                RateType;
#define             MAX_DESCRIPTION_TEXT
#define             MAX_RATE_NAME
#define             MAX_DISPLAY_RATE_NAME
#define             COMPARE_NO
#define             COMPARE_EQUAL
#define             COMPARE_LESSTHAN
#define             COMPARE_GREATERTHAN
#define             COMPARE_EQUALORLESSTHAN
#define             COMPARE_EQUALORGREATERTHAN
gboolean            gok_scanner_initialize              (const gchar *directory,
                                                         const gchar *accessmethod,
                                                         const gchar *selectaction,
                                                         const gchar *scanaction);
void                gok_scanner_close                   (void);
void                gok_scanner_stop                    (void);
void                gok_scanner_start                   (void);
gboolean            gok_scanner_change_method           (gchar *NameAccessMethod);
GokAccessMethod *   gok_scanner_create_access_method    (gchar *Name);
void                gok_scanner_reset_access_method     (void);
void                gok_scanner_change_state            (GokScannerState *pState,
                                                         gchar *NameAccessMethod);
void                gok_scanner_next_state              (void);
void                gok_scanner_set_handlers_null       (void);
gboolean            gok_scanner_read_access_method      (gchar *Filename);
GokScannerState *   gok_scanner_construct_state         (void);
GokAccessMethodRate *  gok_scanner_construct_rate       (void);
GokScannerHandler *  gok_scanner_construct_handler      (gchar *pHandlerName);
gboolean            gok_scanner_read_rates              (xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);
gboolean            gok_scanner_read_description        (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);
gboolean            gok_scanner_read_operation          (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);
void                gok_scanner_read_ui_loop            (GokControl *pControl,
                                                         xmlNode *pNode);
gboolean            gok_scanner_read_feedback           (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);
gboolean            gok_scanner_read_options            (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);
void                gok_scanner_update_rates            (void);
GokAccessMethod *   gok_scanner_get_current_access_method
                                                        (void);
GokAccessMethod *   gok_scanner_get_first_access_method (void);
GokScannerState *   gok_scanner_get_current_state       (void);
void                gok_scanner_get_pointer_location    (gint *pX,
                                                         gint *pY);
gint                gok_scanner_timer_set               (gint Rate,
                                                         gint ID);
gint                gok_scanner_timer_stop              (gint TimerId);
gint                gok_scanner_make_type_from_string   (gchar *pString);
void                gok_scanner_timer_set_dwell_rate    (gint rate);
void                gok_scanner_timer_start_dwell       (void);
void                gok_scanner_timer_stop_dwell        (void);
gboolean            gok_scanner_timer_on_dwell          (gpointer data);
void                gok_scanner_left_button_down        (void);
void                gok_scanner_left_button_up          (void);
void                gok_scanner_right_button_down       (void);
void                gok_scanner_right_button_up         (void);
void                gok_scanner_middle_button_down      (void);
void                gok_scanner_middle_button_up        (void);
void                gok_scanner_mouse_movement          (gint x,
                                                         gint y);
gboolean            gok_scanner_on_timer1               (gpointer data);
gboolean            gok_scanner_on_timer2               (gpointer data);
gboolean            gok_scanner_on_timer3               (gpointer data);
gboolean            gok_scanner_on_timer4               (gpointer data);
gboolean            gok_scanner_on_timer5               (gpointer data);
void                gok_scanner_on_key_enter            (GokKey *pKey);
void                gok_scanner_on_key_leave            (GokKey *pKey);
void                gok_scanner_on_switch1_down         (void);
void                gok_scanner_on_switch1_up           (void);
void                gok_scanner_on_switch2_down         (void);
void                gok_scanner_on_switch2_up           (void);
void                gok_scanner_on_switch3_down         (void);
void                gok_scanner_on_switch3_up           (void);
void                gok_scanner_on_switch4_down         (void);
void                gok_scanner_on_switch4_up           (void);
void                gok_scanner_on_switch5_down         (void);
void                gok_scanner_on_switch5_up           (void);

Description

Details

enum CallIds

typedef enum {
CALL_CHUNKER_RESET,
CALL_CHUNKER_CHUNK_NONE,
CALL_CHUNKER_CHUNK_KEYS,
CALL_CHUNKER_CHUNK_ROWS,
CALL_CHUNKER_CHUNK_COLUMNS,
CALL_CHUNKER_NEXT_CHUNK,
CALL_CHUNKER_PREVIOUS_CHUNK,
CALL_CHUNKER_NEXT_KEY,
CALL_CHUNKER_PREVIOUS_KEY,
CALL_CHUNKER_KEY_UP,
CALL_CHUNKER_KEY_DOWN,
CALL_CHUNKER_KEY_LEFT,
CALL_CHUNKER_KEY_RIGHT,
CALL_CHUNKER_KEY_HIGHLIGHT,
CALL_CHUNKER_KEY_UNHIGHLIGHT,
CALL_CHUNKER_WRAP_TOFIRST_CHUNK,
CALL_CHUNKER_WRAP_TOLAST_CHUNK,
CALL_CHUNKER_WRAP_TOFIRST_KEY,
CALL_CHUNKER_WRAP_TOLAST_KEY,
CALL_CHUNKER_WRAP_TOBOTTOM,
CALL_CHUNKER_WRAP_TOTOP,
CALL_CHUNKER_WRAP_TOLEFT,
CALL_CHUNKER_WRAP_TORIGHT,
CALL_CHUNKER_MOVE_LEFTRIGHT,
CALL_CHUNKER_MOVE_TOPBOTTOM,
CALL_CHUNKER_IF_NEXT_CHUNK,
CALL_CHUNKER_IF_PREVIOUS_CHUNK,
CALL_CHUNKER_IF_NEXT_KEY,
CALL_CHUNKER_IF_PREVIOUS_KEY,
CALL_CHUNKER_IF_TOP,
CALL_CHUNKER_IF_BOTTOM,
CALL_CHUNKER_IF_LEFT,
CALL_CHUNKER_IF_RIGHT,
CALL_CHUNKER_IF_KEY_SELECTED,
CALL_CHUNKER_HIGHLIGHT_CENTER,
CALL_CHUNKER_HIGHLIGHT_FIRST_CHUNK,
CALL_CHUNKER_HIGHLIGHT_FIRST_KEY,
CALL_CHUNKER_SELECT_CHUNK,
CALL_CHUNKER_HIGHLIGHT_CHUNK,
CALL_CHUNKER_UNHIGHLIGHT_ALL,


CALL_SCANNER_REPEAT_ON,
/* CALL_SCANNER_REPEAT_OFF,  use CALL_STATE_RESTART */

CALL_TIMER1_SET,
CALL_TIMER1_STOP,
CALL_TIMER2_SET,
CALL_TIMER2_STOP,
CALL_TIMER3_SET,
CALL_TIMER3_STOP,
CALL_TIMER4_SET,
CALL_TIMER4_STOP,
CALL_TIMER5_SET,
CALL_TIMER5_STOP,

CALL_COUNTER_SET,
CALL_COUNTER_INCREMENT,
CALL_COUNTER_DECREMENT,
CALL_COUNTER_GET,

CALL_STATE_RESTART,
CALL_STATE_NEXT,
CALL_STATE_JUMP,

CALL_OUTPUT_SELECTEDKEY,
CALL_SET_SELECTEDKEY,

CALL_FEEDBACK,

CALL_GET_RATE
} CallIds;


enum RateType

typedef enum {
RATE_TYPE_UNDEFINED,
RATE_TYPE_EFFECT
} RateType;


MAX_DESCRIPTION_TEXT

#define MAX_DESCRIPTION_TEXT 200


MAX_RATE_NAME

#define MAX_RATE_NAME 20


MAX_DISPLAY_RATE_NAME

#define MAX_DISPLAY_RATE_NAME 30


COMPARE_NO

#define COMPARE_NO 0


COMPARE_EQUAL

#define COMPARE_EQUAL 1


COMPARE_LESSTHAN

#define COMPARE_LESSTHAN 2


COMPARE_GREATERTHAN

#define COMPARE_GREATERTHAN 3


COMPARE_EQUALORLESSTHAN

#define COMPARE_EQUALORLESSTHAN 4


COMPARE_EQUALORGREATERTHAN

#define COMPARE_EQUALORGREATERTHAN 5


gok_scanner_initialize ()

gboolean            gok_scanner_initialize              (const gchar *directory,
                                                         const gchar *accessmethod,
                                                         const gchar *selectaction,
                                                         const gchar *scanaction);

Reads all the access methods from the given directory and gets them ready to go.

directory :

The name of the directory to read the access method files from.

accessmethod :

If non-NULL, overrides access method name in gconf configuration data.

selectaction :

If non-NULL, overrides action associated with 'select' for the current access method in gconf configuration data.

scanaction :

If non-NULL, overrides access method associated with 'select' for the current access method in gconf configuration data.

Returns :

TRUE if the access methods were initialized, FALSE if not. Don't use the access methods if this fails.

gok_scanner_close ()

void                gok_scanner_close                   (void);

Stops the current access method and frees any memory allocated for the access methods. This must be called at the end of the program.


gok_scanner_stop ()

void                gok_scanner_stop                    (void);

Stops the current access method.


gok_scanner_start ()

void                gok_scanner_start                   (void);

Starts the current access method.


gok_scanner_change_method ()

gboolean            gok_scanner_change_method           (gchar *NameAccessMethod);

Changes the type of access method.

NameAccessMethod :

Name of the desired access method.

Returns :

TRUE if the access method was changed, FALSE if not.

gok_scanner_create_access_method ()

GokAccessMethod *   gok_scanner_create_access_method    (gchar *Name);

Creates a new access method structure and adds it to the list of access methods.

Name :

Name of the access method.

Returns :

A pointer to the new access method, NULL if if can't be created.

gok_scanner_reset_access_method ()

void                gok_scanner_reset_access_method     (void);

Resets the current access method so it's ready for use.


gok_scanner_change_state ()

void                gok_scanner_change_state            (GokScannerState *pState,
                                                         gchar *NameAccessMethod);

Maps event handlers to effects..

pState :

Pointer to the new state.

NameAccessMethod :

Name of the access method that contains the state.

gok_scanner_next_state ()

void                gok_scanner_next_state              (void);


gok_scanner_set_handlers_null ()

void                gok_scanner_set_handlers_null       (void);

Sets all the event handlers to NULL.


gok_scanner_read_access_method ()

gboolean            gok_scanner_read_access_method      (gchar *Filename);

Read an access method file from disk and create a new access method. The new access method is added to the list of access methods.

Filename :

Name of the access method file.

Returns :

TRUE if the acces method was created, FALSE if not.

gok_scanner_construct_state ()

GokScannerState *   gok_scanner_construct_state         (void);

Creates a new handler state.

Returns :

A pointer to the new state, NULL if it was not created.

gok_scanner_construct_rate ()

GokAccessMethodRate *  gok_scanner_construct_rate       (void);

Creates a new access method rate.

Returns :

A pointer to the new rate, NULL if it was not created.

gok_scanner_construct_handler ()

GokScannerHandler *  gok_scanner_construct_handler      (gchar *pHandlerName);

Creates a new access method handler.

pHandlerName :

Name of the handler.

Returns :

A pointer to the new handler, NULL if it was not created.

gok_scanner_read_rates ()

gboolean            gok_scanner_read_rates              (xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);

Reads the rates for the given access method and add them to the list of rates stored on the access method.

pNode :

Pointer to the XML node that contains the first rate.

pAccessMethod :

Pointer to the access method that is associated with the rates.

Returns :

TRUE if the rates were read, FALSE if there were 1 or more errors reading the rates.

gok_scanner_read_description ()

gboolean            gok_scanner_read_description        (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);

Reads the description of the access method and stores it on the structure.

pDoc :

Pointer to the XML document that contains the node.

pNode :

Pointer to the XML root node.

pAccessMethod :

Pointer to the access method that is associated with the description.

Returns :

TRUE if the description was read, FALSE if not.

gok_scanner_read_operation ()

gboolean            gok_scanner_read_operation          (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);

Reads the UI 'operation' of the access method and stores it on the structure.

pDoc :

Pointer to the XML document that contains the node.

pNode :

Pointer to the XML root node.

pAccessMethod :

Pointer to the access method that is associated with the operation.

Returns :

TRUE if the operation was read, FALSE if not.

gok_scanner_read_ui_loop ()

void                gok_scanner_read_ui_loop            (GokControl *pControl,
                                                         xmlNode *pNode);

Reads the UI 'operation' of the access method and stores it on the structure.

pControl :

Pointer to the parent control that will contain any new controls found in the node.

pNode :

Pointer to the XML root node.

gok_scanner_read_feedback ()

gboolean            gok_scanner_read_feedback           (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);

Reads the UI 'feedback' of the access method and stores it on the structure.

pDoc :

Pointer to the XML doc that contains the feedbacks.

pNode :

Pointer to the XML root node.

pAccessMethod :

Pointer to the access method that is associated with the feedback.

Returns :

TRUE if the feedback was read, FALSE if not.

gok_scanner_read_options ()

gboolean            gok_scanner_read_options            (xmlDoc *pDoc,
                                                         xmlNode *pNode,
                                                         GokAccessMethod *pAccessMethod);

Reads the UI 'options' of the access method and stores it on the structure.

pDoc :

Pointer to the XML document that contains the node.

pNode :

Pointer to the XML root node.

pAccessMethod :

Pointer to the access method that is associated with the options.

Returns :

TRUE if the options were read, FALSE if not.

gok_scanner_update_rates ()

void                gok_scanner_update_rates            (void);

Updates all the rates in all access methods from the GokData.


gok_scanner_get_current_access_method ()

GokAccessMethod *   gok_scanner_get_current_access_method
                                                        (void);

Accessor function to get the current access method.

Returns :

A pointer to the current access method.

gok_scanner_get_first_access_method ()

GokAccessMethod *   gok_scanner_get_first_access_method (void);

Returns :


gok_scanner_get_current_state ()

GokScannerState *   gok_scanner_get_current_state       (void);

Accessor function to get the current handler state.

Returns :

A pointer to the current handler state.

gok_scanner_get_pointer_location ()

void                gok_scanner_get_pointer_location    (gint *pX,
                                                         gint *pY);

Gets the current location of the mouse pointer.

pX :

Pointer to the integer that receives the mouse pointer X coordinate.

pY :

Pointer to the integer that receives the mouse pointer Y coordinate.

gok_scanner_timer_set ()

gint                gok_scanner_timer_set               (gint Rate,
                                                         gint ID);

Starts a timer.

Rate :

Time in 100s of a second.

ID :

Timer identifier

Returns :

Always 0.

gok_scanner_timer_stop ()

gint                gok_scanner_timer_stop              (gint TimerId);

Stops a timer.

TimerId :

Id of the timer that will be stopped.

Returns :

Always 0.

gok_scanner_make_type_from_string ()

gint                gok_scanner_make_type_from_string   (gchar *pString);

pString :

Pointer to the string that describes one or more effect types.

Returns :

An int that describes all the effect types in the string.

gok_scanner_timer_set_dwell_rate ()

void                gok_scanner_timer_set_dwell_rate    (gint rate);

Sets the dwell rate.

rate :

Dwell rate in 100s of a second.

gok_scanner_timer_start_dwell ()

void                gok_scanner_timer_start_dwell       (void);

Starts the dwell timer.


gok_scanner_timer_stop_dwell ()

void                gok_scanner_timer_stop_dwell        (void);

Stops the dwell timer


gok_scanner_timer_on_dwell ()

gboolean            gok_scanner_timer_on_dwell          (gpointer data);

This will be called when the dwell timer counts down.

data :

Passed from the event. Ignored.

Returns :

Always FALSE.

gok_scanner_left_button_down ()

void                gok_scanner_left_button_down        (void);

Handler for the left mouse button down event.


gok_scanner_left_button_up ()

void                gok_scanner_left_button_up          (void);

Handler for the left mouse button up event.


gok_scanner_right_button_down ()

void                gok_scanner_right_button_down       (void);

Handler for the right mouse button down event.


gok_scanner_right_button_up ()

void                gok_scanner_right_button_up         (void);

Handler for the right mouse button up event.


gok_scanner_middle_button_down ()

void                gok_scanner_middle_button_down      (void);

Handler for the middle mouse button down event.


gok_scanner_middle_button_up ()

void                gok_scanner_middle_button_up        (void);

Handler for the mouse middle button up event.


gok_scanner_mouse_movement ()

void                gok_scanner_mouse_movement          (gint x,
                                                         gint y);

Handler for the mouse movement event. Stores the location of the mouse pointer.

x :

Horizontal location of the mouse pointer.

y :

Vertical location of the mouse pointer.

gok_scanner_on_timer1 ()

gboolean            gok_scanner_on_timer1               (gpointer data);

Handler for the timer1 event (timer 1 has counted down).

data :

Pointer to the user data associated with the timer.

Returns :

FALSE always.

gok_scanner_on_timer2 ()

gboolean            gok_scanner_on_timer2               (gpointer data);

Handler for the timer2 event (timer 2 has counted down).

data :

Pointer to the user data associated with the timer.

Returns :

FALSE always.

gok_scanner_on_timer3 ()

gboolean            gok_scanner_on_timer3               (gpointer data);

Handler for the timer3 event (timer 3 has counted down).

data :

Pointer to the user data associated with the timer.

Returns :

FALSE always.

gok_scanner_on_timer4 ()

gboolean            gok_scanner_on_timer4               (gpointer data);

Handler for the timer4 event (timer 4 has counted down).

data :

Pointer to the user data associated with the timer.

Returns :

FALSE always.

gok_scanner_on_timer5 ()

gboolean            gok_scanner_on_timer5               (gpointer data);

Handler for the timer5 event (timer 5 has counted down).

data :

Pointer to the user data associated with the timer.

Returns :

FALSE always.

gok_scanner_on_key_enter ()

void                gok_scanner_on_key_enter            (GokKey *pKey);

Handler for the key enter notify.

pKey :

Pointer to the key that the mouse pointer has entered.

gok_scanner_on_key_leave ()

void                gok_scanner_on_key_leave            (GokKey *pKey);

Handler for the key leave notify.

pKey :

Pointer to the key that the mouse pointer has left.

gok_scanner_on_switch1_down ()

void                gok_scanner_on_switch1_down         (void);

Handler for the switch 1 down event.


gok_scanner_on_switch1_up ()

void                gok_scanner_on_switch1_up           (void);

Handler for the switch 1 up event.


gok_scanner_on_switch2_down ()

void                gok_scanner_on_switch2_down         (void);

Handler for the switch 2 down event.


gok_scanner_on_switch2_up ()

void                gok_scanner_on_switch2_up           (void);

Handler for the switch 2 up event.


gok_scanner_on_switch3_down ()

void                gok_scanner_on_switch3_down         (void);

Handler for the switch 3 down event.


gok_scanner_on_switch3_up ()

void                gok_scanner_on_switch3_up           (void);

Handler for the switch 3 up event.


gok_scanner_on_switch4_down ()

void                gok_scanner_on_switch4_down         (void);

Handler for the switch 4 down event.


gok_scanner_on_switch4_up ()

void                gok_scanner_on_switch4_up           (void);

Handler for the switch 4 up event.


gok_scanner_on_switch5_down ()

void                gok_scanner_on_switch5_down         (void);

Handler for the switch 5 down event.


gok_scanner_on_switch5_up ()

void                gok_scanner_on_switch5_up           (void);

Handler for the switch 5 up event.