Ergonomics
[2024-08-10 Sat]
I tried using "S-space" as the leader key for stumpWM and within a few moments I noticed that it felt off, because I was using my little finger a lot more than I wanted to – that seemed like a potential cause for RSI.
"S-space" is actually a pretty sane and elegant strategy to try to make a leader key that isn't used at all by default, but okay, never mind for now.
I spent some time trying to find a link to this essay I recall that went into detail about keyboard layout design
In general, it seems like the best way to find out what works and what doesn't work for you in terms of ergonomics is to try things
The cheaper and more convenient it is for you to try things, the better
This is mainly because it doesn't seem like there's a lot of standardized knowledge related to ergonomics out there on the internet
It seems like having an external monitor, and a laptop monitor underneath, seems like a pretty good productivity enhancer
The problem with vertical orientated monitors is that it takes up a lot of vertical space, and given bad chair and table heights, you will find yourself craning your neck slightly upward most of the time when reading text on the top of the screen
This is subtly annoying and painful
At least with a landscape mode for displays, you don't have to deal with this downside
Oh. I experienced this mainly because I use eyeglasses that do not cover the entirety of my vision
I imagine that switching to contact lenses would be significantly better for such situations
Ergonomics is a surprisingly interesting problem, since it involves physics (height of chairs, tables, distance of objects from your eye), biology (what parts of your body are more resilient to continued subtle movements? what postures and positions of your limbs and wrists leads to the least pain and damage in the long term?), and even psychology (we seem to generally ignore subtle feedback from our body when we are focused on making something happen, which is useful in the short term but in the long term can lead to body damage such as RSI).
Okay though – a 10 inch to 14 inch laptop screen is in general too fragile to deal with reading images with tiny text in it (like you'll find in papers, especially papers with dual columns)
In general it seems to me that a a keyboard layout is best designed such that any finger needs to only move "one key distance" away in the directions it normally moves in.
This means that the number row is suboptimal. So are keys on the bottom row of most keyboards that are inaccessible by the thumb (such as the "command" key, the "function" key, etc.)
Such keys are better placed in reach of the thumbs, with each thumb having a separate "key cluster". Each thumb can have access to up to three different keys, in total of six keys that can take on standard bottom row key functions (Space, Control, Alt, Function, Super/Mod, Enter).
Well, surprisingly, I find that pressing the default Enter key is not that much of a pain. I'm not sure why. I guess that moving to the 'right' via your little finger is not as costly as most "two key distance" movements are.
Questioning the ergonomics of 40% keyboards
This essay seems to claim that the "one key distance" heuristic, when taken to its extreme, leads to suboptimal outcomes
The ergonomics argument for 40% keyboards is that “all keys are at most 1u away from home row position, so finger travel is lower than it would be on larger keyboards.” This is good. The compromise made though, with so few keys, is that extensive use of layers, combos, or other tricks is unavoidable to represent frequently used keys. That means a lot more key presses and stress on the hands (to change the layer, to make the combo, …) to accomplish the same typing.
In this case, I guess I think that using a number keypad is probably better than the top row
Also, this is stating the obvious, but modal keybinds are clearly better than chorded keybinds
It makes sense to minimize the extent to which you use chorded keybinds as much as possible
When you use layers, it makes sense to use modal or "one tap" layers instead of chorded layers for keybinds
How about implementing
god-mode
at the keyboard firmware level? That seems like an extremely useful optimization
[2024-08-16 Fri]
Looked into Tap XR for a bit and decided that it was not good enough to replace my current keyboard setup
I do find it hilarious that I still can experience RSI if I do a sort of 'unnatural' keypress repeatedly, like
\
,s-\
andc-\
, which I used repeatedly last night when typing IPA.Practically speaking it sure seems like either you move your entire hand to press these gigantic keys (and that doesn't support touch typing given how you don't know how much you must move your hand in the given direction, and practice doesn't help you get to >99% accuracy in my experience), or you attempt to use fewer keys, ones closer to your fingers.
Yeah, I think I'm again moving closer to the camp of "yeah, fewer keys on a keyboard are better – use that as a constraint to figure out how to optimize your keymap"
still think home row mods are a pain given how they gen in the way of typing rolls
I guess what would be useful is having smaller keys, and keys /closer to your fingers so you need to move your fingers much less to type
Okay, it seems like ergonomics truly is a full body thing – I raised up the chair height such that my arms were closer to 90 degrees, and pulled the keyboard closer to me such that my forearms were almost parallel to my torso, and I felt much better
Doesn't change the fact that it is still quite awkward to press the top row (number row) and the
\
keys, and that it makes sense to me that the ZSA Voyager or the Glove80 may be significant upgrades in terms of typing ergonomics
[2024-08-20 Tue]
Just tried keyd in an attempt to set up an OS-wide god-mode, and it was educational
keyd is at least somewhat usable in comparison to kmonad. I could set up a test config for keyd within five minutes to test it
That's when I found out that having some form of a visual indicator for what layer you are in is necessary for you to keep your bearings, or you will be totally and utterly lost when trying to figure out what is going on
Oh, I can use some scripting to make this happen. Nice.
Okay, scripting this is ridiculously complicated
I still think that the scripting and layer work and the indication of which layer you are in – all of it would be best done at the firmware level with QMK