49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
|
digraph {
|
||
|
IDLE
|
||
|
READY
|
||
|
ACTIVATED
|
||
|
DEACTIVATED
|
||
|
PRESS_FROM_ACTIVE
|
||
|
FINISHED_FROM_ACTIVE
|
||
|
IDLE_IN_DANCE
|
||
|
READY_IN_DANCE
|
||
|
FINISHED
|
||
|
LOCKED
|
||
|
READY_LOCKED
|
||
|
RESTART
|
||
|
IN_ONE_SHOT
|
||
|
|
||
|
// common
|
||
|
FINISHED -> RESTART;
|
||
|
RESTART -> IDLE;
|
||
|
DEACTIVATED -> IDLE_IN_DANCE;
|
||
|
|
||
|
// kill_one_shots()
|
||
|
IN_ONE_SHOT -> RESTART [label="non-one-shot key went through", color="blue"];
|
||
|
|
||
|
// process_finished_dances()
|
||
|
ACTIVATED -> PRESS_FROM_ACTIVE [label="dance timer", color="green"];
|
||
|
IDLE_IN_DANCE -> FINISHED [label="dance timer", color="green"];
|
||
|
PRESS_FROM_ACTIVE -> FINISHED_FROM_ACTIVE [label="dance timer", color="green"];
|
||
|
|
||
|
// remove_subchords()
|
||
|
READY -> IDLE [label="superchord active", color="red"];
|
||
|
READY_IN_DANCE -> IDLE_IN_DANCE [label="superchord active", color="red"];
|
||
|
READY_LOCKED -> LOCKED [label="superchord active", color="red"];
|
||
|
|
||
|
// process_ready_chords()
|
||
|
LOCKED -> READY_LOCKED [label="all keys pressed", color="orange"];
|
||
|
IDLE -> READY [label="all keys pressed", color="orange"];
|
||
|
IDLE_IN_DANCE -> READY_IN_DANCE [label="all keys pressed", color="orange"];
|
||
|
|
||
|
READY_LOCKED -> RESTART [label="chord timer", color="orange"];
|
||
|
READY -> ACTIVATED [label="chord timer", color="orange"];
|
||
|
READY_IN_DANCE -> ACTIVATED [label="chord timer", color="orange"];
|
||
|
ACTIVATED -> PRESS_FROM_ACTIVE [label="lock next", color="orange"];
|
||
|
PRESS_FROM_ACTIVE -> LOCKED [label="lock next", color="orange"];
|
||
|
|
||
|
// deactivate_active_chords()
|
||
|
ACTIVATED -> DEACTIVATED [label="a key lifted", color="purple"];
|
||
|
PRESS_FROM_ACTIVE -> RESTART [label="a key lifted", color="orange"];
|
||
|
FINISHED_FROM_ACTIVE -> DEACTIVATED [label="a key lifted", color="orange"];
|
||
|
}
|