diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index 7fc55b04d..bc1c8a040 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 c3ba030de..81fa0e1eb 100644 --- a/keyboards/1upkeyboards/1up60hte/config.h +++ b/keyboards/1upkeyboards/1up60hte/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 46e08a516..c78fc3e52 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 3f0d468b7..23114c7c6 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 0fc117c5a..f858685b8 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 b93dcc7fa..27a94a00c 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 5a89a35f0..d4f656edc 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 01ca061a1..ab71fa6cf 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 7ccf21ef8..73ec28bd7 100644 --- a/keyboards/40percentclub/4pack/config.h +++ b/keyboards/40percentclub/4pack/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 810f3cf29..bcd2ba2db 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 54515583a..c907d79c8 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 4efa4c99b..6c6319862 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 e50125983..0c9dfd345 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 4dc794e34..1307ca2e1 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 9fe94bcd2..ce9d5ab2a 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 e5ea48dd8..5213a7ecf 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 . #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 69124bc7a..18197f0b1 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 63158f6c4..90d84c56e 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 7c5a0cd5e..1ff2c189e 100644 --- a/keyboards/40percentclub/mf68/config.h +++ b/keyboards/40percentclub/mf68/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 a0a576b7b..651c17069 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 7d96ab9e2..bc5de30f2 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 . /* 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 8ee6963e4..aa4a64d07 100644 --- a/keyboards/40percentclub/nano/config.h +++ b/keyboards/40percentclub/nano/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 b96f5fbe5..46c166207 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 8e24ef88e..9c9cdbcee 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 e131ce5c2..a083223a1 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 25ef4271f..197d6cd18 100644 --- a/keyboards/40percentclub/ut47/config.h +++ b/keyboards/40percentclub/ut47/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 2095ee42c..daaafb02a 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 7505bcf7b..3100a20fe 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 9aceedc66..8f0c0d953 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 6bbc68be6..33279d67a 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 b0e59f20c..c7d4d3354 100644 --- a/keyboards/6ball/config.h +++ b/keyboards/6ball/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 f1e8b9daf..a74cd25c2 100644 --- a/keyboards/7skb/rev1/config.h +++ b/keyboards/7skb/rev1/config.h @@ -24,7 +24,6 @@ along with this program. If not, see . #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 4e5a2fd45..3c7b4e0ad 100644 --- a/keyboards/9key/config.h +++ b/keyboards/9key/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 bc4120544..51ea2fdba 100644 --- a/keyboards/abacus/config.h +++ b/keyboards/abacus/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 939b3d065..3000a4b8a 100644 --- a/keyboards/absinthe/config.h +++ b/keyboards/absinthe/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 a92dd1b0e..6e4172622 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 . #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 c6a41c7bc..e90fb0ee7 100644 --- a/keyboards/acheron/austin/config.h +++ b/keyboards/acheron/austin/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #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 dfba6728d..a4e2aacf7 100644 --- a/keyboards/acheron/elongate/config.h +++ b/keyboards/acheron/elongate/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 af3abb09e..70ffc5261 100644 --- a/keyboards/acheron/keebspcb/config.h +++ b/keyboards/acheron/keebspcb/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #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 bb3df3381..537e00f57 100644 --- a/keyboards/acheron/shark/config.h +++ b/keyboards/acheron/shark/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 9b2b2a2f0..9d844b6d4 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 0da0062a7..88942861c 100644 --- a/keyboards/adelheid/config.h +++ b/keyboards/adelheid/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 42685123b..c5b768721 100644 --- a/keyboards/adkb96/rev1/config.h +++ b/keyboards/adkb96/rev1/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #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 5836f02bc..7f59c5200 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 862b63b2b..1441dc16e 100644 --- a/keyboards/ai03/equinox/config.h +++ b/keyboards/ai03/equinox/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 5e23ec55a..a48d31926 100644 --- a/keyboards/ai03/lunar/config.h +++ b/keyboards/ai03/lunar/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 be209f83d..2fc0a1685 100644 --- a/keyboards/ai03/orbit/config.h +++ b/keyboards/ai03/orbit/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 c21e3e8f6..aafc53728 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 . #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 bb3307d97..a4d7f945d 100644 --- a/keyboards/ai03/polaris/config.h +++ b/keyboards/ai03/polaris/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 077ca3a9f..67f98a56f 100644 --- a/keyboards/ai03/quasar/config.h +++ b/keyboards/ai03/quasar/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 965f769cc..644cd9730 100644 --- a/keyboards/akb/eb46/config.h +++ b/keyboards/akb/eb46/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 f5a8b84b6..e0377514e 100644 --- a/keyboards/akb/raine/config.h +++ b/keyboards/akb/raine/config.h @@ -24,7 +24,6 @@ along with this program. If not, see . #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 6a59afae7..820cbf37f 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 098891eee..15f4a86a4 100644 --- a/keyboards/alf/dc60/config.h +++ b/keyboards/alf/dc60/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 cd9893509..7fe27b330 100644 --- a/keyboards/alf/x11/config.h +++ b/keyboards/alf/x11/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 205fa358f..6c9a139c3 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 34e398980..6e41488fd 100644 --- a/keyboards/allison/config.h +++ b/keyboards/allison/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 624b96471..7824f64d9 100644 --- a/keyboards/allison_numpad/config.h +++ b/keyboards/allison_numpad/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 b7348bef1..8c7edd579 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 15903818b..31837b3a9 100644 --- a/keyboards/alps64/config.h +++ b/keyboards/alps64/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 130e2f1b4..9ebc1569e 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 5534dbf10..f445107ee 100755 --- a/keyboards/amj40/config.h +++ b/keyboards/amj40/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 79cfbe59e..008539368 100644 --- a/keyboards/amj60/config.h +++ b/keyboards/amj60/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 8b56aaf7f..6ddba90c7 100644 --- a/keyboards/amj96/config.h +++ b/keyboards/amj96/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 ac10f7e35..1f8a930a6 100644 --- a/keyboards/amjkeyboard/amj66/config.h +++ b/keyboards/amjkeyboard/amj66/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 dd579be5f..6bac897e7 100644 --- a/keyboards/amjpad/config.h +++ b/keyboards/amjpad/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 e517d909d..fd9d6e357 100644 --- a/keyboards/anavi/macropad8/config.h +++ b/keyboards/anavi/macropad8/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 abc42d0d2..ee759bbf4 100644 --- a/keyboards/angel17/alpha/config.h +++ b/keyboards/angel17/alpha/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 711790ab0..9c1132a2e 100644 --- a/keyboards/angel17/rev1/config.h +++ b/keyboards/angel17/rev1/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 07dae8952..0216725b7 100644 --- a/keyboards/angel64/alpha/config.h +++ b/keyboards/angel64/alpha/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 07dae8952..0216725b7 100644 --- a/keyboards/angel64/rev1/config.h +++ b/keyboards/angel64/rev1/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 5a4b93f64..de4084550 100644 --- a/keyboards/aos/tkl/config.h +++ b/keyboards/aos/tkl/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 5db7e32fc..7951bc49e 100644 --- a/keyboards/arabica37/rev1/config.h +++ b/keyboards/arabica37/rev1/config.h @@ -24,7 +24,6 @@ along with this program. If not, see . #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 d23cf9102..73ccc4537 100644 --- a/keyboards/arisu/config.h +++ b/keyboards/arisu/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 b46a966c8..376247d85 100644 --- a/keyboards/ash1800/config.h +++ b/keyboards/ash1800/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 df4ed3227..4738124ee 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 . #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 6928118b7..8c81fab91 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 c876e0d1a..41443f8ae 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 . #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 045f86727..06019dd54 100644 --- a/keyboards/atomic/config.h +++ b/keyboards/atomic/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #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 d18201443..07f4d7f15 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 a7fe5f354..2d4ab99c6 100644 --- a/keyboards/atreus62/config.h +++ b/keyboards/atreus62/config.h @@ -27,7 +27,6 @@ along with this program. If not, see . #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 ba0eaf0db..91b626b56 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 27acb8afb..ce2b87ed6 100644 --- a/keyboards/atxkb/1894/config.h +++ b/keyboards/atxkb/1894/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 033100b54..5ae386512 100644 --- a/keyboards/aves65/config.h +++ b/keyboards/aves65/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #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 610addf43..5d7c5b3b2 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 9ce75334a..a422903cc 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 . * 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 828960fc3..b4c73aaba 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)