typedef enum {KEY_UP = 0, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER, KE_MONITOR, KEY_A, KEY_AUTO, KEY_B} KEYS;
private:
#define KEY_UP_LINE (PINE & (1 << 6))
#define KEY_DOWN_LINE (PINE & (1 << 2))
#define KEY_LEFT_LINE (PINE & (1 << 3))
#define KEY_RIGHT_LINE (PINE & (1 << 5))
#define KEY_ENTER_LINE (PINE & (1 << 4))
#define KEY_MONITOR_LINE (PINB & (1 << 7))
#define KEY_A_LINE (PINB & (1 << 6))
#define KEY_AUTO_LINE (PINB & (1 << 5))
#define KEY_B_LINE (PINB & (1 << 4))
unsigned int keysCounters[sizeof(KEYS)/sizeof (KEY_UP)];
Как привязку этих дурацких дефайнов к enum сделать ? Не пихать же в структуры указатели на ф-ции типа GetKey_A_State. А макросы в структуру не запихнешь =(