You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.6 KiB

  1. digraph {
  2. IDLE
  3. READY
  4. ACTIVATED
  5. DEACTIVATED
  6. PRESS_FROM_ACTIVE
  7. FINISHED_FROM_ACTIVE
  8. IDLE_IN_DANCE
  9. READY_IN_DANCE
  10. FINISHED
  11. LOCKED
  12. READY_LOCKED
  13. RESTART
  14. IN_ONE_SHOT
  15. // common
  16. FINISHED -> RESTART;
  17. RESTART -> IDLE;
  18. DEACTIVATED -> IDLE_IN_DANCE;
  19. // kill_one_shots()
  20. IN_ONE_SHOT -> RESTART [label="non-one-shot key went through", color="blue"];
  21. // process_finished_dances()
  22. ACTIVATED -> PRESS_FROM_ACTIVE [label="dance timer", color="green"];
  23. IDLE_IN_DANCE -> FINISHED [label="dance timer", color="green"];
  24. PRESS_FROM_ACTIVE -> FINISHED_FROM_ACTIVE [label="dance timer", color="green"];
  25. // remove_subchords()
  26. READY -> IDLE [label="superchord active", color="red"];
  27. READY_IN_DANCE -> IDLE_IN_DANCE [label="superchord active", color="red"];
  28. READY_LOCKED -> LOCKED [label="superchord active", color="red"];
  29. // process_ready_chords()
  30. LOCKED -> READY_LOCKED [label="all keys pressed", color="orange"];
  31. IDLE -> READY [label="all keys pressed", color="orange"];
  32. IDLE_IN_DANCE -> READY_IN_DANCE [label="all keys pressed", color="orange"];
  33. READY_LOCKED -> RESTART [label="chord timer", color="orange"];
  34. READY -> ACTIVATED [label="chord timer", color="orange"];
  35. READY_IN_DANCE -> ACTIVATED [label="chord timer", color="orange"];
  36. ACTIVATED -> PRESS_FROM_ACTIVE [label="lock next", color="orange"];
  37. PRESS_FROM_ACTIVE -> LOCKED [label="lock next", color="orange"];
  38. // deactivate_active_chords()
  39. ACTIVATED -> DEACTIVATED [label="a key lifted", color="purple"];
  40. PRESS_FROM_ACTIVE -> RESTART [label="a key lifted", color="orange"];
  41. FINISHED_FROM_ACTIVE -> DEACTIVATED [label="a key lifted", color="orange"];
  42. }