Details
ETextEventProcessorCommand
typedef struct {
	ETextEventProcessorCommandPosition position;
	ETextEventProcessorCommandAction action;
	int value;
	char *string;
	guint32 time;
} ETextEventProcessorCommand;
ETextEventProcessorEventButton
typedef struct {
	GdkEventType type;
	guint32 time;
	guint state;
	guint button;
	gint position;
} ETextEventProcessorEventButton;
ETextEventProcessorEventKey
typedef struct {
	GdkEventType type;
	guint32 time;
	guint state;
	guint keyval;
	gint length;
	gchar *string;
} ETextEventProcessorEventKey;
ETextEventProcessorEventMotion
typedef struct {
	GdkEventType type;
	guint32 time;
	guint state;
	gint position;
} ETextEventProcessorEventMotion;
enum ETextEventProcessorCommandPosition
typedef enum {
	E_TEP_VALUE,
	E_TEP_SELECTION,
	E_TEP_START_OF_BUFFER,
	E_TEP_END_OF_BUFFER,
	E_TEP_START_OF_LINE,
	E_TEP_END_OF_LINE,
	E_TEP_FORWARD_CHARACTER,
	E_TEP_BACKWARD_CHARACTER,
	E_TEP_FORWARD_WORD,
	E_TEP_BACKWARD_WORD,
	E_TEP_FORWARD_LINE,
	E_TEP_BACKWARD_LINE,
	E_TEP_FORWARD_PARAGRAPH,
	E_TEP_BACKWARD_PARAGRAPH,
	E_TEP_FORWARD_PAGE,
	E_TEP_BACKWARD_PAGE,
	E_TEP_SELECT_WORD,
	E_TEP_SELECT_ALL
} ETextEventProcessorCommandPosition;
enum ETextEventProcessorCommandAction
typedef enum {
	E_TEP_MOVE,
	E_TEP_SELECT,
	E_TEP_DELETE,
	E_TEP_INSERT,
	E_TEP_COPY,
	E_TEP_PASTE,
	E_TEP_GET_SELECTION,
	E_TEP_SET_SELECT_BY_WORD,
	E_TEP_ACTIVATE,
	
	E_TEP_GRAB,
	E_TEP_UNGRAB,
	E_TEP_NOP
} ETextEventProcessorCommandAction;
union ETextEventProcessorEvent
union ETextEventProcessorEvent {
	GdkEventType type;
	ETextEventProcessorEventButton button;
	ETextEventProcessorEventKey key;
	ETextEventProcessorEventMotion motion;
};