this post was submitted on 07 Apr 2025
25 points (90.3% liked)

Linux

53485 readers
894 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I use i3wm, and to map cap lock to escape, I run:

setxkbmap -option caps:swapescape

This works fine, but sometimes while hitting the F1 key, my pinky can accidentally hit the Escape key, which turns on CapsLock.

Gnome has a very nice way to do this, where Shift + Escape = CapsLock. Hitting Escape on its own will do nothing.

top 16 comments
sorted by: hot top controversial new old
[–] floquant@lemmy.dbzer0.com 5 points 2 weeks ago

Not what you asked for, but you may be interested in getting a keyboard running QMK where you can define these kind of modifier overloading (and much much more) on the keyboard itself, so it's "portable" and doesn't require OS/DE settings

[–] mina86@lemmy.wtf 4 points 2 weeks ago

If everything else fails, there’s always an option of defining your own keymap and enabling it in initrc.

[–] gomp@lemmy.ml 3 points 2 weeks ago

I don't use that so I'm mostly shooting in the dark, but.. does caps:escape_shifted_capslock do what you want?

(source: localectl list-x11-keymap-options | grep esc)

[–] gnuhaut@lemmy.ml 2 points 2 weeks ago* (last edited 2 weeks ago)

It's option caps:escape_shifted_capslock I think.

You can look through /usr/share/X11/xkb/rules/base.lst for all the options.

Edit: Just looked up when this was added, this is a new option from 2024:

https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/commit/6bf17ba73bd94dd02e036a8c99c4a684a83f13fb

[–] promitheas@programming.dev 2 points 2 weeks ago (2 children)

Commenting because fellow caps-esc swap enthusiast, and I would like to know the answer as well

[–] bdonvr@thelemmy.club 2 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

Wait why do people want escape there???

I like the backspace there like Colemak has. I can do Fn-Backspace(capslock) to activate Caps Lock but that's something I added to my Keyboard separately.

[–] fahfahfahfah@lemmy.billiam.net 8 points 2 weeks ago (1 children)
[–] gwilikers@lemmy.ml 1 points 2 weeks ago* (last edited 2 weeks ago)

From my understanding, Esc was originally where the Caps lock is on earlier keyboard layouts. That's why it's bound to that in Vim. It's a holdover, so it makes sense to switch them back.

[–] BaconIsAVeg@lemmy.ml 2 points 2 weeks ago

I have a ZSA Voyager and my escape key is on my left thumb, beside the space key.

For the life of me though I can't imagine why anyone is still using CAPSLOCK, vbU.

[–] Peasley@lemmy.world 1 points 2 weeks ago (1 children)

I like Ctrl there, Unix/Sun layout. Backspace is also an interesting idea

[–] ShittyBeatlesFCPres@lemmy.world 2 points 2 weeks ago

I do that too. I almost never want to hit CAPS LOCK (and can type holding shift) but if you map it to CTRL or even something not on modern keyboards (like F15 or any number over 12, I guess), you can use it as a shortcut key.

Personally, I use CAPS (remapped to CTRL) plus Tilde as my shortcut to show/dismiss a Quake-style terminal overlay window. That key combo actually can be made to work on Windows and macOS too so it’s basically cross-platform.

I’m 99% sure macOS (with iTerm 2 setup for Quake-style) has a built-in system option to remap CAPS LOCK but it only allows a few keys. I forget the Windows method. I used to have to use Windows sometimes but it’s been awhile. I’ve definitely got it working with a third party terminal emulator and WSL2, though.

[–] umbrella@lemmy.ml 1 points 2 weeks ago (1 children)

just curious: why do you like doing it?

[–] promitheas@programming.dev 4 points 2 weeks ago

I switched because of neovim, and got used to it. I was never the kind of guy to press caps to type capitals, always just kept shift pressed down with my pinky, so i basically never used the caps key anyway

[–] degen@midwest.social 2 points 2 weeks ago* (last edited 2 weeks ago)

I use keyd for software remapping now, and I like it a lot more than xkb's esoteric options. It has functionality for layers like layer:C, where any "passthrough" input will have the defined modifier (or combo like C-S-M), but you can define whatever other bindings inside.

Long story short, I've used it to remap caps, control, shift (with a custom shift layer for some symbols), and meta, with overloads, double tap/hold into layers, oneshots, timeouts, and all sorts of (surprisingly fluid) nonsense. It's so much easier than wading through xkb options for me.

To sidestep the question slightly less, I always got rid of capslock altogether instead of swapping. That still leaves true escape to be hit accidentally, but I think there should be an option to change escape too?

Edit: what I always used was

# make CapsLock behave like Ctrl:
setxkbmap -option ctrl:nocaps

# make short-pressed Ctrl behave like Escape:
xcape -e 'Control_L=Escape'

from here

[–] IRQBreaker@startrek.website 1 points 1 week ago

This is not an answer to your question, but your left pinkie will thank you if you map CTRL to CAPS.

[–] dgow@lemmy.ml 1 points 2 weeks ago