diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index bb0acba3bb..e7ede48395 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -318,6 +318,19 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH` |Disables `RGB_MATRIX_SOLID_SPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Disables `RGB_MATRIX_SOLID_MULTISPLASH` |
+### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap
+
+This effect will color the RGB matrix according to a heatmap of recently pressed
+keys. Whenever a key is pressed its "temperature" increases as well as that of
+its neighboring keys. The temperature of each key is then decreased
+automatically every 25 milliseconds by default.
+
+In order to change the delay of temperature decrease define
+`RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS`:
+
+```c
+#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
+```
## Custom RGB Matrix Effects :id=custom-rgb-matrix-effects
diff --git a/keyboards/baguette/config.h b/keyboards/baguette/config.h
index 6e3b00ac36..49d4b6e9ff 100644
--- a/keyboards/baguette/config.h
+++ b/keyboards/baguette/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Yiancar
#define PRODUCT Baguette
-#define DESCRIPTION A French Custom
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/bakeneko80/config.h b/keyboards/bakeneko80/config.h
index 39d388a41b..10fbac0b81 100644
--- a/keyboards/bakeneko80/config.h
+++ b/keyboards/bakeneko80/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Koichi Katano
#define PRODUCT Bakeneko 80
-#define DESCRIPTION Open source tenkeyless keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/bantam44/config.h b/keyboards/bantam44/config.h
index 5b1885d83c..b468b28ccb 100644
--- a/keyboards/bantam44/config.h
+++ b/keyboards/bantam44/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Bantam Keyboards
#define PRODUCT Bantam44
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/basekeys/slice/rev1/config.h b/keyboards/basekeys/slice/rev1/config.h
index ea4d5d3dc3..08c929b7b5 100644
--- a/keyboards/basekeys/slice/rev1/config.h
+++ b/keyboards/basekeys/slice/rev1/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER 2Moons
#define PRODUCT Slice
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h
index 08afff765a..9f503a5826 100644
--- a/keyboards/basekeys/slice/rev1_rgb/config.h
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -22,7 +22,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER 2Moons
#define PRODUCT Slice RGB
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/bat43/config.h b/keyboards/bat43/config.h
index aa8dc493e2..e24c6d0693 100644
--- a/keyboards/bat43/config.h
+++ b/keyboards/bat43/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER yfuku
#define PRODUCT bat43
-#define DESCRIPTION 43key keyboard
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/bigseries/1key/config.h b/keyboards/bigseries/1key/config.h
index 66a0124721..f26b242128 100755
--- a/keyboards/bigseries/1key/config.h
+++ b/keyboards/bigseries/1key/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER WoodKeys.click
#define PRODUCT BigSeries Single Keyboard
-#define DESCRIPTION Single key board for Novelkeys Big Series Switch
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/bigseries/2key/config.h b/keyboards/bigseries/2key/config.h
index 535be27e76..4f75e28470 100755
--- a/keyboards/bigseries/2key/config.h
+++ b/keyboards/bigseries/2key/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER WoodKeys.click
#define PRODUCT BigSeries Single Keyboard
-#define DESCRIPTION Single key board for Novelkeys Big Series Switch
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/bigseries/3key/config.h b/keyboards/bigseries/3key/config.h
index faf1667255..a4a3694542 100755
--- a/keyboards/bigseries/3key/config.h
+++ b/keyboards/bigseries/3key/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER WoodKeys.click
#define PRODUCT BigSeries Triple Keyboard
-#define DESCRIPTION Triple key board for Novelkeys Big Series Switch
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/bigseries/4key/config.h b/keyboards/bigseries/4key/config.h
index 79fdeb6edc..3e96535799 100755
--- a/keyboards/bigseries/4key/config.h
+++ b/keyboards/bigseries/4key/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER WoodKeys.click
#define PRODUCT BigSeries Quad Keyboard
-#define DESCRIPTION 4-key board for Novelkeys Big Series Switch
/* key matrix size */
#define MATRIX_ROWS 2
diff --git a/keyboards/bioi/g60ble/config.h b/keyboards/bioi/g60ble/config.h
index e7515ec894..4aa806eb41 100644
--- a/keyboards/bioi/g60ble/config.h
+++ b/keyboards/bioi/g60ble/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Basic IO Instruments
#define PRODUCT BIOI G60 BLE
-#define DESCRIPTION BIOI G60 BLE
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/blackplum/config.h b/keyboards/blackplum/config.h
index e74aba6234..dc92f416f3 100644
--- a/keyboards/blackplum/config.h
+++ b/keyboards/blackplum/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x1001
#define MANUFACTURER Pixlup
#define PRODUCT Blackplum Keeb
-#define DESCRIPTION Blackplum 68 Percent Mechanical Keyboard
/* key matrix size */
#define MATRIX_ROWS 9
diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h
index 8934fd63a5..5b2090d3e1 100644
--- a/keyboards/blockey/config.h
+++ b/keyboards/blockey/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Eucalyn
#define PRODUCT Blockey
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/bm16a/config.h b/keyboards/bm16a/config.h
index 9d0812af29..37eeb25b46 100644
--- a/keyboards/bm16a/config.h
+++ b/keyboards/bm16a/config.h
@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER KPrepublic
#define PRODUCT bm16a
-#define DESCRIPTION KPrepublic bm16a
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/bm16s/config.h b/keyboards/bm16s/config.h
index 83f5bbbe89..4ee57f3510 100755
--- a/keyboards/bm16s/config.h
+++ b/keyboards/bm16s/config.h
@@ -7,7 +7,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER KPrepublic
#define PRODUCT bm16s
-#define DESCRIPTION KPrepublic bm16s
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/bm43a/config.h b/keyboards/bm43a/config.h
index 538b2eadde..2ab84781b4 100644
--- a/keyboards/bm43a/config.h
+++ b/keyboards/bm43a/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER KPRepublic
#define PRODUCT BM43A
-#define DESCRIPTION A QMK-powered custom keyboard
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/bm60rgb/config.h b/keyboards/bm60rgb/config.h
index 816f356e8b..3eee00e51e 100644
--- a/keyboards/bm60rgb/config.h
+++ b/keyboards/bm60rgb/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER KP Republic
#define PRODUCT BM60 RGB
-#define DESCRIPTION A 60% hotswap inswitch rgb board
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h
index 93ce004efb..6f00004cb2 100644
--- a/keyboards/boardsource/3x4/config.h
+++ b/keyboards/boardsource/3x4/config.h
@@ -10,7 +10,6 @@
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 3x4
-#define DESCRIPTION Little macro pad
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/boardsource/4x12/config.h b/keyboards/boardsource/4x12/config.h
index b1314ca7f2..91aafd9b7a 100644
--- a/keyboards/boardsource/4x12/config.h
+++ b/keyboards/boardsource/4x12/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 4x12
-#define DESCRIPTION 40 percent ortho keyboard
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/boardsource/5x12/config.h b/keyboards/boardsource/5x12/config.h
index 05a8ce2b06..edb522f373 100644
--- a/keyboards/boardsource/5x12/config.h
+++ b/keyboards/boardsource/5x12/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 5x12
-#define DESCRIPTION 50 percent ortho keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/boardwalk/config.h b/keyboards/boardwalk/config.h
index e53b76afd3..b98b709738 100644
--- a/keyboards/boardwalk/config.h
+++ b/keyboards/boardwalk/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER shensmobile
#define PRODUCT Boardwalk
-#define DESCRIPTION QMK keyboard firmware for Boardwalk
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/boston_meetup/config.h b/keyboards/boston_meetup/config.h
index b025e18df5..013b0b1484 100644
--- a/keyboards/boston_meetup/config.h
+++ b/keyboards/boston_meetup/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define PRODUCT_ID 0x26BE
#define MANUFACTURER ishtob
#define PRODUCT Boston Meetup Board
-#define DESCRIPTION A limited-run community meetup board
//#define AUDIO_VOICES
diff --git a/keyboards/botanicalkeyboards/fm2u/config.h b/keyboards/botanicalkeyboards/fm2u/config.h
index 944b7b3b2a..87f865b63a 100644
--- a/keyboards/botanicalkeyboards/fm2u/config.h
+++ b/keyboards/botanicalkeyboards/fm2u/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER botanicalkeyboards
#define PRODUCT fm2u
-#define DESCRIPTION A 1 key macropad
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index 79bc31aec6..344db5f0d9 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Bathroom Epiphanies
#define PRODUCT frosty_flake
-#define DESCRIPTION Frosty Flake controller for the CM Storm Quick Fire Rapid
/*
* Frosty Flake Rev. 20140521 made by Bathroom Ephiphanies
diff --git a/keyboards/bpiphany/pegasushoof/2013/config.h b/keyboards/bpiphany/pegasushoof/2013/config.h
index d2f81fedc3..2573cecfca 100644
--- a/keyboards/bpiphany/pegasushoof/2013/config.h
+++ b/keyboards/bpiphany/pegasushoof/2013/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0104
#define MANUFACTURER Filco
#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2013
-#define DESCRIPTION QMK firmware for Majestouch TKL
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/bpiphany/pegasushoof/2015/config.h b/keyboards/bpiphany/pegasushoof/2015/config.h
index 6edfa59930..479175c477 100644
--- a/keyboards/bpiphany/pegasushoof/2015/config.h
+++ b/keyboards/bpiphany/pegasushoof/2015/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0104
#define MANUFACTURER Filco
#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2015
-#define DESCRIPTION QMK firmware for Majestouch TKL
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/bpiphany/sixshooter/config.h b/keyboards/bpiphany/sixshooter/config.h
index c3ce8c8845..0637e8d6bc 100644
--- a/keyboards/bpiphany/sixshooter/config.h
+++ b/keyboards/bpiphany/sixshooter/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER bpiphany
#define PRODUCT sixshooter
-#define DESCRIPTION A PCB for the CM Storm switch tester utilizing a Teensy 2.0.
/* key matrix size */
#define MATRIX_ROWS 2
diff --git a/keyboards/bpiphany/tiger_lily/config.h b/keyboards/bpiphany/tiger_lily/config.h
index d7eb429419..cc619a5b8e 100644
--- a/keyboards/bpiphany/tiger_lily/config.h
+++ b/keyboards/bpiphany/tiger_lily/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Bathroom Epiphanies
#define PRODUCT tiger_lily
-#define DESCRIPTION Tiger Lily controller for the Filco Majestouch 2
/*
* Frosty Flake Rev. 20140521 made by Bathroom Ephiphanies
diff --git a/keyboards/bpiphany/unloved_bastard/config.h b/keyboards/bpiphany/unloved_bastard/config.h
index e67ca658fe..f1dc87d72a 100644
--- a/keyboards/bpiphany/unloved_bastard/config.h
+++ b/keyboards/bpiphany/unloved_bastard/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER BathroomEpiphanies
#define PRODUCT Unloved Bastard
-#define DESCRIPTION Unloved Bastard controller for CM Masterkeys S
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/bthlabs/geekpad/config.h b/keyboards/bthlabs/geekpad/config.h
index 0d33bb89a3..19620ffbbc 100644
--- a/keyboards/bthlabs/geekpad/config.h
+++ b/keyboards/bthlabs/geekpad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER BTHLabs
#define PRODUCT GeekPad
-#define DESCRIPTION 3x3 custom macro pad
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/business_card/alpha/config.h b/keyboards/business_card/alpha/config.h
index fbb4054ecd..13f49c3724 100644
--- a/keyboards/business_card/alpha/config.h
+++ b/keyboards/business_card/alpha/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER kakunpc
#define PRODUCT business_card
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 2
diff --git a/keyboards/business_card/beta/config.h b/keyboards/business_card/beta/config.h
index b9e0120f31..4532f8431a 100644
--- a/keyboards/business_card/beta/config.h
+++ b/keyboards/business_card/beta/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER kakunpc
#define PRODUCT business_card
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/butterstick/config.h b/keyboards/butterstick/config.h
index 90875d2eed..69632cd4f7 100644
--- a/keyboards/butterstick/config.h
+++ b/keyboards/butterstick/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER g Heavy Industries
#define PRODUCT Butter Stick
-#define DESCRIPTION Its a stick of butter
#define VERSION "Paula Deen"
#define DEBOUNCE 5
diff --git a/keyboards/c39/config.h b/keyboards/c39/config.h
index 3adc796701..fb7172c57e 100755
--- a/keyboards/c39/config.h
+++ b/keyboards/c39/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Maple Computing
#define PRODUCT C39
-#define DESCRIPTION A compact 39 key keyboard
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h
index 0eb1d730f6..922ea37b2b 100644
--- a/keyboards/cannonkeys/an_c/config.h
+++ b/keyboards/cannonkeys/an_c/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT AN-C
-#define DESCRIPTION AN-C Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/atlas/config.h b/keyboards/cannonkeys/atlas/config.h
index 4dfd445c87..72ee927e2f 100644
--- a/keyboards/cannonkeys/atlas/config.h
+++ b/keyboards/cannonkeys/atlas/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Atlas
-#define DESCRIPTION Atlas Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/chimera65/config.h b/keyboards/cannonkeys/chimera65/config.h
index d4338fb0a0..f7108264af 100644
--- a/keyboards/cannonkeys/chimera65/config.h
+++ b/keyboards/cannonkeys/chimera65/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Chimera65
-#define DESCRIPTION Chimera65 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h
index 54995c6b2d..449aa14575 100644
--- a/keyboards/cannonkeys/db60/config.h
+++ b/keyboards/cannonkeys/db60/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define MANUFACTURER CannonKeys
#define PRODUCT DB60
-#define DESCRIPTION DB60 Keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/devastatingtkl/config.h b/keyboards/cannonkeys/devastatingtkl/config.h
index 8f589bf122..15c0d4e356 100644
--- a/keyboards/cannonkeys/devastatingtkl/config.h
+++ b/keyboards/cannonkeys/devastatingtkl/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT DevastatingTKL
-#define DESCRIPTION Devastating Keyboard
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h
index 73b2ad533b..bd0ae31602 100644
--- a/keyboards/cannonkeys/instant60/config.h
+++ b/keyboards/cannonkeys/instant60/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Instant60
-#define DESCRIPTION Instant 60 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/iron165/config.h b/keyboards/cannonkeys/iron165/config.h
index a928839192..899e73bb9e 100644
--- a/keyboards/cannonkeys/iron165/config.h
+++ b/keyboards/cannonkeys/iron165/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER SmithAndRune
#define PRODUCT Iron165
-#define DESCRIPTION Iron165 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h
index bff3030b51..b2edfecd3d 100644
--- a/keyboards/cannonkeys/obliterated75/config.h
+++ b/keyboards/cannonkeys/obliterated75/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Obliterated75
-#define DESCRIPTION Obliterated75 Keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/cannonkeys/ortho48/config.h b/keyboards/cannonkeys/ortho48/config.h
index 634d2f6cfe..35471484ca 100644
--- a/keyboards/cannonkeys/ortho48/config.h
+++ b/keyboards/cannonkeys/ortho48/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT Ortho48
-#define DESCRIPTION Ortho48
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/cannonkeys/ortho60/config.h b/keyboards/cannonkeys/ortho60/config.h
index d21764c7f5..36d92de76c 100644
--- a/keyboards/cannonkeys/ortho60/config.h
+++ b/keyboards/cannonkeys/ortho60/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT Ortho60
-#define DESCRIPTION Ortho60
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/ortho75/config.h b/keyboards/cannonkeys/ortho75/config.h
index 8c1882e65d..e05bfba75a 100644
--- a/keyboards/cannonkeys/ortho75/config.h
+++ b/keyboards/cannonkeys/ortho75/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Ortho75
-#define DESCRIPTION Ortho75
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/practice60/config.h b/keyboards/cannonkeys/practice60/config.h
index 1e8e5ec7c8..d89671f557 100644
--- a/keyboards/cannonkeys/practice60/config.h
+++ b/keyboards/cannonkeys/practice60/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Practice 60
-#define DESCRIPTION Practice 60
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/practice65/config.h b/keyboards/cannonkeys/practice65/config.h
index d08d92e4cd..69a2f859f1 100644
--- a/keyboards/cannonkeys/practice65/config.h
+++ b/keyboards/cannonkeys/practice65/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Practice 65
-#define DESCRIPTION Practice 65
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/rekt1800/config.h b/keyboards/cannonkeys/rekt1800/config.h
index 1fc60bef97..e6f7de2e86 100644
--- a/keyboards/cannonkeys/rekt1800/config.h
+++ b/keyboards/cannonkeys/rekt1800/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Rekt1800
-#define DESCRIPTION Rekt1800 Keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 6a3598f8ec..dfb624a0d7 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Satisfaction75
-#define DESCRIPTION Satisfaction 75 Keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h
index 79931cdde8..07672643ed 100644
--- a/keyboards/cannonkeys/savage65/config.h
+++ b/keyboards/cannonkeys/savage65/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT Savage65
-#define DESCRIPTION Savage65 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h
index c3c07bea1a..5f44584e0d 100644
--- a/keyboards/cannonkeys/tmov2/config.h
+++ b/keyboards/cannonkeys/tmov2/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CannonKeys
#define PRODUCT TMOv2
-#define DESCRIPTION TMOv2 Keyboard
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/catch22/config.h b/keyboards/catch22/config.h
index 05c336a3ff..5a3154dc46 100644
--- a/keyboards/catch22/config.h
+++ b/keyboards/catch22/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER rockydbull
#define PRODUCT Catch22 Hotswap Macropad
-#define DESCRIPTION Budget 22 Key Hotswap Macropad
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/centromere/config.h b/keyboards/centromere/config.h
index c051843c50..0a908f60f9 100644
--- a/keyboards/centromere/config.h
+++ b/keyboards/centromere/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Southpaw Design
#define PRODUCT centromere
-#define DESCRIPTION Q.M.K. keyboard firmware for Centromere
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cheshire/curiosity/config.h b/keyboards/cheshire/curiosity/config.h
index 7dca470c51..7b9e618463 100644
--- a/keyboards/cheshire/curiosity/config.h
+++ b/keyboards/cheshire/curiosity/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Nightingale Studios/Cheshire Designs
#define PRODUCT Curiosity
-#define DESCRIPTION Curiosity
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/chidori/config.h b/keyboards/chidori/config.h
index a0693e7f67..cbb14189af 100644
--- a/keyboards/chidori/config.h
+++ b/keyboards/chidori/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Kagizaraya
#define PRODUCT Chidori
-#define DESCRIPTION Yet another split keyboard made with only through - hole components
/* key matrix size */
#define MATRIX_ROWS 12
diff --git a/keyboards/chili/config.h b/keyboards/chili/config.h
index b12b97f009..9d6b3a9c34 100644
--- a/keyboards/chili/config.h
+++ b/keyboards/chili/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER YDKB
#define PRODUCT Chili
-#define DESCRIPTION QMK keyboard firmware for Chili, a G80-3000 replacement PCB
/* key matrix size */
#define MATRIX_ROWS 11
diff --git a/keyboards/chimera_ergo/config.h b/keyboards/chimera_ergo/config.h
index 4a47effdde..262f287a50 100644
--- a/keyboards/chimera_ergo/config.h
+++ b/keyboards/chimera_ergo/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER unknown
#define PRODUCT Chimera Ergo
-#define DESCRIPTION q.m.k. keyboard firmware for Chimera Ergo
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/chimera_ls/config.h b/keyboards/chimera_ls/config.h
index d7a21892a4..87e9196095 100644
--- a/keyboards/chimera_ls/config.h
+++ b/keyboards/chimera_ls/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER unknown
#define PRODUCT Chimera Lets Split
-#define DESCRIPTION q.m.k. keyboard firmware for Chimera Lets Split
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/chimera_ortho/config.h b/keyboards/chimera_ortho/config.h
index 1282008e2c..4ce70e68ba 100644
--- a/keyboards/chimera_ortho/config.h
+++ b/keyboards/chimera_ortho/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER unknown
#define PRODUCT Chimera Ortho
-#define DESCRIPTION q.m.k. keyboard firmware for Chimera Ortho
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/chimera_ortho_plus/config.h b/keyboards/chimera_ortho_plus/config.h
index d47c1a7640..e060e196aa 100644
--- a/keyboards/chimera_ortho_plus/config.h
+++ b/keyboards/chimera_ortho_plus/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER unknown
#define PRODUCT Chimera Ortho Plus
-#define DESCRIPTION q.m.k. keyboard firmware for Chimera Ortho Plus
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/choc_taro/config.h b/keyboards/choc_taro/config.h
index acd11bf3bd..9491ed39ca 100644
--- a/keyboards/choc_taro/config.h
+++ b/keyboards/choc_taro/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER kakunpc
#define PRODUCT choc_taro
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 16
diff --git a/keyboards/christmas_tree/config.h b/keyboards/christmas_tree/config.h
index 66fccebdb9..05e5bdb2b4 100644
--- a/keyboards/christmas_tree/config.h
+++ b/keyboards/christmas_tree/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define PRODUCT_ID 0x3070
#define MANUFACTURER Maple Computing
#define PRODUCT Christmas Tree
-#define DESCRIPTION A tiny 6 key macro pad, in the shape of a christmas tree
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/ckeys/handwire_101/config.h b/keyboards/ckeys/handwire_101/config.h
index 849f4f6077..4c676089d0 100755
--- a/keyboards/ckeys/handwire_101/config.h
+++ b/keyboards/ckeys/handwire_101/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER ckeys_handwire
#define PRODUCT ckeys_handwire
-#define DESCRIPTION 4x4 handwire workshop board
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/ckeys/nakey/config.h b/keyboards/ckeys/nakey/config.h
index add3a35221..bb069bd515 100644
--- a/keyboards/ckeys/nakey/config.h
+++ b/keyboards/ckeys/nakey/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER cKeys
#define PRODUCT naKey
-#define DESCRIPTION The cKeys through hole ten key pad
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/ckeys/obelus/config.h b/keyboards/ckeys/obelus/config.h
index 4d7afc4f52..eaf4811ba7 100644
--- a/keyboards/ckeys/obelus/config.h
+++ b/keyboards/ckeys/obelus/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER You
#define PRODUCT obelus
-#define DESCRIPTION 4x4 QMK test platform
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/ckeys/thedora/config.h b/keyboards/ckeys/thedora/config.h
index a3d30c3043..f70b237c87 100755
--- a/keyboards/ckeys/thedora/config.h
+++ b/keyboards/ckeys/thedora/config.h
@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER ckeys
#define PRODUCT thedora
-#define DESCRIPTION A board for keyboard exploration.
#define ENCODERS_PAD_A { B13 }
#define ENCODERS_PAD_B { B15 }
diff --git a/keyboards/ckeys/washington/config.h b/keyboards/ckeys/washington/config.h
index e39fe0a96c..0d145d1488 100644
--- a/keyboards/ckeys/washington/config.h
+++ b/keyboards/ckeys/washington/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER merlin04
#define PRODUCT Washington Macropad
-#define DESCRIPTION Washington State shaped macropad
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/claw44/rev1/config.h b/keyboards/claw44/rev1/config.h
index dc6e49dd9a..2af45a46b2 100644
--- a/keyboards/claw44/rev1/config.h
+++ b/keyboards/claw44/rev1/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER yfuku
#define PRODUCT claw44
-#define DESCRIPTION A split keyboard with 3x6 vertically staggered keys and 4 thumb keys
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/clawsome/bookerboard/config.h b/keyboards/clawsome/bookerboard/config.h
index 19646e7743..6619ef3972 100644
--- a/keyboards/clawsome/bookerboard/config.h
+++ b/keyboards/clawsome/bookerboard/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT Bookerboard
-#define DESCRIPTION A 12-key QMK-powered macropod
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/clawsome/coupe/config.h b/keyboards/clawsome/coupe/config.h
index 381f5cdc2b..8d88c95f05 100644
--- a/keyboards/clawsome/coupe/config.h
+++ b/keyboards/clawsome/coupe/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT The Coupe
-#define DESCRIPTION A 61-key/60% QMK-powered custom keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/clawsome/gamebuddy/config.h b/keyboards/clawsome/gamebuddy/config.h
index 822cc23aba..d5fad415f9 100644
--- a/keyboards/clawsome/gamebuddy/config.h
+++ b/keyboards/clawsome/gamebuddy/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT GameBuddy
-#define DESCRIPTION A 26-key QMK-powered macropad designed for gaming!
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
index 20d58d366e..f93132eb74 100644
--- a/keyboards/clawsome/sedan/config.h
+++ b/keyboards/clawsome/sedan/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT The Sedan
-#define DESCRIPTION A QMK-powered 68% custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/clawsome/sidekick/config.h b/keyboards/clawsome/sidekick/config.h
index 933dde81ed..dbf1f061e6 100644
--- a/keyboards/clawsome/sidekick/config.h
+++ b/keyboards/clawsome/sidekick/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT Sidekick
-#define DESCRIPTION A 27-key QMK-powered macropad
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/cocoa40/config.h b/keyboards/cocoa40/config.h
index 0dfa02aa67..50da34ffbd 100644
--- a/keyboards/cocoa40/config.h
+++ b/keyboards/cocoa40/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER recompile keys
#define PRODUCT cocoa40
-#define DESCRIPTION A 40% keyboard for programmers.
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/comet46/config.h b/keyboards/comet46/config.h
index c43f13a505..d50224eb60 100644
--- a/keyboards/comet46/config.h
+++ b/keyboards/comet46/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER SatT
#define PRODUCT Comet46
-#define DESCRIPTION qmk keyboard firmware for Comet46
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/contra/config.h b/keyboards/contra/config.h
index f4b84af5ae..8dc565546b 100755
--- a/keyboards/contra/config.h
+++ b/keyboards/contra/config.h
@@ -9,7 +9,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Cartel
#define PRODUCT Contra
-#define DESCRIPTION Keyboard
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/converter/adb_usb/config.h b/keyboards/converter/adb_usb/config.h
index a5845a0290..92ce05f3d2 100644
--- a/keyboards/converter/adb_usb/config.h
+++ b/keyboards/converter/adb_usb/config.h
@@ -24,7 +24,6 @@ Ported to QMK by Peter Roe
#define DEVICE_VER 0x0101
#define MANUFACTURER QMK
#define PRODUCT ADB keyboard converter
-#define DESCRIPTION Convert ADB keyboard to USB
/* matrix size */
#define MATRIX_ROWS 16 // keycode bit: 3-0
diff --git a/keyboards/converter/hp_46010a/config.h b/keyboards/converter/hp_46010a/config.h
index a1345c66dc..91350bcb4f 100644
--- a/keyboards/converter/hp_46010a/config.h
+++ b/keyboards/converter/hp_46010a/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT 46010A keyboard converter
-#define DESCRIPTION 46010A keyboard converter
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
diff --git a/keyboards/converter/ibm_5291/config.h b/keyboards/converter/ibm_5291/config.h
index f4c41d0706..adf66cc697 100644
--- a/keyboards/converter/ibm_5291/config.h
+++ b/keyboards/converter/ibm_5291/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT 5291 keyboard converter
-#define DESCRIPTION 5291 keyboard converter
#define MATRIX_ROWS 24
#define MATRIX_COLS 4
diff --git a/keyboards/converter/ibm_terminal/config.h b/keyboards/converter/ibm_terminal/config.h
index ba9ec82fa2..5d8e5f8135 100644
--- a/keyboards/converter/ibm_terminal/config.h
+++ b/keyboards/converter/ibm_terminal/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT IBM Terminal Keyboard
-#define DESCRIPTION USB converter for IBM Terminal Keyboard
/* matrix size */
diff --git a/keyboards/converter/m0110_usb/config.h b/keyboards/converter/m0110_usb/config.h
index 02e4c30fb0..f980217b81 100644
--- a/keyboards/converter/m0110_usb/config.h
+++ b/keyboards/converter/m0110_usb/config.h
@@ -26,7 +26,6 @@ Ported to QMK by Techsock
#define DEVICE_VER 0x0101
#define MANUFACTURER Apple
#define PRODUCT M0110(A)
-#define DESCRIPTION Converts M0110(A) to USB and/or BT
/* matrix size */
#define MATRIX_ROWS 14
diff --git a/keyboards/converter/m0110_usb/readme.md b/keyboards/converter/m0110_usb/readme.md
index 2e8a2eaef1..a148091cd9 100644
--- a/keyboards/converter/m0110_usb/readme.md
+++ b/keyboards/converter/m0110_usb/readme.md
@@ -5,7 +5,7 @@ This is a port of the original M0110 converter from TMK to QMK. The original con
## Enabling Bluetooth for the Adafruit Feather 32U4 BLE
-Simply add `BLUETOOTH = AdafruitBLE` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` and `DESCRIPTION` values from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name.
+Simply add `BLUETOOTH = AdafruitBLE` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` value from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name.
## Pins
diff --git a/keyboards/converter/modelm101/config.h b/keyboards/converter/modelm101/config.h
index 958b29b743..7dcb825492 100644
--- a/keyboards/converter/modelm101/config.h
+++ b/keyboards/converter/modelm101/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER iw0rm3r
#define PRODUCT IBM Model M 101/102
-#define DESCRIPTION Controlled by AVR chip
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/converter/numeric_keypad_IIe/config.h b/keyboards/converter/numeric_keypad_IIe/config.h
index a129e1210f..be21814f80 100644
--- a/keyboards/converter/numeric_keypad_IIe/config.h
+++ b/keyboards/converter/numeric_keypad_IIe/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Apple Inc.
#define PRODUCT Numeric Keypad IIe
-#define DESCRIPTION "Numeric Keypad IIe, A2M2003"
/*
diff --git a/keyboards/converter/palm_usb/config.h b/keyboards/converter/palm_usb/config.h
index 8414c47a77..4afc654e85 100644
--- a/keyboards/converter/palm_usb/config.h
+++ b/keyboards/converter/palm_usb/config.h
@@ -28,7 +28,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT Stowaway converter
-#define DESCRIPTION USB converter for Stowaway keyboard
// IO pins to serial
// https://deskthority.net/wiki/Arduino_Pro_Micro for pin lookup
diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h
index bbb7471521..ae6f1a209a 100644
--- a/keyboards/converter/siemens_tastatur/config.h
+++ b/keyboards/converter/siemens_tastatur/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define MANUFACTURER Yiancar-Designs
#define PRODUCT Siemens Tastatur
-#define DESCRIPTION Practice
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/converter/sun_usb/config.h b/keyboards/converter/sun_usb/config.h
index 455d6423b5..f073e61e44 100644
--- a/keyboards/converter/sun_usb/config.h
+++ b/keyboards/converter/sun_usb/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT Sun keyboard converter
-#define DESCRIPTION USB converter for Sun type 5 keyboard
/* matrix size */
#define MATRIX_ROWS 16
diff --git a/keyboards/converter/usb_usb/ble/config.h b/keyboards/converter/usb_usb/ble/config.h
index 3bf3b2963a..80e4968c41 100644
--- a/keyboards/converter/usb_usb/ble/config.h
+++ b/keyboards/converter/usb_usb/ble/config.h
@@ -2,8 +2,6 @@
#undef PRODUCT
#define PRODUCT QMK BLE Adapter
-#undef DESCRIPTION
-#define DESCRIPTION
// Turn off the mode leds on the BLE module
#define ADAFRUIT_BLE_ENABLE_MODE_LEDS 0
diff --git a/keyboards/converter/usb_usb/config.h b/keyboards/converter/usb_usb/config.h
index 7af8950275..7ff8ceeebd 100644
--- a/keyboards/converter/usb_usb/config.h
+++ b/keyboards/converter/usb_usb/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT QMK USB-USB Converter
-#define DESCRIPTION USB to USB Keyboard Converter with QMK
/* size of virtual matrix */
#define MATRIX_ROWS 16
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h
index fe79953873..e5624d843d 100644
--- a/keyboards/converter/xt_usb/config.h
+++ b/keyboards/converter/xt_usb/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER QMK
#define PRODUCT XT keyboard converter
-#define DESCRIPTION convert XT keyboard to USB
/* matrix size */
diff --git a/keyboards/cool836a/config.h b/keyboards/cool836a/config.h
new file mode 100644
index 0000000000..3ac036786f
--- /dev/null
+++ b/keyboards/cool836a/config.h
@@ -0,0 +1,153 @@
+/*
+Copyright 2021 Ohashi
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Ohashi
+#define PRODUCT cool836A
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 6
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { D1, B5, B4, F4, B1, B6 }
+#define MATRIX_COL_PINS { F5, D0, B2, C6, D7, E6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+//#define DIODE_DIRECTION COL2ROW
+#define DIODE_DIRECTION ROW2COL
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+//#define LED_NUM_LOCK_PIN B0
+//#define LED_CAPS_LOCK_PIN B1
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+//#define RGB_DI_PIN E2
+//#ifdef RGB_DI_PIN
+//# define RGBLED_NUM 16
+//# define RGBLIGHT_HUE_STEP 8
+//# define RGBLIGHT_SAT_STEP 8
+//# define RGBLIGHT_VAL_STEP 8
+//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+//# define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+//# define RGBLIGHT_EFFECT_BREATHING
+//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//# define RGBLIGHT_EFFECT_SNAKE
+//# define RGBLIGHT_EFFECT_KNIGHT
+//# define RGBLIGHT_EFFECT_CHRISTMAS
+//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//# define RGBLIGHT_EFFECT_RGB_TEST
+//# define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+//#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/cool836a/cool836a.c b/keyboards/cool836a/cool836a.c
new file mode 100644
index 0000000000..5795bf9546
--- /dev/null
+++ b/keyboards/cool836a/cool836a.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 Ohashi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "cool836a.h"
diff --git a/keyboards/cool836a/cool836a.h b/keyboards/cool836a/cool836a.h
new file mode 100644
index 0000000000..08a036d4c0
--- /dev/null
+++ b/keyboards/cool836a/cool836a.h
@@ -0,0 +1,42 @@
+/* Copyright 2021 Ohashi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K300, K301, K302, K303, K304, K305, \
+ K100, K101, K102, K103, K104, K105, K400, K401, K402, K403, K404, K405, \
+ K200, K201, K202, K203, K204, K205, K500, K501, K502, K503, K504, K505 \
+) \
+{ \
+ { K000, K001, K002, K003, K004, K005 }, \
+ { K100, K101, K102, K103, K104, K105 }, \
+ { K200, K201, K202, K203, K204, K205 }, \
+ { K300, K301, K302, K303, K304, K305 }, \
+ { K400, K401, K402, K403, K404, K405 }, \
+ { K500, K501, K502, K503, K504, K505 }, \
+}
diff --git a/keyboards/cool836a/info.json b/keyboards/cool836a/info.json
new file mode 100644
index 0000000000..01f9964907
--- /dev/null
+++ b/keyboards/cool836a/info.json
@@ -0,0 +1,19 @@
+{
+ "keyboard_name": "cool836a",
+ "url": "https://github.com/telzo2000/cool836A",
+ "maintainer": "Ohashi",
+ "width": 12,
+ "height": 3,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0},{"x": 1, "y": 0},{"x": 2, "y": 0},{"x": 3, "y": 0},{"x": 4, "y": 0},{"x": 5, "y": 0},
+ {"x": 7.5, "y": 0},{"x": 8.5, "y": 0},{"x": 9.5, "y": 0},{"x": 10.5, "y": 0},{"x": 11.5,"y": 0},{"x": 12.5,"y": 0},
+ {"x": 0, "y": 1},{"x": 1.5, "y": 1},{"x": 2.5, "y": 1},{"x": 3.5, "y": 1},{"x": 4.5, "y": 1},{"x": 5.5, "y": 1},
+ {"x": 8, "y": 1},{"x": 9, "y": 1},{"x": 10, "y": 1},{"x": 11, "y": 1},{"x": 12,"y": 1},{"x": 13,"y": 1},
+ {"x": 0, "y": 2},{"x": 2, "y": 2},{"x": 3, "y": 2},{"x": 4, "y": 2},{"x": 5, "y": 2},{"x": 6, "y": 2},
+ {"x": 7.5, "y": 2},{"x": 8.5, "y": 2},{"x": 9.5, "y": 2},{"x": 10.5, "y": 2},{"x": 11.5,"y": 2},{"x": 12.5,"y": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cool836a/keymaps/default/keymap.c b/keyboards/cool836a/keymaps/default/keymap.c
new file mode 100644
index 0000000000..458cfba85e
--- /dev/null
+++ b/keyboards/cool836a/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2021 Ohashi
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT(
+ KC_ESC, LALT_T(KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENTER,
+ KC_LSFT, KC_Z, GUI_T(KC_X), KC_C, LT(3, KC_V), LT(2, KC_B), KC_SPC, LT(1, KC_N), KC_M, KC_COMM, KC_DOT, KC_SPC
+ ),
+ [1] = LAYOUT(
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_LCTL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_MINS, KC_ASTR, KC_PSLS, KC_EQL, KC_ENTER,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC
+ ),
+ [2] = LAYOUT(
+ KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC,
+ KC_LCTL, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_COLN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUES, KC_ENTER,
+ KC_LSFT, KC_UNDS, KC_PIPE, KC_CIRC, KC_TILD, _______, _______, _______, _______, _______, _______, KC_SPC
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cool836a/keymaps/default/readme.md b/keyboards/cool836a/keymaps/default/readme.md
new file mode 100644
index 0000000000..05a5d7fe36
--- /dev/null
+++ b/keyboards/cool836a/keymaps/default/readme.md
@@ -0,0 +1,15 @@
+# m.ki様によるデフォルトキーマップ
+
+[レッドバージョン ビルドガイド](https://github.com/telzo2000/cool836A/blob/master/buildguide_red.md)で紹介されていたキーマップです。チートシートを見ながらコードに書き写しました。
+
+-------
+## チートシート
+以下、[同ページ](https://github.com/telzo2000/cool836A/blob/master/buildguide_red.md)の画像のコピーを添付します。
++ Layer=0
+![Layer=0](https://github.com/oha-Ohashi/qmk_firmware/blob/images/default_keymap/default_0.png)
++ Layer=1
+![Layer=1](https://github.com/oha-Ohashi/qmk_firmware/blob/images/default_keymap/default_1.png)
++ Layer=2
+![Layer=2](https://github.com/oha-Ohashi/qmk_firmware/blob/images/default_keymap/default_2.png)
++ Layer=3
+![Layer=3](https://github.com/oha-Ohashi/qmk_firmware/blob/images/default_keymap/default_3.png)
diff --git a/keyboards/cool836a/readme.md b/keyboards/cool836a/readme.md
new file mode 100644
index 0000000000..dd3ace3cbc
--- /dev/null
+++ b/keyboards/cool836a/readme.md
@@ -0,0 +1,51 @@
+# cool836A
+
+- このプロジェクトの詳細については設計者たる[m.ki様](https://twitter.com/0002ozlet)による[GitHubリポジトリ](https://github.com/telzo2000/cool836A)の記述をご覧ください。
+
+### バージョン(A, B+, C+)について
+- m.ki様によるとどのバージョンも回路は同じで、ファームウェアを分ける必要はないとのことです。
+- しかしながらこのファームウェアは、cool836A ver.B+ (通称レッドバージョン)のみでテストされています(2021年1月7日現在)。そのため念のため、当面の間はサブフォルダの名前をcool836A/verB_REDとさせていただきます。
+- ほかのバージョンに書き込んだときに不具合等がありましたら、方はお気軽に私[オオハシ](https://twitter.com/oha_oha_Ohashi)までご連絡ください。
+
+
+## 申し訳程度のチュートリアル
+詳細に書き込む労力は払えませんでしたが、最低限のコードのみ記します。
+
+git clone のあと、
+
+``` make cool836A/verB_RED:default ```
+
+でコンパイル可能であることを確認し、
+
+``` make cool836A/verB_RED:default:avrdude ```
+
+によってデフォルトキーマップをPro Microに焼けるかもしれません。
+`default`の代わりに`Ohasheen`を利用することもできます。
+
+初心者の方はもっと素晴らしいウェブサイトでGitやqmk firmwareの使い方を覚えていただくのがよいかと思います。
+
+
+
+-----------------
+## English
+- [Here](https://github.com/telzo2000/cool836A) are a full description of this project and build guide by the great Designer: [m.ki](imgur.com image replace me!)
+
+- Each virsions(A, B+, C+) of cool836A has the same circuit and that means you can install this firmware on any of them.
+- However, this repository is currently(Jan 7, 2021) tested on ver.B+ (RED version) only. Feel free to contact [ME](https://github.com/ketcha-k) for any problems.
+
+- firmware maintainer: [Ohashi](https://github.com/ketcha-k)
+
+## Such a humble tutorial
+The author would like to provide a minimum guide.
+
+After cloning the repository, you may want to
+
+``` make cool836A/verB_RED ```
+
+to make sure it's compilable, and
+
+``` make cool836A/verB_RED:default ```
+
+which leads you to the goal.
+
+It is recommended that beginners learn how to get started with qmk firmware/configurator at other fantastic websites rather than here......
diff --git a/keyboards/cool836a/rules.mk b/keyboards/cool836a/rules.mk
new file mode 100644
index 0000000000..5c0d8f307c
--- /dev/null
+++ b/keyboards/cool836a/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/copenhagen_click/click_pad_v1/config.h b/keyboards/copenhagen_click/click_pad_v1/config.h
index 51574d31d8..50a237a05f 100755
--- a/keyboards/copenhagen_click/click_pad_v1/config.h
+++ b/keyboards/copenhagen_click/click_pad_v1/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Copenhagen Click
#define PRODUCT Click Pad V1
-#define DESCRIPTION A single switch macropad given out at the Copenhagen Click 2019 meetup.
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/coseyfannitutti/discipad/config.h b/keyboards/coseyfannitutti/discipad/config.h
index 035a0ac184..961f34aa94 100644
--- a/keyboards/coseyfannitutti/discipad/config.h
+++ b/keyboards/coseyfannitutti/discipad/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT DISCIPAD
-#define DESCRIPTION 17-key numpad assembled with only through hole components
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/coseyfannitutti/discipline/config.h b/keyboards/coseyfannitutti/discipline/config.h
index aba1ecaf22..7475bf09d8 100644
--- a/keyboards/coseyfannitutti/discipline/config.h
+++ b/keyboards/coseyfannitutti/discipline/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT DISCIPLINE
-#define DESCRIPTION 65% keyboard that can be assembled with only through hole components
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/coseyfannitutti/mullet/config.h b/keyboards/coseyfannitutti/mullet/config.h
index 56460ce0ba..1b5741c13c 100644
--- a/keyboards/coseyfannitutti/mullet/config.h
+++ b/keyboards/coseyfannitutti/mullet/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT mullet
-#define DESCRIPTION 65% keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/coseyfannitutti/mulletpad/config.h b/keyboards/coseyfannitutti/mulletpad/config.h
index a977be705e..cdfe891212 100644
--- a/keyboards/coseyfannitutti/mulletpad/config.h
+++ b/keyboards/coseyfannitutti/mulletpad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT mulletpad
-#define DESCRIPTION numpad
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/coseyfannitutti/mysterium/config.h b/keyboards/coseyfannitutti/mysterium/config.h
index 245eaab353..fc47a39730 100644
--- a/keyboards/coseyfannitutti/mysterium/config.h
+++ b/keyboards/coseyfannitutti/mysterium/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT MYSTERIUM
-#define DESCRIPTION TKL keyboard that can be assembled with only through hole components
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/coseyfannitutti/romeo/config.h b/keyboards/coseyfannitutti/romeo/config.h
index a70d539ef9..1a2d86d273 100644
--- a/keyboards/coseyfannitutti/romeo/config.h
+++ b/keyboards/coseyfannitutti/romeo/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
#define PRODUCT ROMEO
-#define DESCRIPTION staggered layout 40% keyboard assembled with only through hole components
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/cospad/config.h b/keyboards/cospad/config.h
index 648fa29a6f..202374de41 100644
--- a/keyboards/cospad/config.h
+++ b/keyboards/cospad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER KPrepublic
#define PRODUCT Cospad
-#define DESCRIPTION 6x4 numpad with underglow and backlighting
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/crawlpad/config.h b/keyboards/crawlpad/config.h
index d51ad17444..d923fe0c27 100755
--- a/keyboards/crawlpad/config.h
+++ b/keyboards/crawlpad/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER WoodKeys.click
#define PRODUCT CrawlPad
-#define DESCRIPTION ATX Keycrawl 2017
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/cu24/config.h b/keyboards/cu24/config.h
index 7bb49816b9..f7de28544b 100644
--- a/keyboards/cu24/config.h
+++ b/keyboards/cu24/config.h
@@ -25,7 +25,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Yiancar/CapsUnlocked
#define PRODUCT CU24
-#define DESCRIPTION A luxurious fully customisable numpad
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/cu75/config.h b/keyboards/cu75/config.h
index e01f947a02..232a3a8ebb 100644
--- a/keyboards/cu75/config.h
+++ b/keyboards/cu75/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER LFKeyboards/CapsUnlocked
#define PRODUCT CU75
-#define DESCRIPTION A luxurious fully customisable 75%
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROWS 6
diff --git a/keyboards/cu80/config.h b/keyboards/cu80/config.h
index 9c04a290fd..d5123cdbad 100644
--- a/keyboards/cu80/config.h
+++ b/keyboards/cu80/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER CapsUnlocked
#define PRODUCT CU80
-#define DESCRIPTION CU80
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/cutie_club/borsdorf/info.json b/keyboards/cutie_club/borsdorf/info.json
index cd9ece29f0..51630da42c 100644
--- a/keyboards/cutie_club/borsdorf/info.json
+++ b/keyboards/cutie_club/borsdorf/info.json
@@ -1,15 +1,158 @@
{
- "keyboard_name": "wraith",
+ "keyboard_name": "Borsdorf",
"url": "",
"maintainer": "Cutie Club",
"width": 16.5,
"height": 5,
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":0, "y":0, "w":1.25}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0, "w":1.75}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.75}, {"x":1.75, "y":1}, {"x":2.75, "y":1}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":11.75, "y":1}, {"x":12.75, "y":1}, {"x":14, "y":1, "h":2}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":0, "y":3, "w":1.5}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4, "w":1.25}, {"x":2.75, "y":4, "w":1.5}, {"x":4.25, "y":4, "w":6.5}, {"x":10.75, "y":4, "w":1.5}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
+ "layout": [
+ {"x":0, "y":0, "w":1.25},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+ {"x":5.25, "y":0},
+ {"x":6.25, "y":0},
+ {"x":7.25, "y":0},
+ {"x":8.25, "y":0},
+ {"x":9.25, "y":0},
+ {"x":10.25, "y":0},
+ {"x":11.25, "y":0},
+ {"x":12.25, "y":0},
+ {"x":13.25, "y":0, "w":1.75},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1, "w":1.75},
+ {"x":1.75, "y":1},
+ {"x":2.75, "y":1},
+ {"x":3.75, "y":1},
+ {"x":4.75, "y":1},
+ {"x":5.75, "y":1},
+ {"x":6.75, "y":1},
+ {"x":7.75, "y":1},
+ {"x":8.75, "y":1},
+ {"x":9.75, "y":1},
+ {"x":10.75, "y":1},
+ {"x":11.75, "y":1},
+ {"x":12.75, "y":1},
+ {"x":15.5, "y":1},
+
+ {"x":0, "y":2, "w":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":1, "h":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3},
+ {"x":3.5, "y":3},
+ {"x":4.5, "y":3},
+ {"x":5.5, "y":3},
+ {"x":6.5, "y":3},
+ {"x":7.5, "y":3},
+ {"x":8.5, "y":3},
+ {"x":9.5, "y":3},
+ {"x":10.5, "y":3},
+ {"x":11.5, "y":3},
+ {"x":12.5, "y":3},
+ {"x":13.5, "y":3},
+ {"x":14.5, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4, "w":1.25},
+ {"x":2.75, "y":4, "w":1.5},
+ {"x":4.25, "y":4, "w":6.5},
+ {"x":10.75, "y":4, "w":1.5},
+ {"x":12.25, "y":4, "w":1.25},
+ {"x":13.5, "y":4},
+ {"x":14.5, "y":4},
+ {"x":15.5, "y":4}
+ ]
},
"LAYOUT_rshift": {
- "layout": [{"x":0, "y":0, "w":1.25}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0, "w":1.75}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.75}, {"x":1.75, "y":1}, {"x":2.75, "y":1}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":11.75, "y":1}, {"x":12.75, "y":1}, {"x":14, "y":1, "h":2}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":0, "y":3, "w":1.5}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3, "w":2}, {"x":14.5, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4, "w":1.25}, {"x":2.75, "y":4, "w":1.5}, {"x":4.25, "y":4, "w":6.5}, {"x":10.75, "y":4, "w":1.5}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
+ "layout": [
+ {"x":0, "y":0, "w":1.25},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+ {"x":5.25, "y":0},
+ {"x":6.25, "y":0},
+ {"x":7.25, "y":0},
+ {"x":8.25, "y":0},
+ {"x":9.25, "y":0},
+ {"x":10.25, "y":0},
+ {"x":11.25, "y":0},
+ {"x":12.25, "y":0},
+ {"x":13.25, "y":0, "w":1.75},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1, "w":1.75},
+ {"x":1.75, "y":1},
+ {"x":2.75, "y":1},
+ {"x":3.75, "y":1},
+ {"x":4.75, "y":1},
+ {"x":5.75, "y":1},
+ {"x":6.75, "y":1},
+ {"x":7.75, "y":1},
+ {"x":8.75, "y":1},
+ {"x":9.75, "y":1},
+ {"x":10.75, "y":1},
+ {"x":11.75, "y":1},
+ {"x":12.75, "y":1},
+ {"x":15.5, "y":1},
+
+ {"x":0, "y":2, "w":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":1, "h":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3},
+ {"x":3.5, "y":3},
+ {"x":4.5, "y":3},
+ {"x":5.5, "y":3},
+ {"x":6.5, "y":3},
+ {"x":7.5, "y":3},
+ {"x":8.5, "y":3},
+ {"x":9.5, "y":3},
+ {"x":10.5, "y":3},
+ {"x":11.5, "y":3},
+ {"x":12.5, "y":3, "w":2},
+ {"x":14.5, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4, "w":1.25},
+ {"x":2.75, "y":4, "w":1.5},
+ {"x":4.25, "y":4, "w":6.5},
+ {"x":10.75, "y":4, "w":1.5},
+ {"x":12.25, "y":4, "w":1.25},
+ {"x":13.5, "y":4},
+ {"x":14.5, "y":4},
+ {"x":15.5, "y":4}
+ ]
}
}
}
diff --git a/keyboards/cutie_club/wraith/config.h b/keyboards/cutie_club/wraith/config.h
index e1d2d51d6e..932e3fcff6 100644
--- a/keyboards/cutie_club/wraith/config.h
+++ b/keyboards/cutie_club/wraith/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Amber
#define PRODUCT Wraith
-#define DESCRIPTION A WKL, 75% keyboard with staggered F-row.
/* key matrix size */
#define MATRIX_ROWS 12
diff --git a/keyboards/daisy/config.h b/keyboards/daisy/config.h
index 64b86a5b94..3402ea9049 100644
--- a/keyboards/daisy/config.h
+++ b/keyboards/daisy/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0501
#define MANUFACTURER KTEC
#define PRODUCT Daisy
-#define DESCRIPTION qmk port for Daisy
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/dc01/arrow/config.h b/keyboards/dc01/arrow/config.h
index 801dbb54de..4ab91c24b0 100644
--- a/keyboards/dc01/arrow/config.h
+++ b/keyboards/dc01/arrow/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Mechboards
#define PRODUCT DC01 Arrow
-#define DESCRIPTION Arrow cluster of DC01 keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h
index 26ad41a056..acad044742 100644
--- a/keyboards/dc01/left/config.h
+++ b/keyboards/dc01/left/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Mechboards
#define PRODUCT DC01 Left
-#define DESCRIPTION Left half of DC01 keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dc01/numpad/config.h b/keyboards/dc01/numpad/config.h
index 2e91cfdd9d..c238101ff2 100644
--- a/keyboards/dc01/numpad/config.h
+++ b/keyboards/dc01/numpad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Mechboards
#define PRODUCT DC01 Numpad
-#define DESCRIPTION Numpad of DC01 keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dc01/right/config.h b/keyboards/dc01/right/config.h
index bbffb7814a..6911519b89 100644
--- a/keyboards/dc01/right/config.h
+++ b/keyboards/dc01/right/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Mechboards
#define PRODUCT DC01 Right
-#define DESCRIPTION Right half of DC01 keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h
index 844fcf43bd..397683ce45 100644
--- a/keyboards/deltasplit75/v2/config.h
+++ b/keyboards/deltasplit75/v2/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER xyxjj
#define PRODUCT DeltaSplit75
-#define DESCRIPTION 75% split keyboard
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/dichotomy/config.h b/keyboards/dichotomy/config.h
index 2fc098fe34..05210198c8 100644
--- a/keyboards/dichotomy/config.h
+++ b/keyboards/dichotomy/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER Broekhuijsen
#define PRODUCT Dichotomy
-#define DESCRIPTION q.m.k. keyboard firmware for Dichotomy
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/diverge3/config.h b/keyboards/diverge3/config.h
index 96196667c0..275d9493d8 100644
--- a/keyboards/diverge3/config.h
+++ b/keyboards/diverge3/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER UniKeyboard
#define PRODUCT diverge3
-#define DESCRIPTION Split 72 key keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/divergetm2/config.h b/keyboards/divergetm2/config.h
index 8ad948676d..ee8372aa7e 100644
--- a/keyboards/divergetm2/config.h
+++ b/keyboards/divergetm2/config.h
@@ -25,7 +25,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER UniKeyboard
#define PRODUCT diverge tm2
-#define DESCRIPTION Split 46 key keyboard
/* key matrix size */
#define MATRIX_ROWS 8
diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h
index ce3bf1e78a..113eaf9f76 100644
--- a/keyboards/dm9records/ergoinu/config.h
+++ b/keyboards/dm9records/ergoinu/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Dm9Records
#define PRODUCT ergoinu
-#define DESCRIPTION An (Not Portable But Small) Ergonomic split keyboard
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/dm9records/plaid/config.h b/keyboards/dm9records/plaid/config.h
index 8c7132c95a..7fea12db86 100644
--- a/keyboards/dm9records/plaid/config.h
+++ b/keyboards/dm9records/plaid/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER dm9records
#define PRODUCT Plaid
-#define DESCRIPTION 12x4 ortholinear keyboard with through hole components
/* key matrix size */
#define MATRIX_ROWS 4
diff --git a/keyboards/dm9records/tartan/config.h b/keyboards/dm9records/tartan/config.h
index e46c68c9ed..0621998472 100644
--- a/keyboards/dm9records/tartan/config.h
+++ b/keyboards/dm9records/tartan/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER dm9records
#define PRODUCT Tartan
-#define DESCRIPTION 60% keyboard with through hole components
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dmqdesign/spin/config.h b/keyboards/dmqdesign/spin/config.h
index 63a3aa94b8..ee4f5bf490 100644
--- a/keyboards/dmqdesign/spin/config.h
+++ b/keyboards/dmqdesign/spin/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER DMQ Design
#define PRODUCT SPIN
-#define DESCRIPTION The SPIN Macro Pad is a 12 key Macro Pad by DMQ Design with 3 rotary encoders, inspired by the Plaid & RoMac.
/* key matrix size */
#define MATRIX_ROWS 3
diff --git a/keyboards/do60/config.h b/keyboards/do60/config.h
index acaa64646f..ef6c55c3e1 100644
--- a/keyboards/do60/config.h
+++ b/keyboards/do60/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Shopkey by Doyu Studio
#define PRODUCT Do60
-#define DESCRIPTION Do60 Keyboard PCB by Doyu Studio
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/donutcables/scrabblepad/config.h b/keyboards/donutcables/scrabblepad/config.h
index d6490349e8..b64397f88a 100644
--- a/keyboards/donutcables/scrabblepad/config.h
+++ b/keyboards/donutcables/scrabblepad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Donut Cables
#define PRODUCT ScrabblePad
-#define DESCRIPTION 15x15 Ortholinear Board
/* key matrix size */
#define MATRIX_ROWS 15
diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h
index c19fa51790..870807efe0 100644
--- a/keyboards/doppelganger/config.h
+++ b/keyboards/doppelganger/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Yiancar-Designs
#define PRODUCT Doppelganger
-#define DESCRIPTION A custom split keyboard
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/doro67/multi/config.h b/keyboards/doro67/multi/config.h
index 83a9220386..bd4bd7a5ba 100644
--- a/keyboards/doro67/multi/config.h
+++ b/keyboards/doro67/multi/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Backprop Studio
#define PRODUCT Doro67 Multi PCB
-#define DESCRIPTION 65% custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/doro67/regular/config.h b/keyboards/doro67/regular/config.h
index 85a0c5038b..c778ed7a08 100644
--- a/keyboards/doro67/regular/config.h
+++ b/keyboards/doro67/regular/config.h
@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Backprop Studio
#define PRODUCT Doro67 Regular PCB
-#define DESCRIPTION 65% custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h
index 349b9f5cd8..709d3cdd3b 100644
--- a/keyboards/doro67/rgb/config.h
+++ b/keyboards/doro67/rgb/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Backprop Studio
#define PRODUCT Doro67 RGB PCB
-#define DESCRIPTION 65% custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dozen0/config.h b/keyboards/dozen0/config.h
index dce4258ff2..4163ea5a2a 100644
--- a/keyboards/dozen0/config.h
+++ b/keyboards/dozen0/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER yynmt
#define PRODUCT Dozen0
-#define DESCRIPTION 12 keys macropad
/* key matrix size */
#define MATRIX_ROWS 1
diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h
index d1cbd65004..2593b7ff71 100644
--- a/keyboards/dp60/config.h
+++ b/keyboards/dp60/config.h
@@ -23,7 +23,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER astro
#define PRODUCT DP60
-#define DESCRIPTION 60% rgb keyboard with ble extension
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/duck/eagle_viper/v2/config.h b/keyboards/duck/eagle_viper/v2/config.h
index e328b1ee22..4153f2963d 100644
--- a/keyboards/duck/eagle_viper/v2/config.h
+++ b/keyboards/duck/eagle_viper/v2/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER Duck
#define PRODUCT Eagle/Viper V2
-#define DESCRIPTION 60% Korean custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h
index b0cc425852..b5db176991 100644
--- a/keyboards/duck/jetfire/config.h
+++ b/keyboards/duck/jetfire/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Duck
#define PRODUCT Jetfire
-#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/duck/lightsaver/config.h b/keyboards/duck/lightsaver/config.h
index 5bb4e6faf9..e2aa78d14b 100644
--- a/keyboards/duck/lightsaver/config.h
+++ b/keyboards/duck/lightsaver/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0003
#define MANUFACTURER Duck
#define PRODUCT Lightsaver V3
-#define DESCRIPTION Duck Lightsaver V3
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/duck/octagon/v1/config.h b/keyboards/duck/octagon/v1/config.h
index 45e87de4ba..7bf69a7b63 100644
--- a/keyboards/duck/octagon/v1/config.h
+++ b/keyboards/duck/octagon/v1/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Duck
#define PRODUCT Octagon V1
-#define DESCRIPTION Duck Octagon V1
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/duck/octagon/v2/config.h b/keyboards/duck/octagon/v2/config.h
index 82b0c8a997..0de966c604 100644
--- a/keyboards/duck/octagon/v2/config.h
+++ b/keyboards/duck/octagon/v2/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER Duck
#define PRODUCT Octagon V2
-#define DESCRIPTION Duck Octagon V2
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/duck/orion/v3/config.h b/keyboards/duck/orion/v3/config.h
index ce64431afc..bcc5fb0046 100644
--- a/keyboards/duck/orion/v3/config.h
+++ b/keyboards/duck/orion/v3/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0002
#define MANUFACTURER Duck
#define PRODUCT Orion V3
-#define DESCRIPTION TKL Korean custom keyboard
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/duck/tcv3/config.h b/keyboards/duck/tcv3/config.h
index 524b12b835..9a75ff77f7 100644
--- a/keyboards/duck/tcv3/config.h
+++ b/keyboards/duck/tcv3/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER Duck
#define PRODUCT TC-V3
-#define DESCRIPTION Duck TC-V3
/* key matrix size */
#define MATRIX_ROWS 6
diff --git a/keyboards/dumbpad/config.h b/keyboards/dumbpad/config.h
index 3d0cc129b3..04230659b4 100644
--- a/keyboards/dumbpad/config.h
+++ b/keyboards/dumbpad/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see .
#define DEVICE_VER 0x0001
#define MANUFACTURER imchipwood
#define PRODUCT dumbpad
-#define DESCRIPTION 4x4 macro/numpad with rotary encoder
/*
diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h
index 196d05c533..e392109119 100644
--- a/keyboards/dz60/keymaps/LEdiodes/config.h
+++ b/keyboards/dz60/keymaps/LEdiodes/config.h
@@ -9,7 +9,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER KBDFans
#define PRODUCT DZ60
-#define DESCRIPTION DZ60 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h
index fb4e622458..6e5b3da6ff 100644
--- a/keyboards/dztech/dz60rgb/v1/config.h
+++ b/keyboards/dztech/dz60rgb/v1/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
-#define DESCRIPTION DZ60 ARM RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h
index 6c5484fc8a..df84fff59a 100644
--- a/keyboards/dztech/dz60rgb/v2/config.h
+++ b/keyboards/dztech/dz60rgb/v2/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
-#define DESCRIPTION DZ60 AVR RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h
index f34226efc6..8710f8d07b 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_ANSI
-#define DESCRIPTION DZ60 ARM RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h
index b9710805a6..f3c9b73fb4 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_ANSI
-#define DESCRIPTION DZ60 AVR RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h
index 49ce112360..9c630c75be 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_WKL
-#define DESCRIPTION DZ60 ARM RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h
index e46495d73b..a6145c2749 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_WKL
-#define DESCRIPTION DZ60 AVR RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h
index 9cd7d293ce..cd47477160 100644
--- a/keyboards/dztech/dz65rgb/v1/config.h
+++ b/keyboards/dztech/dz65rgb/v1/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ65RGB
-#define DESCRIPTION DZ65 ARM RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h
index 83cf0110ab..ccd74275ae 100644
--- a/keyboards/dztech/dz65rgb/v2/config.h
+++ b/keyboards/dztech/dz65rgb/v2/config.h
@@ -6,7 +6,6 @@
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ65RGB
-#define DESCRIPTION DZ65 AVR RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/lily58/keymaps/domnantas/config.h b/keyboards/lily58/keymaps/domnantas/config.h
new file mode 100644
index 0000000000..00104a1365
--- /dev/null
+++ b/keyboards/lily58/keymaps/domnantas/config.h
@@ -0,0 +1,36 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
+// #define SSD1306OLED
+
+#define USE_SERIAL_PD2
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 100
\ No newline at end of file
diff --git a/keyboards/lily58/keymaps/domnantas/keymap.c b/keyboards/lily58/keymaps/domnantas/keymap.c
new file mode 100644
index 0000000000..badc3bb63c
--- /dev/null
+++ b/keyboards/lily58/keymaps/domnantas/keymap.c
@@ -0,0 +1,284 @@
+ /* Copyright 2020 Domantas Petrauskas
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+#include
+
+#define LT_1 RALT(KC_1)
+#define LT_2 RALT(KC_2)
+#define LT_3 RALT(KC_3)
+#define LT_4 RALT(KC_4)
+#define LT_5 RALT(KC_5)
+#define LT_6 RALT(KC_6)
+#define LT_7 RALT(KC_7)
+#define LT_8 RALT(KC_8)
+#define LT_9 RALT(KC_9)
+#define LT_0 RALT(KC_0)
+
+// Naming according to Unicode specifications
+#define LT_A_OG KC_1
+#define LT_C_CA KC_2
+#define LT_E_OG KC_3
+#define LT_E_DO KC_4
+#define LT_I_OG KC_5
+#define LT_S_CA KC_6
+#define LT_U_OG KC_7
+#define LT_U_MA KC_8
+#define LT_Z_CA KC_EQL
+
+#define LT_EQL RALT(KC_EQL)
+
+// OLED setup
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 30
+#define TAP_FRAMES 2
+#define TAP_SPEED 40
+#define ANIM_FRAME_DURATION 200
+#define ANIM_SIZE 512
+
+char wpm_str[10];
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+uint8_t current_tap_frame = 0;
+
+static long int oled_timeout = OLED_TIMEOUT; // 10 minutes
+
+enum layer_number {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+const bool *is_keyboard_left(void);
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | Ą | Č | Ę | Ė | Į | | Š | Ų | Ū | ( | ) | Ž |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * |LCTRL | Z | X | C | V | B |-------| |-------| N | M | , | . | / | RAlt |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt |LOWER | / Space / \Enter \ | Bksp |RAISE | Del |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_ESC, LT_A_OG, LT_C_CA, LT_E_OG, LT_E_DO, LT_I_OG, LT_S_CA, LT_U_OG, LT_U_MA, KC_9, KC_0, LT_Z_CA,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RALT,
+ KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_ENT, KC_BSPC, MO(_RAISE), KC_DEL
+ ),
+
+ /* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | 4 | 5 | 6 | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LShift| 7 | 8 | 9 | 0 | |-------. ,-------| | | | | | |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * |LCTRL | = | + | - | | | |-------| |-------| | | | | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt |LOWER | / Space / \ Enter\ | Bksp |RAISE | Del |
+ * | | ||||||||/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+ [_LOWER] = LAYOUT(
+ _______, LT_1, LT_2, LT_3, LT_4, LT_5, LT_6, LT_7, LT_8, LT_9, LT_0, KC_GRV,
+ _______, LT_4, LT_5, LT_6, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, LT_7, LT_8, LT_9, LT_0, _______, _______, _______, _______, _______, _______, _______,
+ _______, LT_EQL, KC_PPLS, KC_PMNS, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* RAISE
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |PrScr |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | F11 | F12 | | | | | | PgUp | Home | Up | End | Vol+ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LShift| | | | | |-------. ,-------| | PgDn | Left | Down |Right | Vol- |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * |LCTRL | Undo | Cut | Copy |Paste | |-------| |-------| | |MPrev |MNext |MPlPa | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt |LOWER | / Space / \ Enter\ | Bksp |RAISE | Del |
+ * | | | |/ / \ \ | |||||||| |
+ * `----------------------------' '------''--------------------'
+ */
+ [_RAISE] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR,
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD,
+ _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | CAPS | | | | | |-------. ,-------| | | | | | |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | | | | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt |LOWER | /Space / \Enter \ | Bksp |RAISE | Del |
+ * | | ||||||||/ / \ \ | |||||||| |
+ * `----------------------------' '------''--------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (is_keyboard_left()) return OLED_ROTATION_270;
+ return OLED_ROTATION_180;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+static void render_bongo_cat(void) {
+
+ // Idle animation
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 100, 130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 100, 130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 8, 4, 2, 2, 4, 24, 96, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 194, 1, 1, 2, 2, 4, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0, 129, 130, 130, 132, 8, 16, 32, 64, 128, 0, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 25, 6, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 27, 3, 0, 64, 160, 34, 36, 20, 18, 18, 18, 11, 8, 8, 8, 8, 5, 5, 9, 9, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 4, 2, 2, 2, 4, 56, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 226, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+ };
+
+ // Prep animation
+ static const char PROGMEM prep[][ANIM_SIZE] = {
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 129, 128, 128, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 225, 26, 6, 9, 49, 53, 1, 138, 124, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 24, 6, 5, 152, 153, 132, 195, 124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+ };
+
+ // Typing animation
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 248, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 129, 128, 128, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 1, 2, 4, 8, 16, 32, 67, 135, 7, 1, 0, 184, 188, 190, 159, 95, 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 24, 6, 5, 152, 153, 132, 67, 124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 61, 124, 252, 252, 252, 252, 252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 225, 26, 6, 9, 49, 53, 1, 138, 124, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 122, 122, 121, 121, 121, 121, 57, 49, 2, 2, 4, 4, 8, 8, 8, 136, 136, 135, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+ };
+
+ void animation_phase(void) {
+ if (get_current_wpm() <= IDLE_SPEED) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
+ oled_write_raw_P(prep[0], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() >= TAP_SPEED) {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+ }
+
+ if (get_current_wpm() != 000) {
+ oled_on();
+
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+
+ anim_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(anim_sleep) > oled_timeout) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
+
+static void render_status(void) {
+ // WPM
+ oled_write_ln_P(PSTR("wpm"), false);
+ sprintf(wpm_str, "%03d", get_current_wpm());
+ oled_write_ln(wpm_str, false);
+ oled_write_ln_P(PSTR(""), false);
+
+ // Layer display
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_ln_P(PSTR("deflt"), false);
+ break;
+ case _RAISE:
+ oled_write_ln_P(PSTR("raise"), false);
+ break;
+ case _LOWER:
+ oled_write_ln_P(PSTR("lower"), false);
+ break;
+ case _ADJUST:
+ oled_write_ln_P(PSTR("adjst"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("error"), false);
+ }
+
+ led_t led_state = host_keyboard_led_state();
+ oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR("caps"), led_state.caps_lock);
+}
+
+void oled_task_user(void) {
+ if (is_keyboard_left()) {
+ render_status();
+ } else {
+ render_bongo_cat();
+ }
+}
diff --git a/keyboards/lily58/keymaps/domnantas/readme.md b/keyboards/lily58/keymaps/domnantas/readme.md
new file mode 100644
index 0000000000..262f7ffad6
--- /dev/null
+++ b/keyboards/lily58/keymaps/domnantas/readme.md
@@ -0,0 +1,21 @@
+# Domnantas layout for Lily58 Pro
+
+## Features
+
+- Optimised for lithuanian layout, but works on English too
+- Backspace, Enter and Space are under thumbs, very little hand movement
+- LShift swapped with LCtrl
+- Numpad on Lower layer for left hand
+- Navigation, media keys on Raise layer for right hand
+- Status on the left OLED
+- BONGOCAT on the right
+
+## Instructions
+Since status is always on the left and Bongocat on the right, the keymap has to be flashed with different commands:
+
+```bash
+# Right hand
+qmk flash -kb lily58/rev1 -km domnantas -bl avrdude-split-left
+# Left hand
+qmk flash -kb lily58/rev1 -km domnantas -bl avrdude-split-right
+```
\ No newline at end of file
diff --git a/keyboards/lily58/keymaps/domnantas/rules.mk b/keyboards/lily58/keymaps/domnantas/rules.mk
new file mode 100644
index 0000000000..2942e18ed3
--- /dev/null
+++ b/keyboards/lily58/keymaps/domnantas/rules.mk
@@ -0,0 +1,2 @@
+EXTRAKEY_ENABLE = yes
+WPM_ENABLE = yes
diff --git a/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c b/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c
new file mode 100644
index 0000000000..130db7e4e7
--- /dev/null
+++ b/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c
@@ -0,0 +1,65 @@
+/*
+Copyright 2021 andys8
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#include QMK_KEYBOARD_H
+#include "sendstring_german.h"
+
+enum custom_keycodes {
+ GIT_STASH = SAFE_RANGE,
+ GIT_STASH_POP,
+ GIT_COMMIT,
+ COPY_PASTE,
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case GIT_STASH:
+ if (record->event.pressed) {
+ SEND_STRING("git stash\n");
+ }
+ break;
+ case GIT_STASH_POP:
+ if (record->event.pressed) {
+ SEND_STRING("git stash pop\n");
+ }
+ break;
+ case GIT_COMMIT:
+ if (record->event.pressed) {
+ SEND_STRING("git add -A && git commit -a\n");
+ }
+ break;
+ case COPY_PASTE:
+ if (record->event.pressed) {
+ tap_code16(C(KC_C));
+ } else {
+ tap_code16(C(KC_V));
+ }
+ break;
+ }
+ return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(GIT_STASH, GIT_STASH_POP, GIT_COMMIT,
+ LCTL(KC_F4), LT(1, KC_SPACE), LCTL(KC_F6),
+ COPY_PASTE, LCTL(KC_F2), LCTL(KC_F3)),
+
+ [1] = LAYOUT(RGB_RMOD, RGB_TOG, RGB_MOD,
+ RGB_HUI, KC_TRNS, RGB_SAI,
+ RGB_HUD, RGB_M_P, RGB_SAD),
+
+};
diff --git a/quantum/rgb_matrix_animations/typing_heatmap_anim.h b/quantum/rgb_matrix_animations/typing_heatmap_anim.h
index b855fdc190..e06437bf76 100644
--- a/quantum/rgb_matrix_animations/typing_heatmap_anim.h
+++ b/quantum/rgb_matrix_animations/typing_heatmap_anim.h
@@ -2,6 +2,10 @@
RGB_MATRIX_EFFECT(TYPING_HEATMAP)
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+# ifndef RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS
+# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 25
+# endif
+
void process_rgb_matrix_typing_heatmap(keyrecord_t* record) {
uint8_t row = record->event.key.row;
uint8_t col = record->event.key.col;
@@ -27,6 +31,11 @@ void process_rgb_matrix_typing_heatmap(keyrecord_t* record) {
}
}
+// A timer to track the last time we decremented all heatmap values.
+static uint16_t heatmap_decrease_timer;
+// Whether we should decrement the heatmap values during the next update.
+static bool decrease_heatmap_values;
+
bool TYPING_HEATMAP(effect_params_t* params) {
// Modified version of RGB_MATRIX_USE_LIMITS to work off of matrix row / col size
uint8_t led_min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter;
@@ -38,6 +47,18 @@ bool TYPING_HEATMAP(effect_params_t* params) {
memset(g_rgb_frame_buffer, 0, sizeof g_rgb_frame_buffer);
}
+ // The heatmap animation might run in several iterations depending on
+ // `RGB_MATRIX_LED_PROCESS_LIMIT`, therefore we only want to update the
+ // timer when the animation starts.
+ if (params->iter == 0) {
+ decrease_heatmap_values = timer_elapsed(heatmap_decrease_timer) >= RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS;
+
+ // Restart the timer if we are going to decrease the heatmap this frame.
+ if (decrease_heatmap_values) {
+ heatmap_decrease_timer = timer_read();
+ }
+ }
+
// Render heatmap & decrease
for (int i = led_min; i < led_max; i++) {
uint8_t row = i % MATRIX_ROWS;
@@ -55,7 +76,9 @@ bool TYPING_HEATMAP(effect_params_t* params) {
rgb_matrix_set_color(led[j], rgb.r, rgb.g, rgb.b);
}
- g_rgb_frame_buffer[row][col] = qsub8(val, 1);
+ if (decrease_heatmap_values) {
+ g_rgb_frame_buffer[row][col] = qsub8(val, 1);
+ }
}
return led_max < sizeof(g_rgb_frame_buffer);
diff --git a/shell.nix b/shell.nix
index 6cfda2da9a..82505d5d27 100644
--- a/shell.nix
+++ b/shell.nix
@@ -71,7 +71,7 @@ in
mkShell {
name = "qmk-firmware";
- buildInputs = [ dfu-programmer dfu-util diffutils git pythonEnv ]
+ buildInputs = [ clang-tools dfu-programmer dfu-util diffutils git pythonEnv ]
++ lib.optional avr [
pkgsCross.avr.buildPackages.binutils
pkgsCross.avr.buildPackages.gcc8
diff --git a/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h b/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h
index 65339bffec..09de475469 100644
--- a/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h
+++ b/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h
@@ -21,7 +21,7 @@ along with this program. If not, see .
#define KEYBOARD_EPSIZE 8
#define MOUSE_EPSIZE 8
#define EXTRAKEY_EPSIZE 8
-#define RAW_EPSIZE 64
+#define RAW_EPSIZE 32
#define CONSOLE_EPSIZE 32
#define NKRO_EPSIZE 32
#define MIDI_STREAM_EPSIZE 64
diff --git a/tmk_core/protocol/lufa/adafruit_ble.cpp b/tmk_core/protocol/lufa/adafruit_ble.cpp
index 79b35fca31..3f2cc35734 100644
--- a/tmk_core/protocol/lufa/adafruit_ble.cpp
+++ b/tmk_core/protocol/lufa/adafruit_ble.cpp
@@ -11,6 +11,7 @@
#include "spi_master.h"
#include "wait.h"
#include "analog.h"
+#include "progmem.h"
// These are the pin assignments for the 32u4 boards.
// You may define them to something else in your config.h
@@ -36,10 +37,8 @@
#define SAMPLE_BATTERY
#define ConnectionUpdateInterval 1000 /* milliseconds */
-#ifdef SAMPLE_BATTERY
-# ifndef BATTERY_LEVEL_PIN
-# define BATTERY_LEVEL_PIN B5
-# endif
+#ifndef BATTERY_LEVEL_PIN
+# define BATTERY_LEVEL_PIN B5
#endif
static struct {
@@ -118,15 +117,15 @@ enum sdep_type {
SdepResponse = 0x20,
SdepAlert = 0x40,
SdepError = 0x80,
- SdepSlaveNotReady = 0xfe, // Try again later
- SdepSlaveOverflow = 0xff, // You read more data than is available
+ SdepSlaveNotReady = 0xFE, // Try again later
+ SdepSlaveOverflow = 0xFF, // You read more data than is available
};
enum ble_cmd {
- BleInitialize = 0xbeef,
- BleAtWrapper = 0x0a00,
- BleUartTx = 0x0a01,
- BleUartRx = 0x0a02,
+ BleInitialize = 0xBEEF,
+ BleAtWrapper = 0x0A00,
+ BleUartTx = 0x0A01,
+ BleUartRx = 0x0A02,
};
enum ble_system_event_bits {
@@ -176,7 +175,7 @@ static bool sdep_send_pkt(const struct sdep_msg *msg, uint16_t timeout) {
static inline void sdep_build_pkt(struct sdep_msg *msg, uint16_t command, const uint8_t *payload, uint8_t len, bool moredata) {
msg->type = SdepCommand;
- msg->cmd_low = command & 0xff;
+ msg->cmd_low = command & 0xFF;
msg->cmd_high = command >> 8;
msg->len = len;
msg->more = (moredata && len == SdepMaxPayload) ? 1 : 0;
@@ -407,11 +406,11 @@ static bool at_command(const char *cmd, char *resp, uint16_t resplen, bool verbo
}
if (resp == NULL) {
- auto now = timer_read();
+ uint16_t now = timer_read();
while (!resp_buf.enqueue(now)) {
resp_buf_read_one(false);
}
- auto later = timer_read();
+ uint16_t later = timer_read();
if (TIMER_DIFF_16(later, now) > 0) {
dprintf("waited %dms for resp_buf\n", TIMER_DIFF_16(later, now));
}
@@ -422,7 +421,7 @@ static bool at_command(const char *cmd, char *resp, uint16_t resplen, bool verbo
}
bool at_command_P(const char *cmd, char *resp, uint16_t resplen, bool verbose) {
- auto cmdbuf = (char *)alloca(strlen_P(cmd) + 1);
+ char *cmdbuf = (char *)alloca(strlen_P(cmd) + 1);
strcpy_P(cmdbuf, cmd);
return at_command(cmdbuf, resp, resplen, verbose);
}
@@ -484,9 +483,9 @@ fail:
static void set_connected(bool connected) {
if (connected != state.is_connected) {
if (connected) {
- print("****** BLE CONNECT!!!!\n");
+ dprint("BLE connected\n");
} else {
- print("****** BLE DISCONNECT!!!!\n");
+ dprint("BLE disconnected\n");
}
state.is_connected = connected;
@@ -612,7 +611,7 @@ static bool process_queue_item(struct queue_item *item, uint16_t timeout) {
}
}
-bool adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys) {
+void adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys) {
struct queue_item item;
bool didWait = false;
@@ -638,30 +637,27 @@ bool adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nk
}
if (nkeys <= 6) {
- return true;
+ return;
}
nkeys -= 6;
keys += 6;
}
-
- return true;
}
-bool adafruit_ble_send_consumer_key(uint16_t keycode, int hold_duration) {
+void adafruit_ble_send_consumer_key(uint16_t usage) {
struct queue_item item;
item.queue_type = QTConsumer;
- item.consumer = keycode;
+ item.consumer = usage;
while (!send_buf.enqueue(item)) {
send_buf_send_one();
}
- return true;
}
#ifdef MOUSE_ENABLE
-bool adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons) {
+void adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons) {
struct queue_item item;
item.queue_type = QTMouseMove;
@@ -674,7 +670,6 @@ bool adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan,
while (!send_buf.enqueue(item)) {
send_buf_send_one();
}
- return true;
}
#endif
diff --git a/tmk_core/protocol/lufa/adafruit_ble.h b/tmk_core/protocol/lufa/adafruit_ble.h
index 9dfc9b4355..b43e0771d9 100644
--- a/tmk_core/protocol/lufa/adafruit_ble.h
+++ b/tmk_core/protocol/lufa/adafruit_ble.h
@@ -10,7 +10,6 @@
#include
#include "config_common.h"
-#include "progmem.h"
#ifdef __cplusplus
extern "C" {
@@ -35,17 +34,17 @@ extern void adafruit_ble_task(void);
* this set of keys.
* Also sends a key release indicator, so that the keys do not remain
* held down. */
-extern bool adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys);
+extern void adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys);
-/* Send a consumer keycode, holding it down for the specified duration
+/* Send a consumer usage.
* (milliseconds) */
-extern bool adafruit_ble_send_consumer_key(uint16_t keycode, int hold_duration);
+extern void adafruit_ble_send_consumer_key(uint16_t usage);
#ifdef MOUSE_ENABLE
/* Send a mouse/wheel movement report.
- * The parameters are signed and indicate positive of negative direction
+ * The parameters are signed and indicate positive or negative direction
* change. */
-extern bool adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons);
+extern void adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons);
#endif
/* Compute battery voltage by reading an analog pin.
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 8fd4be8af5..623aa33ff5 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -809,7 +809,7 @@ static void send_consumer(uint16_t data) {
if (where == OUTPUT_BLUETOOTH || where == OUTPUT_USB_AND_BT) {
# ifdef MODULE_ADAFRUIT_BLE
- adafruit_ble_send_consumer_key(data, 0);
+ adafruit_ble_send_consumer_key(data);
# elif MODULE_RN42
static uint16_t last_data = 0;
if (data == last_data) return;