Continous Command Recognition (CCR)

One of dragonfly’s most powerful features is continuous command recognition (CCR), that is commands that can be spoken together without pausing. This is done through use of a dragonfly.grammar.element_basic.Repetition rule element. There is a mini-demo of continuous command recognition on YouTube. There are also a few projects using dragonfly which make writing CCR rules easier:

  • Caster (documentation) — Caster has out-of-the-box support for CCR, with commands for typing alphanumeric and common punctuation characters as well as some useful navigation commands. You can also add custom CCR rules using the MergeRule class. There is more information on how to do that in the documentation.

  • dragonfluid (documentation) — dragonfluid has drop-in replacements for dragonfly’s element, grammar and rule classes that support CCR. The documentation has more information on this. You should be able to use dragonfluid with dragonfly2 by installing it without dependencies:

    pip install --no-deps dragonfluid
    
  • dragonfly-scripts — The dragonfly-scripts project uses a SeriesMappingRule class in many grammar files to allow commands in a MappingRule to be recognised continuously without pauses.