I second Hammerspoon. It fits perfectly between being barebones enough to not get in your way and having enough features to do just about anything you want.
Here's my configuration file.
Here's my configuration file.
This way if you press tab on it's own it still behaves as the tab key, but combined with another key it acts as Hyper, or mash.
I also love the "Shift to Shift (+ When you type Shift only, send the appropriate parenthesis)" option, and have my caps-lock mapped to control, with karabinier doing: Control_L to Control_L (+ When you type Control_L only, send Escape)
The entire cmd+shift+alt+ctrl keymap space is open, except with the (surprising) inclusion of cmd+shift+alt+ctrl+., which does a sysdiagnose. So I added a warning about that.