Figure 2:
UML state diagram representing the keyboard state machine