added a few images to keyboard post.

This commit is contained in:
Gabe Venberg 2024-03-14 19:23:39 -05:00
parent 11424579e4
commit 7c5dbba18b
11 changed files with 51 additions and 23 deletions

View file

@ -137,9 +137,17 @@ language and dozens or hundreds of options to get a usable piece of software.
Configuration should be for customization, not setup.
One of the earliest examples of this principle may be the fish shell.
Both zsh and
Both zsh and fish have powerful prompt and autocompletion engines, but zsh
requires you to setup a custom prompt and enable completions in order to use the
features that set it apart from the competition. With no config file, zsh is no
better than bash. When starting fish for the first time, however, its powerful
autocompletion and information rich prompt are front and center with no
configuration required. Of course, fish still has the same level of
configurability as zsh, it just also has sensible defaults.
<!--TODO: insert pics of zsh command line without config vs fish command line without
config.-->
<!-- look at helix compared to (neo)vim-->
<!-- look at zsh compared to fish?-->
### Friendly error messages

View file

@ -2,32 +2,29 @@
title = "Building My New Keyboard."
date = 2024-02-06T15:01:28-06:00
draft = false
[cover]
image = "layers/layer0"
+++
:caution-caption: pass:[<span style="font-size: 2em"></span>]
:important-caption: pass:[<span style="font-size: 2em"></span>]
:note-caption: pass:[<span style="font-size: 2em">✏️</span>]
:tip-caption: pass:[<span style="font-size: 2em">💡</span>]
:warning-caption: pass:[<span style="font-size: 2em"></span>]
:toc:
:toclevels: 6
Ive been using a split keyboard at home now for several years,
(specifically, the https://ultimatehackingkeyboard.com/[UHKv2], though nowadays I probably would have gone for something ortholinear)
(specifically, the [UHKv2](https://ultimatehackingkeyboard.com/), though nowadays I probably would have gone for something ortholinear)
and ive always wanted one for the office.
The problem was, if I was going to get a new keyboard,
I wanted it to be for both the office and travel,
and most prebuilts around are not that portable.
I also was not confident enough in my soldering skills to solder the SMT diodes found on many handbuilt designs out there.
Eventually, though, I stumbled upon the github page for the https://github.com/davidphilipbarr/Sweep[Ferris Sweep].
Eventually, though, I stumbled upon the github page for the [Ferris Sweep](https://github.com/davidphilipbarr/Sweep).
== The Basic Build
## The Basic Build
<!--TODO: insert pic of completed keyboard-->
The Sweep seemed simple enough that I could assemble it,
and after doing some shopping around, I was able to source all the parts I needed for under $100.
I ordered the pcb from JLPCB and the parts from https://keeb.io/[Keebio] and https://lowprokb.ca/[Lowprob.ca],
I ordered the pcb from JLPCB and the parts from [Keebio](https://keeb.io/) and [Lowprob.ca](https://lowprokb.ca/),
and started the long wait for it all to arrive.
In the meantime, I researched what how to flash the https://docs.keeb.io/elite-pi-guide[elite-pi]'s I had purchased with QMK.
In the meantime, I researched what how to flash the [elite-pi](https://docs.keeb.io/elite-pi-guide)'s I had purchased with QMK.
(normal elite-c's were out of stock, and I like the RP2040.)
its a little bit different, but as long as you have used QMK before, it wasnt much extra to that.
@ -36,18 +33,18 @@ and finally soldered the switches in. (I used choc purpz, a bit of a leap of fai
I did ruin one switch by letting a leg getting hot enough to melt the housing plastic,
and desoldering it was unexpectedly difficult, but not every build can be mistake free, right?
Flashing QMK was uneventful, working exactly as the https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/sweep[QMK docs] for the Ferris Sweep suggested.
Flashing QMK was uneventful, working exactly as the [QMK docs](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/sweep) for the Ferris Sweep suggested.
I would, however, recommend flashing the micros _before_ doing any soldering,
I had to take my micros out of their sockets in order to access the boot buttons.
(once the keyboard is assembled, there is a dedicated keycombo on most layouts to enter the bootloader,
so you dont have to do this every time you reflash your keyboard)
== Layout
## Layout
I wasnt feeling quite adventurous enough to switch away from qwerty,
but, the Sweep being a 34-key board, some layout adjustment would be needed.
I took the Sweeps https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default[default layout]
and used the https://config.qmk.fm/[QMK configurator] to customize it.
I took the Sweeps [default layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default)
and used the [QMK configurator](https://config.qmk.fm/) to customize it.
First, I moved space to my left thumb, as Im left handed.
I put esc on one of the thumb keys for usage in vim.
@ -61,7 +58,9 @@ Im not quite happy with my modifiers being mod-taps on the bottom row,
they can feel slightly awkward to reach,
and I may experiment with moving them around, potentially on the top row.
== Learning
{{<image-gallery gallery_dir="layers">}}
## Learning
Of course, the board takes some getting used to.
Between the physical layout of the keys,
@ -75,18 +74,18 @@ Perhaps its because I already was used to split keyboards,
or because I forced myself to use this instead of my 'normal' keyboard at work,
but I am now at the point where it feels natural to type on.
== Case
## Case
I want this keyboard to be both my work keyboard as well as my travel keyboard,
so a case is essential.
(I dont want to carelessly set it down on a conductive surface and fry the micros, for example)
I asked a friend to print https://www.printables.com/model/513831-ferris-sweep-22-case[this case] for me.
I asked a friend to print [this case](https://www.printables.com/model/513831-ferris-sweep-22-case) for me.
(I didnt have any TPU on hand.)
With the case and some rubber feet to keep it from sliding over the surface,
it becomes a very serviceable little travel keyboard,
one I can throw in my laptop bag and use in place of the built-in keyboard.
== Caveats
## Caveats
Of course, nothing is perfect. The microcontrollers are still exposed,
meaning they are vulnerable to static shock.
@ -98,7 +97,7 @@ and have firmly entrenched themselves in the keyboard building community.)
Thankfully, both of these issues have a relatively minor chance of happening,
and if they do, I did socket the microcontrollers for easy replacement.
== Conclusion
## Conclusion
It took me all of a week to fall in love with the sweeps form factor,
and, 1 month later, Im convinced I will never let myself work on a regular keyboard for a long period of time again,

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -0,0 +1,21 @@
<style>
.image-gallery {overflow: auto; margin-left: -1%!important;}
.image-gallery li {float: left; display: block; margin: 0 0 1% 1%; width: 19%;}
.image-gallery li a {text-align: center; text-decoration: none!important; color: #777;}
.image-gallery li a span {display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; padding: 3px 0;}
.image-gallery li a img {width: 100%; display: block;}
</style>
{{ $dir := string (.Get "gallery_dir") }}
<ul class="image-gallery">
{{ range (.Page.Resources.Match (print $dir "/*")) }}
{{- $imagetitle := path.BaseName .Name}}
<li>
<a href="{{ (.Fit "1600x1600 ").Permalink }}" title="{{ $imagetitle }}" class="lightbox-image">
<img src="{{ (.Fit "300x300").Permalink }}" alt="{{ $imagetitle }}" title="{{ $imagetitle }}">
<span>{{ $imagetitle }}</span>
</a>
</li>
{{ end }}
</ul>