aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-02-27 12:10:23 -0800
committerGitHub <noreply@github.com>2021-02-27 12:10:23 -0800
commit624359b725c9bfe8176cf72cdc2c8bbb7513949f (patch)
treeebf645f55cb0442899c894765b1af4344fb734db
parent1581ea48dcd48d0d3f42cc09b388c468aedec45d (diff)
downloadqmk_firmware-624359b725c9bfe8176cf72cdc2c8bbb7513949f.tar.gz
qmk_firmware-624359b725c9bfe8176cf72cdc2c8bbb7513949f.zip
2021 February 27 Breaking Changes Changelog (#11975)
* restore main readme.md * add ChangeLog entry for 2021-02-27 develop branch - initial version * update Docs; consolidate sidebar entries to new Breaking Changes History doc * Changelog update - concatenate similar changes as one list item - unify change formatting (remove [bracketed] headings and trailing periods) - item sorting improvement * update Changes Requiring User Action section Detail the changes regarding keyboard relocations/additions/deletions. * add entry for fauxpark's user keymap cleanup for config.h/rules.mk * add link to Jacky Studio bugfix PR * add link for "ChibiOS conf migrations... take 15" * add links for "Make LAYOUT parsing more robust" and "Massdrop develop rgb fix" * remove sort sequence numbers * rename Breaking Changes History page Renames the Breaking Changes History page to "Past Breaking Changes". * update schedule in Breaking Changes Overview * suggestions/changes per tzarc * skully's changes * add entry for "Fix develop" (PR 12039) Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Zach White <skullydazed@gmail.com>
-rw-r--r--docs/ChangeLog/20210227.md169
-rw-r--r--docs/_summary.md8
-rw-r--r--docs/breaking_changes.md13
-rw-r--r--docs/breaking_changes_history.md10
-rw-r--r--readme.md6
5 files changed, 188 insertions, 18 deletions
diff --git a/docs/ChangeLog/20210227.md b/docs/ChangeLog/20210227.md
new file mode 100644
index 000000000..cb34edfd9
--- /dev/null
+++ b/docs/ChangeLog/20210227.md
@@ -0,0 +1,169 @@
1# QMK Breaking Changes - 2021 February 27 Changelog
2
3## Changes Requiring User Action
4
5The following keyboards have had their source moved within QMK:
6
7Old Keyboard Name | New Keyboard Name
8:---------------- | :----------------
9bear_65 | jacky_studio/bear_65
10s7_elephant/rev1 | jacky_studio/s7_elephant/rev1
11s7_elephant/rev2 | jacky_studio/s7_elephant/rev2
12aplx6 | aplyard/aplx6/rev1
13southpaw75 | fr4/southpaw75
14
15The [Aplyard Aplx6 rev2](https://github.com/qmk/qmk_firmware/tree/0.12.0/keyboards/aplyard/aplx6/rev1) and the [FR4Boards Unix60](https://github.com/qmk/qmk_firmware/tree/0.12.0/keyboards/fr4/unix60) have also been added as part of these changes.
16
17Additionally, the `handwired/bluepill/bluepill70` keyboard has been removed.
18
19## Core Changes
20
21### ChibiOS Update and Config Migration
22
23QMK's ChibiOS and ChibiOS-Contrib submodules have been updated to version 20.3.2.
24
25Along with this, QMK now provides default configuration files for all commonly-supported ARM microcontrollers running on ChibiOS. As such, keyboards are now only required to define settings which differ from the defaults, thereby reducing the size of pull requests for keyboards running atop ChibiOS.
26
27### QMK Infrastructure and Internals
28
29Python is now required to build QMK. The minimum Python version has been increased to 3.7.
30
31The power of `info.json` has been massively expanded. Most keyboard parameters can now be expressed in `info.json` instead of `config.h`/`rules.mk`. This should make maintaining keyboards easier, and will enable tooling that can allow non-technical users to add and maintain QMK keyboards without writing any code.
32
33To ease migration a new command has been provided, `qmk generate-info-json -kb <keyboard>`. You can use this command to generate a complete `info.json` file for a keyboard and then remove the duplicate information from `config.h` and `rules.mk`.
34
35Detailed example showing how to generate a new info.json and identify duplicate keys:
36
37```
38user@hostname:~/qmk_firmware/keyboards/lets_split:0$ qmk generate-info-json > new-info.json
39user@hostname:~/qmk_firmware/keyboards/lets_split:0$ mv new-info.json info.json
40user@hostname:~/qmk_firmware/keyboards/lets_split:0$ qmk info
41⚠ lets_split/rev2: DEBOUNCE in config.h is overwriting debounce in info.json
42⚠ lets_split/rev2: DEVICE_VER in config.h is overwriting usb.device_ver in info.json
43⚠ lets_split/rev2: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json
44⚠ lets_split/rev2: MANUFACTURER in config.h is overwriting manufacturer in info.json
45⚠ lets_split/rev2: RGB_DI_PIN in config.h is overwriting rgblight.pin in info.json
46⚠ lets_split/rev2: RGBLED_NUM in config.h is overwriting rgblight.led_count in info.json
47⚠ lets_split/rev2: PRODUCT_ID in config.h is overwriting usb.pid in info.json
48⚠ lets_split/rev2: VENDOR_ID in config.h is overwriting usb.vid in info.json
49⚠ lets_split/rev2: Matrix pins are specified in both info.json and config.h, the config.h values win.
50⚠ lets_split/rev2: LAYOUTS in rules.mk is overwriting community_layouts in info.json
51⚠ lets_split/rev2: Feature bootmagic is specified in both info.json and rules.mk, the rules.mk value wins.
52⚠ lets_split/rev2: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins.
53⚠ lets_split/rev2: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins.
54⚠ lets_split/rev2: Feature console is specified in both info.json and rules.mk, the rules.mk value wins.
55⚠ lets_split/rev2: Feature command is specified in both info.json and rules.mk, the rules.mk value wins.
56⚠ lets_split/rev2: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins.
57⚠ lets_split/rev2: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins.
58⚠ lets_split/rev2: Feature midi is specified in both info.json and rules.mk, the rules.mk value wins.
59⚠ lets_split/rev2: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins.
60⚠ lets_split/rev2: Feature unicode is specified in both info.json and rules.mk, the rules.mk value wins.
61⚠ lets_split/rev2: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins.
62⚠ lets_split/rev2: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins.
63⚠ lets_split/rev2: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins.
64Keyboard Name: Let's Split
65Manufacturer: Wootpatoot
66Website:
67Maintainer: QMK Community
68Keyboard Folder: lets_split/rev2
69Layouts: LAYOUT, LAYOUT_ortho_4x12
70Size: 13 x 4
71Processor: atmega32u4
72Bootloader: caterina
73```
74
75## Detailed Change List
76
77### Changes Requiring User Action
78
79* Refactor Jacky's boards (Bear65 and S7 Elephant) ([#10528](https://github.com/qmk/qmk_firmware/pull/10528), [#11981](https://github.com/qmk/qmk_firmware/pull/11981))
80* Remove handwired/bluepill ([#11415](https://github.com/qmk/qmk_firmware/pull/11415))
81* Aplyard Aplx6 Added rev2 & move rev1+rev2 to parent folder ([#10973](https://github.com/qmk/qmk_firmware/pull/10973))
82* added `unix60`, moved together with `southpaw75` into `fr4` folder ([#11195](https://github.com/qmk/qmk_firmware/pull/11195))
83
84### Fixes
85
86* GCC 10 can now compile Drop Alt firmware ([#9485](https://github.com/qmk/qmk_firmware/pull/9485))
87* Fix compiling on `develop` branch ([#11409](https://github.com/qmk/qmk_firmware/pull/11409))
88* Fix broken keyboards and keymaps ([#11412](https://github.com/qmk/qmk_firmware/pull/11412), [#11427](https://github.com/qmk/qmk_firmware/pull/11427), [#11448](https://github.com/qmk/qmk_firmware/pull/11448), [#11447](https://github.com/qmk/qmk_firmware/pull/11447), [#11473](https://github.com/qmk/qmk_firmware/pull/11473), [#11584](https://github.com/qmk/qmk_firmware/pull/11584), [#11600](https://github.com/qmk/qmk_firmware/pull/11600))
89* Fixed up build dependencies so that generated files are made available before compiling any object files ([#11435](https://github.com/qmk/qmk_firmware/pull/11435))
90* Formatting fixes ([`378edd9`](https://github.com/qmk/qmk_firmware/commit/378edd9491f2ab0d3d8a970c9a8e64bc03ca15cf), [#11594](https://github.com/qmk/qmk_firmware/pull/11594), [`27749e1`](https://github.com/qmk/qmk_firmware/commit/27749e1c967c02c05e62a89a0ae2776dd7e5158c))
91* Include `stdbool.h` in `uart.h` to fix compiler errors ([#11728](https://github.com/qmk/qmk_firmware/pull/11728))
92* Decouple USB events from the USB interrupt handler in ChibiOS ([#10437](https://github.com/qmk/qmk_firmware/pull/10437))
93 * Fixes an issue while using Backlight and External EEPROM at the same time that would cause the MCU to lock up.
94* Address wake from sleep instability ([#11450](https://github.com/qmk/qmk_firmware/pull/11450))
95* Fix pressing media key on a momentarily activated layer may lead to missing key up events ([#11162](https://github.com/qmk/qmk_firmware/pull/11162))
96* Fix an RGB initialisation bug on Massdrop keyboards ([#12022](https://github.com/qmk/qmk_firmware/pull/12022))
97* Fix file encoding errors on Windows, and layouts not correctly merging into info.json ([#12039](https://github.com/qmk/qmk_firmware/pull/12039))
98
99### Additions and Enhancements
100
101* Allow configuration of serial USART timeout ([#11057](https://github.com/qmk/qmk_firmware/pull/11057))
102* Added Sync Timer feature for Split Common keyboards ([#10997](https://github.com/qmk/qmk_firmware/pull/10997))
103* Add modifier state to the Split Common transport ([#10400](https://github.com/qmk/qmk_firmware/pull/10400))
104* Add Pix keyboard by sendz (`sendyyeah/pix`) ([#11154](https://github.com/qmk/qmk_firmware/pull/11154))
105* Implement option for kinetic mouse movement algorithm for mouse keys ([#6739](https://github.com/qmk/qmk_firmware/pull/6739))
106* Improved Language Specific Keycodes for US International and Extended Layouts ([#11307](https://github.com/qmk/qmk_firmware/pull/11307))
107* Modified `QWIIC_ENABLE` in `rules.mk` to be yes/no choice, adding `QWIIC_DRIVERS` to allow for inclusion of specific drivers ([#11426](https://github.com/qmk/qmk_firmware/pull/11426))
108* Allow AVR-based keyboards to override the `bootloader_jump` function ([#11418](https://github.com/qmk/qmk_firmware/pull/11418))
109* Refine RGBLight Twinkle effect to be smoother (use breathing curve) ([#11350](https://github.com/qmk/qmk_firmware/pull/11350))
110* Keep track of last matrix activity ([#10730](https://github.com/qmk/qmk_firmware/pull/10730), [`ab375d3`](https://github.com/qmk/qmk_firmware/commit/ab375d3d075c105f09a1ddd0e155f178225518bc), [#11552](https://github.com/qmk/qmk_firmware/pull/11552))
111* fix `matrix_io_delay()` timing in `quantum/matrix.c` ([#9603](https://github.com/qmk/qmk_firmware/pull/9603))
112* Keep track of encoder activity ([#11595](https://github.com/qmk/qmk_firmware/pull/11595))
113* Backport ChibiOS Audio changes from ZSA ([#11687](https://github.com/qmk/qmk_firmware/pull/11687))
114* Add support for 8 buttons to mouse report ([#10807](https://github.com/qmk/qmk_firmware/pull/10807))
115* Allow `post_config.h` to be implemented in userspace ([#11519](https://github.com/qmk/qmk_firmware/pull/11519))
116* Adds AT90USB162 support ([#11570](https://github.com/qmk/qmk_firmware/pull/11570))
117* Stop sounds when suspended ([#11553](https://github.com/qmk/qmk_firmware/pull/11553))
118* Revamp spidey3 userspace and keymaps ([#11768](https://github.com/qmk/qmk_firmware/pull/11768))
119* Add support for analog USBPD on STM32G4xx ([#11824](https://github.com/qmk/qmk_firmware/pull/11824))
120* Master matrix can now be transported to the slave side in Split Common keyboards ([#11046](https://github.com/qmk/qmk_firmware/pull/11046))
121* RGBLight: Allow configurable default settings ([#11912](https://github.com/qmk/qmk_firmware/pull/11912))
122* Add `tap_code_delay(code, delay)` ([#11913](https://github.com/qmk/qmk_firmware/pull/11913), [#11938](https://github.com/qmk/qmk_firmware/pull/11938))
123
124### Clean-ups and Optimizations
125
126* Fix duplicate `I2C_KEYMAP_START` define ([#11237](https://github.com/qmk/qmk_firmware/pull/11237))
127* Rewrite APA102 support for RGBLight ([#10894](https://github.com/qmk/qmk_firmware/pull/10894))
128* Update ADB Protocol implementation in TMK Core ([#11168](https://github.com/qmk/qmk_firmware/pull/11168))
129* Remove unused `action_get_macro()` usages in user files ([#11165](https://github.com/qmk/qmk_firmware/pull/11165))
130* Remove `QMK_KEYBOARD_CONFIG_H` ([#11576](https://github.com/qmk/qmk_firmware/pull/11576))
131* Remove duplicated housekeeping in `arm_atsam` ([#11672](https://github.com/qmk/qmk_firmware/pull/11672))
132* UART driver refactor ([#11637](https://github.com/qmk/qmk_firmware/pull/11637))
133* Move `transport.c` to `QUANTUM_LIB_SRC` ([#11751](https://github.com/qmk/qmk_firmware/pull/11751))
134* Remove `MIDI_ENABLE_STRICT` from user keymaps ([#11750](https://github.com/qmk/qmk_firmware/pull/11750))
135* Remove legacy print backward compatiblitly ([#11805](https://github.com/qmk/qmk_firmware/pull/11805))
136* Migrate mousekey to quantum ([#11804](https://github.com/qmk/qmk_firmware/pull/11804))
137* remove deprecated `qmk json-keymap` ([#11823](https://github.com/qmk/qmk_firmware/pull/11823))
138* Remove FAUXCLICKY feature (deprecated) ([#11829](https://github.com/qmk/qmk_firmware/pull/11829))
139* Refactor platform logic within `print.h` ([#11863](https://github.com/qmk/qmk_firmware/pull/11863))
140* Audio system overhaul ([#11820](https://github.com/qmk/qmk_firmware/pull/11820))
141* Output selection: Remove "USB and BT" option for Bluetooth ([#11940](https://github.com/qmk/qmk_firmware/pull/11940))
142* `tmk_core/common/action.c`: refactor for code size; merge multiple `case`s into one ([#11943](https://github.com/qmk/qmk_firmware/pull/11943))
143* Remove rules and settings from user keymaps that are already defined at keyboard level ([#11966](https://github.com/qmk/qmk_firmware/pull/11966))
144
145### QMK Infrastructure and Internals
146
147* bump to python 3.7 ([#11408](https://github.com/qmk/qmk_firmware/pull/11408))
148* `develop` branch is now formatted as part of CI tasks ([#11893](https://github.com/qmk/qmk_firmware/pull/11893), [#11905](https://github.com/qmk/qmk_firmware/pull/11905), [#11907](https://github.com/qmk/qmk_firmware/pull/11907), [#11928](https://github.com/qmk/qmk_firmware/pull/11928), [#11936](https://github.com/qmk/qmk_firmware/pull/11936))
149* Configure keyboard matrix from info.json ([#10817](https://github.com/qmk/qmk_firmware/pull/10817))
150* Validate our JSON data using json_schema ([#11101](https://github.com/qmk/qmk_firmware/pull/11101))
151* Use the schema to eliminate custom code ([#11108](https://github.com/qmk/qmk_firmware/pull/11108))
152* Add support for specifying BOARD in `info.json` ([#11492](https://github.com/qmk/qmk_firmware/pull/11492))
153* Document how to add data driven configurations ([#11502](https://github.com/qmk/qmk_firmware/pull/11502))
154* Process info.json rules ahead of userspace rules ([#11542](https://github.com/qmk/qmk_firmware/pull/11542))
155* Remove duplicate manufacturer definitions ([#11544](https://github.com/qmk/qmk_firmware/pull/11544))
156* Update list of MCUs in `keyboard.jsonschema` to mirror `qmk.constants.py` ([#11688](https://github.com/qmk/qmk_firmware/pull/11688))
157* Create a system to map between `info.json` and `config.h`/`rules.mk` ([#11548](https://github.com/qmk/qmk_firmware/pull/11548))
158* Make LAYOUT parsing more robust ([#12000](https://github.com/qmk/qmk_firmware/pull/12000))
159
160
161### ChibiOS Update and Config Migration
162
163* Add board specific to Proton-C, with usual defaults turned on to match Pro-Micro ([#10976](https://github.com/qmk/qmk_firmware/pull/10976))
164* Disable almost all ChibiOS subsystems in default configs ([#11111](https://github.com/qmk/qmk_firmware/pull/11111))
165* Config Migrations ([#10418](https://github.com/qmk/qmk_firmware/pull/10418), [#11123](https://github.com/qmk/qmk_firmware/pull/11123), [#11261](https://github.com/qmk/qmk_firmware/pull/11261), [#11413](https://github.com/qmk/qmk_firmware/pull/11413), [#11414](https://github.com/qmk/qmk_firmware/pull/11414), [#11495](https://github.com/qmk/qmk_firmware/pull/11495), [#11504](https://github.com/qmk/qmk_firmware/pull/11504), [#11529](https://github.com/qmk/qmk_firmware/pull/11529), [#11588](https://github.com/qmk/qmk_firmware/pull/11588), [#11598](https://github.com/qmk/qmk_firmware/pull/11598), [#11607](https://github.com/qmk/qmk_firmware/pull/11607), [#11617](https://github.com/qmk/qmk_firmware/pull/11617), [#11620](https://github.com/qmk/qmk_firmware/pull/11620), [#11630](https://github.com/qmk/qmk_firmware/pull/11630), [#11646](https://github.com/qmk/qmk_firmware/pull/11646), [#11689](https://github.com/qmk/qmk_firmware/pull/11689), [#11846](https://github.com/qmk/qmk_firmware/pull/11846), [#11927](https://github.com/qmk/qmk_firmware/pull/11927), [#12001](https://github.com/qmk/qmk_firmware/pull/12001))
166* Disable subsystems repo-wide ([#11449](https://github.com/qmk/qmk_firmware/pull/11449))
167* Leftover early initialisation conversions ([#11615](https://github.com/qmk/qmk_firmware/pull/11615))
168* Fix up comments showing how to execute config migration ([#11621](https://github.com/qmk/qmk_firmware/pull/11621))
169* Add STM32G431 and STM32G474 board definitions ([#11793](https://github.com/qmk/qmk_firmware/pull/11793))
diff --git a/docs/_summary.md b/docs/_summary.md
index acbfcfaed..83799acdb 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -119,12 +119,8 @@
119 * Breaking Changes 119 * Breaking Changes
120 * [Overview](breaking_changes.md) 120 * [Overview](breaking_changes.md)
121 * [My Pull Request Was Flagged](breaking_changes_instructions.md) 121 * [My Pull Request Was Flagged](breaking_changes_instructions.md)
122 * History 122 * [Most Recent ChangeLog](ChangeLog/20210227.md "QMK v0.12.0 - 2021 Feb 27")
123 * [2020 Nov 28](ChangeLog/20201128.md) 123 * [Past Breaking Changes](breaking_changes_history.md)
124 * [2020 Aug 29](ChangeLog/20200829.md)
125 * [2020 May 30](ChangeLog/20200530.md)
126 * [2020 Feb 29](ChangeLog/20200229.md)
127 * [2019 Aug 30](ChangeLog/20190830.md)
128 124
129 * C Development 125 * C Development
130 * [ARM Debugging Guide](arm_debugging.md) 126 * [ARM Debugging Guide](arm_debugging.md)
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md
index 3ee14f2bf..de9148ad6 100644
--- a/docs/breaking_changes.md
+++ b/docs/breaking_changes.md
@@ -6,6 +6,7 @@ The breaking change period is when we will merge PR's that change QMK in dangero
6 6
7## What has been included in past Breaking Changes? 7## What has been included in past Breaking Changes?
8 8
9* [2021 Feb 27](ChangeLog/20210227.md)
9* [2020 Nov 28](ChangeLog/20201128.md) 10* [2020 Nov 28](ChangeLog/20201128.md)
10* [2020 Aug 29](ChangeLog/20200829.md) 11* [2020 Aug 29](ChangeLog/20200829.md)
11* [2020 May 30](ChangeLog/20200530.md) 12* [2020 May 30](ChangeLog/20200530.md)
@@ -18,12 +19,12 @@ The next Breaking Change is scheduled for February 27, 2021.
18 19
19### Important Dates 20### Important Dates
20 21
21* [x] 2020 Nov 28 - `develop` is created. Each push to `master` is subsequently merged to `develop` 22* [x] 2021 Feb 27 - `develop` is created. Each push to `master` is subsequently merged to `develop`
22* [ ] 2021 Jan 30 - `develop` closed to new PR's. 23* [ ] 2021 May 01 - `develop` closed to new PR's.
23* [ ] 2021 Jan 30 - Call for testers. 24* [ ] 2021 May 01 - Call for testers.
24* [ ] 2021 Feb 25 - `master` is locked, no PR's merged. 25* [ ] 2021 May 27 - `master` is locked, no PR's merged.
25* [ ] 2021 Feb 27 - Merge `develop` to `master`. 26* [ ] 2021 May 29 - Merge `develop` to `master`.
26* [ ] 2021 Feb 27 - `master` is unlocked. PR's can be merged again. 27* [ ] 2021 May 29 - `master` is unlocked. PR's can be merged again.
27 28
28## What changes will be included? 29## What changes will be included?
29 30
diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md
new file mode 100644
index 000000000..dd474f1bb
--- /dev/null
+++ b/docs/breaking_changes_history.md
@@ -0,0 +1,10 @@
1# Past Breaking Changes
2
3This page links to all previous changelogs from the QMK Breaking Changes process.
4
5* [2021 Feb 27](ChangeLog/20210227.md) - version 0.12.0
6* [2020 Nov 28](ChangeLog/20201128.md) - version 0.11.0
7* [2020 Aug 29](ChangeLog/20200829.md) - version 0.10.0
8* [2020 May 30](ChangeLog/20200530.md) - version 0.9.0
9* [2020 Feb 29](ChangeLog/20200229.md) - version 0.8.0
10* [2019 Aug 30](ChangeLog/20190830.md) - version 0.7.0
diff --git a/readme.md b/readme.md
index 6321681a9..6092f209b 100644
--- a/readme.md
+++ b/readme.md
@@ -7,12 +7,6 @@
7[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) 7[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
8[![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/) 8[![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
9 9
10# THIS IS THE DEVELOP BRANCH
11
12Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information.
13
14# Original readme continues
15
16This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co). 10This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co).
17 11
18## Documentation 12## Documentation