I've spent quite some time to figure how to make Linux do the same. Turns out it's rather easy: just set the layout to macintosh, and remap some key to "level 3 shift".
I've actually went all in on the mac layout, so I've remapped the win (left) and menu (right) keys to this, so it's in the same spot as on the mac, which helps with muscle memory. Since caps is useless anyway, I've moved super there.
Now this is a bit more involved on Windows, but it's doable. There is a "macintosh" layout available on github, and it's possible to remap the keys using the registry as on Linux.
For example rightAlt + c will give you ©, rightAlt+- will give you em-dash —
Both for mac and windows:
https://github.com/grompe/kbdasm (kbdusru_undead.asm)