I use Karabiner and have all keyboard modifiers left and right side mapped to send F12-F20 on single tap/release.
Then use those function keys as triggers in KM. Has been working flawless for years.
Caps lock is mapped as hyper key on press and F11 on single tap mapped to Alfred.