Get the top HN stories in your inbox every day.
tbran
riskable
I made my own tutorial about how to design your own analog keyboard: https://youtu.be/TfKz_FbZWLQ
It's ultimately the same process I used to create my Analog Hall Effect Keyboard that was reviewed by Chyrosran22 recently: https://youtu.be/iv6Rh8UNWlI
utopcell
hey riskable, thanks for making these vids and for sharing knowledge about your 3d-printed hall-effect keys; keep them coming! :-)
gigaflop
I'm also gonna link the ai03 tutorial I used to design/build my own custom board. Text based, multiple pages:
https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-1...
Once you build your first little macropad, and verify that your design is generally correct, you can fork the repo you created and pretty much copy/paste your MCU region, and build a new grid of keys around it. The guide also gave me good tips on what to have assembled, and what to hand-solder, to be able to cut some costs.
Bedon292
I love having a split keyboard. It feels far more ergonomic than a single piece keyboard. Just relax your arms and put each half where your hands are. No having to bring your hands together and angle your wrists to get your hands in position.
The other piece of the puzzle for me is curvature. On a flat keyboard there is more stretching or physically moving but adding in a bit of curvature helps cut down on that.
For a few years now I have been using a hand wired Dactyl-ManuForm [1] and it has been great. At least for writing / programming. I go back to a regular keyboard for gaming purposes.
cleak
The split and relaxed shoulders are amazing. I really wish more tech would try this approach. The Wii controller (Wiimote + Nunchuck) was my favorite controller for this reason and I have yet to find anything as ergonomic.
CarVac
The ASCII Gamecube Controller is very relaxing for this reason too.
lukas099
TIL there was a GameCube controller with a keyboard on it: https://nintendo.fandom.com/wiki/ASCII_Keyboard_Controller
frosted-flakes
You can do the same thing with the Nintendo Switch controllers. It's my favourite way to play.
wildrhythms
Yes! I always use the Joycons like this. Just rest them however I'm comfortable. Although the rectangular shape makes them uncomfortable to hold in the hand for too long which is a shame.
sen
I use a (variant of) the Dactyl too and it's been life changing for me. I've always struggled with RSI and used to only be able to code for an hour or 2 at a time, but these days can spend all day/night typing (with small breaks to stretch) without any issues at all.
I 3D printed adapters for my chair arm rests so the keyboards sit at the front of each rest, right where my hands naturally want to be. I can then recline my chair a bit and type for hours without sitting forward/hunched over the desk.
tjrDL6MjB2Zwwa
I use MS ergo keyboards for exactly this reason. My entire career has been on those keyboards to the point that I struggle with straight keyboards.
I don't know that I'm a fan of the complete split like this, but I definitely agree with your overarching point.
slothtrop
Same for the split. I'm not fussed about curvature but mine is more elevated towards middle.
bschwindHN
Not sure if the author of the post is around, but I guess this is a question for anyone who has designed keyboards: have you ever tried using shift registers for reading all the keyswitch inputs, and is it worth it? Does it mean you don't have to use a diode per switch?
I've designed my own as well but just went with the traditional key matrix with a diode per switch. Works well enough for the current size.
riskable
My analog keyboards use analog multiplexers (74HC4067) which is similar to how shift registers work. Except they're full of flip-flops (2-way) instead of digital logic.
I made two videos talking about how I design my analog keyboard PCBs and how I'm using analog multiplexers here: https://youtu.be/TfKz_FbZWLQ
jsmith45
Shift registers are an interesting option. They are obviously feasible, especially if using ones with a built in pull-down.
They do avoid having a diode per key, in exchange for needing a chip for N keys, where n is the number of of parallel inputs in your parallel to serial shift register.
They can also save IO lines. Obviously with if using chainable shift registers, you can have an unlimited number of keys with just 3 IO lines.
More realistic of course, would be to use several IO lines in parallel. For a 64 key matrix, one could say use 8, 8-bit shift registers, each connected to one input line, plus one output latch line and one output clock line (for a total of 10), vs the 16 lines needed traditional matrix.
8 input lines is nice, because if you pick the I/O lines right, retrieving the values is just a single port read. Making the procedure: latch, (toggle clock twice, read port, write to next location in memory buffer) x8.
There are of course downsides, like shift registers needing more board space than tiny surface mount diodes, but this is not necessarily a deal-killer.
mzzter
Last time i researched adding shift registers was over a year ago and I didn’t find many examples (I vaguely recall one possibly with qmk), and very little public discussion besides a reddit question. Popular guides like ai03’s at the time recommended upgrading to a microcontroller with more gpio before introducing shift registers.
Searching again, looks like zmk added support for the common 595 shift register: https://github.com/zmkfirmware/zmk/pull/1325
Edit: You could avoid using diodes, but diodes increase the number of switches possible via a matrix more than shift registers do by giving you more gpio. I’d imagine one can use both together.
gmbuell
This kind of thing is really common in the DIY synthesizer world. Here's a great resource: http://www.openmusiclabs.com/learning/digital/input-matrix-s...
UI_at_80x24
I currently use a Model-M clone. It's 75% of the way to perfect for me. This is my gold-tier wish list:
Bucking-Springs
split-keyboard
WHITE backlight under the keys (I can touch type, but after 35+ years I still "gaze unfocused" and take in all the keys)
digitallyfree
I use an actual IBM Model M from the 90s and absolutely love the feel of the buckling springs. Modern Cherry mech switches are obviously better than membranes, but they simply can't replicate the sound and tactile "jump" that occurs when the key triggers.
gigaflop
If you can settle for MX-style switches that have a very satisfying click, then I'd like to point you to Kailh Box switches. There's a bunch of variations, but Box Jade or Pink (from NovelKeys) have been my favorites.
The tactility is very well defined, and the tactile mechanism (click bar) is IMO better than Cherry-style click jackets, like seen in Cherry Blues.
A split keeb with a white backlight that accepts MX-footprint switches should be simple to find.
Tsiklon
And if you fancy getting more 'Boutique' there's always the ZealPC "Clickiez" which are a reinvention of the ALPS style of click mechanism in an MX compatible chassis. Fabulous (but expensive) switches.
isr
There actually was a split buckling-spring keyboard made by IBM back in the day.
Drool over this:
https://youtu.be/oNnW4wED4uU
;-)TacticalCoder
No idea about the white backlight but...
> This is my gold-tier wish list:
> Bucking-Springs
> split-keyboard
Model M M15: it's split. It's a collector item though.
sleepybrett
Get the brand new model f is you want buckling springs.
DoingIsLearning
Slightly off topic has anybody found a small footprint touchpad to keep close by to a split keyboard?
Similar to the touchpad on the 'Ultimate Hacking Keyboard v2' but standalone without the pogo pins coupling part? [0]
mathgorges
I use an Apple Magic Trackpad 2.
Probably not "small", but it fits between the two halves of my Moonlander quite nicely :)
Analemma_
I also have a UHK and a Magic Trackpad and just keep it between the halves. It enforces proper separation, since without it I tend to default to keeping the halves too close together, and while the modules partially overlap the corners, there's still more than enough usable space.
1-more
Same with an Iris
squidbot
Not sure how small you're wanting, but Kinesis sells the Cirque EasyCat AG which is 3.3"x2.6". I've not used it myself, but I do have the Freestyle Pro keyboard, which I absolutely love and is very high quality, so I'd guess the rest of the products are similar.
DoingIsLearning
This definitely fits what I was look for, thank you for the sugestion! I was not familiar with Cirque.
dyingkneepad
I just put the mouse in the very middle :)
That thought felt weird in the beginning, but trust me: it works.
sithadmin
Not a touchpad, but gutting off-the-shelf trackballs to populate custom casings is a popular option, e.g. this mod for ZSA Moonlander boards: https://www.reddit.com/r/ErgoMechKeyboards/comments/wp1db9/m...
benhurmarcel
Have a look at that one: https://bastardkb.com/dilemma
danielheath
Keymouse have a model with a trackball under each thumb, and a model where each half is a mouse as well as being a keyboard.
mgrandl
Yeah the community loves using the cirque trackpads. They come in varying sizes and afaik are also used in the Steam Controller.
I personally just built a keyboard with an integrated trackball however. It’s great!
rgoulter
> One can try to get away with very few keys ... The first thing I added was two columns on the right side that kinda just bring back the punctuation
I'd say if you look at a layout like miryoku https://github.com/manna-harbour/miryoku .. in miryoku, the [] keys are one row up from home row, accessed on a layer. Whereas, putting [] on outer columns, your hand has to move and reach over two rows.
That is, I'd emphasise layering brings more keys to within easy access of the fingers (at the cost of added complexity to use the keyboard, - which not everyone has the taste for).
rollcat
This idea falls apart in games that use complex key combinations, or a lot of different keys (like in case of StarCraft 2). I have an ErgoDox and I wish it had an extra dedicated row for F-keys; my current use of the bottom row for camera hotkeys is a very poor compromise.
http://www.keyboard-layout-editor.com/#/gists/8b8dcd36c0abcc... https://gist.github.com/rollcat/8b8dcd36c0abccf430b4160ad899...
gigaflop
I pity the poor soul who needs to use multiple key layers in a game, especially SC2. But if you got past Silver League, then you're better than I was in Wings of Liberty.
I remember using AutoHotKey back then to swap caps lock and CTRL (or was Backspace in there somewhere?) to cycle through my hatcheries and spam larvae injects, since they weren't queue-able at that time.
rollcat
I have a single, dedicated layer for SC2. I didn't play WoL, non-queuing injects sounds like a nightmare!
Backspace (next base cam) inject is still a thing, but it's not really recommended: it tends to send different queens towards different hatcheries, delaying the injects. Again I didn't play WoL so I don't know which keys were re-bindable in the client at the time, but currently you can use almost anything for anything (except you can't change the modifiers like ctrl, shift, alt); those who use base cam inject will sometimes bind it to space.
rgoulter
Yeah.
For two-hands-on-keyboard tasks, relying on layering is good.
For gaming, I make use of a number row.
ctvo
Aside: Anyone know of a thoughtful ~36 key layout similar to Miryoku but with less reliance on home row mods?
For those not familiar, to get down to this low number of keys, some layouts will place modifiers (ctrl, shift, alt, meta) as secondary actions (when the key is held down vs. tapped) on home row keys (asdf, jkl; on QWERTY). The problem is to distinguish a tap from a hold, there's a minimum delay before the key is sent, making it very annoying for fast typists as there may be visible input lag when hitting one of the home row keys.
yes_but_no
Are you familiar with the Ignore Mod Interrupt option of qmk? That solved that issue for me, depending on your typing style it might solve for you too.
Another option is moving those keys to bottom row, or moving layers to combos to free thumb keys to for mods or move mods to combos as one shots.
ctvo
I just flashed one of my keyboards with the "official" ZMK layout and it's so much better. I must have missed quite a few settings when I tried replicating it myself. I can't notice the delay at all.
1-more
My strategy on my Let's Split and now Iris is that I select layers by holding down left hand Homerow keys, then type with my right hand. Holding f turns my right side into Vim style arrows. Holding s turns it into a number pad, and holding s turns it into a symbol pad. Modifiers are where you'd expect but holding them types my most commonly used symbols {} under Options, Esc and Enter under Commands, <> under Hypers. Control is where you'd expect caps lock and ' but tapping those are " and ' respectively.
So what I'm saying is use home row hold/tap just for layer selects that will only affect the other hand, and use hold/tap modifiers for programming symbols.
arathunku
Maybe you'll find my post https://arathunku.com/b/2023/moonlander-keyboard-layers-tour... helpful with oneshot modifiers across layers but also keeping Shift and Ctrl accessible. I really hated any timers / held vs tapped on home rows, it prevented me from fast typing and rollovers. Now I really only have space bar on hold/tap that's used in usual writing but it's on my right thumb and have never been a problem.
Bedon292
Layering can be great. I have arrow keys on a layer under my right hand, which I constantly use. I have mostly forgotten what the rest of my layers do at this point because I never really needed them. My keyboard has a lot more keys than that one though.
lawn
Another great thing is combos where you press two or more keys at the same time to produce another key.
So you can have keys like escape, enter, ctrl or similar right on the home-row.
wellthisisgreat
this is really nice and I am actually designing a very similar board right now. People online kept telling me that 'Ergo' means it should have <40 keys, but sorry no, the desk real estate is very cheap and I can use a 70-80 key keyboard as a 40-key keyboard just fine. Having a tiny finger-cramping device just so it looks "clean" is worse than Apple slimming down their phones.
I forsee a minor surge of full-size split ergos and that's a great thing.
Matrixik
Hopefully, there is surprising lack of ergonomic keyboards with function keys. That's basically the most important reason I'm waiting for moergo glove80 to arrive. But I would also like to have something flat and thin with low profile switches for portable usage.
323
All keyboard should have volume wheels. I couldn't live without one now.
The ones oriented like a mouse wheel, but wide (as opposed to the ones sitting like a volume knob on a mixer) are very natural to use and unobtrusive.
gigaflop
If you were to get your hands on a QMK/VIA-powered keyboard, you could tweak the firmware for your own Fn+(anything) to map to Vol+, Vol-. Not the same, but you could have this 'under your fingertips' at all times.
I tried this a while ago, but never used it much. I end up leaving my system volume at predictable levels most of the time, and ended up rebinding my arrow cluster's extra layer for Prev/Next song, which got much more use.
bloopernova
I love my QMK Ploopy mouse. I use on of the buttons as a layer change, which gets me access to extras I added. Stuff like paste and plain text paste are super useful. (On MacOS plain text paste is shift+option+command+p)
ilyt
I remember ages ago I had keyboard with big scroll wheel on the left , super convenient.
Currently due to many sources (PC, console, occasional synthesizer, BT receiver) I just have small mixer between my PC and speakers and it is super convenient. I actually considered hacking something akin to 3-4 encoders with display showing current app making sound and giving option to change the volume of that app
ctvo
With my hybrid work schedule I’m looking for more portability, and less keys. This isn’t for me, but neat.
I also use an ortho layout, but find the whole community trying to justify it as better for you ergonomically to be unconvincing. There’s little data that says ortho has any health benefits over staggered. We have data on the position and alignment of the wrist being the biggest factor, and you can achieve this with either style.
> This is the physical layout, so you see QWERTY here. I actually type on Colemak though!
How do you know if someone uses an alternative key layout? They’ll tell you.
squeegee_scream
If you're looking for portability with ergonomics I've been very interested in following Ben Vallack's advice in this video https://invidious.weblibre.org/watch?v=iOupyi-lQZM, which is to take a small keyboard like the gergoplex[0] and strap it to your thighs with a giant rubber band.
You may also be interested in https://southpawdesign.net/collections/all as they have a few small, ergonomic keyboards.
83
I've been looking for a gergoplex but gboards.ca has been down for a long time. If you read the later blog posts on web.archive it's a sad situation, I doubt it'll be back online.
rgoulter
> There’s little data that says ortho has any health benefits over staggered.
Sure.
But the standard row-stagger is asymmetrical; the way a hand types with the left hand is not mirrored by the right hand.
I'd be very surprised if that was as ergonomic as a symmetrical layout.
ctvo
> I'd be very surprised if that was as ergonomic as a symmetrical layout.
The body is complex, and movements build on top of that. It's hard to reason about it as a system in this way.
For now though, what matters is it's more fun to type on an ortholinear keyboard. I wish the focus was on that aspect and not health benefits until there's data.
rgoulter
:o) I can agree that a discussion about health benefits would be more compelling with data.
As an anecdote, I'll say I find my ortho keyboard using a Dvorak layout much more comfortable to type on than row-stagger QWERTY; and certainly looking at videos show that the latter looks much busier at the same WPM.
The main thing I'd argue is that many of the design features of a standard keyboard (asymmetry; big spacebar; row stagger, with different stagger for each row..) don't seem to be good design decisions compared to even a grid of keys all the same size.
323
> But the standard row-stagger is asymmetrical; the way a hand types with the left hand is not mirrored by the right hand.
How is it asymmetrical? Unless you consider the right hand typing on the numpad/cursor keys.
the_gastropod
On a QWERTY keyboard, think about the letters "I" and "E", which the middle fingers on your right and left hands respectively would hit. Both require your middle finger to reach up and slightly left. It's not a mirrored movement—both skew left. The stagger breaks symmetry of any non-home row finger movements.
gigaflop
Standard keyboards use a mix of 0.25u and 0.5u stagger, depending on the row.
The Zlant is a uniform-stagger board I got once as a fun project, but you'll see the stagger difference right away: https://github.com/qmk/qmk_firmware/blob/master/keyboards/zl...
rgoulter
Consider the index-finger columns:
On the LHS, the index-finger RFV. The finger rests on the homing key F, with R to the left.
On the RHS, the index-finger column is UJM. The finger rests on the homing key F, with U also to the left of F.
I'd consider (say) a Katana keyboard to have a symmetrical row-stagger.
yjftsjthsd-h
> How do you know if someone uses an alternative key layout? They’ll tell you.
It is a post about a keyboard; if you don't want to hear about keyboard related topics, maybe consider reading different posts.
bool3max
Pipe down, it's just a joke.
Bedon292
Yeah, a split keyboard and traveling back and forth is not so fun. When I was in the office full time it just stayed there, since 95% of my typing was done there. Now I am home the vast majority of the time, and it stays home. I just have a 60% keyboard I use for travel, not my favorite but it gets the job done and travels easy.
gigaflop
When I worked in an office, one of my favorite boards to bring to/from was a Tokyo60. 60% HHKB-ish layout, split backspace, ctrl-instead-of-caps, and a classy aluminum case.
If you're curious enough to get into designing your own, there are much simpler guides than the OP here, if you know what you want to accomplish.
jurassic
I have no problem admitting my interest in ortho layouts is mostly an aesthetic preference.
At home where I can spread out I'm quite content with my Ergodox. But for travel, I find my 2x2u Preonic quite comfy... all the keys you need, none that you don't, with only a minimimum of layers needed.
bryanlarsen
I upvoted because of the PostScript, which has nothing to do with keyboards.
black_puppydog
Yeah, next to the actual article I really thought people might notice that more. I'm glad they seem to be in a slightly better place now at least...
The patreon is currently mostly empty, seems like a good candidate if you're into keyboards and other nerdery. :)
izzydata
Sometimes I feel like I'm the only person who can't type on this kind of keyboard because I often use my left hand to type some right side keys and my right hand to type some left side keys. I'd constantly be clicking off into the air on this thing.
I can type near 150wpm, but it is a completely random style that mostly only follows using whatever finger happens to be closest to the next key regardless of which hand it is after leaving every finger wherever it was last used.
Skeime
I think you’d be constantly doing that for like two days. Then you would adapt and stop using the wrong hand. (Provided that you don’t use another keyboard simultaneously that let’s you keep going with the old habit.)
jrkatz
I was in a similar position, but highly motivated to switch due to advancing RSI symptoms. I waited to switch until a low-code, long-duration project came across my desk and was pleasantly surprised by how quickly my old habits were replaced. The trick seems to be that with split keyboards (especially orthilinear models) the finger closest to the next key is usually the one you ought to use anyhow. When home-row is mandatory, it's easy.
After a month or so at most, I was back to full speed. It did ruin me for laptop keyboards, though, I can't type on those at all anymore.
3np
Similar experience, except I was surprised to find that my laptop typing have actually been improving without trying despite (or due to?) also using a qwerty but otherwise quite different layout.
jweather
I had to re-learn the B and the 6 when I moved to a split keyboard, but it was totally worth it. Just plan to spend some time in typing drills/tests and you'll get the hang of it soon enough. It really is amazing what you can adapt to.
wishinghand
I'm a bit of a n00b for QMK firmware based keyboards, but I think there is a function for flipping the mapping of each side so you can do stuff like that.
ZeoUnis
I did have this issue with the 6 key specifically, but as a single key that was easy enough for me to get used to eventually.
yes_but_no
You can check unified orthos like planck. But imo selling point of these keebs is comfort not speed.
jurassic
I haven't quite reached this level yet with the keyboard hobby, but reading this post feels a bit like looking into my future. I've soldered together a few kits designed by others and have been itching to try my hand at designing my own layout fully from scratch. Not that I need it, I'm quite happy with my current stable of keyboards, but because I think it would be a fun way to learn more about electronics.
In case anyone is interested, there are also people who hand-wire keyboards. This lets you explore funky custom layouts without having to learn the circuit design and manufacturing side. I came across this pretty detailed guide recently. https://www.crackedthecode.co/a-complete-guide-to-building-a...
Get the top HN stories in your inbox every day.
Ben Valleck has an ultra-approachable video on building your own keyboard [0].
PCBs are incredibly cheap to print (<$25 shipped for me to print at https://jlcpcb.com, IIRC), and he shows you how to do some mods to the schematic using KiCad [1].
BV also has some crazier minimal keyboard designs like this 18-key split one with lots of layers: https://www.youtube.com/watch?v=yNOGEtqn85o
[0]: https://www.youtube.com/watch?v=JqpBKuEVinw [1]: https://www.kicad.org/