Skip to content

Keyboard footprints rework

Rafael Silva requested to merge github/fork/perigoso/keyboard-footprints into master

This PR aims at reworking the current footprints related to keyboard switches, as well as it's structure, as in, directories.

It adds footprints for Cherry MX keyswitches, Alps / Matias keyswitches, Kailh Choc keyswitches and Kailh hotswap sockets for the Cherry MX format.

It Overrides the existing footprints, but they are mostly the same.

These footprints come from a repository that has been widely used by the community, and is generally used as opposed to the official libraries, given it's limited amount of footprints. They have suffered quite a bit of modification to better comply with KLC and fit with the rest of the official libraries.

Due to the high amount of footprints added i felt it was necessary to split the original Button_Switch_Button_Keyboard.pretty into:

  • Switch_Keyboard_Alps_Matias.pretty
  • Switch_Keyboard_Cherry_MX.pretty
  • Switch_Keyboard_Hybrid.pretty
  • Switch_Keyboard_Kailh.pretty

There is some KLC breakage, but it's mostly on purpose:

  • Violating F7.2 (Pad '1' not located at origin) Given the nature of these components it is extremely convenient to have their origin at the center, and i feel it's justified.
  • Violating F7.4 (Some THT pads have incorrect layer settings) It is typical for keyboard switch footprint to not have mask on the switch side, ie, the solder mask is supposed to cover the pads on the side the switch is placed on.

F7.3 and F9.3 are just warnings and should not be an issue.

Reference for Alps/Matias keyswitches Reference for Cherry MX keyswitches Reference for Kailh Choc keyswitches Reference for Kailh Hotswap Socket

I am aware that this conflicts with a current PR #2389 Though I am submitting some footprints that directly conflict with those, they can still be merged given they are a slightly different implementation that may be of interest.

I'm sorry for the big PR/submission, I tried my best to have a clean set of footprints so that this process may go smoothly.

Merge request reports