diff options
Diffstat (limited to 'src/fe-common/core/keyboard.h')
-rw-r--r-- | src/fe-common/core/keyboard.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/fe-common/core/keyboard.h b/src/fe-common/core/keyboard.h new file mode 100644 index 00000000..a6278adc --- /dev/null +++ b/src/fe-common/core/keyboard.h @@ -0,0 +1,40 @@ +#ifndef __KEYBOARD_H +#define __KEYBOARD_H + +#include "signals.h" + +typedef struct +{ + char *id; + char *description; + + GSList *keys; +} +KEYINFO_REC; + +typedef struct +{ + KEYINFO_REC *info; + + char *key; + void *data; +} +KEY_REC; + +extern GSList *keyinfos; + +void key_bind(gchar *id, gchar *data, gchar *description, gchar *key_default, SIGNAL_FUNC func); +void key_unbind(gchar *id, SIGNAL_FUNC func); + +void key_configure_add(gchar *id, gchar *data, gchar *key); +void key_configure_remove(gchar *key); + +KEYINFO_REC *key_info_find(gchar *id); +gboolean key_pressed(gchar *key, gpointer data); + +void keyboard_save(void); + +void keyboard_init(void); +void keyboard_deinit(void); + +#endif |