handle empty rule with nil
:unknown maps to any single input, useful for generic commands