Permalink
Browse files

Massdrop keyboard support (#3780)

* Massdrop SAMD51

Massdrop SAMD51 keyboards initial project upload

* Removing relocated files

Removing files that were relocated and not deleted from previous location

* LED queue fix and cleaning

Cleaned some white space or comments.
Fix for LED I2C command queue.
Cleaned up interrupts.
Added debug function for printing numbers to scope through m15 line.

* Factory programmed serial usage

Ability to use factory programmed serial in hub and keyboard usb descriptors

* USB serial number and bugfix

Added support for factory programmed serial and usage.
Incorporated bootloader's conditional compiling to align project closer.
Fixed issue when USB device attempted to send before enabled.
General white space and comment cleanup.

* Project cleanup

Cleaned up project in terms of white space, commented code, and unecessary files.
NKRO keyboard is now using correct setreport although KBD was fine to use.
Fixed broken linkage to __xprintf for serial debug statements.

* Fix for extra keys

Fixed possible USB hang on extra keys report set missing

* I2C cleanup

I2C cleanup and file renames necessary for master branch merge

* Boot tracing and clocks cleanup

Added optional boot debug trace mode through debug LED codes.
General clock code cleanup.

* Relocate ARM/Atmel headers

Moved ARM/Atmel header folder from drivers to lib and made necessary makefile changes.

* Pull request changes

Pull request changes

* Keymap and compile flag fix

Keymap fix for momentary layer.
Potential compile flag fix for Travis CI failure.

* va_list include fix

Fix for va_list compile failure

* Include file case fixes

Fixes for include files with incorrect case

* ctrl and alt67 keyboard readme

Added ctrl and alt67 keyboard readme files
  • Loading branch information...
patrickmt authored and jackhumbert committed Aug 29, 2018
1 parent a6c7704 commit 30680c6eb396a2bb06928afd69edae9908ac84fb
Showing with 73,324 additions and 1 deletion.
  1. +8 −0 build_keyboard.mk
  2. +24 −0 keyboards/alt67/alt67.h
  3. +79 −0 keyboards/alt67/config.h
  4. +178 −0 keyboards/alt67/config_led.h
  5. +200 −0 keyboards/alt67/keymaps/default/keymap.c
  6. +120 −0 keyboards/alt67/led_programs.c
  7. +182 −0 keyboards/alt67/matrix.c
  8. +77 −0 keyboards/alt67/matrix.h
  9. +15 −0 keyboards/alt67/readme.md
  10. +32 −0 keyboards/alt67/rules.mk
  11. +79 −0 keyboards/ctrl/config.h
  12. +191 −0 keyboards/ctrl/config_led.h
  13. +32 −0 keyboards/ctrl/ctrl.h
  14. +203 −0 keyboards/ctrl/keymaps/default/keymap.c
  15. +120 −0 keyboards/ctrl/led_programs.c
  16. +182 −0 keyboards/ctrl/matrix.c
  17. +77 −0 keyboards/ctrl/matrix.h
  18. +15 −0 keyboards/ctrl/readme.md
  19. +32 −0 keyboards/ctrl/rules.mk
  20. +7,226 −0 lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/arm_math.h
  21. +223 −0 lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_compiler.h
  22. +1,899 −0 lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_gcc.h
  23. +2,103 −0 lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/core_cm4.h
  24. +201 −0 lib/arm_atsam/packs/arm/cmsis/5.0.1/LICENSE.txt
  25. +168 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld
  26. +65 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component-version.h
  27. +598 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ac.h
  28. +871 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/adc.h
  29. +375 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/aes.h
  30. +3,207 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/can.h
  31. +228 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ccl.h
  32. +357 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/cmcc.h
  33. +544 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dac.h
  34. +1,416 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dmac.h
  35. +1,244 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dsu.h
  36. +497 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/eic.h
  37. +587 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/evsys.h
  38. +233 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/freqm.h
  39. +272 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/gclk.h
  40. +84 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/hmatrixb.h
  41. +747 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/i2s.h
  42. +582 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/icm.h
  43. +474 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/mclk.h
  44. +861 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/nvmctrl.h
  45. +303 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/osc32kctrl.h
  46. +793 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/oscctrl.h
  47. +674 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/pac.h
  48. +251 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/pcc.h
  49. +726 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/pdec.h
  50. +261 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/pm.h
  51. +414 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/port.h
  52. +528 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/qspi.h
  53. +178 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ramecc.h
  54. +115 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/rstc.h
  55. +2,098 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/rtc.h
  56. +2,599 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/sdhc.h
  57. +1,680 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/sercom.h
  58. +554 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/supc.h
  59. +1,842 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/tal.h
  60. +851 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/tc.h
  61. +1,762 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/tcc.h
  62. +172 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/trng.h
  63. +1,777 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/usb.h
  64. +300 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/wdt.h
  65. +79 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/ac.h
  66. +99 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/adc0.h
  67. +100 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/adc1.h
  68. +105 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/aes.h
  69. +153 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/can0.h
  70. +151 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/can1.h
  71. +57 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/ccl.h
  72. +61 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/cmcc.h
  73. +88 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/dac.h
  74. +596 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/dmac.h
  75. +121 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/dsu.h
  76. +73 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/eic.h
  77. +722 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/evsys.h
  78. +59 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/freqm.h
  79. +191 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/gclk.h
  80. +133 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/hmatrix.h
  81. +81 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/i2s.h
  82. +77 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/icm.h
  83. +61 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/mclk.h
  84. +75 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/nvmctrl.h
  85. +59 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/osc32kctrl.h
  86. +130 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/oscctrl.h
  87. +69 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/pac.h
  88. +58 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/pcc.h
  89. +80 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/pdec.h
  90. +59 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/pm.h
  91. +184 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/port.h
  92. +57 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/pukcc.h
  93. +72 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/qspi.h
  94. +54 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/ramecc.h
  95. +48 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/rstc.h
  96. +156 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/rtc.h
  97. +147 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sdhc0.h
  98. +147 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sdhc1.h
  99. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom0.h
  100. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom1.h
  101. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom2.h
  102. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom3.h
  103. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom4.h
  104. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom5.h
  105. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom6.h
  106. +181 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/sercom7.h
  107. +64 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/supc.h
  108. +541 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tal.h
  109. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc0.h
  110. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc1.h
  111. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc2.h
  112. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc3.h
  113. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc4.h
  114. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc5.h
  115. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc6.h
  116. +109 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tc7.h
  117. +125 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tcc0.h
  118. +115 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tcc1.h
  119. +106 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tcc2.h
  120. +99 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tcc3.h
  121. +99 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/tcc4.h
  122. +51 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/trng.h
  123. +343 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/usb.h
  124. +55 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/instance/wdt.h
  125. +1,863 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/pio/samd51j18a.h
  126. +54 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/sam.h
  127. +60 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/samd51.h
  128. +1,079 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/samd51j18a.h
  129. +48 −0 lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/system_samd51.h
  130. +56 −0 tmk_core/arm_atsam.mk
  131. +6 −0 tmk_core/common.mk
  132. +19 −0 tmk_core/common/arm_atsam/bootloader.c
  133. +98 −0 tmk_core/common/arm_atsam/eeprom.c
  134. +8 −0 tmk_core/common/arm_atsam/printf.h
  135. +17 −0 tmk_core/common/arm_atsam/suspend.c
  136. +59 −0 tmk_core/common/arm_atsam/timer.c
  137. +29 −1 tmk_core/common/print.h
  138. +5 −0 tmk_core/common/report.h
  139. +26 −0 tmk_core/protocol/arm_atsam.mk
  140. +99 −0 tmk_core/protocol/arm_atsam/adc.c
  141. +37 −0 tmk_core/protocol/arm_atsam/adc.h
  142. +45 −0 tmk_core/protocol/arm_atsam/arm_atsam_protocol.h
  143. +439 −0 tmk_core/protocol/arm_atsam/clks.c
  144. +90 −0 tmk_core/protocol/arm_atsam/clks.h
  145. +165 −0 tmk_core/protocol/arm_atsam/d51_util.c
  146. +185 −0 tmk_core/protocol/arm_atsam/d51_util.h
  147. +585 −0 tmk_core/protocol/arm_atsam/i2c_master.c
  148. +108 −0 tmk_core/protocol/arm_atsam/i2c_master.h
  149. +201 −0 tmk_core/protocol/arm_atsam/issi3733_driver.h
  150. +509 −0 tmk_core/protocol/arm_atsam/led_matrix.c
  151. +142 −0 tmk_core/protocol/arm_atsam/led_matrix.h
  152. +279 −0 tmk_core/protocol/arm_atsam/main_arm_atsam.c
  153. +23 −0 tmk_core/protocol/arm_atsam/main_arm_atsam.h
  154. +18 −0 tmk_core/protocol/arm_atsam/md_bootloader.h
  155. +90 −0 tmk_core/protocol/arm_atsam/spi.c
  156. +63 −0 tmk_core/protocol/arm_atsam/spi.h
  157. +548 −0 tmk_core/protocol/arm_atsam/startup.c
  158. +1,177 −0 tmk_core/protocol/arm_atsam/usb/compiler.h
  159. +163 −0 tmk_core/protocol/arm_atsam/usb/conf_usb.h
  160. +118 −0 tmk_core/protocol/arm_atsam/usb/main_usb.c
  161. +268 −0 tmk_core/protocol/arm_atsam/usb/spfssf.c
  162. +57 −0 tmk_core/protocol/arm_atsam/usb/spfssf.h
  163. +158 −0 tmk_core/protocol/arm_atsam/usb/status_codes.h
  164. +1,164 −0 tmk_core/protocol/arm_atsam/usb/udc.c
  165. +260 −0 tmk_core/protocol/arm_atsam/usb/udc.h
  166. +135 −0 tmk_core/protocol/arm_atsam/usb/udc_desc.h
  167. +396 −0 tmk_core/protocol/arm_atsam/usb/udd.h
  168. +133 −0 tmk_core/protocol/arm_atsam/usb/udi.h
  169. +1,384 −0 tmk_core/protocol/arm_atsam/usb/udi_cdc.c
  170. +381 −0 tmk_core/protocol/arm_atsam/usb/udi_cdc.h
  171. +72 −0 tmk_core/protocol/arm_atsam/usb/udi_cdc_conf.h
  172. +715 −0 tmk_core/protocol/arm_atsam/usb/udi_device_conf.h
  173. +32 −0 tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h
  174. +162 −0 tmk_core/protocol/arm_atsam/usb/udi_hid.c
  175. +85 −0 tmk_core/protocol/arm_atsam/usb/udi_hid.h
  176. +845 −0 tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c
  177. +109 −0 tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h
  178. +60 −0 tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_conf.h
  179. +179 −0 tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_desc.c
  180. +106 −0 tmk_core/protocol/arm_atsam/usb/ui.c
  181. +82 −0 tmk_core/protocol/arm_atsam/usb/ui.h
  182. +1,144 −0 tmk_core/protocol/arm_atsam/usb/usb.c
  183. +492 −0 tmk_core/protocol/arm_atsam/usb/usb.h
  184. +412 −0 tmk_core/protocol/arm_atsam/usb/usb2422.c
  185. +405 −0 tmk_core/protocol/arm_atsam/usb/usb2422.h
  186. +190 −0 tmk_core/protocol/arm_atsam/usb/usb_atmel.h
  187. +1,097 −0 tmk_core/protocol/arm_atsam/usb/usb_device_udd.c
  188. +97 −0 tmk_core/protocol/arm_atsam/usb/usb_main.h
  189. +498 −0 tmk_core/protocol/arm_atsam/usb/usb_protocol.h
  190. +193 −0 tmk_core/protocol/arm_atsam/usb/usb_protocol_cdc.h
  191. +319 −0 tmk_core/protocol/arm_atsam/usb/usb_protocol_hid.h
  192. +59 −0 tmk_core/protocol/arm_atsam/usb/usb_util.c
  193. +10 −0 tmk_core/protocol/arm_atsam/usb/usb_util.h
  194. +8 −0 tmk_core/protocol/arm_atsam/wait_api.h
@@ -144,6 +144,9 @@ endif
ifdef MCU_FAMILY
FIRMWARE_FORMAT?=bin
PLATFORM=CHIBIOS
else ifdef ARM_ATSAM
PLATFORM=ARM_ATSAM
FIRMWARE_FORMAT=bin
else
PLATFORM=AVR
FIRMWARE_FORMAT?=hex
@@ -286,6 +289,11 @@ endif
include $(TMK_PATH)/avr.mk
endif
ifeq ($(PLATFORM),ARM_ATSAM)
include $(TMK_PATH)/arm_atsam.mk
include $(TMK_PATH)/protocol/arm_atsam.mk
endif
ifeq ($(PLATFORM),CHIBIOS)
include $(TMK_PATH)/protocol/chibios.mk
endif
@@ -0,0 +1,24 @@
#pragma once
#include "quantum.h"
#include "config_led.h"
#include "matrix.h"
#include "i2c_master.h"
#include "led_matrix.h" //For led keycodes
#include "usb/udi_cdc.h"
#include "usb/usb2422.h"
#define LAYOUT( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, \
K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, \
K61, K62, K63, K64, K65, K66, K67 \
) { \
{ K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, }, \
{ K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, }, \
{ K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, KC_NO, K43, K44, }, \
{ K45, KC_NO, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, }, \
{ K59, K60, K61, KC_NO, KC_NO, KC_NO, K62, KC_NO, KC_NO, KC_NO, K63, K64, K65, K66, K67, }, \
}
@@ -0,0 +1,79 @@
/*
Copyright 2015 Jun Wako <wakojun@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x04D8
#define PRODUCT_ID 0xEED3
#define DEVICE_VER 0x0101
#define MANUFACTURER "Massdrop Inc."
#define PRODUCT "ALT67 Keyboard"
#define SERIAL_NUM "Unavailable"
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define PA 0
#define PB 1
#define MATRIX_ROW_PORTS PA, PA, PA, PA, PA
#define MATRIX_ROW_PINS 0, 1, 2, 3, 4
#define MATRIX_COL_PORTS PB, PB, PB, PB, PB, PB, PB, PB, PB, PB, PA, PA, PA, PA, PA
#define MATRIX_COL_PINS 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 5, 6, 7, 10, 11
/* Print boot debug codes using debug LED when M28 and M30 shorted */
#define DEBUG_BOOT_TRACING
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
/* key combination for command */
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
/* Force boot in NKRO mode */
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
@@ -0,0 +1,178 @@
/*
Copyright 2018 Massdrop Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _config_led_h_
#define _config_led_h_
//Define number of ISSI3733 drivers being used (1...16)
#define ISSI3733_DRIVER_COUNT 2
//Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic)
#define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE }
//LED I2C bus speed
#define I2C_HZ 580000
//Count of LED bodies
#define ISSI3733_LED_COUNT 105
//Default Global Current Register value (Default brightness 0 - 255)
#define ISSI3733_GCR_DEFAULT 128
#define LED_GCR_MAX 165 //Max GCR value (0 - 255) WARNING: Raising this value may overload the LED drivers and USB bus
#define LED_GCR_STEP 10 //GCR increment/decrement value
//Automatic power rollback and recovery
#define V5_HIGH 2540 //5V high level (After low power detect, point at which LEDs are allowed to use more power )
#define V5_LOW 2480 //5V low level (LED power rolled back to stay above this limit)
#define V5_CAT 2200 //5V catastrophic level (Host USB port potential to shut down)
#define ANIMATION_SPEED_STEP 1
#define BREATHE_MIN_STEP 0
#define BREATHE_MAX_STEP 255
//LED Mapping - More practically generated from a spreadsheet program
//id: ID of the LED (Sync with PCB callouts)
//x: Physical X coordinate of LED (units do not matter)
//y: Physical Y coordinate of LED (units do not matter)
//drv: 1-Based index of ISSI3773_DRIVER_ADDRESSES
//cs: Matrix wiring CS col (1-16)
//swr: Matrix wiring SW Red row (1-12)
//swg: Matrix wiring SW Green row (1-12)
//swb: Matrix wiring SW Blue row (1-12)
//scan: Associated key scancode if any
//Note: Origin 0,0 may be located anywhere as the software will do the final layout
#define ISSI3733_LED_MAP { \
{ .id = 1, .x = 0, .y = 0, .adr = { .drv = 2, .cs = 2, .swr = 2, .swg = 1, .swb = 3 }, .scan = 0 }, \
{ .id = 2, .x = 0.75, .y = 0, .adr = { .drv = 2, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 1 }, \
{ .id = 3, .x = 1.5, .y = 0, .adr = { .drv = 2, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 2 }, \
{ .id = 4, .x = 2.25, .y = 0, .adr = { .drv = 2, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 3 }, \
{ .id = 5, .x = 3, .y = 0, .adr = { .drv = 2, .cs = 6, .swr = 5, .swg = 4, .swb = 6 }, .scan = 4 }, \
{ .id = 6, .x = 3.75, .y = 0, .adr = { .drv = 2, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 5 }, \
{ .id = 7, .x = 4.5, .y = 0, .adr = { .drv = 2, .cs = 8, .swr = 5, .swg = 4, .swb = 6 }, .scan = 6 }, \
{ .id = 8, .x = 5.25, .y = 0, .adr = { .drv = 2, .cs = 13, .swr = 2, .swg = 1, .swb = 3 }, .scan = 7 }, \
{ .id = 9, .x = 6, .y = 0, .adr = { .drv = 1, .cs = 1, .swr = 5, .swg = 4, .swb = 6 }, .scan = 8 }, \
{ .id = 10, .x = 6.75, .y = 0, .adr = { .drv = 1, .cs = 2, .swr = 5, .swg = 4, .swb = 6 }, .scan = 9 }, \
{ .id = 11, .x = 7.5, .y = 0, .adr = { .drv = 1, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 10 }, \
{ .id = 12, .x = 8.25, .y = 0, .adr = { .drv = 1, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 11 }, \
{ .id = 13, .x = 9, .y = 0, .adr = { .drv = 1, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 12 }, \
{ .id = 14, .x = 10.125, .y = 0, .adr = { .drv = 1, .cs = 6, .swr = 5, .swg = 4, .swb = 6 }, .scan = 13 }, \
{ .id = 15, .x = 11.25, .y = 0, .adr = { .drv = 1, .cs = 7, .swr = 2, .swg = 1, .swb = 3 }, .scan = 14 }, \
{ .id = 16, .x = 0.188, .y = -0.75, .adr = { .drv = 2, .cs = 2, .swr = 5, .swg = 4, .swb = 6 }, .scan = 15 }, \
{ .id = 17, .x = 1.125, .y = -0.75, .adr = { .drv = 2, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 16 }, \
{ .id = 18, .x = 1.875, .y = -0.75, .adr = { .drv = 2, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 17 }, \
{ .id = 19, .x = 2.625, .y = -0.75, .adr = { .drv = 2, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 18 }, \
{ .id = 20, .x = 3.375, .y = -0.75, .adr = { .drv = 2, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 19 }, \
{ .id = 21, .x = 4.125, .y = -0.75, .adr = { .drv = 2, .cs = 7, .swr = 8, .swg = 7, .swb = 9 }, .scan = 20 }, \
{ .id = 22, .x = 4.875, .y = -0.75, .adr = { .drv = 2, .cs = 8, .swr = 8, .swg = 7, .swb = 9 }, .scan = 21 }, \
{ .id = 23, .x = 5.625, .y = -0.75, .adr = { .drv = 1, .cs = 1, .swr = 8, .swg = 7, .swb = 9 }, .scan = 22 }, \
{ .id = 24, .x = 6.375, .y = -0.75, .adr = { .drv = 1, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 23 }, \
{ .id = 25, .x = 7.125, .y = -0.75, .adr = { .drv = 1, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 24 }, \
{ .id = 26, .x = 7.875, .y = -0.75, .adr = { .drv = 1, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 25 }, \
{ .id = 27, .x = 8.625, .y = -0.75, .adr = { .drv = 1, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 26 }, \
{ .id = 28, .x = 9.375, .y = -0.75, .adr = { .drv = 1, .cs = 11, .swr = 11, .swg = 10, .swb = 12 }, .scan = 27 }, \
{ .id = 29, .x = 10.313, .y = -0.75, .adr = { .drv = 1, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 28 }, \
{ .id = 30, .x = 11.25, .y = -0.75, .adr = { .drv = 1, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 29 }, \
{ .id = 31, .x = 0.281, .y = -1.5, .adr = { .drv = 2, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 30 }, \
{ .id = 32, .x = 1.313, .y = -1.5, .adr = { .drv = 2, .cs = 3, .swr = 11, .swg = 10, .swb = 12 }, .scan = 31 }, \
{ .id = 33, .x = 2.063, .y = -1.5, .adr = { .drv = 2, .cs = 4, .swr = 11, .swg = 10, .swb = 12 }, .scan = 32 }, \
{ .id = 34, .x = 2.813, .y = -1.5, .adr = { .drv = 2, .cs = 5, .swr = 11, .swg = 10, .swb = 12 }, .scan = 33 }, \
{ .id = 35, .x = 3.563, .y = -1.5, .adr = { .drv = 2, .cs = 6, .swr = 11, .swg = 10, .swb = 12 }, .scan = 34 }, \
{ .id = 36, .x = 4.313, .y = -1.5, .adr = { .drv = 2, .cs = 7, .swr = 11, .swg = 10, .swb = 12 }, .scan = 35 }, \
{ .id = 37, .x = 5.063, .y = -1.5, .adr = { .drv = 2, .cs = 8, .swr = 11, .swg = 10, .swb = 12 }, .scan = 36 }, \
{ .id = 38, .x = 5.813, .y = -1.5, .adr = { .drv = 1, .cs = 1, .swr = 11, .swg = 10, .swb = 12 }, .scan = 37 }, \
{ .id = 39, .x = 6.563, .y = -1.5, .adr = { .drv = 1, .cs = 2, .swr = 11, .swg = 10, .swb = 12 }, .scan = 38 }, \
{ .id = 40, .x = 7.313, .y = -1.5, .adr = { .drv = 1, .cs = 3, .swr = 11, .swg = 10, .swb = 12 }, .scan = 39 }, \
{ .id = 41, .x = 8.063, .y = -1.5, .adr = { .drv = 1, .cs = 4, .swr = 11, .swg = 10, .swb = 12 }, .scan = 40 }, \
{ .id = 42, .x = 8.813, .y = -1.5, .adr = { .drv = 1, .cs = 5, .swr = 11, .swg = 10, .swb = 12 }, .scan = 41 }, \
{ .id = 43, .x = 10.031, .y = -1.5, .adr = { .drv = 1, .cs = 6, .swr = 11, .swg = 10, .swb = 12 }, .scan = 43 }, \
{ .id = 44, .x = 11.25, .y = -1.5, .adr = { .drv = 1, .cs = 7, .swr = 8, .swg = 7, .swb = 9 }, .scan = 44 }, \
{ .id = 45, .x = 0.469, .y = -2.25, .adr = { .drv = 2, .cs = 2, .swr = 11, .swg = 10, .swb = 12 }, .scan = 45 }, \
{ .id = 46, .x = 1.688, .y = -2.25, .adr = { .drv = 2, .cs = 9, .swr = 5, .swg = 4, .swb = 6 }, .scan = 47 }, \
{ .id = 47, .x = 2.438, .y = -2.25, .adr = { .drv = 2, .cs = 9, .swr = 2, .swg = 1, .swb = 3 }, .scan = 48 }, \
{ .id = 48, .x = 3.188, .y = -2.25, .adr = { .drv = 2, .cs = 9, .swr = 11, .swg = 10, .swb = 12 }, .scan = 49 }, \
{ .id = 49, .x = 3.938, .y = -2.25, .adr = { .drv = 2, .cs = 9, .swr = 8, .swg = 7, .swb = 9 }, .scan = 50 }, \
{ .id = 50, .x = 4.688, .y = -2.25, .adr = { .drv = 2, .cs = 12, .swr = 11, .swg = 10, .swb = 12 }, .scan = 51 }, \
{ .id = 51, .x = 5.438, .y = -2.25, .adr = { .drv = 2, .cs = 13, .swr = 11, .swg = 10, .swb = 12 }, .scan = 52 }, \
{ .id = 52, .x = 6.188, .y = -2.25, .adr = { .drv = 1, .cs = 9, .swr = 11, .swg = 10, .swb = 12 }, .scan = 53 }, \
{ .id = 53, .x = 6.938, .y = -2.25, .adr = { .drv = 1, .cs = 10, .swr = 11, .swg = 10, .swb = 12 }, .scan = 54 }, \
{ .id = 54, .x = 7.688, .y = -2.25, .adr = { .drv = 1, .cs = 10, .swr = 8, .swg = 7, .swb = 9 }, .scan = 55 }, \
{ .id = 55, .x = 8.438, .y = -2.25, .adr = { .drv = 1, .cs = 11, .swr = 8, .swg = 7, .swb = 9 }, .scan = 56 }, \
{ .id = 56, .x = 9.469, .y = -2.25, .adr = { .drv = 1, .cs = 11, .swr = 2, .swg = 1, .swb = 3 }, .scan = 57 }, \
{ .id = 57, .x = 10.5, .y = -2.25, .adr = { .drv = 1, .cs = 11, .swr = 5, .swg = 4, .swb = 6 }, .scan = 58 }, \
{ .id = 58, .x = 11.25, .y = -2.25, .adr = { .drv = 1, .cs = 7, .swr = 11, .swg = 10, .swb = 12 }, .scan = 59 }, \
{ .id = 59, .x = 0.094, .y = -3, .adr = { .drv = 2, .cs = 10, .swr = 8, .swg = 7, .swb = 9 }, .scan = 60 }, \
{ .id = 60, .x = 1.031, .y = -3, .adr = { .drv = 2, .cs = 10, .swr = 5, .swg = 4, .swb = 6 }, .scan = 61 }, \
{ .id = 61, .x = 1.969, .y = -3, .adr = { .drv = 2, .cs = 10, .swr = 2, .swg = 1, .swb = 3 }, .scan = 62 }, \
{ .id = 62, .x = 4.781, .y = -3, .adr = { .drv = 2, .cs = 12, .swr = 8, .swg = 7, .swb = 9 }, .scan = 66 }, \
{ .id = 63, .x = 7.594, .y = -3, .adr = { .drv = 1, .cs = 10, .swr = 5, .swg = 4, .swb = 6 }, .scan = 70 }, \
{ .id = 64, .x = 8.531, .y = -3, .adr = { .drv = 1, .cs = 10, .swr = 2, .swg = 1, .swb = 3 }, .scan = 71 }, \
{ .id = 65, .x = 9.75, .y = -3, .adr = { .drv = 1, .cs = 12, .swr = 2, .swg = 1, .swb = 3 }, .scan = 72 }, \
{ .id = 66, .x = 10.5, .y = -3, .adr = { .drv = 1, .cs = 12, .swr = 8, .swg = 7, .swb = 9 }, .scan = 73 }, \
{ .id = 67, .x = 11.25, .y = -3, .adr = { .drv = 1, .cs = 12, .swr = 5, .swg = 4, .swb = 6 }, .scan = 74 }, \
{ .id = 68, .x = -0.338, .y = -3.338, .adr = { .drv = 2, .cs = 11, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
{ .id = 69, .x = 0.39, .y = -3.443, .adr = { .drv = 2, .cs = 11, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 70, .x = 1.263, .y = -3.443, .adr = { .drv = 2, .cs = 11, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 71, .x = 2.135, .y = -3.443, .adr = { .drv = 2, .cs = 11, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 72, .x = 3.008, .y = -3.443, .adr = { .drv = 2, .cs = 12, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 73, .x = 3.88, .y = -3.443, .adr = { .drv = 2, .cs = 12, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 74, .x = 4.753, .y = -3.443, .adr = { .drv = 2, .cs = 13, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 75, .x = 5.625, .y = -3.443, .adr = { .drv = 2, .cs = 13, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 76, .x = 6.497, .y = -3.443, .adr = { .drv = 1, .cs = 9, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 77, .x = 7.37, .y = -3.443, .adr = { .drv = 1, .cs = 9, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 78, .x = 8.242, .y = -3.443, .adr = { .drv = 1, .cs = 9, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 79, .x = 9.115, .y = -3.443, .adr = { .drv = 1, .cs = 13, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 80, .x = 9.987, .y = -3.443, .adr = { .drv = 1, .cs = 13, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 81, .x = 10.86, .y = -3.443, .adr = { .drv = 1, .cs = 13, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 82, .x = 11.588, .y = -3.338, .adr = { .drv = 1, .cs = 13, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
{ .id = 83, .x = 11.693, .y = -2.623, .adr = { .drv = 1, .cs = 12, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
{ .id = 84, .x = 11.693, .y = -1.873, .adr = { .drv = 1, .cs = 8, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
{ .id = 85, .x = 11.693, .y = -1.123, .adr = { .drv = 1, .cs = 8, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 86, .x = 11.693, .y = -0.373, .adr = { .drv = 1, .cs = 8, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 87, .x = 11.588, .y = 0.338, .adr = { .drv = 1, .cs = 8, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 88, .x = 9.908, .y = 0.443, .adr = { .drv = 1, .cs = 6, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 89, .x = 9.288, .y = 0.443, .adr = { .drv = 1, .cs = 5, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 90, .x = 8.625, .y = 0.443, .adr = { .drv = 1, .cs = 4, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 91, .x = 7.875, .y = 0.443, .adr = { .drv = 1, .cs = 3, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 92, .x = 7.125, .y = 0.443, .adr = { .drv = 1, .cs = 2, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 93, .x = 6.375, .y = 0.443, .adr = { .drv = 1, .cs = 1, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 94, .x = 5.625, .y = 0.443, .adr = { .drv = 1, .cs = 14, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 95, .x = 4.875, .y = 0.443, .adr = { .drv = 2, .cs = 8, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 96, .x = 4.125, .y = 0.443, .adr = { .drv = 2, .cs = 7, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 97, .x = 3.375, .y = 0.443, .adr = { .drv = 2, .cs = 6, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 98, .x = 2.625, .y = 0.443, .adr = { .drv = 2, .cs = 5, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 99, .x = 1.875, .y = 0.443, .adr = { .drv = 2, .cs = 4, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 100, .x = 1.125, .y = 0.443, .adr = { .drv = 2, .cs = 3, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 101, .x = -0.338, .y = 0.338, .adr = { .drv = 2, .cs = 1, .swr = 2, .swg = 1, .swb = 3 }, .scan = 255 }, \
{ .id = 102, .x = -0.443, .y = -0.373, .adr = { .drv = 2, .cs = 1, .swr = 5, .swg = 4, .swb = 6 }, .scan = 255 }, \
{ .id = 103, .x = -0.443, .y = -1.123, .adr = { .drv = 2, .cs = 1, .swr = 8, .swg = 7, .swb = 9 }, .scan = 255 }, \
{ .id = 104, .x = -0.443, .y = -1.873, .adr = { .drv = 2, .cs = 1, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
{ .id = 105, .x = -0.443, .y = -2.623, .adr = { .drv = 2, .cs = 10, .swr = 11, .swg = 10, .swb = 12 }, .scan = 255 }, \
};
#define USB_LED_INDICATOR_ENABLE //Comment out to disable indicator functionality
#ifdef USB_LED_INDICATOR_ENABLE //Scan codes refer to actual key matrix codes, not KC_* (255 to disable)
#define USB_LED_NUM_LOCK_SCANCODE 255
#define USB_LED_CAPS_LOCK_SCANCODE 30
#define USB_LED_SCROLL_LOCK_SCANCODE 255
#define USB_LED_COMPOSE_SCANCODE 255
#define USB_LED_KANA_SCANCODE 255
#endif //USB_LED_INDICATOR_ENABLE
#endif //_config_led_h_
Oops, something went wrong.

0 comments on commit 30680c6

Please sign in to comment.