Karabiner is an absolutely amazing app that lets you remap keys at a very low level on macOS.
I have completely remapped my keyboard with it and every key on my keyboard is a custom modifier key that I can program to do what I want.
For example you can make caps lock into an escape key when pressed once but if you hold it, it becomes a hyper key. Hyper key means that a key now serves two purposes, once when pressed alone and once when held down. So for example for remapping caps lock, we can remap it to act as escape when pressed alone once but if we hold down on it it becomes ⌘ + ⌃ modifier key. So
caps lock + F becomes ⌘ + ⌃ + F. And so on.
I take this idea further and define these kind of hyper keys but for every single key on my keyboard. I like to call them sticky keys.
I can embed simultaneous key mappings inside sticky key definitions.
Karabiner Elements documentation (in Japanese)
Karaconv - Converter from Karabiner to Karabiner-Elements text configuration format.