My Keyboard Layout

May 18, 2025

I’ve started to use Vim Motions for a majority of my workflow, switching to Neovim as my main editor for many projects, using it in VSCode (I still use VSCode for web projects), the vimium extension in firefox and chrome and it’s made moving around much quicker and intuitive. Also being on Linux a lot of apps have vim motion support such as Okular (a document viewer) and other apps like obsdian provide vim motion support out of the box. The switch has been great but I am kind of held back by my keyboard’s layout. Having to use my pinky and stretch all the way to the corners of the keyboard for ESC and CTRL is just not practical so I’ve switched my keys around to help keep my fingers mostly around the home row.

This is what my layout looked like before

ESC
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
1
2
3
4
5
6
7
8
9
0
-
+
BACK
TAB
Q
W
E
R
T
Y
U
I
O
P
[
]
\
CAPS
A
S
D
F
G
H
J
K
L
:
''
ENTER
SHIFT
Z
X
C
V
B
N
M
,
.
;
SHIFT
CTRL
WIN
ALT
SPACE
ALT
WIN
CTRL

And this is what I’ve changed it to

CAPS
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
1
2
3
4
5
6
7
8
9
0
-
+
BACK
TAB
Q
W
E
R
T
Y
U
I
O
P
[
]
\
ESC
A
S
D
F
G
H
J
K
L
:
''
ENTER
SHIFT
Z
X
C
V
B
N
M
,
.
;
SHIFT
CTRL
WIN
ALT
SPACE
CTRL
WIN
ALT

I’ve switched my CAPS LOCK key with ESC so I can my left pinkie to press it rather than stretching my finger all the way to the top left corner. I also never use CAPS LOCK and instead just hold SHIFT so its pretty much useless to me.

Next I switched my R-CTRL with my R-ALT so I can use my right thumb to press CTRL and left thumb ALT. This keeps my thumbs on the bottom row and the rest of my fingers on the home row. I want to map BACKSPACE to RIGHT-WIN but can’t find a way to do that.

This works well for my desktop setup with sway as I use my WINDOWS for window movement then CTRL and ALT for window specific movement. Check out more about my desktop setup here