aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/common/report.h
diff options
context:
space:
mode:
authorGravatar fredizzimo <fsundvik@gmail.com>2018-02-08 22:07:46 +0200
committerGravatar Jack Humbert <jack.humb@gmail.com>2018-02-08 15:07:46 -0500
commit53ff8a31b61952d9675558149d927f7942071df9 (patch)
treea57b9e6f7d6494c9ef903f886a660dd43f4e5044 /tmk_core/common/report.h
parent63c16f4b632a2a82a775f51a3ad0cc690cca1fc9 (diff)
downloadqmk_firmware-53ff8a31b61952d9675558149d927f7942071df9.tar.gz
Merge ChibiOS and LUFA descriptor support (#2362)
* Move lufa descriptor to protocol/usb_descriptor * Try to compile usb_descriptor on ChibiOS * Add lufa_utils for ChibiOS Lufa USB descriptors for ChibiOS * More lufa_util compatibility fixes * First compiling version of shared USB descriptor * Send the usb descriptors * Fix the CONSOLE output on ChibiOS * Add errors for unsupported interfaces * Enable support for vitual serial port USB descriptors * Implement virtual serial port for ChibiOS * Cleanup the lufa_utils Use the default lufa header files * Add raw hid support for ChibiOS This is completely untested * Enable midi compilation on ChibiOS * Move midi functionality out of lufa.c * Don't register sysex callback when not needed * ChibiOS compilation fixes * Update ChibiOS submodule * Fix the Midi USB descriptor It didn't work properly when both Midi and Virtual serial port was enabled. * Add MIDI support for ChibiOS * Fix USB descriptor strings on ChibiOS * Use serial usb driver for raw hid * Generalize the ChibiOS stream like drivers This makes the initialization much more simple and eliminates a lot of the code duplication. * Convert console output to chibios stream driver * Fixes for ChibiOS update * Update the ChibiOS contrib submodule To include the usb data toggle synchronization fixes * Fix duplicate reset enumeration on ChibiOS * Add missing include * Add number of endpoints check for ChibiOS * Enable serial USB driver on all keyboards * Add missing includes when API is enabled withot midi * Add another missing inlcude
Diffstat (limited to 'tmk_core/common/report.h')
-rw-r--r--tmk_core/common/report.h30
1 files changed, 14 insertions, 16 deletions
diff --git a/tmk_core/common/report.h b/tmk_core/common/report.h
index a0811f9a3..6c27eb9dc 100644
--- a/tmk_core/common/report.h
+++ b/tmk_core/common/report.h
@@ -73,22 +73,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key report size(NKRO or boot mode) */
-#if defined(PROTOCOL_PJRC) && defined(NKRO_ENABLE)
-# include "usb.h"
-# define KEYBOARD_REPORT_SIZE KBD2_SIZE
-# define KEYBOARD_REPORT_KEYS (KBD2_SIZE - 2)
-# define KEYBOARD_REPORT_BITS (KBD2_SIZE - 1)
-
-#elif defined(PROTOCOL_LUFA) && defined(NKRO_ENABLE)
-# include "protocol/lufa/descriptor.h"
-# define KEYBOARD_REPORT_SIZE NKRO_EPSIZE
-# define KEYBOARD_REPORT_KEYS (NKRO_EPSIZE - 2)
-# define KEYBOARD_REPORT_BITS (NKRO_EPSIZE - 1)
-#elif defined(PROTOCOL_CHIBIOS) && defined(NKRO_ENABLE)
-# include "protocol/chibios/usb_main.h"
-# define KEYBOARD_REPORT_SIZE NKRO_EPSIZE
-# define KEYBOARD_REPORT_KEYS (NKRO_EPSIZE - 2)
-# define KEYBOARD_REPORT_BITS (NKRO_EPSIZE - 1)
+#if defined(NKRO_ENABLE)
+ #if defined(PROTOCOL_PJRC)
+ #include "usb.h"
+ #define KEYBOARD_REPORT_SIZE KBD2_SIZE
+ #define KEYBOARD_REPORT_KEYS (KBD2_SIZE - 2)
+ #define KEYBOARD_REPORT_BITS (KBD2_SIZE - 1)
+ #elif defined(PROTOCOL_LUFA) || defined(PROTOCOL_CHIBIOS)
+ #include "protocol/usb_descriptor.h"
+ #define KEYBOARD_REPORT_SIZE NKRO_EPSIZE
+ #define KEYBOARD_REPORT_KEYS (NKRO_EPSIZE - 2)
+ #define KEYBOARD_REPORT_BITS (NKRO_EPSIZE - 1)
+ #else
+ #error "NKRO not supported with this protocol"
+#endif
#else
# define KEYBOARD_REPORT_SIZE 8