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.
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.
1. What about a thumb cluster with 4 keys in a row? IDK if it's workable, maybe not. My experience with Ergodox says pressing top row on thumb cluster is too clumsy. (Maybe it's easier with dactyl-like keyboards?)
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. :)
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!
Have you considered doing this for mice? Im fine with a normal keyboard, but mice, maaaaan. My hand doesnt sit right on any mouse, and my hand is always dragging on the pad, etc.
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.
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.
Forget how cool the keyboards are (they are very cool) - this website is just awesome in so many ways. There are like, 5 things on here that made me say "wow, I didn't know a web browser could do that" as I went through the setup. The hand scanning, the parametric 3d modeling, the WebRTC stuff for establishing comms with my phone?! Even if you've got no interest in weird crazy keyboards, this site is just a great tech demo for some of the wild stuff a web browser can do these days.
I've got half a keeb printed that I generated here, I really need to restart that project at some point...
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.
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
I used this generator to build myself my own keyboard and the tool was extremely helpful. I went through a bunch of prototypes and I don't think it's possible to create a customized keyboard for yourself in one attempt.
I made a fairly extensive build log from start to finish including how I got the integrated trackball to work together with QMK here:
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?
I switched from a Kinesis Advantage 2 to a Glove80 over 1.5 years ago (not custom, I know) and I love it.
I also made some Dactyl Manuforms, but their key wells are not as nice as the Advantage, let alone the Glove80. They also have pretty bad thumb clusters (though with Cosmos it's configurable), not a good palm rest, etc. The only custom board I would be interested in (if the Glove didn't happen) would be:
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.
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.
Hmm, this is definitely intriguing but how accurate is that hand scan? And will the resulting keyboard really feel that much better than a standard ergonomic setup?
Accurate enough, on the visual check it gives you. I have somewhat away-from-the-mean hands and I'd expect anything that moves their shape while typing to less bunched-up to be noticeably more comfortable.
I can test this, in fact - I'm already building a custom keyboard, although it's a) not with this generator, and b) intentionally closely matching another keyboard I own. I could do another with the horizontal spacings from this site while keeping everything else the same, and see if it's preferable.
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.
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.
Hand scan doesn't work for me in Chrome on Windows (waiting for first frame), but it did load on Edge. Stuck in the hand poses. What does this mean: "Stretch out your hands, point your fingertips towards each other, and rotate your palms downwards." I tried everything I could think of, but it won't advance.
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.
The UI and color palette for the site is cool. The 3D tech is neat too, I'm not personally a fan of these keyboard designs (fine with 65% single mech) but really great software.
rianadon|1 year ago
boomskats|1 year 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.
[0]: https://kbd.news/Cygnus-1.0-2307.html
culebron21|1 year 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. :)
AndrewHampton|1 year ago
CableNinja|1 year 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.
Pet_Ant|1 year ago
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.
unknown|1 year ago
[deleted]
utopcell|1 year ago
epiccoleman|1 year ago
I've got half a keeb printed that I generated here, I really need to restart that project at some point...
_7acn|1 year 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|1 year 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
veunes|1 year ago
jugg1es|1 year ago
lawn|1 year 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|1 year ago
lawn|1 year ago
replwoacause|1 year ago
microtonal|1 year ago
I also made some Dactyl Manuforms, but their key wells are not as nice as the Advantage, let alone the Glove80. They also have pretty bad thumb clusters (though with Cosmos it's configurable), not a good palm rest, etc. The only custom board I would be interested in (if the Glove didn't happen) would be:
https://github.com/wizarddata/Ergo-S-1
Since it also seems to have good palm rests, etc.
eawgewag|1 year ago
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.
dbalatero|1 year ago
My reasons to switch were:
- better thumb cluster (more buttons reachable)
- split keyboard (better ergo placement)
- slightly optimized key placement (nice to have)
- QMK firmware (good for a laugh, fun to hack, can program hyper/super keys into firmware)
maxyurk|1 year ago
tomtom1337|1 year ago
There’s a very active and helpful community on discord too.
karmajunkie|1 year ago
IncreasePosts|1 year ago
Cieric|1 year ago
veunes|1 year ago
regularfry|1 year ago
I can test this, in fact - I'm already building a custom keyboard, although it's a) not with this generator, and b) intentionally closely matching another keyboard I own. I could do another with the horizontal spacings from this site while keeping everything else the same, and see if it's preferable.
__MatrixMan__|1 year ago
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|1 year ago
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.
unfixed|1 year ago
Maybe I would lose some personalization, but I would keep my sanity.
culebron21|1 year ago
lawn|1 year ago
nom|1 year ago
jweather|1 year ago
uticus|1 year ago
dbalatero|1 year ago
The customization/website wasn't as fancy - I just sent in photos of my hand – but that's ok.
I really love the quality, and the owner is super nice, responsive, and has great service.
cassianoleal|1 year ago
th3w3bmast3r|1 year ago
Pet_Ant|1 year ago
Carrok|1 year ago
ge96|1 year ago
pryelluw|1 year ago
James_K|1 year ago
DoctorOetker|1 year ago
microtonal|1 year ago
rak|1 year ago
ryanthedev|1 year ago
4b11b4|1 year ago
neves|1 year ago
crimsoneer|1 year ago