This has been asked countless times, so I'll try to be brief.
I have two input layouts, Ukrainian and English, and want:
- to use Caps Lock for fast switching;
- not have any delays imposed, I'm a fast typer;
- not have mode errors:
- (any number of) CapsLock sets English,
- (any number of) ShiftCapsLock sets Ukrainian;
- see the current layout in the standard widget.
I've already tried three (!) GUIs to configure this, the Gnome Settings, the
gsettings. Nothing works.
Tweaks crashes randomly.
Enough homework done
I've asked this myself 4 years ago for 14.04 LTS. Since then, that UI popup appeared and all broke. I can now easily configure stateful CapsLock toggle, but even then, it goes with that irritating delay. Basically unusable at times when I need language switched 4-5 times per sentence.
This thread suggests
caps:none XKB option as a bug workaround. I've tried that, both with
gsettings CLI and
dconf-editor, and in combinations with
grp:shift_caps_switch XKB option. No dice. Something trumps those core XKB features as it seems.
This thread offers
caps:menu XKB option as a hack to be able to bind CapsLock in
Gnome Settings → Devices → Keyboard. It kinda works, but A) it gives cyclic/stateful switching; B) I have to wait a decent timeout on every switch.
This thread asks exactly what I need, yet it's unanswered and even worse: closed as duplicate of two other questions (???) none of which are the same, and none of which give me a working solution. What's wrong with you guys?
There's another exact match — alas, unanswered as well!