Home

Awesome

The Dactyl Lynx Keyboard

The Dactyl Lynx is a parameterized, split-hand, concave, columnar, ergonomic keyboard.

This is my fork/rewrite of the original Dactyl. I've changed a few things:

Skeleton prototype

Future plans

Preview

Assembly

Generating a design

Prerequisites

Installing dependencies

poetry install

Generating

poetry run python -m dactyl_lynx_keyboard.dactyl_lynx

To view the available options:

poetry run python -m dactyl_lynx_keyboard.dactyl_lynx --help

You can then generate STL files from the OpenSCAD files with:

scripts/render-stls.sh

You can also generate an image of the whole assembly:

openscad --camera=2,12,10,69.7,0,30,480 --autocenter --colorscheme BeforeDawn --imgsize 3840,1800 -o things/dactyl-lynx-6x5.png things/dactyl-lynx-6x5.scad

Or generate a much higher-quality image using POV-Ray by running:

openscad --enable lazy-union --enable predictible-output --backend Manifold -o things/dactyl-lynx-6x5.pov things/dactyl-lynx-6x5.scad
povray +L/usr/share/povray-3.7/include dactyl-lynx-6x5-1920x950.ini

or using any of the other .ini files.

Printing

Pregenerated STL files are available in the things/ directory.

Bill of Materials

Wiring

This is by no means a comprehensive guide to wiring a keyboard, but here's the approach I chose when building my first Dactyl Lynx:

Wire according to the key matrix in my whitelynx/dactyl_lynx QMK branch.

Firmware

I've set up two separate firmwares that can be run on this board. The QMK-based variant is more featureful, but I'm devoting more time to the RMK-based one now.

RMK-based (new, more minimal)

See the dactyl-lynx-rmk repo for this firmware. It's based on RMK. (with Vial support, written in Rust)

QMK-based (old, more featureful)

See the corresponding firmware in my whitelynx/dactyl_lynx QMK branch for instructions on building and flashing the firmware.

Customizing

When customizing your keyboard, you might want to look at API docs for the classes in dactyl_lynx_keyboard. You can use pdoc for this:

pdoc -t templates dactyl_lynx_keyboard

If you have cloned the source for spkb and/or SolidPython2, you can also include them:

pdoc -t templates dactyl_lynx_keyboard ../../spkb ../SolidPython/solid2

License

Copyright © 2015-2024 Matthew Adereth and David H. Bronke

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-ShareAlike License Version 4.0.