#include <iostream>
using namespace std;
enum CapsState {
CAPS_OFF,
CAPS_ON
};
enum Event {
CAPS_LOCK_PRESSED,
KEY_A_PRESSED
};
void kasitteleTapahtuma(Event tapahtuma, CapsState &kapsLokinTila);
int main() {
CapsState kapsLokinTila = CAPS_OFF;
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
kasitteleTapahtuma(CAPS_LOCK_PRESSED, kapsLokinTila);
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
kasitteleTapahtuma(CAPS_LOCK_PRESSED, kapsLokinTila);
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
}
void kasitteleTapahtuma(Event tapahtuma, CapsState &kapsLokinTila){
switch(tapahtuma){
case CAPS_LOCK_PRESSED:
if(kapsLokinTila==CAPS_OFF){
kapsLokinTila=CAPS_ON;
cout << "CAPS LOCK kytketty päälle\n";
}else if(kapsLokinTila==CAPS_ON){
kapsLokinTila=CAPS_OFF;
cout << "CAPS LOCK kytketty pois\n";
}
break;
case KEY_A_PRESSED:
if(kapsLokinTila==CAPS_OFF){
cout << "kirjain a painettu\n";
}else if(kapsLokinTila==CAPS_ON){
cout << "kirjain A painettu\n";
}
break;
default:
cout << "tuntematon tapahtuma";
}
}