I do that with xmodmap under Linux (remapping that useless CapsLock key into yet another modifier key. So capsLock+jkl; are my arrows for years, capsLock+space is my return key, etc).
But I would love to have a keyboard that is directly programmable so I can plug it in any OS and enjoy my re mappings without tricky configuration.
Is QMK doing such a thing?