Ergo S-1 – An open-source ergonomic wireless keyboard
github.com
github.com
Layering is not a good solution when many applications already have double or even triple buckies on the F keys. What IDE doesn't?
Changing IDE shortcuts is really an easy win for ergonomics. Shortcuts aren't really designed: they grow organically as features are added, using whatever is free. Because of this, older features use simple shortcuts, young features require pressing more keys or even chords.
I'm not arguing, really I'm asking to hear the answer and become wiser.
I have Ctrl + Alt + Super on the thumb clusters, each as their own key. I did copy the default layout for the Ergo S-1 which uses a modifier key (also on the thumb cluster) to access the function keys, so F1 is Fn+1, F2 is Fn+2.
I thought I would miss having dedicated Fn keys but they are surprisingly not missed much in my workflow. Might depend on your workflow though. The current solution is workable, at any rate.
Layering, chording, combos, and other methods of producing different keycodes aside from just throwing more buttons and adding more surface area ARE a good solution and arguably superior due to the following benefits:
- Ergonomics are better due to less overall movement and effort needed to produce a certain keycodes by moving two fingers slightly instead of moving your wrist or arm.
- Keyboard is generally cheaper to produce due to fewer parts required, simpler circuitry, smaller footprint, and other benefits. The arguable downside is that you are "hiding" the complexity in software (firmware?).
- It's more fun! This one is more subjective, but thinking about clever and more efficient ways to setup your keyboard can be a good time indeed! It feels cool to use.
A popular way to handle modifiers, for example, is putting them on the home row. A tap gives you a letter; a long press gives you a modifier instead. This allows me to (for example) type Ctrl+alt+shift+left arrow without moving my hands at all.
Home row mods are really finicky though. It took me months to get really consistent at them.
How do you handle triple buckies, e.g. Ctrl-Shift-A?
> MO(layer) - momentarily activates layer. As soon as you let go of the key, the layer is deactivated.
> TG(layer) - toggles layer, activating it if it's inactive and vice versa
> TT(layer) - Layer Tap-Toggle. If you hold the key down, layer is activated, and then is de-activated when you let go (like MO). If you repeatedly tap it, the layer will be toggled on or off
You can also use Macros if you'd prefer (but not required) to handle triple (or more) buckies, which both ZMK and QMK firmwares support.
I will note that this Ergo S-1 seems to be missing at least 8 keys that most other Ergodox keyboards have (the 3 keys of the inner column on each side and the bottom right and left corner keys) so total physical keycount appears to be closer to a 60% kb. So in that way, you're going to be more dependent on using layers (or Macros) in general than even other ergodox (such as the Ergodox-ez [3] style keyboards of this type.
EDIT: Apologies, I wasn't paying attention to usernames when responding to comments and basically gave you this answer twice across two different comments. Deleted the other as this one is more complete/to the point.
0: https://docs.qmk.fm/feature_layers
1: https://zmk.dev/docs/keymaps/behaviors/layers
Great, just what I need, to get further into the keyboard hobby... ))
The "both hands on the keyboard" thing is a major caveat. The key I use to switch to my navigation layer (arrows, paging) is on my left hand and it also runs all of my non-home row keys into Ctrl modified versions of themselves. This allows me to type almost any Ctrl combination while mousing that you could type easily with only your left hand, with the exception of Ctrl+D because I have D mapped to control (I use super/alt/Ctrl/shift). I only use Ctrl+D in the terminal, so I had no need to resolve this limitation.
Is all this worth it? Honestly it's hard for me to say yes, but I also find using a qwerty keyboard uncomfortable now. Plus the keyboards are cool.
I really like having return under my pinky, which means that I need another column in order to get quote somewhere decent.
They don’t send a keycode, they modify existing keys so they either send different keycodes or modify the keyboard’s state (e.g. toggle LEDs).
The main difference is, once you start rabbit-holing the custom layers, you don’t have to only put a layer on the F keys.
My favourite layer is holding down an extra thumb key to get arrow keys + home/end, pgup/pgdown near home row.
Since I have yet an extra thumb key, I made it so I get those navigation keys but holding down Ctrl, so I don’t need to stretch across both a Fn key and a modifier. And so on.
I have a combined Tab + Ctrl key: Ctrl on hold, Tab on click. All of these just work, no adaptation, no downside, just less movement.
I’ll never go back from this.
---
I made one of these a few months ago, and I'm a big fan. It's like an open-source Kinesis Advantage 360.
---
Project homepage: https://wizardkeyboards.com/ergo-s-1/
Hackaday article: https://hackaday.com/2022/08/10/from-product-to-burnout-to-o...
Before it, there were the open-source Dactyl variants that more or less copied the Kinesis. The original Dactyl [1] (2015) has a layout like the Kinesis but the more popular Dactyl Manuform variants have different thumb clusters. And people have been building them both with wired and wireless controllers.
The history is not complete without mentioning that Kinesis (Model 100 in 1992) in turn had copied the Maltron [2], designed by Lilian Malt in the 1970's.
I don't live in the US, so I made a [purchase list](https://github.com/arcanemachine/Ergo-S-1-Extras/blob/main/e...) with links to AliExpress. The original assembly guide assumed the user has access to McMaster-Carr, which I unfortunately do not (for a reasonable price, at least).