ErgoMechKeyboards
Ergonomic, split and other weird keyboards
Rules
Keep it ergo
Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)
i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²
¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid
No Spam
No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.
No Buy/Sell/Trade
This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.
Some useful links
- EMK wiki
- Split keyboard compare tool
- Compare keycap profiles Looking for another set of keycaps - check this site to compare the different keycap profiles https://www.keycaps.info/
- Keymap database A database with all kinds of keymap layouts - some of them fits ergo keyboards - get inspired https://keymapdb.com/
view the rest of the comments
Thank you! So, you can get a regular 2D shape and use the linear_extrude() function to extrude out at 90 degrees from the object. They refer to in in the docs as the equivalent of pushing playdoh through a press. And from the docs ‘In OpenSCAD Extrusion is always performed on the projection (shadow) of the 2d object xy plane and along the Z axis; so if you rotate or apply other transformations to the 2d object before extrusion, its shadow shape is what is extruded.’
So the Z axis is no related to what I see on the screen, but is in direct relation to the original 2D image. If I were to first rotate the 2D image by 90 degrees, and then extrude, the extrusion would be on the Z axis relative to the 2D object, but the X axis relative to the rest of the project (if that makes sense).
What I want it to extrude on the absolute Z axis of the total project, regardless of the angle of rotation of the 2D object. To put it another way, if I were to have a square on the 2D, and I rotated it 30 degrees before extruding, I would not want a cube to be formed, but rather would want a rhombohedron.
You'll want to leverage hull! First linear extrude your PCB shape just to make it 3D, you can do something like 0.00001 then rotate to your desired angle. Make this a module then call it twice, once at wherever you want it and once more but translated on the z-axis by however high you want to "extrude". Wrap these two up in a hull and you're good to go!
Note that this will always be convex, if your 2d shape has "holes" you'll want to get a bit more creative, I like to do a difference to create the "negative" as a 3D shape, do the same exercise as above but translate slightly higher and lower and use 'difference' to create your final shape
That’s awesome, thank you so much!
A bunch of people beat me to it but yah hill between two objects is the way to go. Linear_extrude is best thought of as a purely 2d operation that produces a 3d object.
I've done something like that with a multmatrix transformation. There is an example of doing a skew transformation like that in the OpenSCAD user manual. This works with any 3D shape, not just extrusions. So you could transform a cube into a parallelepiped.
hull() between 2 cubes would be my strategy for rhombo