adereth / dactyl-keyboard Goto Github PK
View Code? Open in Web Editor NEWParameterized ergonomic keyboard
License: GNU Affero General Public License v3.0
Parameterized ergonomic keyboard
License: GNU Affero General Public License v3.0
Have you any thoughts/plans about integrating Pointing stick?
I have a very uninformed question: are there any companies that would produce a dactyl keyboard from the sources and information here?
Hi all,
Before I commit to ~24 hour print time on my home printer, can people share what worked and what didn't for slice settings on their machines? I'm guessing generate supports = yes, especially for the top halves that curl away from the buildplate (these add about 10 h estimated to my print.)
What about wall thickness? What is a reasonably-good thickness to ensure the key switches are sturdy and that typing won't break it. I've used 1.5-2.0mm thickness on other prints, but I'm wondering if I should do thinner here, or if that is a bad idea?
Obviously, a lot of settings will be different per printer. I am hoping to use others' experience here a little and modify for my own printer. Thanks!
Hello @adereth
I'm about to put one of these together and I'm wondering if there is a schematic for the keys or how it differs from the standard wiring of the ergodox and ergodox-ez.
I'm considering just following the schematic for the ergodox-ez and using the ergodox firmaware on QMK.
So are their differences ? Knowing them would make things a little easier.
Thanks,
Eric
I should pick something better. Probably RJ45.
Hi,
any source for keycaps you can offer? I can get cherry blue keys I want from wasd keyboards for e.g. but they sell keycaps that are different for every row in the keyboard... if I look to get keys I have to chose the row info ...
http://support.wasdkeyboards.com/customer/portal/articles/1366948-keycap-compatibility
so what to order?!
It wouldn't change the functionality at all, but it would be really cool.
I tried to create some stl files but I did not find out how to create the separate files "top" and "bottom" part as you have published to shapeways.
In the README.org file the hand wiring pics as well as the text state "As you can see in these following pictures, I went for the “row-driven” setup (visible by the direction of the diodes, the black line being towards the key-switches). ". However it is my understanding that the black line as the cathode pointing towards the key would indicate the "Drive Columns" type setup would it not?
I think that the firmware has a simple config setting for either selection however that would need you to re-compile it for "Drive Columns" option. Am I correct or am I just a n00b out of his depth?
I have clojure 1.8.0 and OpenSCAD 2015.03.3 installed. My project.clj
is
(defproject dactyl-keyboard "0.1.0-SNAPSHOT"
:description "A parametrized, split-hand, concave, columnar, erogonomic keyboard"
:url "http://example.com/FIXME"
:main dactyl-keyboard.dactyl
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[unicode-math "0.2.0"]
[scad-clj "0.5.3"]])
But when I run (after lein repl
)
(load-file "src/dactyl_keyboard/dactyl.clj")
I get
WARNING: import already refers to: #'clojure.core/import in namespace: dactyl-keyboard.dactyl, being replaced by: #'scad-clj.model/import
WARNING: use already refers to: #'clojure.core/use in namespace: dactyl-keyboard.dactyl, being replaced by: #'scad-clj.model/use
CompilerException java.lang.RuntimeException: Unable to resolve symbol: fixed-tenting in this context, compiling:(/data/dactyl-manuform/src/dactyl_keyboard/dactyl.clj:181:33)
Any help will be much appreciated.
Does a 3 rows Dactyl fork exist? but keeping the five keys per thumb, as in Dactyl LightCycle.
I understand that you used gatheron switches in your current keyboards.
I'd like to put in mx brown switches, but I don't know if I need to use pcb or plate mounted switches.
Do you happen to know this?
I'm working on printing the dactyl case pieces at home on my Prusa Mk3 using Slic3r Prusa edition to slice the file. I'm seeing some weird behavior in the left bottom with teensy when I slice and print it. It looks like there might be some bad geometry that's causing it to be seen as two pieces rather than one and basically builds supports between the two which snap apart when I rip off the supports. Is this intended and if not is there an issue with the model? In the screenshot below the yellow is the model being printed and the green are supports. You can see in the top right corner there is a section of supports that cuts through it.
When I import the stl file into slic3er it reports that there were 12 errors that were auto repaired but I'm not sure how to see what those are. Has anyone else experienced this?
I'd like to tweak things and also understand scad-clj. but being new to the clojure ecosystem I dont understand how to actually use this.
The circuit diagram shows 3 LEDs on PB5, PB6, and PB7. They don't show up in the example photos, though, and their purpose isn't clear to me. There's a note that "When the keyboard starts successfully two of the LEDs light up shortly." What does the third one do? Why do we need two LEDs to show successful startup?
Looking at the ergodox-firmware source (that function is defined here), it seems they all turn on at startup. Is that the case?
Are they supposed to have any use beyond debug?
I uploaded the dactyl top right to a 3d printer website in Aus, and this is the quote. http://i.imgur.com/KPVQxwV.png
Im going to guess that maybe that are not just doing the usual aussie overcharging.
Top left and top right in /things are both for cherry switches, but only top left with teensy seems to have different switch holes, with no mention of it. Might want to have them be consistent or change the filename to reflect it.
I didn't look closely enough (already printed the right one and assumed they'd be the same) until after I had wasted 40-50 meters of filament and an hour or two of babysitting the print and cleaning away support material. I guess it should be fine to just mirror the right one for the same effect, so I'll do that instead.
Hi,
Are these correct mesures for STL files.
16.47 x 14.22 x 5.83 cm for bottom left.
16.85 x 14.11 x 6.86 cm for top left.
These are same for both sides cause they are just mirrored.
Are these measures correct?
The readme in the guide folder has a handful of instances of TTRS that should read TRRS, this is confusing when shopping for parts.
I'd like to print a version with the main part of the keyboard only having three rows and five columns per hand ('q' to 'b' on the left, 'y' to '/' on the right). However, modifying the rows and columns at https://github.com/adereth/dactyl-keyboard/blob/master/src/dactyl_keyboard/dactyl.clj#L117 is insufficient - it seems some parts are hard coded to their size independent of those variables. Could you please provide some pointers as to which parts of the code need modified to produce a correct 3x5 keyboard? Thanks!
I've been using a keyboard for MANY years.
I love the parameterized design files; I'm wondering if I could use these to build a keyboard with a return row on the right hand side.
I realize there's better ways to do it, but I use a laptop keyboard fairly often, on the go, so I can't drag the keyboard around everywhere. I'm just sort of used to it.
Is that possible or would it make the two sides too big?
I have to admit I can just try it, but thought I would float this out here first.
I know I should use my thumb :) but I know that pinky will occasionally reach out - especially for the backslash.
Also - it would be great if on the front page there was a diagram showing what key combinations there are; as a n00b to these kinds of keyboards it's a little confusing.
Thank you for listening,
== John ==
Hi! I never ever built a keyboard in my whole life, and this project grabbed my attention (mainly because I want kinesis with the split of ergodox on top). I managed to assemble pretty much everything except for the diodes. The guide states that Adereth got his diodes for free, but he never stated which diodes those are.
I have opened my local hardware store's page and noticed that there are tons of different kinds of diodes so natural question here is what kind of diode do I need for this and what params should it posess?
I would love to have access to the source changes that produced the Light Cycle SCAD files.
I want to experiment with a three (worst case four) row setup and also drop the thumb cluster to two columns. I've spent a few hours playing with the Clojure source code and can't seem to get it to handle anything less than five rows. It appears the code assumes five rows in several locations in subtle ways.
With the Light Cycle code I think I could use diff
to figure out what was changed to allow for fewer than five rows. At that point I'll submit a PR to make the design more parametric around the rows
variable.
Thank you.
Any chance a row could be added to the top for F1-12?
CC-BY-NC-SA is neither a Free Culture licence nor an Open Source Hardware license.
The basic gist is that by restricting the use to only non-commercial you prevent a substantial part of the community from using it for whatever purpose – which in Free Software terms would mean it doesn’t give its users the most essential Freedom 0. In practice the license prevents (anyone except @adereth ) to sell Dactyl as a DIY kit or even just offer 3D prints of its case – whether this was intentional or not.
… or to quote OSHWA’s own FAQ:
Why aren’t non-commercial restrictions compatible with open source hardware?
There are a few reasons.
If you place a non-commercial restriction on your hardware design, other people don’t have the same freedom to use the design in the ways that you can. That means, for example, that if you and someone else both release designs with non-commercial licenses, neither of you can make and sell hardware that builds on both of your designs. Rather than contributing to a commons of hardware designs for everyone to build on, you’re limiting others to a very narrow range of possible uses for your design.
In particular, because making hardware invariably involves money, it’s very difficult to make use of a hardware design without involving some commercial activity. For example, say a group of friends wanted to get together and order ten copies of a hardware design – something that’s often much cheaper than each person ordering their own copy. If one person places the order and the others pay him back for their share, they’d probably be violating a non-commercial restriction. Or say someone wants to charge people to take a workshop in which they make and keep a copy of your hardware design – that’s also commercial activity. In general, there are just very few ways for someone to use a hardware design without involving some sort of commercial activity.
I see the NC as a blocker for this otherwise awesome-looking keyboard to strive and would suggest to change the license CC-BY-SA-4.0, which is very similar and is still a copyleft license, but without the non-commercial restriction.
P.S. Awesome project BTW! 😸
I don't know another way to reach you so i am going this route.
I just built a this board and posted it up on reddit. I want to do a group buy and i wanted to see if you would have an issue with this. Can you contact me at [email protected]? this is the only way i know how to reach you.
Also, i am adding in wires that are missing to the PCBs and making them into one big sheet. The goal is to supply them to the community so more of this keyboard can be made.
Hi @adereth could you quickly explain which are the differences between all the different stl files under the /things folder?
Which ones should I use to build a cherry-mx one?
Thanks.
The USB hole was designed for a USB cable I happened to have. It should be larger to accommodate other cables.
The screw hole difference rendering seems to be incorrect. I am using OpenSCAD 2018 03 17.
Which version should I try?
WARNING: Normalized tree is growing past 400000 elements. Aborting normalization.
WARNING: Normalized tree is growing past 400000 elements. Aborting normalization.
Normalized CSG tree has 1021 elements
Has anyone seen a dactyl fork with a single row 1u keys? I plan to use two to three keys per thumb.
I like the design of the keyboard, but I just wanted to say that if I ever create one I'd be interested in configuring the angle (i.e. how the "tent" is angled). I'd like it to have an even higher angle, but nothing as extreme as the SafeType keyboard
I've got a couple Kinesis keyboards myself. I'm impressed at the similarities - although the keycaps are a bit smaller in height. Is it possible to put the circuit boards from the Kinesis keyboards into this one? I'm also noticing some missing keys - specifically the rubber function keys on the top row.
Finished soldering my dactyl and flashed the ergodox-default qmk firmware using teensy loader. I tried connecting it to my mac and windows10 machines to no avail. My mac did recognize that a keyboard was attached and brought up the keyboard setup assistant asking to press a button to the right of the left shift button. Tried that and a bunch of other buttons but nothing happened. Tried googling but didn't really find anything on how to troubleshoot.
Tested the same file from the things folder in openSCAD for windows and openSCAD for ubuntu.
Sits at "Rendering Polygon Mesh using CGAL..." with 0/1000.
Please advise.
Can you commit code for Teensy controller according to your matrix?
Please consider making fdm friendly model, so more people can enjoy this beautifully designed keyboard. Thanks.
I see that there were some updates on the "things" stl's but I don't see if shapeways already have the latest ones or only the original ones?
Talking about these from @adereth https://www.shapeways.com/designer/adereth/creations
I can easily upload STL's from things folder from git, it comes out as same price, but I'd rather click to order ones uploaded by the designer :D
because it's awesome!
The +/1 and 0/- keys barely touch. It doesn't affect usage/feel, but they shouldn't.
I'm going to make a Dactyl LightCycle with Matias switches and I don't find anywhere what thumb cluster keycaps sizes are. And there are very few offers for buying ALPS keycaps on the web.
Does anyone can tell me if they are 2u, 1.5u, 1.25u, or something else ? I want to find them and order them before build the keyboard.
I'm trying to get 3d printer quotes in Manhattan and I have no idea what I'm doing as far as 3d printing goes. Can Someone fill me in? I'm going to try to compile a shareable google spreadsheet for 3d printing estimates on different Websites and share it on /r/mechanicalkeyboards.
Please halp.
Hi, guys !!!
Does anyone know about a Dactyl with 3x5 +5 keys ?
It would be a kinda of a MiniDactyl. A minimal version.
Have a great day, you dudes !!!
;-)
Based on the ErgoDox EZ schematics, pin INTA
on the MCP23018 is not used. I think there is a simple mistake on the guide/circuit-diagram.png file. Could you tell me what program was used to make this diagram? Col-5 to Col-0 needs to be shifted up a input on the MCP23018 schematic.
The parameters of interest for customizing the shape of the keyboard to suit a given user are not well-exposed to the user editing the code. It would be nice to create a user parameters file which contains all of the parameter vars and then import that file into the dactyl.clj file.
I guess from a basic search that, in Clojure, the correct thing to do would be to use
or require
a new namespace called, e.g., params from a params.clj file in src/params.
I'd do it myself, but I can't easily tell which parameters ought to be factored out. If someone can explain to me what variables decide, e.g., the angle of tenting or the curvature of each finger column, I'll be glad to write this up and put in a pull request.
The code is under EPL but I don't know what license the created hardware design is. You might want to look at https://en.wikipedia.org/wiki/Open-source_hardware and publish the STL under a open source hardware license.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.