There are several Build Options commonly configured in the Makefile. If you build a custom keymap with your own ~keymap.c~ and ~Makefile~, you will need to determine which of these should be enabled. Various of these will cause the firmware to be substantially larger; enabling all of them is probably not possible as the aggregate consumes more memory than is available on the Atmel32U4 used on the Planck. ** BOOTMAGIC_ENABLE This controls whether or not Virtual DIP switch configuration is supported. (+1000 bytes) Seldom used (only in one Planck keymap) ** MOUSEKEY_ENABLE Should some keys simulate mouse activity? (+4700 bytes) Frequently used in Planck keymaps. ** EXTRAKEY_ENABLE Controls whether keys for audio and system control are supported. (+450 bytes) Frequently used in Planck keymaps. ** CONSOLE_ENABLE Is a debugging console enabled? (+400 bytes) Infrequently used in Planck keymaps. ** COMMAND_ENABLE Support commands for debug and configuration Frequently used ** NKRO_ENABLE Nkey Rollover - if this doesn't work, see here: [[https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work][TMK FAQ on NKRO]] Nearly always enabled. ** BACKLIGHT_ENABLE Enable keyboard backlight functionality Often enabled ** MIDI_ENABLE MIDI controls Seldom enabled. ** AUDIO_ENABLE Support audio output on port C6 Enabled fairly often ** UNICODE_ENABLE Enable direct generation of Unicode output Rarely enabled ** BLUETOOTH_ENABLE Enable Bluetooth with the Adafruit EZ-Key HID Only supported on GH60 keyboards with additional Bluetooth HID addon. ** RGBLIGHT_ENABLE Enable WS2812 RGB underlight. Do not enable this with audio at the same time. Rarely enabled. ** API_SYSEX_ENABLE Enable SYSEX API (+5390 bytes) This may be useful eventually to enable having events published between keyboard and desktop. ** SLEEP_LED_ENABLE Breathing sleep LED during USB suspend It is recommended to not enable SLEEP_LED_ENABLE as it uses the same timer as BACKLIGHT_ENABLE