keebs Category
4 Articles
25 May 2022
categories: keebs
tags: dactyl ergodox glove80
Since December 2020 I’ve been using an Ergodox EZ as my main keyboard, both for
work and games. I have my own QMK firmware flashed on it, and I’m nothing but
pleased with it.
![[image] My Ergodox EZ](ergodox.jpg)
Seasons change though, and in January 2021 I found myself backing the Glove80
Kickstarter. I’ve been curious about a curved (“manuform”) keyboard, and this
one looked really slick.
![[image] a Glove80 in Colemak layout](glove80.png)
Up to that point I’d put together keyboard kits with PCBs, and hadn’t yet
3d-printed any enclosures or plates. I kept seeing peoples' cool creations on
reddit though, and eventually I started down that path myself.
Today I’m writing this on my first 3d-printed, handwired keyboard! It’s the
“Dactyl Manuform Open”, available from source code
here.
![[image] my new Dactyl Manuform handwired keyboard](dactyl-manuform.jpg)
For my first attempt I didn’t want to change anything from the stock model, but
I did frankenstein it with some parts from a similar build,
here.
I had noticed in my first print of the Dactyl Manuform that the legs wanted to
adjust themselves a little too much.
I was stymied temporarily by my available tools at the time: I only had an FDM
printer, which didn’t have the right resolution for some of the smaller parts.
My partner recently got an SLA printer though, so I’ve completed the Dactyl
Manuform build.
![[image] the guts of a handwired 3d-printed keyboard](dactyl-guts.jpg)
Handwiring was fun! A little frustrating. My only loose connections were in some
crimps in rectangular cable connectors (my build eschewed the standard 3.5mm
cable between the halves, because one fewer microcontroller is 50% easier to
debug). I ended up cutting out the cable connector and replacing it with
soldered wire connection: it’s not as if I’m going to use either of the halves
by themselves.
I’ve come up with
my own firmware
for it (cribbed from qmk’s). It’s technically Via-compatible, but I don’t know
yet how to set the vendor/product/keymap to make the tool show an accurate
representation of the layout and key mappings. A work in progress, perhaps.
Last night, after typing on it for an afternoon, I started
hacking around in the
source code,
to see if I could get one with the key layout I’ve grown accustomed to with the
Ergodox. I was able to generate something that seems like it’ll fit my needs
better, and then I took another look at one of the Dactyl Manuform’s ancestors:
the Dactyl Keyboard.
![[image] Adereth’s Dactyl Keyboard](dactyl-keyboard.png)
With the exception of the inner row, this matches the key layout of the Ergodox.
I like the 6-key thumb cluster. I’m not sure how comfortable the shape will be,
but aesthetically I think it’s a great board. As I write this, my FDM printer is
making a bottom shell, and my partner’s SLA printer is making a top shell (in
two parts).
![[image] three parts of a keyboard frame: two top shell halves printed in resin, and a bottom shell printed in PLA filament](dactyl1.jpg)
As with my first attempt at Dactyl Manuform, I haven’t tweaked any of the source
code. That may come later, if I really find the shape or lack of an inner column
uncomfortable. Next up: wiring this half, playing with it, and iterating!
![[image] an Adereth Dactyl Keyboard, coming soon to a desk near me](dactyl2.jpg)
23 Sep 2021
categories: keebs lunchtop
I’ve been collecting parts in earnest for two new projects. The basic idea is a
portable, hackable, ruggedized workstation. The first iteration of this idea
came to me from my partner, who is a Homestuck fan. That one is Lunchtop, and
will be built into a red plastic lunchbox from the 70s. The other idea came from
back7.co, and built into a Pelican case.
These projects interest me partly because I like thinking about the ubiquitous
format (“laptop”) being turned on its head and reimagined. And it interests me
partly because I get to build two new mechanical keyboards. This post will focus
on the latter challenge.
Problem
The task is to design and fabricate two keyboards for these computers. The
parameters:
- Lunchtop can fit 8u tall and 11u wide, based on the lunchbox dimensions
- Cyberdeck can fit 13u wide and 7u tall, based on the dimensions of the Pelican
hardcase I’ve selected
- both must have switch plates that fasten to underlying case structure with
screws
- both may have points on the underside of the switch plate for the pcb to
fasten to
- both should only use a single ProMicro-style microcontroller
- both should allow for hotswapping the switches, so I can iterate on the
switchplate design
I was glad to find a hotswap pcb in a good size for the Cyberdeck (5x12). So far
I have not found a good hotswap option for 11u or 10u wide, so I have a few
options:
- I could cobble multiple non-hotswap PCBs together (Gherkin 3x10 and
Yasui 4x10, for instance). This ditches the “single ProMicro” and “hotswap”
design parameters.
- I could cobble multiple non-hotswap PCBs together, and use mill-max
inserts to make them hotswap. This also ditches “single ProMicro”.
- I could cobble multiple non-hotswap PCBs together and cut a bunch of traces,
soldering new wires on to re-grid them. This would allow for “single
ProMicro” but it’s more damaging than I’d like.
- I could follow
this guide for a
3d-printable hotswap “PCB”. This would meet the design parameters but will
take a little more time than options 2 or 3.
Solution
The tipping point came when I started reading this very detailed guide to hand-
wiring one’s
own keyboard. So I’m headed down the road of the printed hotswap “pcb”.
- the hotswap guide requires
npm
and OpenSCAD. I started by making sure
nvm
was installed, and picked the latest
version of npm
. I installed OpenSCAD. I should maybe note that everything I
do on the terminal is in WSL, and everything in a GUI application is in
Windows. And any time I need to build and flash QMK firmware…I do it on a
Mac.
- I made a layout over at
keyboard-layout-editor.com. I downloaded the layout JSON and ran it
through the hotswap guide’s npm script. [note about exact file IO]
- I opened the generated scad files in OpenSCAD. I’m much more familiar with
FreeCAD lately, but I’ve had experience with many CAD programs, so a new one
can’t be all that foreign, right?
26 Aug 2021
categories: keebs steno
tags: ergodox georgi choco pinky3 sofle daisy jd40 tg4x mb44 fruitbar
I’d like to take a moment to rebase where I’m at with steno (and keyboards), and
provide a little context. At the time of publishing this, the blog website has
just gone live, and all prior articles from my steno journal have been imported
and reformatted.
First things first: I have not done much practice with steno in 2021. I have
done quite a bit of practice building mechanical (qwerty) keyboards though. I’ve
also headed off into the weeds with some raspberry-Pi-based projects that I
can’t talk about yet.
A brief inventory of my keyboards:
- I use an Ergodox EZ every day at work. I keep it in qwerty mode, but in the
past I’ve tinkered with
putting steno in its firmware.
- I have a Georgi that’s all souped up with
symbol and media layers,
as well as a
dictionary of nav commands.
- I’ve experimented with split boards smaller than the Ergodox (Kailh Choco,
pinky3, and Sofle). I really wanted something in a smaller profile, and with
rotary encoders. I had a lot of fun building them but in the end the thumb
positions actually started causing my first RSI! I also found that I have
grown used to the huge number of keys available on the Ergodox.
- I’ve made some forays into the land of 40%, with Daisy, JD40 MkII, and TG4X.
This experiment has stalled, as I’m currently waiting on a group buy for the
MB-44.
- I’ve thought long and hard about a 4-row 50% keyboard, and then in my research
found that others are currently making them so I don’t have to. As of this
writing I eagerly await the group buy for the
Fruitbar. I expect that once I
have a more office-centric job I’ll take the Ergodox there, and at home I’ll
use this longboi keyboard.
As far as my steno work goes…it’s been a while since I’ve touched it. I still
would love to get back to it, moreso now even due to my new RSI.
Perhaps I’ll write a proper breakdown of how that machine works for me, and why
I built the firmware and dictionaries the way I did.
23 Nov 2020
categories: keebs steno
tags: qmk butterstick georgi gergo ergodox
A few things I noticed in practice tonight
-
tapping the OSL key doesn’t let me alt-tab with impunity, but holding it
does.
-
my custom nav layer doesn’t support select-all, cut, copy, paste, undo,
or redo. I wonder again if I should record the number of times I use
a feature in a day, and put those at the front and center.
oh, also ctrl-backspace (or alt-bsp and cmd-bsp on mac).
Even if I put my most common commands on the first nav layer, I still
need either
- (hw, current status) a qwerty keyboard standing by.
pro: I have it (it’s free)
con: slow to switch from typing to commanding
con: BIG desk clutter
con: need the qwerty keyboard for typing while learning steno
- (hw) a macropad (e.g. Butterstick) standing by.
pro: I have it (it’s free)
con: slow to switch from typing to commanding
con: smol desk clutter
con: need the qwerty keyboard for typing while learning steno
- (fw) three or more layers on the georgi.
pro: I have it (it’s free)
pro: everything is at my fingertips (it’s quick to switch)
pro: no clutter!
con: patience and time to tweak and learn the layers
con: need the qwerty keyboard for typing while learning steno
- (hw) A BIGGER georgi, with more keys to hand (see: Gergo. I
think maybe Gergoplex isn’t enough columns).
pro: it’s a kit I can build myself (another round of custom
switches, this time maybe kailh silver?)
pro: everything is at my fingertips (quick to switch)
pro: no clutter!
pro: less need to layer the commands (quicker than switching)
pro: do not need a qwerty kicking around while I learn steno
con: hard to program it to be steno sometimes and command
sometimes?
con: I’d need to build my own enclosure for it.
- (hw) white tiger option: get an ergodox already (~$350).
pro: it’s a kit I can configure myself (it does hotswap)
pro: everything is at my fingertips
pro: no clutter!
pro: less need to layer the commands
pro: do not need a qwerty kicking around while I learn steno
con: hard to program it to be steno sometimes and command
sometimes?
con: expensive
- (sw) learn and develop the Single Stroke commands dictionary in
Plover.
pro: I have it (it’s free)
pro: VERY easy to reconfigure a broken brief on the fly
con: need the qwerty keyboard for typing while learning steno
con: patience and time to tweak and learn the briefs
Options 4 and 5 (Gergo and Ergodox) are similar enough that I can
runoff them: With Gergo, I have to design and build the enclosure,
and buy keycaps and switches. With Ergodox, I just have to spend
~$280 marginally (and maybe make or buy steno-friendly keycaps).
With Gergo, I get to make it look however I want, with Ergodox, no
such personalization.
GERGO ERGODOX
+ personalized - cost
- kit work - not personalized
Actually, now that I think about it, the Gergo wouldn’t be a full size
qwerty, so I’d be training (1) steno, (2) columnar qwerty, and (3) gergo
commands and shortcuts for qwerty. Ergodox loses on customization, but
“costs” less in terms of money-work, and wins on me not doing that (3)
training.
I’d also point out that the “do not need the qwerty keyboard for typing
while learning steno” is not worth nothing.
In the end it’s really down to an ideological choice: do I want to do this
retraining of my brain and fingers through software, firmware, or
hardware? And even if I do it through software, do I want the greater
hardware anyway to speed things along, declutter the process, and/or be
more ergonomic for me? (For the record I have yet to experience any RSI…)
I will sleep on it.