Everything I read says it’s a feature enabled in what ever compositor you choose, if your compositor supports it. Why isn’t there a general purpose keybinding program like setxkbmap
? Does it just not exist yet or must it be built into the compositor?
I’ve read [this stackexchange thread] on something related but it all seems to be using XKB which should imply I’m using XWayland?
Personally, I’ve used interception-tools with the caps2esc plugin. Not the easiest to set up but it allows me to press caps lock for esc and hold it for ctrl. It bypasses the lack of a programs being able to read keystrokes of other programs by intercepting them closer to the hardware level. You can also do lots of other cool stuff with it, but I’ve yet to find anything else that lets caps lock work as both esc and ctrl.
I use keyd to make capslock work as escape when pressed, and as meta when held. Though you could configure it to function as control when held too.