forked from mirrors/qmk_firmware
e409fb47f2
* Selectively adding pieces * Adding georgi keymap * Adding more files, fixing make * Smaller makefiles * Fixing make rules * README more inline with QMK's guidelines * Turning off buggy assert * Improving documentation based on a user feedback. * Slightly better schema * Resurrected state machine diagram
49 lines
No EOL
1.6 KiB
Text
49 lines
No EOL
1.6 KiB
Text
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"];
|
|
} |