Мне уже надоело объясняить вам очевидные вещи. В ВАШЕМ хидере enum объявлен БЕЗ имени! А стало быть "kbd_states" нигде не определяется. Именно это и ставит в тупик компилятор, когда пишите "kbd_states _keys = KEYS_NONE". Если вы готовы следовать данным вам примерам, то копируйте их целиком, а не с купюрами.