summary refs log tree commit diff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-01-11 08:47:07 +0000
committerQMK Bot <hello@qmk.fm>2021-01-11 08:47:07 +0000
commit3bc436988d0a58fdd735495f07aa741660ab8e71 (patch)
treecc29932c27f363ee13e1fa36da7d5695979b8dc8
parent5193a8d569ef96d5e675a210abc1c4a2e980fdaa (diff)
parentd8b9825a8bb9d249ead4194accf47b13014e5346 (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/1upkeyboards/1up60hse/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60hte/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60rgb/config.h1
-rw-r--r--keyboards/1upkeyboards/super16/config.h1
-rw-r--r--keyboards/1upkeyboards/sweet16/config.h1
-rw-r--r--keyboards/2key2crawl/config.h1
-rw-r--r--keyboards/30wer/config.h1
-rw-r--r--keyboards/40percentclub/25/config.h1
-rw-r--r--keyboards/40percentclub/4pack/config.h1
-rw-r--r--keyboards/40percentclub/4x4/config.h1
-rw-r--r--keyboards/40percentclub/5x5/config.h1
-rw-r--r--keyboards/40percentclub/6lit/config.h1
-rw-r--r--keyboards/40percentclub/foobar/config.h1
-rw-r--r--keyboards/40percentclub/gherkin/config.h1
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/mjt/config.h2
-rw-r--r--keyboards/40percentclub/half_n_half/config.h1
-rw-r--r--keyboards/40percentclub/i75/config.h1
-rw-r--r--keyboards/40percentclub/luddite/config.h1
-rw-r--r--keyboards/40percentclub/mf68/config.h1
-rw-r--r--keyboards/40percentclub/mf68/keymaps/68keys/config.h2
-rw-r--r--keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h4
-rw-r--r--keyboards/40percentclub/nano/config.h1
-rw-r--r--keyboards/40percentclub/nein/config.h1
-rw-r--r--keyboards/40percentclub/nori/config.h1
-rw-r--r--keyboards/40percentclub/tomato/config.h1
-rw-r--r--keyboards/40percentclub/ut47/config.h1
-rw-r--r--keyboards/4by3/config.h1
-rw-r--r--keyboards/4pplet/aekiso60/rev_a/config.h1
-rw-r--r--keyboards/4pplet/steezy60/rev_a/config.h1
-rw-r--r--keyboards/4pplet/waffling60/rev_a/config.h1
-rw-r--r--keyboards/6ball/config.h1
-rw-r--r--keyboards/7skb/rev1/config.h1
-rw-r--r--keyboards/9key/config.h1
-rw-r--r--keyboards/abacus/config.h1
-rw-r--r--keyboards/absinthe/config.h1
-rw-r--r--keyboards/abstract/ellipse/rev1/config.h1
-rw-r--r--keyboards/acheron/austin/config.h1
-rw-r--r--keyboards/acheron/elongate/config.h1
-rw-r--r--keyboards/acheron/keebspcb/config.h1
-rw-r--r--keyboards/acheron/shark/config.h1
-rw-r--r--keyboards/acr60/config.h1
-rw-r--r--keyboards/adelheid/config.h1
-rw-r--r--keyboards/adkb96/rev1/config.h1
-rw-r--r--keyboards/aeboards/aegis/config.h1
-rw-r--r--keyboards/ai03/equinox/config.h1
-rw-r--r--keyboards/ai03/lunar/config.h1
-rw-r--r--keyboards/ai03/orbit/config.h1
-rw-r--r--keyboards/ai03/orbit_x/config.h1
-rw-r--r--keyboards/ai03/polaris/config.h1
-rw-r--r--keyboards/ai03/quasar/config.h1
-rw-r--r--keyboards/akb/eb46/config.h1
-rw-r--r--keyboards/akb/raine/config.h1
-rw-r--r--keyboards/al1/config.h1
-rw-r--r--keyboards/alf/dc60/config.h1
-rw-r--r--keyboards/alf/x11/config.h1
-rw-r--r--keyboards/alf/x2/config.h1
-rw-r--r--keyboards/allison/config.h1
-rw-r--r--keyboards/allison_numpad/config.h1
-rwxr-xr-xkeyboards/alpha/config.h1
-rw-r--r--keyboards/alps64/config.h1
-rwxr-xr-xkeyboards/alu84/config.h1
-rwxr-xr-xkeyboards/amj40/config.h1
-rw-r--r--keyboards/amj60/config.h1
-rw-r--r--keyboards/amj96/config.h1
-rw-r--r--keyboards/amjkeyboard/amj66/config.h1
-rw-r--r--keyboards/amjpad/config.h1
-rw-r--r--keyboards/anavi/macropad8/config.h1
-rw-r--r--keyboards/angel17/alpha/config.h1
-rw-r--r--keyboards/angel17/rev1/config.h1
-rw-r--r--keyboards/angel64/alpha/config.h1
-rw-r--r--keyboards/angel64/rev1/config.h1
-rw-r--r--keyboards/aos/tkl/config.h1
-rw-r--r--keyboards/arabica37/rev1/config.h1
-rw-r--r--keyboards/arisu/config.h1
-rw-r--r--keyboards/ash1800/config.h1
-rw-r--r--keyboards/ashpil/modelm_usbc/config.h1
-rw-r--r--keyboards/at101_bh/config.h1
-rw-r--r--keyboards/at_at/660m/config.h1
-rw-r--r--keyboards/atomic/config.h1
-rw-r--r--keyboards/atreus/config.h1
-rw-r--r--keyboards/atreus62/config.h1
-rw-r--r--keyboards/atreus62/keymaps/atreus52/config.h2
-rw-r--r--keyboards/atxkb/1894/config.h1
-rw-r--r--keyboards/aves65/config.h1
-rw-r--r--tmk_core/common/report.h6
-rw-r--r--tmk_core/protocol/vusb/vusb.c123
-rw-r--r--tmk_core/protocol/vusb/vusb.h21
87 files changed, 104 insertions, 136 deletions
diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
index 7fc55b04db..bc1c8a0400 100644
--- a/keyboards/1upkeyboards/1up60hse/config.h
+++ b/keyboards/1upkeyboards/1up60hse/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    1upkeyboards
 #define PRODUCT         1up60hse
-#define DESCRIPTION     A custom 60% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h
index c3ba030de9..81fa0e1eb6 100644
--- a/keyboards/1upkeyboards/1up60hte/config.h
+++ b/keyboards/1upkeyboards/1up60hte/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    1upkeyboards
 #define PRODUCT         1up60hte
-#define DESCRIPTION     A custom 60% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
index 46e08a5160..c78fc3e52b 100644
--- a/keyboards/1upkeyboards/1up60rgb/config.h
+++ b/keyboards/1upkeyboards/1up60rgb/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    1upkeyboards
 #define PRODUCT         1UP RGB Underglow PCB
-#define DESCRIPTION     60% keyboard with RGB underglow
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
index 3f0d468b7b..23114c7c69 100644
--- a/keyboards/1upkeyboards/super16/config.h
+++ b/keyboards/1upkeyboards/super16/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    1upkeyboards
 #define PRODUCT         super16
-#define DESCRIPTION     A 4x4 custom macropad
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h
index 0fc117c5a1..f858685b8f 100644
--- a/keyboards/1upkeyboards/sweet16/config.h
+++ b/keyboards/1upkeyboards/sweet16/config.h
@@ -6,7 +6,6 @@
 #define VENDOR_ID       0x6F75 // OU
 #define MANUFACTURER    1up Keyboards
 #define PRODUCT         Sweet16
-#define DESCRIPTION     4x4 grid
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h
index b93dcc7fa7..27a94a00ca 100644
--- a/keyboards/2key2crawl/config.h
+++ b/keyboards/2key2crawl/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0002
 #define MANUFACTURER    WoodKeys.click
 #define PRODUCT         2Key2Crawl
-#define DESCRIPTION     ATX Keycrawl 2018
 
 /* key matrix size */
 #define MATRIX_ROWS 2
diff --git a/keyboards/30wer/config.h b/keyboards/30wer/config.h
index 5a89a35f0d..d4f656edca 100644
--- a/keyboards/30wer/config.h
+++ b/keyboards/30wer/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0000
 #define MANUFACTURER    8o7wer
 #define PRODUCT         30wer
-#define DESCRIPTION     Gherkin style construction 30% staggered pcb kit
 
 /* key matrix size */
 #define MATRIX_ROWS 3
diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
index 01ca061a16..ab71fa6cf4 100644
--- a/keyboards/40percentclub/25/config.h
+++ b/keyboards/40percentclub/25/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0F25
 #define MANUFACTURER    di0ib
 #define PRODUCT         The 5x5 Keyboard
-#define DESCRIPTION     A split 50 key keyboard
 
 #define USE_SERIAL
 /* serial.c configuration for split keyboard */
diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h
index 7ccf21ef80..73ec28bd70 100644
--- a/keyboards/40percentclub/4pack/config.h
+++ b/keyboards/40percentclub/4pack/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER 40percentclub
 #define PRODUCT 4pack
-#define DESCRIPTION A 1x4 custom macropad
 
 /* key matrix size */
 #define MATRIX_ROWS 1
diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h
index 810f3cf295..bcd2ba2dbf 100644
--- a/keyboards/40percentclub/4x4/config.h
+++ b/keyboards/40percentclub/4x4/config.h
@@ -10,7 +10,6 @@
 #define DEVICE_VER      0x4444
 #define MANUFACTURER    di0ib
 #define PRODUCT         The 4x4 Keyboard
-#define DESCRIPTION     A modular compact keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h
index 54515583af..c907d79c89 100644
--- a/keyboards/40percentclub/5x5/config.h
+++ b/keyboards/40percentclub/5x5/config.h
@@ -10,7 +10,6 @@
 #define DEVICE_VER      0x05B5
 #define MANUFACTURER    di0ib
 #define PRODUCT         The 5x5 Keyboard
-#define DESCRIPTION     A 25 or 50 or 75 key keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h
index 4efa4c99bc..6c63198626 100644
--- a/keyboards/40percentclub/6lit/config.h
+++ b/keyboards/40percentclub/6lit/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0F61
 #define MANUFACTURER    di0ib
 #define PRODUCT         The 6lit Macropad
-#define DESCRIPTION     A split 12 key Macropad
 
 #define USE_SERIAL
 
diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h
index e501259830..0c9dfd345e 100644
--- a/keyboards/40percentclub/foobar/config.h
+++ b/keyboards/40percentclub/foobar/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0F00
 #define MANUFACTURER    di0ib
 #define PRODUCT         The foobar Keyboard
-#define DESCRIPTION     A split 30 key keyboard
 
 #define USE_SERIAL
 
diff --git a/keyboards/40percentclub/gherkin/config.h b/keyboards/40percentclub/gherkin/config.h
index 4dc794e347..1307ca2e15 100644
--- a/keyboards/40percentclub/gherkin/config.h
+++ b/keyboards/40percentclub/gherkin/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    40 Percent Club
 #define PRODUCT         Gherkin
-#define DESCRIPTION     A 30 key ortholinear keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
index 9fe94bcd21..ce9d5ab2ae 100644
--- a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
+++ b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
@@ -2,6 +2,4 @@
 
 /* USB Device descriptor parameter */
 #undef MANUFACTURER
-#undef DESCRIPTION
 #define MANUFACTURER    Some Guy
-#define DESCRIPTION     30 percent disaster
diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h
index e5ea48dd82..5213a7ecfd 100644
--- a/keyboards/40percentclub/half_n_half/config.h
+++ b/keyboards/40percentclub/half_n_half/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x4A1F
 #define MANUFACTURER    di0ib
 #define PRODUCT         half_n_half
-#define DESCRIPTION     A small split ortholinear custom keyboard with 2 thumb buttons
 
 /* key matrix size */
 #define MATRIX_ROWS 4*2
diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h
index 69124bc7a3..18197f0b1e 100644
--- a/keyboards/40percentclub/i75/config.h
+++ b/keyboards/40percentclub/i75/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0175
 #define MANUFACTURER    di0ib
 #define PRODUCT         i75
-#define DESCRIPTION     i75 15x5 ortholinear keyboard
 
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 5
diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h
index 63158f6c41..90d84c56e1 100644
--- a/keyboards/40percentclub/luddite/config.h
+++ b/keyboards/40percentclub/luddite/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x1001
 #define MANUFACTURER    di0ib
 #define PRODUCT         Luddite
-#define DESCRIPTION     Luddite Keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 8
diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h
index 7c5a0cd5e2..1ff2c189e5 100644
--- a/keyboards/40percentclub/mf68/config.h
+++ b/keyboards/40percentclub/mf68/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0101
 #define MANUFACTURER    di0ib
 #define PRODUCT         MF68
-#define DESCRIPTION     Magicforce 68 with programmable PCB replacement
 
 /* key matrix size */
 #define MATRIX_ROWS 8
diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/config.h b/keyboards/40percentclub/mf68/keymaps/68keys/config.h
index a0a576b7bf..651c17069d 100644
--- a/keyboards/40percentclub/mf68/keymaps/68keys/config.h
+++ b/keyboards/40percentclub/mf68/keymaps/68keys/config.h
@@ -6,10 +6,8 @@
 #undef DEVICE_VER
 #undef MANUFACTURER
 #undef PRODUCT
-#undef DESCRIPTION
 #define VENDOR_ID 0xFEED
 #define PRODUCT_ID 0x0A0C
 #define DEVICE_VER 0x0068
 #define MANUFACTURER 68Keys.io
 #define PRODUCT The 68Keys.io Keyboard
-#define DESCRIPTION A 68 keys mechanical keyboard
diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h b/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
index 7d96ab9e24..bc5de30f2f 100644
--- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
+++ b/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
@@ -21,10 +21,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* Overrides for Feather 32u4 Bluefruit */
 
-/* USB Device descriptor parameter */
-#undef DESCRIPTION
-#define DESCRIPTION     Magicforce 68 BLE
-
 /*
  * Keyboard Matrix Assignments
  *
diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h
index 8ee6963e49..aa4a64d07d 100644
--- a/keyboards/40percentclub/nano/config.h
+++ b/keyboards/40percentclub/nano/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    di0ib
 #define PRODUCT         Nano
-#define DESCRIPTION     8 key microswitch board
 
 /* key matrix size */
 #define MATRIX_ROWS 2
diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h
index b96f5fbe5d..46c166207f 100644
--- a/keyboards/40percentclub/nein/config.h
+++ b/keyboards/40percentclub/nein/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x9999
 #define MANUFACTURER    di0ib
 #define PRODUCT         The nein Keyboard
-#define DESCRIPTION     9 key macropad
 
 /* key matrix size */
 #define MATRIX_ROWS 3
diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h
index 8e24ef88e1..9c9cdbcee3 100644
--- a/keyboards/40percentclub/nori/config.h
+++ b/keyboards/40percentclub/nori/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0444
 #define MANUFACTURER    di0ib
 #define PRODUCT         The nori Keyboard
-#define DESCRIPTION     A modular compact keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h
index e131ce5c20..a083223a1f 100644
--- a/keyboards/40percentclub/tomato/config.h
+++ b/keyboards/40percentclub/tomato/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    40 Percent Club
 #define PRODUCT         Tomato
-#define DESCRIPTION     A 30 key ortholinear keyboard with RGB backlighting
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h
index 25ef4271fb..197d6cd181 100644
--- a/keyboards/40percentclub/ut47/config.h
+++ b/keyboards/40percentclub/ut47/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    40percent.club
 #define PRODUCT         ut47
-#define DESCRIPTION     An awesome 40% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/4by3/config.h b/keyboards/4by3/config.h
index 2095ee42c2..daaafb02a6 100644
--- a/keyboards/4by3/config.h
+++ b/keyboards/4by3/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER		0x0001
 #define MANUFACTURER    Elias Sjögreen
 #define PRODUCT         4by3
-#define DESCRIPTION     A small 12 key keypad
 
 /* key matrix size */
 #define MATRIX_ROWS 3
diff --git a/keyboards/4pplet/aekiso60/rev_a/config.h b/keyboards/4pplet/aekiso60/rev_a/config.h
index 7505bcf7b9..3100a20fea 100644
--- a/keyboards/4pplet/aekiso60/rev_a/config.h
+++ b/keyboards/4pplet/aekiso60/rev_a/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    4pplet
 #define PRODUCT         AEKISO60 Rev A
-#define DESCRIPTION     A steezy KEEB
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/4pplet/steezy60/rev_a/config.h b/keyboards/4pplet/steezy60/rev_a/config.h
index 9aceedc663..8f0c0d9531 100644
--- a/keyboards/4pplet/steezy60/rev_a/config.h
+++ b/keyboards/4pplet/steezy60/rev_a/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    4pplet
 #define PRODUCT         Steezy60 Rev A
-#define DESCRIPTION     A steezy keeb
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/4pplet/waffling60/rev_a/config.h b/keyboards/4pplet/waffling60/rev_a/config.h
index 6bbc68be60..33279d67a7 100644
--- a/keyboards/4pplet/waffling60/rev_a/config.h
+++ b/keyboards/4pplet/waffling60/rev_a/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    4pplet
 #define PRODUCT         waffling60 Rev A
-#define DESCRIPTION     A steezy keeb
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/6ball/config.h b/keyboards/6ball/config.h
index b0e59f20c6..c7d4d3354a 100644
--- a/keyboards/6ball/config.h
+++ b/keyboards/6ball/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    That-Canadian
 #define PRODUCT         6-Ball
-#define DESCRIPTION     6-Ball Macropuck
 
 /* key matrix size */
 #define MATRIX_ROWS 1
diff --git a/keyboards/7skb/rev1/config.h b/keyboards/7skb/rev1/config.h
index f1e8b9dafd..a74cd25c29 100644
--- a/keyboards/7skb/rev1/config.h
+++ b/keyboards/7skb/rev1/config.h
@@ -24,7 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0007
 #define MANUFACTURER    Salicylic_Acid
 #define PRODUCT         7skb
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 10
diff --git a/keyboards/9key/config.h b/keyboards/9key/config.h
index 4e5a2fd45b..3c7b4e0ad6 100644
--- a/keyboards/9key/config.h
+++ b/keyboards/9key/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 		0x0001
 #define MANUFACTURER    Bishop Keyboards
 #define PRODUCT         9Key
-#define DESCRIPTION     Bishop Keyboards 9Key // Charleston, SC Meetup Handout
 
 /* key matrix size */
 #define MATRIX_ROWS 3
diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h
index bc4120544f..51ea2fdbaa 100644
--- a/keyboards/abacus/config.h
+++ b/keyboards/abacus/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER nickolaij
 #define PRODUCT abacus
-#define DESCRIPTION A first attempt at a custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/absinthe/config.h b/keyboards/absinthe/config.h
index 939b3d0654..3000a4b8a1 100644
--- a/keyboards/absinthe/config.h
+++ b/keyboards/absinthe/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER cfbender
 #define PRODUCT absinthe
-#define DESCRIPTION An F-row-less TKL
 
 /* key matrix size */
 #define MATRIX_ROWS 9
diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h
index a92dd1b0e9..6e41726227 100644
--- a/keyboards/abstract/ellipse/rev1/config.h
+++ b/keyboards/abstract/ellipse/rev1/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    AbstractKB
 #define PRODUCT         EllipseRev1
-#define DESCRIPTION     The Ellipse Macropad
 
 /* key matrix size */
 #define MATRIX_ROWS 2
diff --git a/keyboards/acheron/austin/config.h b/keyboards/acheron/austin/config.h
index c6a41c7bcb..e90fb0ee7c 100644
--- a/keyboards/acheron/austin/config.h
+++ b/keyboards/acheron/austin/config.h
@@ -23,7 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    DriftMechanics
 #define PRODUCT         Austin
-#define DESCRIPTION     Austin Keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/acheron/elongate/config.h b/keyboards/acheron/elongate/config.h
index dfba6728db..a4e2aacf75 100644
--- a/keyboards/acheron/elongate/config.h
+++ b/keyboards/acheron/elongate/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER Acheron Project
 #define PRODUCT Elongate
-#define DESCRIPTION Acheron Project Elongate
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/acheron/keebspcb/config.h b/keyboards/acheron/keebspcb/config.h
index af3abb09e0..70ffc52615 100644
--- a/keyboards/acheron/keebspcb/config.h
+++ b/keyboards/acheron/keebspcb/config.h
@@ -23,7 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001 // Revision pre-Alpha
 #define MANUFACTURER    AcheronProject
 #define PRODUCT         KeebsPCB
-#define DESCRIPTION     AcheronProject KeebsPCB
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/acheron/shark/config.h b/keyboards/acheron/shark/config.h
index bb3df33818..537e00f573 100644
--- a/keyboards/acheron/shark/config.h
+++ b/keyboards/acheron/shark/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    AcheronProject
 #define PRODUCT         SharkPCB
-#define DESCRIPTION     Ortho 40 PCB
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/acr60/config.h b/keyboards/acr60/config.h
index 9b2b2a2f00..9d844b6d48 100644
--- a/keyboards/acr60/config.h
+++ b/keyboards/acr60/config.h
@@ -9,7 +9,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    MECHKEYS
 #define PRODUCT         ACR60
-#define DESCRIPTION     60% customizable keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/adelheid/config.h b/keyboards/adelheid/config.h
index 0da0062a74..88942861c7 100644
--- a/keyboards/adelheid/config.h
+++ b/keyboards/adelheid/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0002
 #define MANUFACTURER    floookay
 #define PRODUCT         adelheid
-#define DESCRIPTION     75% alice-like keyboard based on the arisu
 
 /* key matrix size */
 #define MATRIX_ROWS 7
diff --git a/keyboards/adkb96/rev1/config.h b/keyboards/adkb96/rev1/config.h
index 42685123b1..c5b768721c 100644
--- a/keyboards/adkb96/rev1/config.h
+++ b/keyboards/adkb96/rev1/config.h
@@ -22,7 +22,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Bit Trade One
 #define PRODUCT         ADKB96
-#define DESCRIPTION
 
 /* key matrix size */
 // Rows are doubled-up
diff --git a/keyboards/aeboards/aegis/config.h b/keyboards/aeboards/aegis/config.h
index 5836f02bc0..7f59c52005 100644
--- a/keyboards/aeboards/aegis/config.h
+++ b/keyboards/aeboards/aegis/config.h
@@ -24,7 +24,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    AEboards
 #define PRODUCT         AEboards Aegis
-#define DESCRIPTION     AEboards Aegis
 
 /* key matrix size */
 #define MATRIX_ROWS 12
diff --git a/keyboards/ai03/equinox/config.h b/keyboards/ai03/equinox/config.h
index 862b63b2b3..1441dc16ec 100644
--- a/keyboards/ai03/equinox/config.h
+++ b/keyboards/ai03/equinox/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    ai03 Design Studio
 #define PRODUCT         Equinox
-#define DESCRIPTION     Compact PCB-mount keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/ai03/lunar/config.h b/keyboards/ai03/lunar/config.h
index 5e23ec55af..a48d319268 100644
--- a/keyboards/ai03/lunar/config.h
+++ b/keyboards/ai03/lunar/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Switchplate Peripherals
 #define PRODUCT         Lunar
-#define DESCRIPTION     65% AEK keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h
index be209f83d4..2fc0a16855 100644
--- a/keyboards/ai03/orbit/config.h
+++ b/keyboards/ai03/orbit/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0003
 #define MANUFACTURER    ai03 Keyboard Designs
 #define PRODUCT         Orbit
-#define DESCRIPTION     Split ergonomic keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 10 // Double rows for split keyboards. Orbit has 5, so define 10
diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h
index c21e3e8f65..aafc53728c 100644
--- a/keyboards/ai03/orbit_x/config.h
+++ b/keyboards/ai03/orbit_x/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER ai03 Design Studio
 #define PRODUCT OrbitX
-#define DESCRIPTION High-end compact ergonomic keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 8 // Double the rows for split 
diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h
index bb3307d97c..a4d7f945d9 100644
--- a/keyboards/ai03/polaris/config.h
+++ b/keyboards/ai03/polaris/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    ai03 Design Studio
 #define PRODUCT         Polaris
-#define DESCRIPTION     Basic 60% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/ai03/quasar/config.h b/keyboards/ai03/quasar/config.h
index 077ca3a9fa..67f98a56f1 100644
--- a/keyboards/ai03/quasar/config.h
+++ b/keyboards/ai03/quasar/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Ryota Goto
 #define PRODUCT         Quasar
-#define DESCRIPTION     SSK Controller
 
 /* key matrix size */
 #define MATRIX_ROWS 8
diff --git a/keyboards/akb/eb46/config.h b/keyboards/akb/eb46/config.h
index 965f769ccf..644cd97305 100644
--- a/keyboards/akb/eb46/config.h
+++ b/keyboards/akb/eb46/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER Elliot Powell
 #define PRODUCT eb46
-#define DESCRIPTION eb46 running qmk
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 13
diff --git a/keyboards/akb/raine/config.h b/keyboards/akb/raine/config.h
index f5a8b84b6c..e0377514e2 100644
--- a/keyboards/akb/raine/config.h
+++ b/keyboards/akb/raine/config.h
@@ -24,7 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER AKB
 #define PRODUCT Raine
-#define DESCRIPTION Raine
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h
index 6a59afae7a..820cbf37f8 100644
--- a/keyboards/al1/config.h
+++ b/keyboards/al1/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0104
 #define MANUFACTURER    Alsoran
 #define PRODUCT         AL1
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 7
diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h
index 098891eee0..15f4a86a4f 100644
--- a/keyboards/alf/dc60/config.h
+++ b/keyboards/alf/dc60/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Alf
 #define PRODUCT         dc60
-#define DESCRIPTION     custom 60% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h
index cd98935090..7fe27b330a 100644
--- a/keyboards/alf/x11/config.h
+++ b/keyboards/alf/x11/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Alf
 #define PRODUCT         x11
-#define DESCRIPTION     A TKL custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 7
diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h
index 205fa358fc..6c9a139c3a 100644
--- a/keyboards/alf/x2/config.h
+++ b/keyboards/alf/x2/config.h
@@ -9,7 +9,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    ALF
 #define PRODUCT         X2
-#define DESCRIPTION     ALF X2 60
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/allison/config.h b/keyboards/allison/config.h
index 34e3989805..6e41488fdd 100644
--- a/keyboards/allison/config.h
+++ b/keyboards/allison/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER protoTypist
 #define PRODUCT Allison
-#define DESCRIPTION A custom luxurious 60 with F-row and Macro
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/allison_numpad/config.h b/keyboards/allison_numpad/config.h
index 624b96471b..7824f64d98 100644
--- a/keyboards/allison_numpad/config.h
+++ b/keyboards/allison_numpad/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER protoTypist
 #define PRODUCT Allison Numpad
-#define DESCRIPTION A custom luxurious numpad to match Allison
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h
index b7348bef17..8c7edd5798 100755
--- a/keyboards/alpha/config.h
+++ b/keyboards/alpha/config.h
@@ -9,7 +9,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    PyroL
 #define PRODUCT         alpha
-#define DESCRIPTION     28-key keyboard by PyroL
 
 /* key matrix size */
 #define MATRIX_ROWS 3
diff --git a/keyboards/alps64/config.h b/keyboards/alps64/config.h
index 15903818b9..31837b3a9e 100644
--- a/keyboards/alps64/config.h
+++ b/keyboards/alps64/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Hasu
 #define PRODUCT         Alps64
-#define DESCRIPTION     TMK keyboard firmware for Alps64
 
 /* key matrix size */
 #define MATRIX_ROWS 8
diff --git a/keyboards/alu84/config.h b/keyboards/alu84/config.h
index 130e2f1b40..9ebc1569e3 100755
--- a/keyboards/alu84/config.h
+++ b/keyboards/alu84/config.h
@@ -25,7 +25,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    MECHKEYS
 #define PRODUCT         ALU84
-#define DESCRIPTION     75% keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/amj40/config.h b/keyboards/amj40/config.h
index 5534dbf10c..f445107eee 100755
--- a/keyboards/amj40/config.h
+++ b/keyboards/amj40/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0002
 #define MANUFACTURER    Han Chen
 #define PRODUCT         AMJ40
-#define DESCRIPTION     qmk port of AMJ40 v2 PCB
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/amj60/config.h b/keyboards/amj60/config.h
index 79cfbe59e4..008539368d 100644
--- a/keyboards/amj60/config.h
+++ b/keyboards/amj60/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Han Chen
 #define PRODUCT         AMJ60
-#define DESCRIPTION     qmk port of AMJ60 PCB
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/amj96/config.h b/keyboards/amj96/config.h
index 8b56aaf7f8..6ddba90c79 100644
--- a/keyboards/amj96/config.h
+++ b/keyboards/amj96/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0002
 #define MANUFACTURER    Han Chen
 #define PRODUCT         AMJ96
-#define DESCRIPTION     96 key custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 7
diff --git a/keyboards/amjkeyboard/amj66/config.h b/keyboards/amjkeyboard/amj66/config.h
index ac10f7e35e..1f8a930a6a 100644
--- a/keyboards/amjkeyboard/amj66/config.h
+++ b/keyboards/amjkeyboard/amj66/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    AMJKeyboard
 #define PRODUCT         AMJ66
-#define DESCRIPTION     QMK keyboard firmware for AMJ66
 
 /* Key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/amjpad/config.h b/keyboards/amjpad/config.h
index dd579be5f2..6bac897e73 100644
--- a/keyboards/amjpad/config.h
+++ b/keyboards/amjpad/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0003
 #define MANUFACTURER    AMJ
 #define PRODUCT         PAD
-#define DESCRIPTION     QMK keyboard firmware for AMJ PAD
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h
index e517d909d8..fd9d6e3571 100644
--- a/keyboards/anavi/macropad8/config.h
+++ b/keyboards/anavi/macropad8/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    ANAVI
 #define PRODUCT         Macro Pad 8
-#define DESCRIPTION     8-key mechanical keyboard/keypad/macropad with backlit, mini OLED display and RGB LED strip
 
 /* key matrix size */
 #define MATRIX_ROWS 2
diff --git a/keyboards/angel17/alpha/config.h b/keyboards/angel17/alpha/config.h
index abc42d0d27..ee759bbf4d 100644
--- a/keyboards/angel17/alpha/config.h
+++ b/keyboards/angel17/alpha/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    kakunpc
 #define PRODUCT         angel17
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/angel17/rev1/config.h b/keyboards/angel17/rev1/config.h
index 711790ab08..9c1132a2e3 100644
--- a/keyboards/angel17/rev1/config.h
+++ b/keyboards/angel17/rev1/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    kakunpc
 #define PRODUCT         angel17
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/angel64/alpha/config.h b/keyboards/angel64/alpha/config.h
index 07dae8952d..0216725b74 100644
--- a/keyboards/angel64/alpha/config.h
+++ b/keyboards/angel64/alpha/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    kakunpc
 #define PRODUCT         angel64
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 12
diff --git a/keyboards/angel64/rev1/config.h b/keyboards/angel64/rev1/config.h
index 07dae8952d..0216725b74 100644
--- a/keyboards/angel64/rev1/config.h
+++ b/keyboards/angel64/rev1/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    kakunpc
 #define PRODUCT         angel64
-#define DESCRIPTION     A custom keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 12
diff --git a/keyboards/aos/tkl/config.h b/keyboards/aos/tkl/config.h
index 5a4b93f644..de40845507 100644
--- a/keyboards/aos/tkl/config.h
+++ b/keyboards/aos/tkl/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Ace of Spades
 #define PRODUCT         Ace of Spades TKL
-#define DESCRIPTION     Ace of Spades TKL
 
 /* key matrix size */
 #define MATRIX_ROWS 6
diff --git a/keyboards/arabica37/rev1/config.h b/keyboards/arabica37/rev1/config.h
index 5db7e32fc6..7951bc49ea 100644
--- a/keyboards/arabica37/rev1/config.h
+++ b/keyboards/arabica37/rev1/config.h
@@ -24,7 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    CalciumNitride
 #define PRODUCT         Arabica3/7
-#define DESCRIPTION     A split keyboard with 3x6 column staggered keys, 1 pinkie key and 3 thumb keys
 
 #define USE_SERIAL
 #define SOFT_SERIAL_PIN D2
diff --git a/keyboards/arisu/config.h b/keyboards/arisu/config.h
index d23cf9102b..73ccc45378 100644
--- a/keyboards/arisu/config.h
+++ b/keyboards/arisu/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Fate
 #define PRODUCT         arisu
-#define DESCRIPTION     alice counterpart keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h
index b46a966c80..376247d853 100644
--- a/keyboards/ash1800/config.h
+++ b/keyboards/ash1800/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER 0x0001
 #define MANUFACTURER Hasyim Ashari
 #define PRODUCT ASH-1800
-#define DESCRIPTION An attempt to make a cherry g80/g81 clone
 
 /* key matrix size */
 #define MATRIX_ROWS 12
diff --git a/keyboards/ashpil/modelm_usbc/config.h b/keyboards/ashpil/modelm_usbc/config.h
index df4ed32277..4738124ee7 100644
--- a/keyboards/ashpil/modelm_usbc/config.h
+++ b/keyboards/ashpil/modelm_usbc/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    ashpil
 #define PRODUCT         IBM Model M 101/102
-#define DESCRIPTION     Controlled by AVR chip
 
 /* key matrix size */
 #define MATRIX_ROWS 8
diff --git a/keyboards/at101_bh/config.h b/keyboards/at101_bh/config.h
index 6928118b79..8c81fab916 100644
--- a/keyboards/at101_bh/config.h
+++ b/keyboards/at101_bh/config.h
@@ -8,7 +8,6 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    blindassassin111
 #define PRODUCT         AT101_BH PCB
-#define DESCRIPTION     Replacement AT101 PCB
 
 /* key matrix size */
 #define MATRIX_ROWS 12
diff --git a/keyboards/at_at/660m/config.h b/keyboards/at_at/660m/config.h
index c876e0d1aa..41443f8ae6 100644
--- a/keyboards/at_at/660m/config.h
+++ b/keyboards/at_at/660m/config.h
@@ -29,7 +29,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    AT-AT
 #define PRODUCT         660M
-#define DESCRIPTION     660M Keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h
index 045f867277..06019dd543 100644
--- a/keyboards/atomic/config.h
+++ b/keyboards/atomic/config.h
@@ -26,7 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Ortholinear Keyboards
 #define PRODUCT         The Atomic Keyboard
-#define DESCRIPTION     A compact ortholinear keyboard
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h
index d182014433..07f4d7f15a 100644
--- a/keyboards/atreus/config.h
+++ b/keyboards/atreus/config.h
@@ -25,7 +25,6 @@
 #define DEVICE_VER      0x0008
 #define MANUFACTURER    Technomancy
 #define PRODUCT         Atreus
-#define DESCRIPTION     QMK keyboard firmware for Atreus
 
 /* key matrix size */
 #define MATRIX_ROWS 4
diff --git a/keyboards/atreus62/config.h b/keyboards/atreus62/config.h
index a7fe5f3542..2d4ab99c62 100644
--- a/keyboards/atreus62/config.h
+++ b/keyboards/atreus62/config.h
@@ -27,7 +27,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Profet
 #define PRODUCT         Atreus62
-#define DESCRIPTION     q.m.k. keyboard firmware for Atreus62
 
 /* key matrix size */
 // Rows are doubled-up
diff --git a/keyboards/atreus62/keymaps/atreus52/config.h b/keyboards/atreus62/keymaps/atreus52/config.h
index ba0eaf0dbb..91b626b560 100644
--- a/keyboards/atreus62/keymaps/atreus52/config.h
+++ b/keyboards/atreus62/keymaps/atreus52/config.h
@@ -2,7 +2,6 @@
 
 #undef MANUFACTURER
 #undef PRODUCT
-#undef DESCRIPTION
 #undef MATRIX_ROW_PINS
 #undef MATRIX_COL_PINS
 #undef DIODE_DIRECTION
@@ -10,7 +9,6 @@
 /* USB Device descriptor parameter */
 #define MANUFACTURER    Mesh Industries
 #define PRODUCT         Atreus52 Treeboard
-#define DESCRIPTION     q.m.k. keyboard firmware for Atreus52
 
 #define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
 #define MATRIX_COL_PINS { B2, B1, F7, F6, F5, F4, B6, D3, D2, D1, D0, D4, B3 }
diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h
index 27acb8afba..ce2b87ed61 100644
--- a/keyboards/atxkb/1894/config.h
+++ b/keyboards/atxkb/1894/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    atxkb
 #define PRODUCT         1894
-#define DESCRIPTION     atxkb 1894
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/keyboards/aves65/config.h b/keyboards/aves65/config.h
index 033100b549..5ae386512c 100644
--- a/keyboards/aves65/config.h
+++ b/keyboards/aves65/config.h
@@ -25,7 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    I/O Keyboards
 #define PRODUCT         Aves65
-#define DESCRIPTION     A 65% keyboard with underglow.
 
 /* key matrix size */
 #define MATRIX_ROWS 5
diff --git a/tmk_core/common/report.h b/tmk_core/common/report.h
index 610addf431..5d7c5b3b28 100644
--- a/tmk_core/common/report.h
+++ b/tmk_core/common/report.h
@@ -123,12 +123,6 @@ enum desktop_usages {
 
 #define KEYBOARD_REPORT_KEYS 6
 
-/* VUSB hardcodes keyboard and mouse+extrakey only */
-#if defined(PROTOCOL_VUSB)
-#    undef KEYBOARD_SHARED_EP
-#    undef MOUSE_SHARED_EP
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c
index 9ce75334a5..a422903ccf 100644
--- a/tmk_core/protocol/vusb/vusb.c
+++ b/tmk_core/protocol/vusb/vusb.c
@@ -46,19 +46,28 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * Interface indexes
  */
 enum usb_interfaces {
+#ifndef KEYBOARD_SHARED_EP
     KEYBOARD_INTERFACE = NEXT_INTERFACE,
+#else
+    SHARED_INTERFACE = NEXT_INTERFACE,
+#    define KEYBOARD_INTERFACE SHARED_INTERFACE
+#endif
+
 // It is important that the Raw HID interface is at a constant
 // interface number, to support Linux/OSX platforms and chrome.hid
 // If Raw HID is enabled, let it be always 1.
 #ifdef RAW_ENABLE
     RAW_INTERFACE = NEXT_INTERFACE,
 #endif
-#if (defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE))
-    MOUSE_EXTRA_INTERFACE = NEXT_INTERFACE,
+
+#if defined(SHARED_EP_ENABLE) && !defined(KEYBOARD_SHARED_EP)
+    SHARED_INTERFACE = NEXT_INTERFACE,
 #endif
+
 #ifdef CONSOLE_ENABLE
     CONSOLE_INTERFACE = NEXT_INTERFACE,
 #endif
+
     TOTAL_INTERFACES = NEXT_INTERFACE
 };
 
@@ -90,7 +99,16 @@ void vusb_transfer_keyboard(void) {
     for (int i = 0; i < VUSB_TRANSFER_KEYBOARD_MAX_TRIES; i++) {
         if (usbInterruptIsReady()) {
             if (kbuf_head != kbuf_tail) {
+#ifndef KEYBOARD_SHARED_EP
                 usbSetInterrupt((void *)&kbuf[kbuf_tail], sizeof(report_keyboard_t));
+#else
+                // Ugly hack! :(
+                usbSetInterrupt((void *)&kbuf[kbuf_tail], sizeof(report_keyboard_t) - 1);
+                while (!usbInterruptIsReady()) {
+                    usbPoll();
+                }
+                usbSetInterrupt((void *)(&(kbuf[kbuf_tail].keys[5])), 1);
+#endif
                 kbuf_tail = (kbuf_tail + 1) % KBUF_SIZE;
                 if (debug_keyboard) {
                     dprintf("V-USB: kbuf[%d->%d](%02X)\n", kbuf_tail, kbuf_head, (kbuf_head < kbuf_tail) ? (KBUF_SIZE - kbuf_tail + kbuf_head) : (kbuf_head - kbuf_tail));
@@ -230,16 +248,18 @@ static void send_keyboard(report_keyboard_t *report) {
     keyboard_report_sent = *report;
 }
 
-typedef struct {
-    uint8_t        report_id;
-    report_mouse_t report;
-} __attribute__((packed)) vusb_mouse_report_t;
+#ifndef KEYBOARD_SHARED_EP
+#    define usbInterruptIsReadyShared usbInterruptIsReady3
+#    define usbSetInterruptShared usbSetInterrupt3
+#else
+#    define usbInterruptIsReadyShared usbInterruptIsReady
+#    define usbSetInterruptShared usbSetInterrupt
+#endif
 
 static void send_mouse(report_mouse_t *report) {
 #ifdef MOUSE_ENABLE
-    vusb_mouse_report_t r = {.report_id = REPORT_ID_MOUSE, .report = *report};
-    if (usbInterruptIsReady3()) {
-        usbSetInterrupt3((void *)&r, sizeof(vusb_mouse_report_t));
+    if (usbInterruptIsReadyShared()) {
+        usbSetInterruptShared((void *)report, sizeof(report_mouse_t));
     }
 #endif
 }
@@ -253,8 +273,8 @@ static void send_extra(uint8_t report_id, uint16_t data) {
     last_data = data;
 
     report_extra_t report = {.report_id = report_id, .usage = data};
-    if (usbInterruptIsReady3()) {
-        usbSetInterrupt3((void *)&report, sizeof(report));
+    if (usbInterruptIsReadyShared()) {
+        usbSetInterruptShared((void *)&report, sizeof(report_extra_t));
     }
 }
 #endif
@@ -360,10 +380,18 @@ void usbFunctionWriteOut(uchar *data, uchar len) {
  * Descriptors                                                      *
  *------------------------------------------------------------------*/
 
+#ifdef KEYBOARD_SHARED_EP
+const PROGMEM uchar shared_hid_report[] = {
+#    define SHARED_REPORT_STARTED
+#else
 const PROGMEM uchar keyboard_hid_report[] = {
+#endif
     0x05, 0x01,  // Usage Page (Generic Desktop)
     0x09, 0x06,  // Usage (Keyboard)
     0xA1, 0x01,  // Collection (Application)
+#ifdef KEYBOARD_SHARED_EP
+    0x85, REPORT_ID_KEYBOARD,  // Report ID
+#endif
     // Modifiers (8 bits)
     0x05, 0x07,  //   Usage Page (Keyboard/Keypad)
     0x19, 0xE0,  //   Usage Minimum (Keyboard Left Control)
@@ -398,12 +426,17 @@ const PROGMEM uchar keyboard_hid_report[] = {
     0x95, 0x01,  //   Report Count (1)
     0x75, 0x03,  //   Report Size (3)
     0x91, 0x03,  //   Output (Constant)
-    0xC0         // End Collection
+    0xC0,        // End Collection
+#ifndef KEYBOARD_SHARED_EP
 };
+#endif
 
-#if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
-const PROGMEM uchar mouse_extra_hid_report[] = {
-#    ifdef MOUSE_ENABLE
+#if defined(SHARED_EP_ENABLE) && !defined(SHARED_REPORT_STARTED)
+const PROGMEM uchar shared_hid_report[] = {
+#    define SHARED_REPORT_STARTED
+#endif
+
+#ifdef MOUSE_ENABLE
     // Mouse report descriptor
     0x05, 0x01,             // Usage Page (Generic Desktop)
     0x09, 0x02,             // Usage (Mouse)
@@ -452,9 +485,9 @@ const PROGMEM uchar mouse_extra_hid_report[] = {
     0x81, 0x06,        //     Input (Data, Variable, Relative)
     0xC0,              //   End Collection
     0xC0,              // End Collection
-#    endif
+#endif
 
-#    ifdef EXTRAKEY_ENABLE
+#ifdef EXTRAKEY_ENABLE
     // Extrakeys report descriptor
     0x05, 0x01,              // Usage Page (Generic Desktop)
     0x09, 0x80,              // Usage (System Control)
@@ -481,7 +514,8 @@ const PROGMEM uchar mouse_extra_hid_report[] = {
     0x75, 0x10,                //   Report Size (16)
     0x81, 0x00,                //   Input (Data, Array, Absolute)
     0xC0                       // End Collection
-#    endif
+#endif
+#ifdef SHARED_EP_ENABLE
 };
 #endif
 
@@ -618,6 +652,7 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bMaxPower           = USB_MAX_POWER_CONSUMPTION / 2
     },
 
+#    ifndef KEYBOARD_SHARED_EP
     /*
      * Keyboard
      */
@@ -655,6 +690,7 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .wMaxPacketSize      = 8,
         .bInterval           = USB_POLLING_INTERVAL_MS
     },
+#    endif
 
 #    if defined(RAW_ENABLE)
     /*
@@ -705,24 +741,30 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bInterval           = USB_POLLING_INTERVAL_MS
     },
 #    endif
-#    if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
+
+#    ifdef SHARED_EP_ENABLE
     /*
-     * Mouse/Extrakeys
+     * Shared
      */
-    .mouseExtraInterface = {
+    .sharedInterface = {
         .header = {
             .bLength         = sizeof(usbInterfaceDescriptor_t),
             .bDescriptorType = USBDESCR_INTERFACE
         },
-        .bInterfaceNumber    = MOUSE_EXTRA_INTERFACE,
+        .bInterfaceNumber    = SHARED_INTERFACE,
         .bAlternateSetting   = 0x00,
         .bNumEndpoints       = 1,
         .bInterfaceClass     = 0x03,
+#        ifdef KEYBOARD_SHARED_EP
+        .bInterfaceSubClass  = 0x01,
+        .bInterfaceProtocol  = 0x01,
+#        else
         .bInterfaceSubClass  = 0x00,
         .bInterfaceProtocol  = 0x00,
+#        endif
         .iInterface          = 0x00
     },
-    .mouseExtraHID = {
+    .sharedHID = {
         .header = {
             .bLength         = sizeof(usbHIDDescriptor_t),
             .bDescriptorType = USBDESCR_HID
@@ -731,19 +773,24 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bCountryCode        = 0x00,
         .bNumDescriptors     = 1,
         .bDescriptorType     = USBDESCR_HID_REPORT,
-        .wDescriptorLength   = sizeof(mouse_extra_hid_report)
+        .wDescriptorLength   = sizeof(shared_hid_report)
     },
-    .mouseExtraINEndpoint = {
+    .sharedINEndpoint = {
         .header = {
             .bLength         = sizeof(usbEndpointDescriptor_t),
             .bDescriptorType = USBDESCR_ENDPOINT
         },
+#        ifdef KEYBOARD_SHARED_EP
+        .bEndpointAddress    = (USBRQ_DIR_DEVICE_TO_HOST | 1),
+#        else
         .bEndpointAddress    = (USBRQ_DIR_DEVICE_TO_HOST | USB_CFG_EP3_NUMBER),
+#        endif
         .bmAttributes        = 0x03,
         .wMaxPacketSize      = 8,
         .bInterval           = USB_POLLING_INTERVAL_MS
     },
 #    endif
+
 #    if defined(CONSOLE_ENABLE)
     /*
      * Console
@@ -791,7 +838,7 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bmAttributes        = 0x03,
         .wMaxPacketSize      = CONSOLE_EPSIZE,
         .bInterval           = 0x01
-    },
+    }
 #    endif
 };
 
@@ -833,22 +880,27 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) {
             break;
         case USBDESCR_HID:
             switch (rq->wValue.bytes[0]) {
+#ifndef KEYBOARD_SHARED_EP
                 case KEYBOARD_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)&usbConfigurationDescriptor.keyboardHID;
                     len       = sizeof(usbHIDDescriptor_t);
                     break;
+#endif
+
 #if defined(RAW_ENABLE)
                 case RAW_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)&usbConfigurationDescriptor.rawHID;
                     len       = sizeof(usbHIDDescriptor_t);
                     break;
 #endif
-#if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
-                case MOUSE_EXTRA_INTERFACE:
-                    usbMsgPtr = (usbMsgPtr_t)&usbConfigurationDescriptor.mouseExtraHID;
+
+#ifdef SHARED_EP_ENABLE
+                case SHARED_INTERFACE:
+                    usbMsgPtr = (usbMsgPtr_t)&usbConfigurationDescriptor.sharedHID;
                     len       = sizeof(usbHIDDescriptor_t);
                     break;
 #endif
+
 #if defined(CONSOLE_ENABLE)
                 case CONSOLE_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)&usbConfigurationDescriptor.consoleHID;
@@ -860,22 +912,27 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) {
         case USBDESCR_HID_REPORT:
             /* interface index */
             switch (rq->wIndex.word) {
+#ifndef KEYBOARD_SHARED_EP
                 case KEYBOARD_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)keyboard_hid_report;
                     len       = sizeof(keyboard_hid_report);
                     break;
+#endif
+
 #if defined(RAW_ENABLE)
                 case RAW_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)raw_hid_report;
                     len       = sizeof(raw_hid_report);
                     break;
 #endif
-#if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
-                case MOUSE_EXTRA_INTERFACE:
-                    usbMsgPtr = (usbMsgPtr_t)mouse_extra_hid_report;
-                    len       = sizeof(mouse_extra_hid_report);
+
+#ifdef SHARED_EP_ENABLE
+                case SHARED_INTERFACE:
+                    usbMsgPtr = (usbMsgPtr_t)shared_hid_report;
+                    len       = sizeof(shared_hid_report);
                     break;
 #endif
+
 #if defined(CONSOLE_ENABLE)
                 case CONSOLE_INTERFACE:
                     usbMsgPtr = (usbMsgPtr_t)console_hid_report;
diff --git a/tmk_core/protocol/vusb/vusb.h b/tmk_core/protocol/vusb/vusb.h
index 828960fc35..b4c73aabae 100644
--- a/tmk_core/protocol/vusb/vusb.h
+++ b/tmk_core/protocol/vusb/vusb.h
@@ -85,9 +85,16 @@ typedef struct usbHIDDescriptor {
 
 typedef struct usbConfigurationDescriptor {
     usbConfigurationDescriptorHeader_t header;
-    usbInterfaceDescriptor_t           keyboardInterface;
-    usbHIDDescriptor_t                 keyboardHID;
-    usbEndpointDescriptor_t            keyboardINEndpoint;
+
+#ifndef KEYBOARD_SHARED_EP
+    usbInterfaceDescriptor_t keyboardInterface;
+    usbHIDDescriptor_t       keyboardHID;
+    usbEndpointDescriptor_t  keyboardINEndpoint;
+#else
+    usbInterfaceDescriptor_t sharedInterface;
+    usbHIDDescriptor_t       sharedHID;
+    usbEndpointDescriptor_t  sharedINEndpoint;
+#endif
 
 #if defined(RAW_ENABLE)
     usbInterfaceDescriptor_t rawInterface;
@@ -96,10 +103,10 @@ typedef struct usbConfigurationDescriptor {
     usbEndpointDescriptor_t  rawOUTEndpoint;
 #endif
 
-#if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
-    usbInterfaceDescriptor_t mouseExtraInterface;
-    usbHIDDescriptor_t       mouseExtraHID;
-    usbEndpointDescriptor_t  mouseExtraINEndpoint;
+#if defined(SHARED_EP_ENABLE) && !defined(KEYBOARD_SHARED_EP)
+    usbInterfaceDescriptor_t sharedInterface;
+    usbHIDDescriptor_t       sharedHID;
+    usbEndpointDescriptor_t  sharedINEndpoint;
 #endif
 
 #if defined(CONSOLE_ENABLE)