veikman / dactyl-keyboard

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

Support MX style switches. #1

Closed tim-tx closed 5 years ago

tim-tx commented 5 years ago

Thanks for your effort and dilligence in cleaning up the Clojure code for this project. I added a parameter to choose between ALPS or MX style switches. The switch dimensions are converted to derived parameters, and the ALPS-specific extra lateral cutout for wing flare is applied conditionally. For MX switches, side nubs are added that stabilize the switch. The one caveat here is that the key-mount-thickness maybe needs to be set to 4 to size the nubs appropriately. This dimension is not in the MX datasheet, but in the @tshort fork the plate thickness is 4 and the switches are snug. Shorter nubs might not cause a problem, but longer nubs probably would. I don't know if it's more appropriate to warn the user of this or force the thickness.

veikman commented 5 years ago

Good timing, and good job. I gratefully accept your contribution.

I have vague plans to add switch type support at the clusters level instead of the global level, mainly to allow for a tiny reset switch in its own little cluster near the MCU, and to work toward different-size keys with stabilizers. I was also considering making single-switch-cutout complicated enough to describe wing flare and (negatives of) MX nubs without the need for external conditionals. I may get around to that after I finish tuning the v0.2.0, and I’m glad you’ve laid the groundwork.