I've got a fancier mapping for the caps lock key: when you hold it, it works like ctrl, and when you tap it it works like escape.
I've also got something similar for space: when I tap space, it works like space. When I hold space, I can tap additional characters. (So space works like a modifier, similar to ctrl or shift.) For example, space-x = delete, space-p = page up, space-j = cursor down.
The space one however, did not work well for me. It resulted too frequently in space not working at all. Supposedly it got matched as a combination with another key instead of a tap.
I recommend to apply a new rule, then test it out, then make another change. This way, you figure out which rule poses an issue.
There is one ruleset in Hammerspoon in the Github repo which I mentioned which -for me- makes it impossible to type cd. It always becomes c d