veikman / dactyl-keyboard

Programmatic keyboard CAD
GNU Affero General Public License v3.0
268 stars 30 forks source link

really interested in trying out the concertina config #24

Open burabure opened 4 years ago

burabure commented 4 years ago

Hey, I'm really interested in printing and trying out the concertina config you're building, but it seems to be worked on currently. what would you say would be a good way to get started with this?

veikman commented 4 years ago

Hi! The Concertina keyboard case, by which I mean only the part of the project that requires changes in the DMOTE application code or its bundled configurations, is almost complete for release 0.6.0. I have an unwired third-draft print of it on my desk right now that seems to need only minor, non-obvious tweaks. I will create and publish these tweaks when I am able, and I will simultaneously print and check them. That should happen this week.

If at that point you were to print your own copy, with or without your own modifications, you would be an early adopter indeed. At my current pace in this project it will take months before I have printed an entire case, wired it up, designed and printed satisfactory drawers for the assortment feature, settled on and implemented and published a QMK keymap, designed and sourced and painted SLA-printed minimal-style keycaps with full 3D legends for that keymap, done the necessary ergonomic testing, and released the whole thing with even minimal documentation. Most of that work will happen outside this Github repo, on weekday nights and weekends, with the cooperation of a couple of friends.

If you were to jump in before the release, I would expect to see you run into some trouble. There is still a non-zero risk that the basic design is fundamentally flawed. I would appreciate feedback from testing, but it’s still too early for me to write something like a build guide to help you out.

burabure commented 4 years ago

Hey! That sounds awesome, I'll take a shot at adding the kaihl switch support and printing a concertina once the 0.6.0 is released. I'll give you some feedback once I have a working prototype.

I'm doing something similar for an arcade controller if you want to have a look https://www.reddit.com/r/Fighters/comments/ianimi/ergobox_prototype_1/

veikman commented 4 years ago

Cool! Soon we will have recreated the Hansen Writing Ball and the world will be ours.

veikman commented 4 years ago

Update: I have now sent STL files for the case to a friend to make a first production unit with the current (v0.6.0) code here on GitHub. I have also started on a build guide, here.

burabure commented 4 years ago

nice! I'll start printing and playing around with it on the weekend. thanks!

burabure commented 4 years ago

Printed the right side and I can confirm it prints nicely on an Ender 3. sadly I just noticed that the current config requires alps switches, so I'll need to work on a cherry/kailh compatible version

veikman commented 3 years ago

Changing the type of switches on a complete Concertina is easier than ever, since there is only one size of switches in v0.7.0. I added a bundled file:

keys:
  styles:
    default:
      switch-type: kailh-pg1511
      skirt-length: 3  # Prevent collisions between pinky-finger keys.

A complete CLI command to build with Kailh- instead of ALPS-style switches is now:

$ lein run -c config/base.yaml -c config/concertina/base.yaml -c config/concertina/assortment/base.yaml -c config/concertina/assortment/reset.yaml -c config/concertina/assortment/magnets/slits.yaml -c config/concertina/assortment/magnets/cylinder5x2p5_centre.yaml -c config/concertina/kailh.yaml

guategeek commented 2 years ago

It puts the right socket in, but MX switches are not lined up right, the keycaps overlap.

veikman commented 2 years ago

It puts the right socket in, but MX switches are not lined up right, the keycaps overlap.

Are you using printed minimal-style keycaps from dmote-keycap? If so, where do they collide?

guategeek commented 2 years ago

Well I ran the build with the commands you posted above, and the key-cap cluster that is created with that build is what I was using for reference, I was assuming that was the minimal-style one. If its not then I need to look into setting that up and trying again.

image

veikman commented 2 years ago

Thank you for that report! It turns out the standard ALPS-style version had the same problem. It is partly a cosmetic problem, caused by my failure to adjust the Concertina’s design to a bug fix in dmote-keycap (v0.7.0). The skirts of all the minimal keys were twice as thick as they were designed to be, on both versions of the keyboard.

I have fixed the keycap skirt thickness problem in commit b9a1bbb0824bbf230de7fc31c358404e1ca1bcc8, without any changes to the layout of the keys. I will continue to tinker with dmote-keycap itself to clean that up, too.

guategeek commented 2 years ago

Glad it was helpful in bringing a issue to light.

I was playing around with the dmote-keycap this weekend to try figure things out and noticed that using the minimal style was outputting exactly the same key-cap as not using it. So unless minimal is the default it seems like the flag wasn't actually making a smaller keycap.

I even ended up finding a good cad design of a DSA (I had purchased DSA key-caps when I was planing to make a dmote). And the DSA caps were only slightly taller than the ones the demote-keycap was outputting, and actually had a slightly smaller outer width. DSA on left, demote-keycap "minimal" on right:

image

veikman commented 2 years ago

That model looks like it may be affected by the same bug. minimal caps for MX/Kailh are wider at the base than for ALPS because the switches are wider, but minimal is still smaller than the store-bought DSA I have.

size_comparison

I would be surprised if you could fit DSA caps on a Concertina without some cutting.

veikman commented 2 years ago

After making thorough improvements to dmote-keycap (v0.8.0) and upgrading this project’s dependency upon that library, I believe the keycap width bug is now fixed in all its forms.