buttons.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _EBCS_BUTTONS_H
00023 #define _EBCS_BUTTONS_H
00024
00025 #include <sys/param.h>
00026 #include <gel/event.h>
00027 #include <gel/timer.h>
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00037
00039 enum button
00040 {
00041 BUTTON_1 = 0,
00042 BUTTON_2 = 1,
00043 BUTTON_3 = 2,
00044 BUTTON_4 = 3
00045 };
00046 typedef unsigned short button_t;
00047
00048 #ifndef GEL_MAX_BUTTONS
00049 # define GEL_MAX_BUTTONS 4
00050 #endif
00051
00052 #if GEL_MAX_BUTTONS <= 8
00053 typedef unsigned char button_mask_t;
00054 #elif GEL_MAX_BUTTONS <= 16
00055 typedef unsigned short button_mask_t;
00056 #else
00057 typedef unsigned long button_mask_t;
00058 #endif
00059
00060 enum key_mode
00061 {
00062 KEY_PRESS,
00063 KEY_RELEASE
00064 };
00065
00066 typedef struct
00067 {
00068 unsigned long button_press_count;
00069 } button_stat_t;
00070
00078 extern void button_initialize (void);
00079
00084 extern button_mask_t button_get_pressed (void);
00085
00099 extern void button_enable (void);
00100
00111 extern void button_disable (void);
00112
00117 extern int button_is_enabled (void);
00118
00124 extern struct event_def button_change_event;
00125
00128 #ifdef __cplusplus
00129 };
00130 #endif
00131
00132 #endif
|