I have my custom Workman layout that I’ve modified to swap the backspace and caps lock keys. It’s a symbol file in the xkb/symbols folder. For some reason, this change persists in other keyboard layouts, too. I read it had something to do with Plasma or Wayland not updating modifier keys when changing layouts or something like that. I’m using Cachy OS, by the way.
I need other keyboard layouts without this change, because other people who use QWERTY use my PC too.
I’m not too sure if this is the right place to ask about this, but it’s the only one that seems right for this. Please pardon me if it isn’t - I would appreciate if you’d steer me into the right direction!
hi, welcome.
are these others users logging in to their own user space or are they sharing yours?
perhaps they need their own acct on the machine.
2 Likes
Not enough info, you need to share your keymap. Is your custom layout in first position in the layout list? Do you still have the issue if you change it to another position?
1 Like
The keyboard layout that takes priority is the one which is at the top of the list, yes, but still with caveats.
If the Latam layout is at the top of the list, its backspace and caps lock directives seem to be prioritized and work, though after changing the layout, my layout’s physical caps lock is both backspace AND caps lock. The physical backspace key ends up being caps lock only.
Another thing happens when the Workman layout takes priority. If it is at the top of the list, it works, but no changes are made when I swap layouts. With the Latam layout, the physical backspace ends up being caps lock, and caps lock ends up being backspace.
What would be ideal is for the Latam layout to have backspace as backspace, caps lock as caps lock, and for the Workman layout to have backspace as caps lock, and caps lock as backspace.
I hope this explanation was clear enough
.
Here’s my keyboard layout: (can’t put links in posts. The GitHub repository is called Workman-custom by the user leapacho, so something like: leapacho/Workman-custom)
Without your complete keymap it’s going to be hard to help. You can get it using xkbcli dump-keymap-wayland > /tmp/keymap.xkb
on a Wayland session and xkbcomp -xkb $DISPLAY /tmp/keymap.xkb
on a X11 session.
If the Latam layout is at the top of the list, its backspace and caps lock directives seem to be prioritized and work, though after changing the layout, my layout’s physical caps lock is both backspace AND caps lock.
You need to cancel the real modifier mapping with:
modmap None { Caps_Lock };
See the official doc of the XKB keymap text format.
The first layout is somehow special, because some keys are defined only on the first layout. So if your first layout modifies the default mapping (CapsLock on CapsLock key, etc.) then the next layouts inherit the mapping. You solutions are either:
- Avoid using the layout that redefines modifier/system keys at the first position.
- Set the standard mapping of the customized key in all your layouts.
I noted you modified system files. This is a very bad idea. You should use user configuration file on Wayland and this hack on X11.