Cosmos Keyboard: Scan your hand, build a keyboard
45 comments
·January 13, 2025rianadon
boomskats
What you've built is a work of art, it blew my mind the first time I came across it. I love the completeness of vision (boomboom tss).
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
Thanks so much! Answering your great qs:
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.
AndrewHampton
I used this to build my current keyboard a few months ago. It was my first hand-wired keyboard, and this made it much more approachable. Thanks for creating it!
Pet_Ant
It could really use a way to control the spread of the button around the track ball. Just to make them closer together. The palmrest should also grow wider when columns are added to the keyboard.
Also, would be great to have an option of adding a USB hub on the inner edge for plugging in a USB key or adding a USB plug on the outside for a mouse.
rianadon
On the advanced tab, you can adjust the vertical spacing of the thumb cluster to move keys closer together. As for USB hubs, at some point I need to draw a line and stop adding options. You can download a STEP file of the keyboard and edit it in CAD, or if you’re looking for something easier to learn, I recommend editing the STL file in tinkercad. If you don’t mind plugging in the mouse to the back, you can configure custom-sized connector cutouts in advanced mode.
utopcell
Great work @rianadon!
MaxGripe
I've had so many keyboards that I can't even count them. I've owned five mechanical ones alone. Out of the ergonomic ones, I've only had one - a Microsoft and it was pretty nice. Almost all of them have been replaced because they broke. Either the keys stop working (most often) or the stabilizers start failing.
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
I feel like I am your hardware destroying cousin. For me it's mice, not keyboards.
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
jeremyjh
But this is just because mice are terrible. Trackpad is so much better.
garyfirestorm
ummmm what? I have had an MX Master Mouse for over 8 years and as an automotive engineer i have dropped it numerous times while testing vehicles, inside the vehicle, while getting out of the vehicle, just walking from desk to the cars in parking lots... and it still survived 8 years! what are you doing to your mouse exactly?
nsxwolf
Do they make them the same as they did 8 years ago? It seems that whenever I want to replace a product I really enjoyed 10 years ago, the replacement is a cost-reduced piece of junk.
MrLeap
I click a lot? I don't feel like I'm putting the hammer to them. They just all die.
m000
Maybe it's time you switch to a trackball.
zdragnar
I'm the trackball destroying cousin. I have yet to have one last two years in the last 10 or 12 years since I switched from mice.
blangk
You can disassemble and replace mouse switches quite easily and very cheaply if you already own a soldering iron and some basic tools - mouse switch failure is the typical reason for misclick double click problem
IncreasePosts
Once I scan my hand, does this mean the creator will be able to check out as me at whole foods?
replwoacause
This looks awesome but I think I’m paralyzed by all of the possibilities. My Kinesis Advantage 2 has served me well for years. I wonder if anyone has switched from one to a custom board?
eawgewag
I've done the switch! My 2c:
If the Kinesis is working for you, I would not switch. It's an extremely high quality board and most of these Dactyl's are all attempts to replicate the Kinesis at a more accessible price point and/or with higher amounts of customizability. The tradeoff is that they tend to be extremely fragile, have really poor build quality, and have zero to none customer support attached.
However, the KA doesn't work for everybody. I find it too big and the switches too heavy. So I opted for a custom approach, which sadly only survived about 4 months.
__MatrixMan__
I love this... almost.
My daily driver is a planck (flat rectangle, no num row) which I designed to lighten the load on my pinkies. I moved the left alpha keys further left and the right alpha keys futher right, so I have two columns in the center which I use for Ctrl,Alt,<,>,[,],(, and ). These get different keycaps so I can navigate it by texture. I love it, using other keyboards my pinkies always start to hurt after a while, but with this thing I can really crank.
I'd like to depart from the flat rectangle form factor, while keeping all of the things I love about my planck, and using advanced mode here I was able to get pretty darn close. What's missing is the bottom left and right corner keys, which I consider "palm-press" keys. If I disable the num row and enable the inner keys, the outermost columns only have three keys. I'd appreciate a checkbox that gave them four, with the fourth awkwardly low for pinky use but accessible for a "palm" press (not sure if the meaty part under the knuckle counts as the palm but that's what I mean anyway).
With the right curvature there's probably also opportunity to do the same thing under the index knuckle.
rianadon
If you select one of the keys in the keyboard preview on the right, you can add and move keys around to wherever you like :) That should allow you to put keys under your knuckle.
Speaking of palm presses, someone shared a “palmtyl” design with several keys under the palm in the discord (here’s a video: https://youtu.be/D8ev08mnSmg). It’s an interesting way of squeezing in more keys without requiring finger travel.
__MatrixMan__
very cool, thanks
Cieric
This makes me want to go back to making a custom keyboard again. The feature to scan your hands is interesting, but I can't seem to get it to work at all. I got it to measure the length of my digits, but when it came to measuring how flexible they are I could never get it to complete. On top of that the detection seemed to freak out a lot and the right hand model was screwed up. Overall this does seem really cool, but more something I'll bookmark to try later.
tomtom1337
Ive used this several times, I paid for pro. Really like it! Check out the hand recognition, it’s super cool (albeit, not terribly useful).
There’s a very active and helpful community on discord too.
karmajunkie
do you end up with a finished keyboard or is this giving you DIY plans?
egypturnash
It looks like it gives you DIY plans but there is also an option to get a finished keyboard - this leads to a page with some error messages in it though.
nom
No, please, I don't have the time for this, why does it have to be so cool :cry:
Pet_Ant
I've always wanted this and had daydreamed of building this before!. If it supports QMK and ortholinear, I'll have to get this. I've always dreamed of building a keyboard into the arm rests of my chair.
Carrok
I’ve tried the arm rest thing. Not very comfortable unfortunately. At least for me.
4b11b4
I've been waiting for someone to do this...
DoctorOetker
Are there any decent open source datagloves?
James_K
Just got a Cantor Remix keyboard myself. Might have checked this out otherwise, but a big advantage of the flat designs is they fit in my pocket.
Author here. It’s a surprise seeing this posted while I’m in the middle of traveling. Happy to answer any questions! If you’re curious, the tech stack is static assets bundled with sveltekit/vite and hosted on gitlab pages + a minimal go backend.