Home
Head's Up: I'm in the middle of upgrading my site. Most things are in place, but there are something missing and/or broken including image alt text. Please bear with me while I'm getting things fixed.

My Keyboard Thinking

I've made over two hundred changes to my keyboard layout. You can see that most recent one here

Those changes were lead by two main ideas that are both aimed at making things more pleasurable and avoiding RSI issues.

- As little movement as possible

This idea was first given to me when I started playing sax. Any movement you make beyond what is required to open or close a key is wasted energy and slows you down.

I translate this to putting the keys I press most on a keyboard into the most easily pressed positions. Nothing new here since DVORK and the like have been around forever. (I tried DVORAK. It didn't work for me, but tweaking the symbols layer has been very nice.)

Aiming for minimal movement applies to the key used to shift to the symbol layer on the right side as well. I trigger it by pressing down and holding from the natural resting position of my left thumb.

- Prefer strong fingers

I prefer to reach up a key with my index finger than go straight down with my pinkie. This isn't a huge deal and when I'm going I don't really notice hitting the [TODO: Code shorthand span ] or [TODO: Code shorthand span ] , but it just feels a little off to have the pinkies do something frequently on another layer.

Configuring Software

My modifications don't stop at the keyboard. I also play around with how things work in my editor as well.

For example, by default :

I have { mapped under u and } mapped under o . That's fine, I use those last two so frequently that I remapped things in neovim so the j and k keys do the paragraph up and down when I hit them on my symbol layer.

Note that I also switched things up so that index finger moves down in both cases and the middle finger moves up in both cases.

This is how I pull that off in combination with my keyboard mapping that puts ( under j and = under k

lua
vim.keymap.set('n', '(', "`}", {})
vim.keymap.set('o', '(', "`}", {})
vim.keymap.set('n', '=', "`{", {})
vim.keymap.set('o', '=', "`{", {})

I forget exactly why I did both [TODO: Code shorthand span ] and [TODO: Code shorthand span ] mode. I know something wasn't working without it. Possibly Telescope.