all repos — site @ master

source for my site, found at icyphox.sh

pages/blog/workman.md (view raw)

 1---
 2template:
 3slug: workman
 4title: The Workman keyboard layout
 5subtitle: I have a lot of free time on my hands (heh)
 6date: 2020-10-24
 7---
 8
 9I've been at my computer everyday, for at least 10 hours at minimum.
10These past ~6 - 7 months have been the most I've ever used my computer.
11Eventually, I started experiencing discomfort and pain -- especially in
12my pinkie finger. Typing became a chore, and I found myself using my
13shell's command history more just to avoid typing commands. I tried
14using a wrist rest, different keyboard heights, but nothing helped.
15
16Thus began my search for a new keyboard layout, and it swiftly concluded
17once I chanced upon the [Workman layout](https://workmanlayout.org).
18According to the website, it is supposedly an improvement over Colemak
19and Dvorak. I skimmed through the numbers and other stats, but
20I honestly didn't care. "Oh it's better than the popular alternative
21layouts? Okay that's enough for me."
22
23![workman layout](https://raw.githubusercontent.com/kdeloach/workman/gh-pages/images/workman_layout.png)
24
25I downloaded the tarball containing the different config files for
26different platforms etc. I just needed the `xmodmap` -- that's the
27easiest way to apply a keyboard layout.
28
29```console
30$ xmodmap xmodmap.workman
31```
32
33To practice the layout, I used [keybr.com](https://keybr.com). You can
34configure the keyboard layout via the settings. Naturally, the first few
35days were incredibly painful. I was only able to type short sentences
36with very small words. I tried to not engage in heated discussions on
37IRC, for I could not type up a response in time. However, if I did
38stumble into one, I would switch back to QWERTY just for those couple of
39messages.
40
41I found myself making the switch less and less, over the next few days.
42Chatting on IRC is a _great_ way to learn a layout. Or chatting
43anywhere, really. It forces you to get accustomed to the layout by
44typing the common words used in conversation. I also made a tiny change
45to the layout -- swapping the <kbd>F</kbd> and <kbd>B</kbd> keys, since
46typing the "fo" / "of" digram in the same hand felt really weird. Soon
47enough, I was averaging about 30 - 40 WPM within the first week of
48having switched to Workman. 
49
50And then things at work started to pick up, and I had to do what I had
51been dreading the most: edit code -- in Vim. It's fairly common
52knowledge that Vim, by default, extensively uses the <kbd>H</kbd>,
53<kbd>J</kbd>, <kbd>K</kbd> and <kbd>L</kbd> keys for navigation. Sure,
54there are better ways to move around and only using those keys is
55frowned upon -- but it's a habit built over years, and hard to shake
56off. After poking around for a bit, I found the
57[vim-workman](https://github.com/nicwest/vim-workman) plugin. Forked it
58to apply the <kbd>F</kbd>/<kbd>B</kbd> change, and I began using it.
59
60It was great at first. My Vim muscle memory was not hampered, as I was
61able to use QWERTY in normal mode, and Workman in insert. But as I got
62better at Workman, I found myself instinctively reaching for the Workman
63keys in normal mode. Well, everything except for the <kbd>H</kbd>,
64<kbd>J</kbd>, <kbd>K</kbd> and <kbd>L</kbd> keys. This quickly became
65bothersome and I uninstalled the plugin to search for a better solution.
66
67Wait, don't I have a sick new [programmable mechanical
68keyboard](/blog/ducky-one-2)? What if I configure a layer on it just for the
69<kbd>H</kbd>, <kbd>J</kbd>, <kbd>K</kbd>, <kbd>L</kbd> keys? After pouring
70through the manual for a bit, I eventually got it set up. I even remapped
71the <kbd>Caps Lock</kbd> key to <kbd>Fn</kbd> so it's easier to access the
72layer. So now, hitting <kbd>Caps
73Lock</kbd>+<kbd>Y</kbd>/<kbd>N</kbd>/<kbd>E</kbd>/<kbd>O</kbd> results in
74<kbd>HJKL</kbd> being pressed. This took a little bit of getting used to,
75but it got easier with a bit of practice. 
76
77Since I don't rely on any plugin/remappings, I can use Vim as is on
78remote machines too. Another bonus from this adventure was I actually
79spent time learning better ways to navigate, and reduce my reliance on
80<kbd>HJKL</kbd>. Overall, a big win.
81
82It's been over 4 weeks since my switch, I think, and I'm comfortably
83averaging around 80 WPM. Still a good 20 WPM slower than QWERTY, but
84I think it'll get better with time. And am I still able to use QWERTY?
85Well, kinda. I still use QWERTY on my phone keyboard, since Workman
86isn't an option on it and it's actually alright. However, when I use my
87desktop to play Dota, I prefer using voice chat to communicate since
88typing on QWERTY takes too long -- I am forced to hunt and peck.
89Interestingly, after about 15 - 20 minutes on QWERTY, my brain kinda
90just clicks back and I can type on it with relative ease. Not as fast as
91I used to be, but it's manageable.
92
93All things considered, switching to Workman was one of the better
94decisions I have made in life. It feels so nice to be able to type out
95whole words in just the home row. It just _flows_ so nicely, and it has
96made typing so much more enjoyable again.