#include <iostream>
using namespace std;
enum CapsStates {
CAPS_OFF,
CAPS_ON
};
enum Events {
CAPS_LOCK_PRESSED,
KEY_A_PRESSED
};
void kasitteleTapahtuma(Events tapahtuma, CapsStates &kapsLokinTila);
int main() {
CapsStates kapsLokinTila = CAPS_OFF;
Events tapahtuma = CAPS_LOCK_PRESSED;
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
kasitteleTapahtuma(tapahtuma, kapsLokinTila);
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
kasitteleTapahtuma(tapahtuma, kapsLokinTila);
kasitteleTapahtuma(KEY_A_PRESSED, kapsLokinTila);
}
void kasitteleTapahtuma(Events tapahtuma, CapsStates &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";
}
}