381 points by cdata 5 days ago | 84 comments
rianadon 4 days ago
boomskats 4 days ago
I've only just realised that you've opensourced it all so I haven't looked at the code yet, but a couple of Qs:
- is there anything that the old wave your fingers at the screen pose detect model did better the new screenpalm method? I always wondered if you were detecting the angle of motion (pronation?) for each finger to tilt its keywell, and I guess it's maybe harder to do that with the new method.
- have you ever thought about using the measurements for one hand to spot measurement outliers in the other? Would it ever make sense to generate a symmetrical keyboard from the combined measurements of both hands?
- have you thought about collaborating with other keyboard designers to add their designs to the app and give them a cut? For example the Cygnus[0] is a stunning keyboard; I'm not sure if it is parametrically generated, but I do remember thinking that I'd absolutely pay money to get one tailored to my hand geometry, and then wondering whether you could ever pull off building a designer marketplace/ecosystem out of the whole thing, maybe with a little sdk. It's one thing that the aliexpress copycat sellers can't copy.
Also somehow only just realised that you have a blog. I might go read it.
rianadon 4 days ago
1) I still have the waving your fingers stage (it's after the screenpalm), but it now walks you through different finger motions so that the results are more consistent than waving your fingers all around. It's detecting then angle of motion, but I'm so far only using this for building the 3D hand model. The old method had better UX and fewer bugs, but the new one will more accurately measure the size of your hand.
2) I've never thought of that! I sometimes generate symmetrical keyboards for myself, simply because it’s easier to edit when both sides are synced. But I ultimately think it’s better to fit each hand independently.
3) The cygnus keyboard is super cool. I’ve made one and modified the STEP file to change the sockets. The fusion 360 files for it are published, so it likely has some parametrization but not anywhere close enough to achieve the flexibility of the Cosmos model.
There’s a tradeoff between customizability and how perfect the keyboard looks and feels. I’ve opted to go all-in on customizability, because to my knowledge no other keyboard design does this. I make as few assumptions about your keyboard as I can, so that Cosmos works with a single key, small mouse-like modules with a trackpad/ball and a few keys, or a proper keyboard shape. The downside is that what I’m doing is akin to teaching a robot to paint, whereas I’d compare designs like the Cygnus that place more constraints on the keyboard shape to a human painting. Until AI becomes sufficiently skilled at 3D design, the human painting will be more creative and skilled than the robot, and I can't bridge both types of design.
culebron21 4 days ago
2. On Ergodox EZ, and non-English layout, I need more keys. Unfortunately, the right side corner of ISO keyboard has to be distributed among other places on Ergodox EZ. (I'd love to have home/pgup/pgdn/end column somewhere, like on laptops. Maybe the rightmost end of kbd is not the best place for it, IDK.)
3. Adding extra row/column causes lower row collide with the thumb cluster. I guess, it's reasonable, but I don't know what's the workaround. (remove the lower row completely?) https://imgur.com/a/vdfOLq1
Good idea about finger scanning.
I tried the scan the hand and simulate features. Will the editor make different halves of the keyboard?
Also, thumb bends differently than in the simulator. :)
culebron21 4 days ago
1. Put them on the rightmost column, but it's unclear where the `]` has to go -- lower, or upper.
2. Use the rightmost wide column of keys for some special keys (like home/pgup/pgdn/end), but have to redistribute these 3 keys elsewhere.
tpmoney 3 days ago
[ and ] go on the inner columns on either side and '/" goes where it normally would be on an ansi qwerty layout.
The page up/down and home/end keys live on a temporary (hold) layer under the arrow keys, which is a habit I picked up from many years of using mac laptops where fn + arrow keys is how you get those keys anyway.
Layers 0 and 3 are the really important ones, 1 and 2 are just the defaults from Ergodox. And while they are assigned, I currently haven't been using the capslock, the lower-left ', the lower-right [ ] and cmd+enter keys or the Meh key so those would be freed up for use if needed. I also turned on the "auto-shift" functionality, so if you liked that it would also free up the left and right shifts for other use.
The letter layout is "middlemak"[2] which I found to be more comfortable than qwerty or colemak on the ortholinear layout, and a bit easier to learn than colemak because it shares a lot of keys with qwerty. But that may not be relevant for you if you're using a non-english key set.
[1]: https://configure.zsa.io/ergodox-ez-st/layouts/pNO0G/latest/... [2]: https://www.reddit.com/r/Middlemak/
culebron21 3 days ago
My problem with it is 1) lack of F11 & F12. 2) important keys in upper row of the thumb block. How do you press those keys without stopping everything and looking at the kbd?
tpmoney 3 days ago
On the left side, `Cmd` is the first button because on a mac, that's the most important modifier key and that position is the "natural" position for my hands.
Next `enter` (or really on a mac, `return`) with the alternative function of being `Ctrl` if held down. I rarely need `Cmd + Ctrl` but those two are pretty big tagets and easy to mash together.
For the smaller buttons, the layer switch is accessible without a large hand shift, so that is why its in its position at the bottom.
Above I have `Option/Alt` and `Ctrl` above that. The idea is not to use those all that often, but to use them if I need `Ctrl + Alt` or need the `Alt` key and can't use the one on the right side for some reason. If I need to use these two in that position, I do usually have to look at the keys (though currently as I work through learning middlemak... I'm looking at the keys a lot anyway).
Finally `Del` is where it is mostly because it doesn't require a huge hand shift (though I usually press with my index finger instead of thumb), and I liked having a forward delete on a dedicated key. Again bearing in mind I'm used to typing on laptop keyboards/75% layouts, so my other usual is `Fn + Backspace` for a forward delete, so needing to shift my hand isn't a huge concern for me.
On the right side, the same thought went into laying things out in a way that made sense for my habitual modifier usage while being as redundant as possible. On the far right, space obviously, again in the position that's most "natural" to my hands.
Followed by another `enter/return` with again the alternate function, this time of `Option/Alt` when held. Having two enter keys isn't something I make a lot of use of (I don't alternate which hand is enter when typing for example) but it allows me to make use of that alternate functionality and still be able to hit enter with a modifier held down and no need to move my hands or find one of the harder to hit keys. `Option/Alt` takes this position because Ctrl has it on the other side and also because my most common `Option + ${key}` combos are `Option + Left/Right Arrow` for skipping by word and the arrows are on the other half so no weird hand contortions (and again, coming from a laptop, I usually did that with two hands anyway. Incidentally, this also means I can use the layer3 hold on the left hand, and option + the arrows in the letter cluster (ijkl on a qwerty layout) that I programmed into layer 3 if I really need to do a lot of arrowing around.
`Cmd` sits in the lower left because again, it's the most common modifier in macOS. I don't often need the left side one, but it gets more ease of access than ctrl because when I need it, I need it.
`Ctrl` sits above option and again, the aim here isn't to use it on its own. In this case, the position allows me to shift my thumb up slightly and easily hit a `Ctrl + Alt` key combination (and for that matter shifting left instead of up gives a pretty easy `Cmd + Option`
Lastly Pg Up/Dn are there because I like having dedicated buttons for them instead of needing a layer shift. I don't often use them during a typing session but more for paging through docs or reference material, so usually my hands are off the keys in the first place, and needing to look at them if I'm not finding it by quick feel isn't a huge problem for me.
I should also say this is probably by 5th or 6th iteration on those clusters and it will probably change more in the future. I'm slowly honing in to something that I really like, but it has taken some serious paying attention to what I actually do. My first attempt was a lot more "normal" with a row of modifiers in order, or my second attempt that put the modifiers all on the small keys and used the larger ones for more layer shifts (hence all the Cmd + Key items on layer 3). Turns out I'm not a huge fan of constantly switching layers, probably because I'm a terrible touch typist who on a regular qwerty keyboard mostly uses just 3 fingers on each hand so keeping my hands in one place and letting the keys "come to me" with layeer shifts feels wrong.
culebron21 3 days ago
I also tried different layouts, experimenting about half a year, and in the end found the backspace under right thumb quite convenient (probably bc I still make a lot of typos on EDEZ).
tpmoney 2 days ago
CableNinja 2 days ago
I briefly thought about like a form fitting style, where you go and have your hand scanned in resting position on a dummy mouse, and then the mouse body is formed for your hand. This could also allow for button customizations as well.
AndrewHampton 4 days ago
epiccoleman 3 days ago
I've got half a keeb printed that I generated here, I really need to restart that project at some point...
MaxGripe 4 days ago
In my opinion, the best keyboards are the ones that are very easy to clean :) Ideally, switches should be chosen based on your hands since everyone has different preferences. I'm currently using Keychron K5 SE ultra-slim with Low Profile Optical hot-swappable "Banana" switches, and it's the most comfortable keyboard I've ever had — and it's not even that expensive (for a mechanical keyboard). Before that, I had SteelSeries' top model, and it broke after about a year.
Building custom keyboards is next-level, and I think I'll pass on that. What matters most is that it's comfortable to type on and easy to clean. A piece of advice for beginners: don't buy keyboards from Logitech or Apple. They're overrated and not worth their price.
MrLeap 4 days ago
I've had the same keyboard for like a decade, but I go through mice every 3-6 months. I've tried logitech / corsair / no-name / razor. 90% of the time I replace a mouse because of phantom double clicks or the mouse3 button just ceasing to work.
More rarely, the mouse will reconnect cycle over and over, or the scroll wheel will break.
I don't THINK I abuse them, but my body count indicates maybe I'm too hard on them and don't know it.
Maybe we need hardware that'll give us data on how mean we are to them so we can gain perspective. :p
arkh 4 days ago
If you're ready for 1h of info on some switch and how they're misused in mice enjoy this in-depth video: https://www.youtube.com/watch?v=v5BhECVlKJA
I think the gaming mouse market is ripe for a ruggerized mouse with only optional software which does not require some account creation if you don't want to. If you could make it cheap enough you could call it the 2CV.
blangk 4 days ago
MrLeap 4 days ago
misiek08 4 days ago
__mharrison__ 4 days ago
/end anecdata
veunes 4 days ago
jugg1es 3 days ago
lawn 4 days ago
I made a fairly extensive build log from start to finish including how I got the integrated trackball to work together with QMK here:
https://www.jonashietala.se/blog/2024/11/26/building_my_ulti...
Jugglernaut 4 days ago
lawn 3 days ago
lawn 4 days ago