e6c638be |
1 | # Frequently Asked Questions |
2 | |
3 | ## What is QMK? |
4 | |
5 | [QMK](https://github.com/qmk), short for Quantum Mechanical Keyboard, is a group of people building tools for custom keyboards. We started with the [QMK firmware](https://github.com/qmk/qmk_firmware), a heavily modified fork of [TMK](https://github.com/tmk/tmk_keyboard). |
6 | |
7b0356d1 |
7 | ### Why the Name Quantum? |
e6c638be |
8 | |
9 | <!-- FIXME --> |
10 | |
11 | ## What Differences Are There Between QMK and TMK? |
12 | |
32bb8f6b |
13 | TMK was originally designed and implemented by [Jun Wako](https://github.com/tmk). QMK started as [Jack Humbert](https://github.com/jackhumbert)'s fork of TMK for the Planck. After a while Jack's fork had diverged quite a bit from TMK, and in 2015 Jack decided to rename his fork to QMK. |
e6c638be |
14 | |
9d1a08e3 |
15 | From a technical standpoint QMK builds upon TMK by adding several new features. Most notably QMK has expanded the number of available keycodes and uses these to implement advanced features like `S()`, `LCTL()`, and `MO()`. You can see a complete list of these keycodes in [Keycodes](keycodes.md). |
e6c638be |
16 | |
9d1a08e3 |
17 | From a project and community management standpoint TMK maintains all the officially supported keyboards by himself, with a bit of community support. Separate community maintained forks exist or can be created for other keyboards. Only a few keymaps are provided by default, so users typically don't share keymaps with each other. QMK encourages sharing of both keyboards and keymaps through a centrally managed repository, accepting all pull requests that follow the quality standards. These are mostly community maintained, but the QMK team also helps when necessary. |
e6c638be |
18 | |
19 | Both approaches have their merits and their drawbacks, and code flows freely between TMK and QMK when it makes sense. |