https://github.com/siderakb/key-switches.pretty
Mechanical keyboard switches KiCad footprint library
https://github.com/siderakb/key-switches.pretty
footprint kicad oshw
Last synced: 7 months ago
JSON representation
Mechanical keyboard switches KiCad footprint library
- Host: GitHub
- URL: https://github.com/siderakb/key-switches.pretty
- Owner: siderakb
- License: cern-ohl-p-2.0
- Created: 2022-02-27T05:19:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T15:01:41.000Z (9 months ago)
- Last Synced: 2025-03-14T20:41:31.490Z (7 months ago)
- Topics: footprint, kicad, oshw
- Homepage:
- Size: 106 KB
- Stars: 81
- Watchers: 2
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Key Switches
[:globe_with_meridians:中文](/readme_zh-TW.md)
This is a [KiCad](https://www.kicad.org/) footprint library of mechanical keyboard switches, released under the [CERN-OHL-P v2](/LICENSE).
## Usage
It is recommended to use this library with [KiCAD KLE Placer](https://github.com/zykrah/kicad-kle-placer) or [kicad-kbplacer](https://github.com/adamws/kicad-kbplacer) for automatic switch placement.
If you're using Git, you can include this library as a [submodule](https://git-scm.com/docs/git-submodule) via `git submodule add https://github.com/siderakb/key-switches.pretty.git`
Keyboards created using this library: [ErgoSNM](https://github.com/siderakb/ergo-snm-keyboard), [Calcite](https://github.com/siderakb/calcite), [MS60](https://github.com/siderakb/ms60).
## Compatibility Table
| Preview [^preview] | Footprint [^sw-prefix] | Cherry MX | Cherry MX Low Profile | TTC KS32 | Kailh Choc V1 [^k-choc1] | Kailh Choc V2 [^k-choc2] | Gateron Low Profile [^g-lp] | THT [^tht] | Hot-Swap | *nSilk* variants [^ns-suffix] | *swap* variants [^swap-suffix] |
| :----------------------------------: | ---------------------------------------- | :-----------------------: | :-------------------: | :----------------------: | :-------------------------: | :------------------------: | :-------------------------: | :----------------: | :----------------: | :---------------------------: | :----------------------------: |
|  | MX_THT | :white_check_mark: | | | | | | :white_check_mark: | | :white_check_mark: | |
|  | MX_HotSwap_THT | :white_check_mark: | | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
|  | MX_HotSwap_THT_double | :white_check_mark: | | | | | | :white_check_mark: | :white_check_mark: | | |
|  | MX_HotSwap_THT_double_alt1 | :white_check_mark: | | | | | | :white_check_mark: | :white_check_mark: | | |
|  | MX_HotSwap_THT_double_alt2 | :white_check_mark: | | | | | | :white_check_mark: | :white_check_mark: | | |
|  | MX_HotSwap_PTH | :white_check_mark: | | | | | | :bulb: [^pth] | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|  | MX_HotSwap_PTH_double | :white_check_mark: | | | | | | :bulb: [^pth] | :white_check_mark: | | |
|  | MX_LowProfile_THT | | :white_check_mark: | :bulb: [^t-ks_vs_c-mxlp] | | | | :white_check_mark: | | :white_check_mark: | |
|  | Gateron_LowProfile_THT | | | | | | :white_check_mark: | :white_check_mark: | | | |
|  | Gateron_LowProfile_HotSwap_THT | | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | | |
|  | Gateron_LowProfile_HotSwap_PTH | | | | | | :white_check_mark: | :bulb: [^pth] | :white_check_mark: | | |
|  | Kailh_Choc_V1_THT | | | | :white_check_mark: | | | :white_check_mark: | | :white_check_mark: | :white_check_mark: |
|  | Kailh_Choc_V1_THT_alt1 [^k-cooc1-alt] | | | | :white_check_mark: | | | :white_check_mark: | | | |
|  | Kailh_Choc_V1_HotSwap | | | | :white_check_mark: | | | | :white_check_mark: | :white_check_mark: | |
|  | Kailh_Choc_V1_HotSwap_THT | | | | :white_check_mark: | | | :white_check_mark: | :white_check_mark: | | |
|  | Kailh_Choc_V1_HotSwap_PTH | | | | :white_check_mark: | | | :bulb: [^pth] | :white_check_mark: | | |
|  | Kailh_Choc_V2_THT | | | | | :white_check_mark: | | :white_check_mark: | | :white_check_mark: | |
|  | Kailh_Choc_V1V2_THT_Hybrid | | | | :bulb:[^k-choc1_vs_k-choc2] | :white_check_mark: | | :white_check_mark: | | | |
|  | MX_Kailh_Choc_V1V2_THT_Hybrid | :bulb: [^c-mx_vs_k-choc2] | | | :bulb:[^k-choc1_vs_k-choc2] | :white_check_mark: | | :white_check_mark: | | | |
|  | MX_LowProfile_Kailh_Choc_V1V2_THT_Hybrid | | :white_check_mark: | :bulb: [^t-ks_vs_c-mxlp] | :bulb:[^k-choc1_vs_k-choc2] | :bulb:[^k-choc2_vs_c-mxlp] | | :white_check_mark: | | | |> :white_check_mark:: Compatible; :bulb:: Conditionally compatible; Blank: Not compatible.
[^preview]: Preview images are for reference only and may not be updated with the footprints.
[^tht]: THT means through-hole soldering.
[^pth]: PTH means the holes of the Hot-Swap socket are plated, and the switches can be soldered directly without using a socket. However, the soldering difficulty is higher compared to the standard THT edition.
[^k-choc1]: Kailh Choc V1 also known as PG1350.
[^k-choc2]: Kailh Choc V2 also known as PG1353.
[^g-lp]: Gateron Low Profile 1.0 (aka KS-27) and 2.0 (aka KS-33) footprint are compatible.
[^t-ks_vs_c-mxlp]: TTC KS32 and Cherry MX Low Profile are very similar, basically compatible.
[^k-choc1_vs_k-choc2]: The center fix pin of Choc V1 is smaller than Choc V2, however Choc V1 has two additional fix pins ensuring its stability.
[^k-choc2_vs_c-mxlp]: The center fix pin of Choc V2 is smaller than Cherry MX Low Profile, Choc V2 may not be securely fastened.
[^c-mx_vs_k-choc2]: The center fix pin of Cherry MX is smaller than Choc V2, however some Cherry MX has two additional fix pins ensuring its stability.
[^sw-prefix]: Omit the "SW" prefix from the footprint name.
[^ns-suffix]: The footprint with "nSilk" suffix means no top layer silkscreen.
[^swap-suffix]: The footprint with "swap" suffix means the pin number swap.
[^k-cooc1-alt]: *Kailh_Choc_V1_THT_alt1* has one more NPTH than *Kailh_Choc_V1_THT*, and this hole is located at the position of the spring in the Clicky switch (e.g. White, Jade). If you are likely to use Clicky switches it is recommended to use *Kailh_Choc_V1_THT_alt1*.