Blended Dactyl Manuform, a parameterized ergonomic keyboard
Python
102
146 commits
updated Jul 4, 2026
This is a fork of the Dactyl-ManuForm, which is itself a fork of the Dactyl, a parameterized, split-hand, concave, columnar, ergonomic keyboard.

This project aims to rewrite the original codebase from Clojure to Python leveraging the bpy and bmesh libraries for Blender.
This script is very much a work-in-progress. It is easy to select a set of parameters outside the "stable generation space". Additionally, Blender's output is not always predictable in mesh-output or runtime length. If a malformed object is generated, re-running the script (without any change to the codebase) may produce a better result. Your mileage may vary.
Install Blender
Load Script
body_subsurf_level will increase the body smoothness but drastically increase generation time.[!Note] This script enables extensions available online and installs 3D Print Tooolbox and Edit Mesh Tools. If running for the first time, these extensions will bw installed, but fail to generate a proper mesh. Simply run the script a second time to complete the mesh generation.
The 5x6 body/bottom .stl set from the things/ directory is in the thingiverse for public printing
Special thanks goes out to Joshua Shreve, whose Python fork and accompanying Reddit post inspired me to create this Blender fork.
Copyright © 2015-2024 Matthew Adereth, Tom Short, and Sean Gilroy
The source code for generating the models (everything excluding the things/ and resources/ directories is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. The generated models and PCB designs are distributed under the Creative Commons Attribution-NonCommercial-ShareAlike License Version 3.0.
Python
100.0%
Blended Dactyl Manuform, a parameterized ergonomic keyboard
Python
102
146 commits
updated Jul 4, 2026
This is a fork of the Dactyl-ManuForm, which is itself a fork of the Dactyl, a parameterized, split-hand, concave, columnar, ergonomic keyboard.

This project aims to rewrite the original codebase from Clojure to Python leveraging the bpy and bmesh libraries for Blender.
This script is very much a work-in-progress. It is easy to select a set of parameters outside the "stable generation space". Additionally, Blender's output is not always predictable in mesh-output or runtime length. If a malformed object is generated, re-running the script (without any change to the codebase) may produce a better result. Your mileage may vary.
Install Blender
Load Script
body_subsurf_level will increase the body smoothness but drastically increase generation time.[!Note] This script enables extensions available online and installs 3D Print Tooolbox and Edit Mesh Tools. If running for the first time, these extensions will bw installed, but fail to generate a proper mesh. Simply run the script a second time to complete the mesh generation.
The 5x6 body/bottom .stl set from the things/ directory is in the thingiverse for public printing
Special thanks goes out to Joshua Shreve, whose Python fork and accompanying Reddit post inspired me to create this Blender fork.
Copyright © 2015-2024 Matthew Adereth, Tom Short, and Sean Gilroy
The source code for generating the models (everything excluding the things/ and resources/ directories is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. The generated models and PCB designs are distributed under the Creative Commons Attribution-NonCommercial-ShareAlike License Version 3.0.
Python
100.0%